Remove handling of non-string time-stamp formats, obsolete for 20 years.
[emacs.git] / ChangeLog.2
blob1086b22342ea7861af04df6860f0c661060a2ddf
1 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
3         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
5         (syntax-ppss):
6         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
8 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
10         lisp/nxml: Use syntax-tables for comments
12         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
13         (nxml-mode): Set syntax-ppss-table.
14         Use sgml-syntax-propertize-function for syntax-propertize-function.
15         Let font-lock highlight strings and comments.
16         (nxml-degrade): Don't touch "nxml-inside" property any more.
17         (nxml-after-change, nxml-after-change1): Remove functions.
18         (comment): Don't set fontify rule any more.
19         (nxml-fontify-attribute): Don't highlight the value any more.
20         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
21         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
23         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
24         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
25         (nxml-clear-inside, nxml-set-inside): Remove.
26         (nxml-scan-after-change): Remove function.
27         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
28         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
29         (nxml-move-outside-backwards):
30         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
31         nxml-inside-start behavior.
33         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
34         (nxml-debug-clear-inside): Remove macros.
36         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
37         (xmltok-scan-after-comment-open): Simplify.
39 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
41         * elisp-mode.el (elisp--font-lock-flush-elisp-buffers): Fix comment
43 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
45         * lisp/nxml: Use standard completion; it also works for company-mode
47         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
48         (nxml-completion-at-point-function): Remove.
49         (nxml-mode): Don't set completion-at-point-functions.
50         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
51         (rng-completion-at-point): Rename from rng-complete and mark it
52         non-interactive.  It is now to be used as completion-at-point-function.
53         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
54         (rng-complete-attribute-value): Don't perform completion, but return
55         completion data instead.
56         (rng-complete-qname-function, rng-generate-qname-list): Add a few
57         arguments, previously passed via dynamic coping.
58         (rng-strings-to-completion-table): Rename from
59         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
60         sorting and uniquifying.
62         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
63         (rng-completion-exact-p, rng-quote-string): Delete functions.
65         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
66         (rng-missing-attributes-message, rng-missing-element-message)
67         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
68         calling rng-quote-string everywhere.
70 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
72         Use sgml-electric-tag-pair-mode also in nxml-mode
74         * lisp/nxml/rng-nxml.el: Require sgml-mode.
75         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
76         (rng-complete-qname-function): Use complete-with-action.
78         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
79         Let-bind forward-sexp-function, since nxml-mode binds it to
80         something incompatible.
82         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
84 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
86         * xmltok.el: Mark the "sole --" rather than the comment opener
88         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
89         marker on the "sole --" rather than on the comment opener.
91 2016-01-15  Sam Steingold  <sds@gnu.org>
93         replace `tramp-compat-split-string' (removed) with `split-string'
95         (python-shell-tramp-refresh-process-environment)
96         (python-shell-calculate-pythonpath): use `split-string'
97         instead of defunct `tramp-compat-split-string'
99 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
101         Update nXML to use Emacs's Unicode support, and lexical-binding
103         * etc/nxml/*.el: Remove obsolete char-name files.
104         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
105         var `next'.
106         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
107         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
108         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
109         (nxml-target-section-pos, nxml-depth-in-target-section)
110         (nxml-outline-state-transform-alist)
111         (nxml-outline-display-section-tag-function): Move decl before first use.
112         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
113         (nxml-char-name-alist, nxml-char-name-table)
114         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
115         (nxml-enable-char-name-set, nxml-disable-char-name-set)
116         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
117         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
118         (nxml-insert-named-char): Use read-char-by-name instead.
119         (nxml-char-ref-display-extra): Use get-char-code-property.
120         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
121         Remove function.
122         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
124 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
126         Add "sg" method to Tramp
128         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
129         (Customizing Completion): Add function `tramp-parse-etc-group'.
131         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
132         (tramp-completion-function-alist-sg): New defconst.
133         (top): Completion function for "sg" is
134         `tramp-completion-function-alist-sg'.
136         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
137         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
139 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
141         Remove XEmacs compatibility in Tramp
143         * doc/misc/tramp.texi: Replace flags by their hard coded name.
144         Remove unused flags and the enclosed alternative text for XEmacs.
146         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
147         and "xemacs" flags to "unified" and "separate".  Remove flags
148         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
149         "emacsothername", "emacsotherdir" and "emacsotherfilename".
150         (trampver):
151         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
153         * lisp/net/tramp.el (bkup-backup-directory-info)
154         (directory-sep-char, ls-lisp-use-insert-directory-program)
155         (outline-regexp, tramp-backup-directory-alist)
156         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
157         (tramp-file-name-regexp-unified)
158         (tramp-file-name-regexp-separate)
159         (tramp-completion-file-name-regexp-unified)
160         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
161         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
162         (tramp-debug-message, tramp-progress-reporter-update)
163         (with-tramp-progress-reporter)
164         (tramp-rfn-eshadow-setup-minibuffer)
165         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
166         (tramp-rfn-eshadow-update-overlay)
167         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
168         (tramp-file-name-for-operation)
169         (tramp-completion-file-name-handler)
170         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
171         (tramp-handle-directory-files)
172         (tramp-handle-directory-files-and-attributes)
173         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
174         (tramp-handle-insert-file-contents, tramp-handle-load)
175         (tramp-handle-shell-command)
176         (tramp-handle-verify-visited-file-modtime)
177         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
178         (tramp-check-for-regexp, tramp-wait-for-regexp)
179         (tramp-send-string, tramp-mode-string-to-int)
180         (tramp-get-local-gid, tramp-check-cached-permissions)
181         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
182         (auto-save-file-name-transforms)
183         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
184         (tramp-clear-passwd, tramp-time-diff):
185         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
186         (directory-sep-char, tramp-adb-file-name-handler-alist)
187         (tramp-adb-parse-device-names)
188         (tramp-adb-handle-expand-file-name)
189         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
190         (tramp-adb-handle-file-local-copy)
191         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
192         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
193         (tramp-adb-handle-shell-command)
194         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
195         (tramp-adb-maybe-open-connection):
196         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
197         (tramp-cache-print):
198         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
199         (tramp-bug, tramp-reporter-dump-variable)
200         (tramp-load-report-modules, tramp-append-tramp-buffers):
201         * lisp/net/tramp-compat.el (tramp-compat-funcall)
202         (tramp-advice-file-expand-wildcards)
203         (tramp-compat-temporary-file-directory)
204         (tramp-compat-make-temp-file, tramp-compat-copy-file)
205         (tramp-compat-delete-directory, )
206         (tramp-compat-process-running-p):
207         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
208         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
209         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
210         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
211         (tramp-gvfs-handle-file-local-copy)
212         (tramp-gvfs-handle-file-name-all-completions)
213         (tramp-gvfs-handle-file-notify-add-watch)
214         (tramp-gvfs-monitor-file-process-filter)
215         (tramp-gvfs-handle-file-readable-p)
216         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
217         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
218         (tramp-gvfs-maybe-open-connection)
219         (tramp-gvfs-parse-device-names):
220         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
221         (tramp-gw-open-connection, tramp-gw-open-network-stream):
222         * lisp/net/tramp-sh.el (directory-sep-char)
223         (tramp-sh-file-name-handler-alist)
224         (tramp-sh-handle-file-truename)
225         (tramp-sh-handle-set-visited-file-modtime)
226         (tramp-sh-handle-verify-visited-file-modtime)
227         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
228         (tramp-sh-handle-file-acl)
229         (tramp-sh-handle-file-name-all-completions)
230         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
231         (tramp-do-copy-or-rename-file-directly)
232         (tramp-do-copy-or-rename-file-out-of-band)
233         (dired-compress-file-suffixes, dired-remove-file)
234         (tramp-sh-handle-dired-compress-file)
235         (tramp-sh-handle-insert-directory)
236         (tramp-sh-handle-expand-file-name)
237         (tramp-sh-handle-start-file-process)
238         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
239         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
240         (tramp-sh-handle-file-notify-add-watch)
241         (tramp-sh-gvfs-monitor-dir-process-filter)
242         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
243         (tramp-find-executable)
244         (tramp-open-connection-setup-interactive-shell)
245         (tramp-find-inline-encoding, tramp-compute-multi-hops)
246         (tramp-maybe-open-connection, tramp-convert-file-attributes)
247         (tramp-get-remote-path, tramp-get-remote-touch):
248         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
249         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
250         (tramp-smb-handle-delete-directory)
251         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
252         (tramp-smb-handle-make-directory-internal)
253         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
254         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
255         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
256         (tramp-smb-get-cifs-capabilities)
257         (tramp-smb-maybe-open-connection):
258         * lisp/net/trampver.el (tramp-repository-get-version):
259         Remove XEmacs compat code.
261         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
262         (reporter-dump-variable): Declare functions.
264         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
265         (tramp-advice-minibuffer-electric-separator)
266         (tramp-advice-minibuffer-electric-tilde)
267         (tramp-handle-unhandled-file-name-directory):
268         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
269         (tramp-compat-font-lock-add-keywords)
270         (tramp-compat-load, tramp-compat-number-sequence)
271         (tramp-compat-split-string, tramp-compat-delete-dups):
272         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
273         Remove.
275         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
276         recursively.
278 2016-01-14  K. Handa  <handa@gnu.org>
280         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
282         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
283         second glyph only when there are enough glyphs.
285 2016-01-13  Glenn Morris  <rgm@gnu.org>
287         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
289         or its hook, to move point.  (Bug#22348)
291 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
293         Merge missing commit from emacs-25 branch
295         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
296         New variables.
297         (check-expensive, check-doit): New targets.
299         * Makefile.in (check-expensive): New target.
301         * test/lisp/autorevert-tests.el
302         (auto-revert-test01-auto-revert-several-files):
303         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
304         (file-notify-test06-many-events):
305         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
306         (tramp-test27-start-file-process, tramp-test28-shell-command)
307         (tramp-test29-vc-registered)
308         (tramp-test31-special-characters-with-stat)
309         (tramp-test31-special-characters-with-perl)
310         (tramp-test31-special-characters-with-ls)
311         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
312         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
313         (tramp-test35-unload): Tag the tests as :expensive-test.
315 2016-01-12  John Wiegley  <johnw@newartisans.com>
317         Merge from origin/emacs-25
319         1f6898d test/automated/vc-hg.el: Support out-of-tree build
320         3adb56e Minor change in tramp-tests.el
321         2b535ba ; * etc/NEWS: Update the js.el entry.
322         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
323         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
324         36b9539 Avoid an infloop when we run out of memory
325         2006752 Avoid unnecessary failures of auto-saving after fatal error
326         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
327         552694a Revert attempt to use 'noexcept' in typedef
328         6ad0d39 Update documentation of 'indirect-function'
329         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
330         303141a Update documentation for obsoleting 'syntax-begin-function'
331         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
332         e667bbb Document new features if Eshell
333         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
334         1089dc9 Handle too long commands in Tramp
335         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
336         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
337         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
338         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
339         cca0f93 ; Account for spaces before the filename
340         c71e1e8 Use short date for 'hg annotate', and output the author
341         f50027b Spelling fix
342         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
343         cc140bc Document user-level functions in project.el
344         f8208b6 Document the user-level features of the Xref package
345         b131fb8 * loading.texi: Add `define-type' entry for load-history
346         db3c2a8 Improve doc strings and prompts in xref.el
347         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
348         90fd798 Fix coding system for Tramp on OS X.
349         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
350         9dfcbf0 Update 'load-history' docs
351         207e191 Fix (error ...) error
352         457738f Correctly analyze brace arguments in templated C++ function declarations.
353         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
354         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
355         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
356         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
357         4b37cba Improve documentation of Delete Selection mode
358         a034dd3 Fix two project-find-file issues
359         30abf29 Clarify doc string of 'dired-current-directory'
360         e990bb2 Use the face of preceding text for displaying the ellipsis
361         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
362         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
363         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
364         648de81 ; Add NEWS entry for project.el
365         671862f apropos-library: Skip obvious duplicates; don't error on generics
366         51668a5 ; Grammar fix
367         ed41d11 Add project-find-file and project-or-external-find-file
368         056da45 ; Improve commentary in 'setup_for_ellipsis'
369         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
371 2016-01-12  John Wiegley  <johnw@newartisans.com>
373         Merge from origin/emacs-25
375         ce4a052 Add defvar-local to lisp-imenu-generic-expression
376         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
377         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
378         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
379         b6b47af Properly encode/decode base64Binary data in SOAP
380         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
381         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
382                 Update the URI of MELPA and marmalade-repo.
383                 Reported by CHENG Goa <chenggao@royau.me> in
384                 https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
385         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
386         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
387         7380990 Remove function wrongly on AWK Mode value of context
388         fontification hook.
389         d400753 * src/buffer.c: Stick with ASCII in doc string.
390         221240c Reword transient-mark-mode doc string
391         977d3ea Update doc string of 'selective-display'
392         229c3fa Make C++ buffers writeable when writing their initial text
393                 properties.
394         f5c762c Additional changes for "make check-expensive"
395         1729cf3 ; * admin/MAINTAINERS: Remove myself.
396         33219d3 Apply text properties for <, > in new after-change function
397                 (C++ Java Modes).
399 2016-01-12  John Wiegley  <johnw@newartisans.com>
401         Merge from origin/emacs-25
403         9fb185a shr-tag-video bug fix
404         6300655 Minor fixes in tramp-tests.el
405         50575b1 Ensure redisplay when 'truncate-lines' is set
406         0d9e80d Fix a doc string of 'transient-mark-mode'
407         0000ae5 MS-Windows followup to latest gnulib update
408         4bc5e02 Spelling fix
409         f1093f7 Do secure signed Bcc handling
411 2016-01-12  John Wiegley  <johnw@newartisans.com>
413         Merge from origin/emacs-25
415         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
416         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
417         71ea138 * lisp/align.el (align): Simplify a lambda
418         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
419         1f680db Fix compilation next-error in buffers with selective-display
420         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
421         1da116f Add SHA1 warnings for high network security settings
422         e48bacd ; * etc/NEWS: Typo fix.
424 2016-01-12  John Wiegley  <johnw@newartisans.com>
426         Merge from origin/emacs-25
428         43662a2 ; Clarify that xref is still experimental
429         0a6e6ca ; * admin/release-process: Remove some obsolete records.
430         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
431         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
432         0a7ad07 ; Re-arrange xref-related entries in NEWS.
433         fe903ef Fix xref-find-references on MS-Windows
434         55a28d8 ; Fixed visual bell artifact problem on NextStep.
435         d064034 Document new features of tildify-mode
436         964bea7 Document new features of Whitespace mode
437         cd68f47 Improve documentation of new Hide-IfDef features
438         723b8bf Fix regression in font-locking cl-assert and cl-check-type
440 2016-01-12  John Wiegley  <johnw@newartisans.com>
442         Merge from origin/emacs-25
444         ef33bc7 Spelling and grammar fixes
445         9c3dbab Fix copyright years by hand
446         0e96320 Update copyright year to 2016
448 2016-01-12  John Wiegley  <johnw@newartisans.com>
450         Merge from origin/emacs-25
452         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
453         526d80c Port chart.el methods to cl-generic.
454         410bb69 Add nt/INSTALL.W64 build instructions
455         8f5b524 Add new input method 'programmer-dvorak'
456         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
457         bb83bb1 Fix EWW rendering of long RTL lines
458         b1a8509 fix  bug#21054
459         ce5ad12 Clean up cairo printing code
461 2016-01-12  John Wiegley  <johnw@newartisans.com>
463         Merge from origin/emacs-25
465         6ee327d Add handle_user_signal_hook
466         47580e0 Avoid writing to purespace
467         0588be7 Remove unused variable
468         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
469         3b95e9c Use posix_openpt instead of openpty on Darwin
470         86312ff Document support for ':documentation' in Lisp mode
471         c930e75b Document new features of TeX mode
472         7c83d84 Clarify docs of hscroll in RTL text
473         4c8f8db Fix rendering of HTML pages that use character composition
474         a8d37ca Avoid some compiler warnings in w32.c
475         ce106f3de Undo ill-advised change
476         be0bba4 Unbreak completion in python-mode buffers
478 2016-01-11  Dmitry Gutov  <dgutov@yandex.ru>
480         test/automated/vc-hg.el: Support out-of-tree build
482         * test/automated/vc-hg.el
483         (vc-hg-annotate-extract-revision-at-line-with-filename)
484         (vc-hg-annotate-extract-revision-at-line-with-both):
485         Don't refer to source-directory.
486         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00755.html
488 2016-01-11  Michael Albinus  <michael.albinus@gmx.de>
490         Minor change in tramp-tests.el
492         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
493         Use `dired-uncache' instead of a Tramp internal function.
495 2016-01-11  Peter Feigl  <peter.feigl@nexoid.at>
497         * etc/HELLO: Add Armenian and Mongolian greetings.
499         (Bug#22346)
501 2016-01-11  Alan Mackenzie  <acm@muc.de>
503         Java Mode: Fontify identifiers in the presence of annotations.
505         * lisp/progmodes/cc-engine.el (c-forward-annotation): Tidy up the coding:
506         Don't move point when the defun fails.
507         (c-forward-decl-or-cast-1): Correct a usage of match data.
509         * lisp/progmodes/cc-fonts.el (c-font-lock-maybe-decl-faces): Remove.
510         (c-font-lock-declarations): Use the new c-maybe-decl-faces in place of the
511         removed variable.
513         * lisp/progmodes/cc-langs.el (c-maybe-decl-faces): New language variable.
515 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
517         Avoid an infloop when we run out of memory
519         * src/alloc.c (garbage_collect_1): Don't bother saving and
520         restoring the echo-area message if we are GC'ing after running out
521         of memory.  This avoids an infloop due to repeated attempts to
522         allocate memory for the cons cell needed to save the message,
523         which signals the memory-full error, which attempts to save the
524         echo-area message, which signals memory-full again, etc.
526 2016-01-11  Eli Zaretskii  <eliz@gnu.org>
528         Avoid unnecessary failures of auto-saving after fatal error
530         * src/w32.c (map_w32_filename): Avoid non-trivial system calls for
531         the benefit of FAT volumes if we are called as part of shutting
532         down due to a fatal error, which probably means we are trying to
533         auto-save the session.
534         * src/lread.c (check_obarray): Don't bother making the obarray
535         valid if we are shutting down due to a fatal error.  This avoids
536         interfering with auto-saving the crashed session.
538 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
540         Simplify HAVE_MODULES use in mark_maybe_pointer
542         * src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined,
543         so that later code can use 'if' rather than '#ifdef'.
544         (mark_maybe_pointer): Simplify based on HAVE_MODULES now
545         always working.
547 2016-01-11  Paul Eggert  <eggert@cs.ucla.edu>
549         Revert attempt to use 'noexcept' in typedef
551         This use of 'noexcept' runs afoul of the C++11 standard.
552         Problem reported by Philipp Stephani in:
553         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html
554         * src/emacs-module.c (emacs_finalizer_function):
555         Move this typedef here ...
556         * src/emacs-module.h: ... from here, and use only the C
557         version of the typedef.  The typedef is now private since it
558         is never used in the .h file now and anyway it seemed to be
559         causing more confusion than it cured.
560         (make_user_ptr, get_user_finalizer, set_user_finalizer):
561         Open-code the type instead.
563 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
565         Update documentation of 'indirect-function'
567         * doc/lispref/eval.texi (Function Indirection): Update the
568         documentation of 'indirect-function'.
570 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
572         Update documentation for obsoleting 'syntax-begin-function'
574         * doc/lispref/syntax.texi (Position Parse): Undocument
575         'syntax-begin-function' that is now obsolete.
577 2016-01-10  Eli Zaretskii  <eliz@gnu.org>
579         Document new features if Eshell
581         * doc/misc/eshell.texi (Input/Output): Document the new
582         '#<bufname>' syntax.
583         (Input/Output): Document 'eshell-destroy-buffer-when-process-dies'.
584         Disable "Key Index" generation, as there are no @kindex entries in
585         this manual.
587 2016-01-10  Michael Albinus  <michael.albinus@gmx.de>
589         Handle too long commands in Tramp
591         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
592         (tramp-do-file-attributes-with-ls): Send sequence of commands, in
593         order to not exceed shell command line limit.
595         * test/automated/tramp-tests.el (tramp--test-darwin-p): Remove.
596         (tramp--test-utf8): Include Arabic file name, again.
598 2016-01-10  Paul Eggert  <eggert@cs.ucla.edu>
600         * .gitattributes: *.cur and *.pif are binary files too.
602 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
604         * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
606 2016-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
608         * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
610         * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation
611         within $(...).
612         * test/indent/shell.sh: Add corresponding test.
614 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
616         * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
618         (mark_memory): Simplify loop.  Don't assume a pointer-sized word can be
619         cast to Lisp_Object.
621 2016-01-09  Dmitry Gutov  <dgutov@yandex.ru>
623         Use short date for 'hg annotate', and output the author
625         * lisp/vc/vc-hg.el (vc-hg-annotate-command):
626         Change '-d' to '-dq'.  (Bug#21805)
627         (vc-hg-annotate-switches): Default to "-u" "--follow".
628         (vc-hg-annotate-re): Update to recognize the short date format
629         and the optional username.
630         (vc-hg-annotate-time)
631         (vc-hg-annotate-extract-revision-at-line): Update accordingly.
633         * test/automated/vc-hg.el: New file.
635 2016-01-09  Paul Eggert  <eggert@cs.ucla.edu>
637         Spelling fix
639 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
641         Document user-level functions in project.el
643         * lisp/progmodes/project.el (project-find-file)
644         (project-or-external-find-file): Add doc strings.
646 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
648         Document the user-level features of the Xref package
650         * doc/emacs/maintaining.texi (Maintaining): Add a list of
651         described features.
652         (Xref): New section, made out of thoroughly rewritten "Tags"
653         section.
654         (Find Identifiers, Looking Up Identifiers, Xref Commands)
655         (Identifier Search, List Identifiers): New subsections,
656         incorporating the old tags commands and the new xref commands.
657         (Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps):
658         Section and subsections demoted to a lower level.
659         * doc/emacs/search.texi (Search):
660         * doc/emacs/windows.texi (Pop Up Window):
661         * doc/emacs/frames.texi (Creating Frames):
662         * doc/emacs/programs.texi (Imenu, Symbol Completion):
663         * doc/emacs/building.texi (Grep Searching):
664         * doc/emacs/dired.texi (Operating on Files):
665         * doc/emacs/glossary.texi (Glossary): All references to tags changed.
667 2016-01-09  Stefan Monnier  <monnier@iro.umontreal.ca>
669         * loading.texi: Add `define-type' entry for load-history
671         * doc/lispref/loading.texi (Where Defined): Remove incorrect
672         cl-defmethod description, and add missing define-type entry.
674 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
676         Improve doc strings and prompts in xref.el
678         * lisp/progmodes/xref.el (xref-backend-functions)
679         (xref-find-definitions): Doc fixes.
680         (xref-query-replace): Doc fix.  Improve prompts for arguments.
682 2016-01-09  Alan Mackenzie  <acm@muc.de>
684         Allow the use of `font-lock-extend-region-multiline' in CC Mode.
686         * lisp/progmodes/cc-mode.el (c-font-lock-init): Remove
687         `font-lock-extend-regions-wholelines' from
688         `font-lock-extend-region-functions' rather than setting the latter to
689         nil.
691 2016-01-09  Michael Albinus  <michael.albinus@gmx.de>
693         Fix coding system for Tramp on OS X.
695         * lisp/net/tramp-compat.el: Require ucs-normalize.
697         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
698         Set coding system to `utf-8-hfs' for Mac OS X.
700         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
701         Flush directory properties when needed.
702         (tramp--test-utf8): Include Chinese file name, again.
704 2016-01-09  Eli Zaretskii  <eliz@gnu.org>
706         Update 'load-history' docs
708         * doc/lispref/loading.texi (Where Defined): Update the list of
709         forms in 'load-history' by adding the forms created for the
710         'cl-generic' generics.  (Bug#21422)
712 2016-01-08  Paul Eggert  <eggert@cs.ucla.edu>
714         Fix (error ...) error
716         Problem reported by Glenn Morris in:
717         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00561.html
718         * lisp/vc/add-log.el (change-log-goto-source): Fix typos
719         introduced in my Aug 28 change, where I got confused by the
720         two meanings of (error ...).
722 2016-01-08  Alan Mackenzie  <acm@muc.de>
724         Correctly analyze brace arguments in templated C++ function declarations.
726         * lisp/progmodes/cc-defs.el (c-go-list-forward, c-go-list-backward): add
727         POS and LIMIT parameters, like the other c-go-list-* functions have.
729         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): Check backwards
730         for a ?\( rather than a ?<.  (c-looking-at-inexpr-block): Handle names
731         followed by template specifiers.
733 2016-01-08  Glenn Morris  <rgm@gnu.org>
735         * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
737         * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
739 2016-01-08  Mark Oteiza  <mvoteiza@udel.edu>
741         * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
743 2016-01-08  Alan Mackenzie  <acm@muc.de>
745         Respect fontification region calculated by major mode.  Fixes bug #22316.
747         * lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a
748         fontification region has been calculated by a function on
749         font-lock-extend-after-change-region-function use this region rather than
750         changing the end position to somewhere else.
752 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
754         Improve documentation of Delete Selection mode
756         * lisp/delsel.el (delete-selection-mode)
757         (delete-selection-helper): Update and expand the doc strings.
758         (Bug#22296)
760         * doc/emacs/mark.texi (Using Region): Document the behavior of
761         delete commands in Delete Selection mode.  (Bug#22296)
763         * doc/lispref/markers.texi (The Mark): Document how to add the
764         support for Delete Selection mode to Lisp programs. (Bug#22296)
766 2016-01-08  Dmitry Gutov  <dgutov@yandex.ru>
768         Fix two project-find-file issues
770         * lisp/progmodes/project.el (project--value-in-dir):
771         Temporarily set enable-local-variables to :all.
772         (project-find-file, project-or-external-find-file):
773         All autoloads.
774         (project--find-file-in): Require xref.
776 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
778         Clarify doc string of 'dired-current-directory'
780         * lisp/dired.el (dired-current-directory): Doc fix: clarify that
781         the return value might not end in a slash when called with the
782         optional argument non-nil.  (Bug#6273)
784 2016-01-08  Eli Zaretskii  <eliz@gnu.org>
786         Use the face of preceding text for displaying the ellipsis
788         * src/xdisp.c (setup_for_ellipsis): Use the face of the preceding
789         text in it->saved_face_id for displaying the ellipsis, and ignore
790         the face, if any, of the invisible text.  (Bug#22320)
792 2016-01-08  Michael Albinus  <michael.albinus@gmx.de>
794         Suppress Chinese file name test for OSX in tramp-tests.el
796         * test/automated/tramp-tests.el (tramp--test-utf8):
797         Remove instrumentation.  Suppress Chinese file name test for OSX.
799 2016-01-07  Glenn Morris  <rgm@gnu.org>
801         * admin/admin.el (set-version): Also handle the NEWS file.
803 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
805         apropos-library: Skip obvious duplicates; don't error on generics
807         * lisp/apropos.el (apropos-library): Skip "was an autoload"
808         entries, to avoid obvious duplicates.  For each cl-defmethod
809         entry, take just its function symbol (bug#21422).
811 2016-01-07  Dmitry Gutov  <dgutov@yandex.ru>
813         Add project-find-file and project-or-external-find-file
815         * lisp/minibuffer.el (completion-category-defaults):
816         Add `project-file' category.
818         * lisp/progmodes/project.el (project-find-file)
819         (project-or-external-find-file): New commands.
820         (project--find-file-in): New private function.
822         * lisp/progmodes/xref.el (xref-collect-matches): Use
823         `expand-file-name' on DIR, to expand the tildes.
824         (xref--find-ignores-arguments): Extract from
825         `xref--rgrep-command'.
827 2016-01-06  Leo Liu  <sdl.web@gmail.com>
829         Add defvar-local to lisp-imenu-generic-expression
831         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add
832           defvar-local.
834 2016-01-06  Leo Liu  <sdl.web@gmail.com>
836         Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
838         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
839           Don't declare (indent 1).
841 2016-01-06  Glenn Morris  <rgm@gnu.org>
843         * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
845 2016-01-06  Glenn Morris  <rgm@gnu.org>
847         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
849         Avoid specifying the length of a time object (it has not been "2"
850         for some time).
852 2016-01-06  Andreas Schwab  <schwab@linux-m68k.org>
854         Properly encode/decode base64Binary data in SOAP
856                 * lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode
857                 base64Binary value as utf-8.
858                 (soap-decode-xs-basic-type): Decode base64Binary value as utf-8.
860 2016-01-06  Eli Zaretskii  <eliz@gnu.org>
862         Obey coding-system-for-write when writing stdout/stderr in batch
864         * src/print.c (printchar_to_stream):
865         * src/xdisp.c (message_to_stderr): If coding-system-for-write has
866         a non-nil value, use it to encode output in preference to
867         locale-coding-system.  See the discussions in
868         http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html
869         for the details.
871         * doc/lispref/os.texi (Terminal Output): Document how to send
872         non-ASCII text via 'send-string-to-terminal'.
873         (Batch Mode): Document how text written to standard streams is
874         encoded.  Fix inaccuracy regarding which output streams are used
875         by output functions in batch mode.
877 2016-01-06  Xue Fuqiao  <xfq.free@gmail.com>
879         * doc/misc/efaq.texi (Packages that do not come with Emacs):
880         Update the URI of MELPA and marmalade-repo.  Reported by CHENG Gao
881         <chenggao@royau.me> in
882         https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
884 2016-01-05  Maksim Golubev  <maksim.golubev72@gmail.com>  (tiny change)
886         * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
888         Fix backslash.  (Bug#22224)
890 2016-01-05  Federico Beffa  <beffa@ieee.org>  (tiny change)
892         * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
894         Make it actually work.  (Bug#22265)
896 2016-01-05  Alan Mackenzie  <acm@muc.de>
898         Remove function wrongly on AWK Mode value of context fontification hook.
900         * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions):
901         swap order of entries so that awk's entry isn't superseded by the default.
903         * lisp/progmodes/cc-mode.el (c-before-context-fl-expand-region): Correct
904         to handle nil value of c-before-context-fontification-functions.
906 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
908         * src/buffer.c: Stick with ASCII in doc string.
910 2016-01-05  Paul Eggert  <eggert@cs.ucla.edu>
912         Reword transient-mark-mode doc string
914         * src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion.
915         The value 'lambda (literally) can be interpreted as (quote lambda),
916         which is not intended here; we want just the lambda symbol.
918 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
920         Update doc string of 'selective-display'
922         * src/buffer.c (syms_of_buffer) <selective-display>: Say that
923         using it with the value of 't' is obsolete.  (Bug#1092)
925 2016-01-05  Alan Mackenzie  <acm@muc.de>
927         Make C++ buffers writeable when writing their initial text properties.
929         This is a correction to yesterday's CC Mode patch.
931         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Put
932         c-save-buffer-state around the function rather than a mere `let'.
934 2016-01-05  Michael Albinus  <michael.albinus@gmx.de>
936         Additional changes for "make check-expensive"
938         * CONTRIBUTE : Encourage use of ":tags '(:expensive-test)".
939         Explain make target `check-expensive'.
941         * etc/NEWS: Mention new make target `check-expensive'.
943         * test/automated/Makefile.in (check-doit): New target.
944         (check, check-expensive): Use it.
946 2016-01-04  Alan Mackenzie  <acm@muc.de>
948         Apply text properties for <, > in new after-change function (C++ Java Modes).
950         These are category/syntax-table properties to give < and > paren syntax.
951         Also apply certain `c-type' text properties to the insides of <..> constructs
952         to ensure that identifiers contained by them get fontified.  This patch fixes
953         bug #681.
955         * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Reformulate due to new
956         after-change action.
958         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Expand
959         change region to include <s and >s which might not be already marked as
960         parens, rather than just when paren text properties are removed.
961         (c-restore-<>-properties): New after-change function, which applies text
962         properties marking < and > with paren syntax.
964         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Ensure `c-type'
965         properties are applied to the interiors of <...> constructs, to ensure
966         fontification of identifiers there.
968         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
969         c-restore-<>-properties to this list for C++ and Java.
971         * lisp/progmodes/cc-mode.el (c-common-init): When invoking
972         c-before-font-lock-functions, exclude c-restore-<>-properties from the
973         functions invoked.
974         (c-before-change): Initialize c-new-BEG/END here (rather than c-after-change)
975         to allow modification by before-change functions.
976         (c-after-change): Amend c-new-END here, rather than initializing it and
977         c-new-BEG.
979 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
981         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
983 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
985         Introduce check-expensive tests.
987         * Makefile.in (check-expensive):
988         * test/automated/Makefile.in (check-expensive): New target.
990         * test/automated/auto-revert-tests.el
991         (auto-revert-test01-auto-revert-several-files):
992         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
993         * test/automated/tramp-tests.el (tramp-test26-process-file)
994         (tramp-test27-start-file-process, tramp-test28-shell-command)
995         (tramp-test29-vc-registered)
996         (tramp-test31-special-characters-with-stat)
997         (tramp-test31-special-characters-with-perl)
998         (tramp-test31-special-characters-with-ls)
999         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
1000         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
1001         (tramp-test35-unload): Tag the tests as :expensive-test.
1003 2016-01-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1005         shr-tag-video bug fix
1007         * shr.el (shr-tag-video): Protect against the `poster' being
1008         empty.
1010 2016-01-04  Michael Albinus  <michael.albinus@gmx.de>
1012         Minor fixes in tramp-tests.el
1014         * test/automated/tramp-tests.el (tramp-test26-process-file):
1015         Move point properly.
1016         (tramp-test29-vc-registered): Work with relative file names.
1018 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
1020         Ensure redisplay when 'truncate-lines' is set
1022         * lisp/frame.el (redisplay--variables): Add 'truncate-lines'.
1023         (Bug#22303)
1025 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
1027         Fix a doc string of 'transient-mark-mode'
1029         * src/buffer.c (syms_of_buffer) <transient-mark-mode>: Prevent
1030         "lambda" in doc string from becoming a link to lambda expressions.
1032 2016-01-04  Eli Zaretskii  <eliz@gnu.org>
1034         MS-Windows followup to latest gnulib update
1036         * nt/gnulib.mk (EXTRA_DIST): Add ignore-value.h.
1038 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1040         Spelling fix
1042 2016-01-03  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
1044         Do secure signed Bcc handling
1046         * lisp/gnus/message.el (message-send): Do secure signed Bcc handling
1047         (bug#18718).
1049 2016-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1051         Avoid stdio in SIGINT handler
1053         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
1054         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
1055         * lib/ignore-value.h: New file, from gnulib.
1056         * src/keyboard.c: Include it.
1057         (write_stdout, read_stdin): New functions.
1058         (handle_interrupt): Use them instead of printf and getchar,
1059         and avoid fflush when handling signals.
1061 2016-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1063         * doc/misc/texinfo.tex: Revert unwanted copyright change.
1065 2016-01-03  Artur Malabarba  <bruce.connor.am@gmail.com>
1067         * lisp/align.el (align): Simplify a lambda
1069         * lisp/align.el (align): Fix arg order in call to `align-region'
1071 2016-01-03  Eli Zaretskii  <eliz@gnu.org>
1073         Fix compilation next-error in buffers with selective-display
1075         * lisp/progmodes/compile.el (compilation-beginning-of-line): New
1076         function.
1077         (compilation-internal-error-properties)
1078         (compilation-next-error-function, compilation-set-window): Use
1079         it.  (Bug#1092)
1081 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1083         * nsm.el (nsm-check-protocol): Fix typo in the message.
1085 2016-01-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1087         Add SHA1 warnings for high network security settings
1089         * nsm.el (nsm-check-protocol): When using high security, warn
1090         about SHA1 certificates, which are now believed to be open to
1091         spoofing.
1093 2016-01-02  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
1095         Refactor mml-smime.el, mml1991.el, mml2015.el
1097         (Maybe this is the last merge from Gnus git to Emacs git)
1099         Cf. discussion on ding mailing list, messages in
1100         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
1101         Common code from the three files mml-smime.el, mml1991.el, and
1102         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
1103         to gnus-util.el.
1105         The code is supported by test cases with necessary test keys.
1107         Documentation in message.texi is updated.
1109         * doc/misc/message.texi (Security, Using S/MIME):
1110         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
1111         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
1112         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
1114         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
1115         New functions.
1117         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
1118         (epa--select-keys): Autoload.
1119         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
1120         (mml-secure-openpgp-signers): New user option;
1121         make mml1991-signers and mml2015-signers obsolete aliases to it.
1122         (mml-secure-smime-signers): New user option;
1123         make mml-smime-signers an obsolete alias to it.
1124         (mml-secure-openpgp-encrypt-to-self): New user option;
1125         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
1126         aliases to it.
1127         (mml-secure-smime-encrypt-to-self): New user option;
1128         make mml-smime-encrypt-to-self an obsolete alias to it.
1129         (mml-secure-openpgp-sign-with-sender): New user option;
1130         make mml2015-sign-with-sender an obsolete alias to it.
1131         (mml-secure-smime-sign-with-sender): New user option;
1132         make mml-smime-sign-with-sender an obsolete alias to it.
1133         (mml-secure-openpgp-always-trust): New user option;
1134         make mml2015-always-trust an obsolete alias to it.
1135         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
1136         New user options.
1137         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
1138         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
1139         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
1140         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
1141         (mml-secure-passphrase-callback, mml-secure-check-user-id)
1142         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
1143         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
1144         (mml-secure-fingerprint, mml-secure-filter-keys)
1145         (mml-secure-normalize-cust-name, mml-secure-select-keys)
1146         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
1147         (mml-secure-self-recipients, mml-secure-recipients)
1148         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
1150         * lisp/gnus/mml-smime.el: Require epg;
1151         refactor declaration and autoloading of epg functions.
1152         (mml-smime-use): Doc fix.
1153         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
1154         Obsolete.
1155         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
1156         Use format instead of gnus-format-message.
1157         (mml-smime-epg-secret-key-id-list): Remove variable.
1158         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
1159         (mml-smime-epg-find-usable-secret-key): Remove functions.
1160         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
1162         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
1163         (mml1991-passphrase-cache-expiry): Obsolete.
1164         (mml1991-epg-secret-key-id-list): Remove variable.
1165         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
1166         (mml1991-epg-find-usable-secret-key): Remove functions.
1167         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
1169         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
1170         (mml2015-passphrase-cache-expiry): Obsolete.
1171         (mml2015-epg-secret-key-id-list): Remove variable.
1172         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
1173         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
1174         (mml2015-epg-find-usable-secret-key): Remove functions.
1175         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
1176         (mml2015-epg-encrypt): Refactor.
1178 2016-01-02  Glenn Morris  <rgm@gnu.org>
1180         * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
1182         Explicitly ignore case.  (Bug#22262)
1184 2016-01-02  Stefan Monnier  <monnier@iro.umontreal.ca>
1186         (semantic-symref-derive-find-filepatterns): Return a list
1188         * lisp/cedet/semantic/symref/grep.el
1189         (semantic-symref-derive-find-filepatterns): Return a list.
1190         (semantic-symref-perform-search): Quote the result here once and for all.
1192 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
1194         Fix xref-find-references on MS-Windows
1196         * lisp/cedet/semantic/symref/grep.el
1197         (semantic-symref-derive-find-filepatterns): Use
1198         'shell-quote-argument' instead of manually quoting in a way that
1199         only works with Posix shells.  (Bug#22289)
1201 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
1203         Document new features of tildify-mode
1205         * lisp/textmodes/tildify.el (tildify-foreach-ignore-environments)
1206         (tildify-mode): Spelling fixes in doc strings.
1208         * etc/NEWS: Reformat the tildify-mode entry.
1210 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
1212         Document new features of Whitespace mode
1214         * doc/emacs/display.texi (Useless Whitespace): Document
1215         'whitespace-toggle-options' and the new 'big-indent' style.
1216         Document 'whitespace-big-indent-regexp'.  Document the Global
1217         Whitespace mode.
1219 2016-01-02  Eli Zaretskii  <eliz@gnu.org>
1221         Improve documentation of new Hide-IfDef features
1223         * etc/NEWS: Expand and reword Hide-IfDef section.
1225 2016-01-02  Leo Liu  <sdl.web@gmail.com>
1227         Fix regression in font-locking cl-assert and cl-check-type
1229         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Fix
1230           el-errs-re.
1232 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1234         Spelling and grammar fixes
1236 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1238         Fix copyright years by hand
1240         These are dates that admin/update-copyright did not update, or
1241         updated incorrectly.
1243 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1245         Update copyright year to 2016
1247         Run admin/update-copyright.
1249 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1251         Merge from gnulib
1253         This mostly just updates copyright dates of gnulib files.
1254         It also updates to the latest version of texinfo.tex.
1256 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
1258         lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
1260 2015-12-31  Mark Oteiza  <mvoteiza@udel.edu>
1262         Port chart.el methods to cl-generic.
1264         cl-call-next-method cannot be used inside EIEIO's defmethod.
1265         * lisp/emacs-lisp/chart.el: Require cl-generic at compile time.
1266         * lisp/emacs-lisp/chart.el (initialize-instance, chart-draw):
1267         (chart-draw-title, chart-size-in-dir, chart-draw-axis):
1268         (chart-axis-draw, chart-translate-xpos, chart-translate-ypos):
1269         (chart-translate-namezone, chart-draw-data, chart-add-sequence):
1270         (chart-trim, chart-sort): Use cl-defmethod instead of defmethod.
1272 2015-12-31  Brian Burns  <bburns.km@gmail.com>
1274         Add nt/INSTALL.W64 build instructions
1276         * nt/INSTALL.W64: New file.
1277         * nt/INSTALL: Point to INSTALL.W64 for 64-bit build instructions.
1279 2015-12-31  Joakim Jalap  <joakim.jalap@fastmail.com>
1281         Add new input method 'programmer-dvorak'
1283         * lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New
1284         input method.
1286         * etc/NEWS: Mention it.
1288 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
1290         Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
1292         * lisp/textmodes/flyspell.el (flyspell-prog-mode): Record the
1293         original M-TAB binding in a buffer-local variable.
1294         (flyspell-auto-correct-word): Invoke the original binding of M-TAB
1295         if that is recorded, when point is in a place where flyspell
1296         should not be active (e.g., because the user turned on
1297         'flyspell-prog-mode').  (Bug#18533)
1299 2015-12-31  Eli Zaretskii  <eliz@gnu.org>
1301         Fix EWW rendering of long RTL lines
1303         * lisp/net/shr.el (shr-insert-document): Undo any previous hscroll
1304         of the selected window before filling its lines.  (Bug#22250)
1306 2015-12-31  Vincent Belaïche  <vincentb1@users.sourceforge.net>
1308         fix  bug#21054
1310         * ses.el (ses-check-curcell): Call `ses-set-curcell' unconditionally
1312 2015-12-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1314         Clean up cairo printing code
1316         * src/gtkutil.c (xg_get_page_setup): Use listn.
1317         * src/xfns.c (Fx_export_frames, Fx_print_frames_dialog): Doc fix.  Use
1318         decode_window_system_frame and FRAME_VISIBLE_P.
1319         (Fx_print_frames_dialog): Use redisplay_preserve_echo_area instead
1320         of Fdisplay.
1321         * src/xterm.c (x_cr_export_frames): Use redisplay_preserve_echo_area
1322         instead of Fdisplay.  Temporarily unblock_input around QUIT.
1324 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1326         Add handle_user_signal_hook
1328         * src/keyboard.h (handle_user_signal_hook): New declaration.
1329         * src/keyboard.c (handle_user_signal_hook): New variable.
1330         (handle_user_signal): Call it.
1332 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1334         Avoid writing to purespace
1336         * src/alloc.c (Fmake_string): Don't write to empty string contents.
1337         (allocate_vector): Don't write to empty vector size.
1338         * src/character.h (CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR):
1339         Don't call unnecessary XSETCAR or XSETCDR.
1340         * src/lisp.h (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE): Don't
1341         write to empty string size_byte.
1343 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1345         Remove unused variable
1347         * lisp/international/mule-cmds.el: Remove unused variable
1348         `mac-system-coding-system'.
1350 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1352         * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
1354 2015-12-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1356         Use posix_openpt instead of openpty on Darwin
1358         * configure.ac (PTY_ITERATION, FIRST_PTY_LETTER, PTY_OPEN)
1359         (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Remove
1360         Darwin-specific definitions.  Use posix_openpt instead.
1362 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
1364         Document support for ':documentation' in Lisp mode
1366         * lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p)
1367         (lisp-string-after-doc-keyword-p)
1368         (lisp-font-lock-syntactic-face-function): Add doc strings.
1370 2015-12-30  Shakthi Kannan  <shakthimaan@gmail.com>
1372         Document new features of TeX mode
1374         * doc/emacs/text.texi (TeX Print): Document
1375         'tex-print-file-extension'.
1376         * doc/emacs/programs.texi (Misc for Programs): Document support
1377         for Prettify Symbols mode in TeX mode.
1379 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
1381         Clarify docs of hscroll in RTL text
1383         * doc/lispref/windows.texi (Horizontal Scrolling): Clarify the
1384         meaning of a window's horizontal scroll amount for RTL paragraphs.
1386 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
1388         Fix rendering of HTML pages that use character composition
1390         * src/indent.c (Fvertical_motion): Fix the case when point starts
1391         in the middle of a composition, as in shr-vertical-motion.
1392         (Bug#22250)
1394 2015-12-30  Eli Zaretskii  <eliz@gnu.org>
1396         Avoid some compiler warnings in w32.c
1398         * src/w32.c (codepage_for_filenames, crlf_to_lf)
1399         (ansi_encode_filename, socket_to_fd, sys_write)
1400         (check_windows_init_file): Avoid compiler warnings about
1401         differences in pointer signedness.
1403 2015-12-29  Dmitry Gutov  <dgutov@yandex.ru>
1405         Undo ill-advised change
1407         * lisp/progmodes/xref.el (xref-collect-matches): Undo
1408         ill-advised change.  The hits come in the order that `find'
1409         produces them in, which isn't alphabetical.
1411 2015-12-29  Dmitry Gutov  <dgutov@yandex.ru>
1413         Unbreak completion in python-mode buffers
1415         * lisp/progmodes/python.el (python-shell-completion-at-point):
1416         Unbreak in python-mode buffers.
1418 2016-01-09  Andrew Hyatt  <ahyatt@gmail.com>
1420         Adding example replies to bug-triage.
1422         * admin/notes/bug-triage: Added example replies. Also, as requested,
1423           making the process notes into more of a checklist.
1425 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
1427         Rename the notes/admin/triage file to bug-triage.
1429         * CONTRIBUTE: Change reference to the triage file name.
1430         * admin/notes/triage: Rename file to admin/notes/bug-triage.
1432 2016-01-07  Glenn Morris  <rgm@gnu.org>
1434         Allow creation of loaddefs files without timestamps.
1436         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
1437         (autoload-generate-file-autoloads, update-directory-autoloads):
1438         If autoload-timestamps is nil, write "t" instead of file timestamp.
1439         (autoload-find-destination, update-directory-autoloads):
1440         If timestamp is "t", use the modtime of the output file instead.
1442 2016-01-06  Glenn Morris  <rgm@gnu.org>
1444         Doc tweaks.
1446         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
1447         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
1448         (calendar-iso-from-absolute):
1449         * lisp/calendar/cal-tex.el (cal-tex-comment):
1450         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
1452 2016-01-06  Glenn Morris  <rgm@gnu.org>
1454         Build tweaks related to tags files.
1456         * lib-src/Makefile.in (tagsfiles): New variable.
1457         (TAGS): Also depend on the source files.  Use our own etags program.
1458         * lisp/Makefile.in (ETAGS): Add EXEEXT.
1459         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
1460         Remove.
1461         (tagsfiles): New, replacing lisptagsfiles1 etc.
1462         Remove irrelevant source files here rather than in the TAGS rule.
1463         (${ETAGS}): New rule.
1464         (TAGS): Also depend on the etags executable.
1465         * lwlib/Makefile.in (EXEEXT): New, set by configure.
1466         (ETAGS): Add EXEEXT.
1467         (${ETAGS}): New rule.
1468         (ctagsfiles): Use "wildcard".
1469         (TAGS): Also depend on the etags executable.
1470         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
1471         (${ETAGS}): New rule.
1472         (TAGS): Fix dependencies.
1473         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
1474         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
1475         Remove "-t" argument.
1476         (${ETAGS}): New rule.
1477         (tagsfiles): New variable.
1478         (TAGS): New rule, with proper dependencies.
1479         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
1480         (ctagsfiles1, ctagsfiles2): Use "wildcard".
1481         (ctagsfiles3): Remove.
1482         (TAGS): Depend on etags.
1483         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
1484         directories decide if updates are needed.
1486 2016-01-06  Glenn Morris  <rgm@gnu.org>
1488         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
1490 2016-01-06  Glenn Morris  <rgm@gnu.org>
1492         * test/lisp/emacs-lisp/package-tests.el
1494         (package-test-macro-compilation): Fixup branch merge.
1496 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
1498         Fix fallout from merging emacs-25 branch in test/
1500         * .gitignore: Update for the new place of biditest.txt.
1501         * test/automated/: Directory removed.  All files moved to their
1502         proper places.
1503         * test/etags/: Directory removed.  All files moved to their proper
1504         places.
1505         * test/automated/url-parse-tests.el: File removed; it was an exact
1506         copy of the same file in test/lisp/url/.
1507         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
1509 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1511         Spelling fixes.
1513 2016-01-04  Daniel Colascione  <dancol@dancol.org>
1515         Let users disable unsafe signal handling code
1517         * src/keyboard.c (syms_of_keyboard): New user variables
1518         `attempt-stack-overflow-recovery' and
1519         `attempt-orderly-shutdown-on-fatal-signal'.
1520         * src/sysdep.c (stack_overflow): Check
1521         `attempt-stack-overflow-recovery'.
1522         * src/emacs.c (terminate_due_to_signal): Check
1523         `attempt-orderly-shutdown-on-fatal-signal'.
1525 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
1527         * configure.ac: Add error message for gfile on Nextstep.
1529 2016-01-03  John Wiegley  <johnw@newartisans.com>
1531         Merge branch 'emacs-25-merge'
1533 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
1535         Align textually on fix done for emacs-25 branch for bug#21054
1537         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
1538         and useless `(if t ...)' in order to align textually on fix done for
1539         emacs-25 branch for bug#21054.
1541 2016-01-02  K. Handa  <handa@gnu.org>
1543         support rendering of wider range of combinging characters by ftfont backend
1545         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
1546         supports rendering of combining characters, call
1547         font-shape-gstring.
1549         * src/font.c (Ffont_get): Handle `combining-capability' property.
1550         (syms_of_font): New symbol ":combining-capability'.
1552         * src/font.h (struct font_driver): New member combining_capability.
1554         * src/ftfont.c: Include "category.h".
1555         (ftfont_driver): Initialize combining_capability to
1556         ftfont_combining_capability.
1557         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
1558         FLT in advance.
1559         (ftfont_combining_capability): New function.
1561 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
1563         Add notes on bug triage procedure
1565         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
1566         * admin/notes/triage: New file explaining triage procedure.
1568 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
1570         Correct ses-rename-cell cursor-intangible text prop updating.
1572         There were two problems:
1574         - First ses-rename-cell has to work when called non interactively
1575           (with non-nil CELL argument), so in this case the start pos of
1576           put-text-property cannot be plainly (point), you need a
1577           ses-goto-print call before
1579         - Second, the range itself was computed erronously, only the first
1580           char was affected instead of the full cell width. This was not
1581           noticeable prior to changes (Deprecate `intangible' and
1582           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
1584         * lisp/ses.el (ses-rename-cell): Correct computation of position range
1585         to which the 'cursor-intangible text property has to be set to cell
1586         new name.
1588 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
1590         Don't fake empty cells value by "" when printing with a lambda.
1592         When using a lambda expression printer function the user should be
1593         free to format differently a really empty cell, ie. containing nil,
1594         from a cell containing an empty string "".
1596         * ses.el (ses-call-printer): Replace `(or value "")' by just `value'
1597         in the case of a lambda expression printer function.
1599         * ses.texi (Printer functions): Add example and description about
1600         lambda expression printer function handling all the possible values,
1601         including unexpected ones.
1603 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
1605         Quick temporary hack to fix curcell refreshing.
1607         The problem was caused by change: 2015-04-13 Deprecate `intangible'
1608         and `point-entered' properties. The problem is that this change has
1609         removed the (setq ses--curcell t) setting in the ses-command-hook
1610         function.
1612         * ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
1613         a condition to call function `ses-set-curcell'. Comment this as a quick
1614         temporary hack to make it work, as I don't know yet whether a definite
1615         correction would be to make the ses-set-curcell at every ses-check-curcell,
1616         or to revert to the previous approach, ie marking ses--curcell as out-of-date
1617         at every potentially cursor motion command.
1619 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1621         Restrictive URL checking tweaks
1623         * lisp/net/eww.el (eww): Check whether the domain is
1624         restrictive instead of the string
1625         (http://македонија.icom.museum is restrictive even if each
1626         part is from a different script).
1628 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1630         New function `puny-highly-restrictive-domain-p'
1632         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
1633         (puny-highly-restrictive-domain-p): New function.
1635 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1637         eww build fix (require puny)
1639 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
1641         Transform non-restrictive domains to punycode for display
1643         * lisp/net/eww.el (eww): Check whether the domain is Highly
1644         Restrictive in the Unicode IDNA sense.
1646 2015-12-30  John Wiegley  <johnw@newartisans.com>
1648         Merge emacs-25 into master (using imerge)
1650 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
1652         Fix typos in CC Mode manual
1654         * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix
1655         typos.  (Bug#22267)
1657 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
1659         Avoid assertion violations in compact_font_cache_entry
1661         * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to
1662         avoid assertion violation in ASIZE.  (Bug#22263)
1664 2015-12-29  Eli Zaretskii  <eliz@gnu.org>
1666         Fix filling text with bidirectional characters in shr.el
1668         * lisp/net/shr.el (shr-insert-document): Bind
1669         bidi-display-reordering to nil while filling lines.  This is
1670         required for when a line includes characters whose bidi
1671         directionality is opposite to the base paragraph direction,
1672         because columns are counted in the logical order.  (Bug#22250)
1674 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
1676         Further Unicode restrictive fixups
1678         * puny.el (puny-highly-restrictive-p): Include the extra
1679         identifier characters from table 3.
1681 2015-12-29  Martin Rudalics  <rudalics@gmx.at>
1683         * src/xfns.c (x_create_tip_frame): Process alpha parameter.
1685 2015-12-29  Michael Albinus  <michael.albinus@gmx.de>
1687         Sync with Tramp 2.2.13
1689         * doc/misc/trampver.texi: Change version to "2.2.13.25.1".
1691         * lisp/net/tramp-compat.el (tramp-compat-delete-dups):
1692         Use `tramp-compat-funcall'.
1694         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names):
1695         Make `split-string' call compatible with older Emacsen.
1697         * lisp/net/trampver.el: Change version to "2.2.13.25.1".
1699 2015-12-29  Lambda Coder  <sjLambda@gmail.com>
1701         * doc/misc/tramp.texi: Editorial revisions to the Tramp manual
1703 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
1705         Mention that tls.el is secure by default, and will fail
1707 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
1709         Make tls.el use trustfiles by default
1711         * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227).
1712         (open-tls-stream): Insert the trustfile by looking at
1713         `gnutls-trustfiles'.
1715 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
1717         Refactor out gnutls-trustfiles
1719         * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el.
1721 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
1723         Remove --insecure from gnutls-cli invocation
1725         * tls.el (tls-program): Default to using secure TLS
1726         connections (bug#19284).
1728 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
1730         Add a new function to say whether a string is restrictive
1732         * puny.el (puny-highly-restrictive-p): New function.
1734 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1736         Spelling fix
1738 2015-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1740         Port report-emacs-bug to deterministic builds
1742         * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the
1743         recent "built on" change to deterministic builds where
1744         emacs-build-system will be nil.  See:
1745         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html
1747 2015-12-28  Jose A. Ortega Ruiz  <jao@gnu.org>  (tiny change)
1749         Fix URL auth error message
1751         * lisp/url/url-http.el (url-http-handle-authentication): Make the error
1752         message more correct (bug#20069).
1754 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1756         Mention the new puny.el library
1758 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1760         IDNA-related fixes for the URL library
1762         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
1763         the Host: header.
1765         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
1766         domain names, but leave them as UTF-8, so that they can be
1767         IDNA-encoded later when contacting the host.
1769 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1771         IDNA-encode all domain names in `open-network-stream'
1773         * network-stream.el (open-network-stream)
1774         (network-stream-open-plain, network-stream-open-starttls):
1775         IDNA-encode all domain names, if needed.
1777 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1779         Fix puny-encoding all-non-ASCII domains
1781         * puny.el (puny-encode-string): Fix the all-non-ASCII encoding case.
1783 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1785         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
1787 2015-12-28  Tom Tromey  <tom@tromey.com>
1789         set :safe on css-indent-offset
1791         * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp.
1793 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1795         * eww.el (eww-mode): Remove superfluous bidi reset.
1797 2015-12-28  James Stout  <james.wolf.stout@gmail.com>  (tiny change)
1799         Make chunked encoding trailer detection more compliant
1801         * lisp/url/url-http.el
1802         (url-http-chunked-encoding-after-change-function): Make
1803         trailer detection more compliant (bug#16345).
1805 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1807         Reconnect erc even on server errors
1809         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
1810         reconnect even if a server error has occurred (bug#18527).
1812 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1814         Fix punycode short circuit logic
1816         * puny.el (puny-encode-domain): Fix short-circuit logic.
1818 2015-12-28  Martin Rudalics  <rudalics@gmx.at>
1820         Fix Bug#10873 in `report-emacs-bug'
1822         * lisp/mail/emacsbug.el (report-emacs-bug): If
1823         `report-emacs-bug-no-explanations' is nil, make sure we can show
1824         mail and warnings buffer on this frame (Bug#10873).
1826 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1828         IDNA speed up
1830         * puny.el (puny-encode-domain): Make the common non-IDNA case faster
1832 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1834         Add IDNA domain encode/decode functions
1836         * puny.el (puny-decode-domain): New function.
1837         (puny-encode-domain): Ditto.
1838         (puny-decode-digit): Fix digit decoding error.
1840 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1842         Rename idna.el to puny.el
1844         * puny.el: Renamed from idna.el to avoid name collisions with
1845         the external idna.el library.
1847 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
1849         Always reset the bidi direction
1851         * eww.el (eww-display-html): Always reset the bidi direction
1852         to `left-to-right' (bug#22257).
1854 2015-12-28  Alan Mackenzie  <acm@muc.de>
1856         Allow line comments ending with escaped NL to be continued to the next line.
1858         Use this in C, C++, and Objective C Modes.  Fixes bug#22246
1860         * src/syntax.c (comment-end-can-be-escaped): New buffer local variable.
1861         (forw-comment, back-comment): On encountering an end of comment character,
1862         test whether it is escaped when `comment-end-can-be-escaped' is non-nil.
1864         * doc/lispref/syntax.texi (Control Parsing): Describe
1865         `comment-end-can-be-escaped'.
1867         * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'.
1869         * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'.
1871 2015-12-28  Katsumi Yamaoka  <yamaoka@jpl.org>
1873         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
1875         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
1876         Don't use split-string with 4th arg for old Emacsen compatibility.
1878 2015-12-27  Dmitry Gutov  <dgutov@yandex.ru>
1880         Rename project-library-roots to project-external-roots
1882         * lisp/progmodes/project.el (project-library-roots): Rename to
1883         project-external-roots.
1884         (project-library-roots-function): Rename to
1885         project-vc-external-roots-function.  Only use it in the VC
1886         backend, for now.  Update project-external-roots accordingly.
1887         (project-vc-library-roots): Remove.
1888         (project-or-libraries-find-regexp):
1889         Rename to project-or-external-find-regexp.
1891         * lisp/progmodes/elisp-mode.el (elisp-library-roots):
1892         Rename to elisp-load-path-roots.
1894         * lisp/progmodes/etags.el (etags-library-roots): Remove.  Use
1895         an anonymous function for the default value of
1896         project-vc-external-roots-function.
1898 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
1900         * idna.el (idna-decode-string-internal): Implement decoding.
1902 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
1904         Further IDNA tweaks
1906         (idna-encode-string): Make idna-encode-string safe for
1907         non-ASCII use.
1909 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
1911         Clean up the code slightly
1913 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
1915         Added basic idna encoding support
1917         * lisp/net/idna.el: New file.
1919 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
1921         Disconnection fixes for erc
1923         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
1924         reconnect if the user has disconnected explicitly (bug#4589).
1926 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
1928         Further erc asynch fixes
1930         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
1931         erc-server-connect to return even if the connection is not
1932         ready.  Then erc-open and erc-server-reconnect do the
1933         same. (bug#5650).
1935 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
1937         Make erc connect asynchronously
1939         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
1940         reconnect asynchronously.
1942         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
1944 2015-12-27  Deniz Dogan  <deniz@dogan.se>
1946         Clear erc user list upon disconnection
1948         * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user
1949         lists upon disconnection.  This prevents invalid channel
1950         user lists when reconnecting (bug#10947).
1952 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
1954         Don't bug out in erc after waking from sleep
1956         * erc-backend.el (erc-server-send-ping): If the server has
1957         closed connection, this may already have been detected and
1958         `erc-server-last-received-time' has been set to nil (bug#13608).
1960 2015-12-27  David Edmondson  <dme@dme.org>
1962         Proxy error in erc with multiple clients
1964         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
1965         generated when multiple IRC clients talk to a single IRC proxy
1966         (bug#19034).
1968 2015-12-27  Dima Kogan  <dima@secretsauce.net>
1970         Ensure that we don't have several timers in erc
1972         * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks
1973         for existing timers in the alist before adding new ones.  If a
1974         timer already exists, it is cancelled and
1975         overwritten. (bug#19292).
1977 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
1979         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
1980         (bug#18718).
1982 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
1984         * lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log
1985         at the start of the buffer, not at the end (bug#20496).
1987 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
1989         * lisp/net/eww.el (eww-setup-buffer): Restore left-to-right defaults.
1991 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
1993         Don't join erc channels doubly
1995         * erc-join.el (erc-autojoin-channels): Don't join channels
1996         more than once (if you have several nicks) (bug#20695).
1998 2015-12-27  Eli Zaretskii  <eliz@gnu.org>
2000         Avoid leaving "ghost" of mouse pointer on MS-Windows
2002         * src/w32term.c (frame_set_mouse_pixel_position):
2003         * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily
2004         disable "mouse trails" when moving the mouse pointer.  (Bug#22247)
2005         * src/w32term.c (frame_set_mouse_pixel_position): Include
2006         w32common.h.
2008 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
2010         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
2012 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
2014         Identify unsafe combinations of Bcc and encryption
2016         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
2017         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
2018         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
2020 2015-12-27  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
2022         Fix auth source lookups from erc with port numbers
2024         * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port
2025         numbers (bug#20541).
2027 2015-12-27  Fran Litterio  <flitterio@gmail.com>
2029         Run erc-kill-channel-hook always on exit
2031         * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook
2032         when erc-kill-queries-on-quit is set (bug#21187).
2034 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
2036         Spelling fix
2038         * test/automated/url-parse-tests.el:
2039         (url-generic-parse-url/same-document-reference):
2040         Rename from url-generic-parse-url/same-decument-reference.
2042 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
2044         Reword initial *scratch* for brevity, appearance
2046         * lisp/startup.el (initial-scratch-message):
2047         Reword to avoid apostrophes, and to make it shorter.
2048         See the thread starting in:
2049         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html
2051 2015-12-26  Leo Liu  <sdl.web@gmail.com>
2053         Add ert-deftest to lisp-mode.el
2055         * lisp-mode.el (lisp-imenu-generic-expression,
2056           lisp-el-font-lock-keywords-1): Add ert-deftest.
2058 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
2060         Mark imap changes as not needing doc changes
2062         * imap.el (imap-ssl-open): Remove
2064 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
2066         Use built-in encryption in imap.el
2068         * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134).
2069         (imap-starttls-open): Use open-network-stream instead of starttls.el.
2070         (imap-tls-open): Use open-network-stream instead of tls.el.
2072 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2074         Don't try using /bin/sh in artist.el on MS-Windows
2076         * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows):
2077         New function.
2078         (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS.
2079         (Bug#20167)
2081 2015-12-26  Wolfgang Jenkner  <wjenkner@inode.at>
2083         Always define gmalloc etc. in src/gmalloc.c
2085         This is a work-around to prevent the compiler from using semantic
2086         knowledge about malloc for optimization purposes.  E.g., gcc 5.2
2087         with -O2 replaces most of calloc's definition by a call to calloc;
2088         see Bug#22085.
2089         * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc)
2090         (aligned_alloc, free): Do not undef.  Instead, define these as
2091         functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc.
2093 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2095         Fix documentation of browse-url browser-related functions
2097         * lisp/net/browse-url.el (browse-url)
2098         (browse-url-default-browser, browse-url-default-windows-browser)
2099         (browse-url-default-macosx-browser, browse-url-chromium)
2100         (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS
2101         and NEW-WINDOW arguments in these functions.  (Bug#19421)
2103 2015-12-26  Paul Eggert  <eggert@cs.ucla.edu>
2105         Propagate Bug#14412 fix to backtrace_eval_unrewind
2107         * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment
2108         becomes accurate again. This shouldn’t affect behavior.
2109         (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too.
2111 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2113         Don't produce non-ASCII characters in *scratch*
2115         * lisp/startup.el (initial-scratch-message): Quote apostrophes to
2116         avoid producing non-ASCII characters in the *scratch* buffer's
2117         commentary.
2119 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2121         Document changes in 'compare-windows'
2123         * lisp/vc/compare-w.el (compare-windows-removed)
2124         (compare-windows-added): Doc fix.
2126         * doc/emacs/files.texi (Comparing Files): Document the changes in
2127         window selection by 'compare-windows'.
2129 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2131         Document 'vc-annotate-background-mode'
2133         * doc/emacs/maintaining.texi (Old Revisions): Document
2134         'vc-annotate-background-mode'.
2136 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2138         Document 'vc-region-history'
2140         * doc/emacs/maintaining.texi (VC Change Log): Document
2141         'vc-region-history'.
2143 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2145         Improve documentation of 'vc-push'
2147         * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and
2148         improve the documentation of 'vc-push'.
2150         * lisp/vc/vc.el (vc-pull, vc-push): Doc fix.
2152 2015-12-26  Alain Schneble  <a.s@realize.ch>
2154         Include the tests for the URL parsing fixes
2156 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2158         Document 'url-user-agent'.
2160         * lisp/url/url-http.el (url-user-agent): Move from here...
2161         * lisp/url/url-vars.el (url-user-agent): ...to here.  This is to
2162         keep all the URL defcustoms in one place, and also have it defined
2163         whenever the URL library is loaded.
2165         * doc/misc/url.texi (Customization): Document 'url-user-agent'.
2167 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2169         Document protocols supported by URL library via Tramp
2171         * doc/misc/url.texi (Tramp): New node, describes the URL schemes
2172         supported via Tramp.
2173         (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention
2174         Tramp.
2176 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2178         Document changes in Shell-script mode
2180         * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document
2181         the 'sh-shell' file-local variable.
2182         (top level): Add an auto-load form to avoid byte-compiler warning
2183         about 'comint-send-string'.
2185 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2187         Fix documentation of 'ses-define-local-printer'
2189         * doc/misc/ses.texi (Printer functions): Fix whitespace between
2190         sentences and punctuation.  Add an index entry for
2191         'ses-define-local-printer'.
2193 2015-12-26  Shakthi Kannan  <shakthimaan@gmail.com>
2195         Document 'ert-summarize-tests-batch-and-exit'
2197         * doc/misc/ert.texi (Running Tests in Batch Mode): Document
2198         'ert-summarize-tests-batch-and-exit'.
2200 2015-12-26  Eli Zaretskii  <eliz@gnu.org>
2202         Avoid assertion violation in unbind_to
2204         * src/eval.c (unbind_to) <SPECPDL_LET>: Avoid assertion violation
2205         if we get here with an object that is not a symbol.  (Bug#14412)
2207 2015-12-25  Andreas Schwab  <schwab@linux-m68k.org>
2209         Don't treat /foo/bar:mumble as ange-ftp address
2210         * lisp/net/browse-url.el (browse-url-filename-alist): Match colons
2211         only in the first component.  (bug#5362)
2213 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
2215         Make sure *scratch* etc. use forward slashes in its default-directory
2217         * lisp/startup.el (normal-top-level): On MS-Windows, convert
2218         backslashes to forward slashes while decoding default-directory
2219         of the initially-created buffers.
2221 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
2223         Restore info about the build host in bug reports
2225         * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on
2226         which Emacs was built.  This is important information for
2227         investigating bug reports reported by users who don't build their
2228         Emacs.
2230 2015-12-25  Eli Zaretskii  <eliz@gnu.org>
2232         Fix bootstrap broken by changes related to OS X file-name encoding
2234         * lisp/international/ucs-normalize.el (eval-when-compile): Make
2235         sure char-code-property-alist includes elements that allow access
2236         to 'decomposition' and 'canonical-combining-class' Unicode
2237         properties, as compiling ucs-normalize.el requires that.
2238         * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win
2239         only of charprop.el was already loaded.
2241         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc):
2242         New order-only dependency.
2244 2015-12-25  Leo Liu  <sdl.web@gmail.com>
2246         * ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename.
2248 2015-12-25  Michael Albinus  <michael.albinus@gmx.de>
2250         Make tramp-test29-vc-registered more robust
2252         * test/automated/tramp-tests.el (tramp-test29-vc-registered):
2253         Move `bzr' case down.  Skip test when `vc-create-repo' fails.
2254         Remove instrumentation.
2256 2015-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2258         * lisp/term/x-win.el (x-gtk-stock-map): Fix typo.
2260 2015-12-23  Katsumi Yamaoka  <yamaoka@jpl.org>
2262         Fix `gnus-union' so as to behave like `cl-union'
2264         * lisp/gnus/gnus-group.el (gnus-group-prepare-flat):
2265         Make gnus-union use `equal' to compare items in lists.
2267         * lisp/gnus/gnus-util.el (gnus-union):
2268         Make it behave like cl-union partially.
2270 2015-12-23  Paul Eggert  <eggert@cs.ucla.edu>
2272         Fix dired.c typo with ptrdiff_t vs Lisp_Object
2274         * src/dired.c (file_name_completion): Don't assume Lisp_Object is
2275         an integer type, fixing a problem introduced in the recent fix for
2276         Bug#22169.
2278 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
2280         Document default process sentinel more prominently
2282         * doc/lispref/processes.texi (Asynchronous Processes): Mention the
2283         defaults for process filter and sentinel.  Provide cross-references.
2284         (Process Information): Provide cross-references to where filters
2285         and sentinels are described.
2286         (Filter Functions): Add an index entry for "default filter".
2287         (Sentinels): Add a few status messages not documented previously.
2288         Resolve the "killed" confusion.  Document and describe the default
2289         sentinel.  (Bug#22220)
2291 2015-12-23  Eli Zaretskii  <eliz@gnu.org>
2293         Fix file-name completion on OS X
2295         * src/dired.c (file_name_completion): Reject false matches due to
2296         file-name-coding-systems that decompose characters when encoding
2297         file names, by comparing decoded file names as well.  (Bug#22169)
2298         (syms_of_dired) <Qdecomposed_characters>: New DEFSYM.
2300         * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a
2301         non-nil 'decomposed-characters' property.
2303 2015-12-23  Anders Lindgren  <andlind@gmail.com>
2305         File-name completion of non-ASCII characters on OS X (bug#22169)
2307         The coding system `utf-8-nfd', locally defined in ns-win.el,
2308         didn't provide a :pre-write-conversion method, causing file name
2309         completion of non-ASCII characters to fail.  Solved by using the
2310         `utf-8-hfs' coding system provided by `ucs-normalize'.
2312         * lisp/loadup.el: Load international/ucs-normalize (when building
2313         for ns).
2315         * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for
2316         `utf-8-hfs' and removed the old implementation.  Set `utf-8-hfs'
2317         as the file name coding system.
2319         * src/nsfns.c (ns-convert-utf8-nfd-to-nfc): Removed.
2321 2015-12-22  Tom Tromey  <tom@tromey.com>
2323         Fix bug #18588 by making bug-reference-bug-regexp more lenient
2325         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept
2326         "bug NNNN".  (Bug #18588)
2328 2015-12-22  Tom Tromey  <tom@tromey.com>
2330         add some cl-* aliases to lisp-mode imenu
2332         * (lisp-imenu-generic-expression): Add cl-define-compiler-macro,
2333         cl-defgeneric, and cl-defmethod.
2335 2015-12-22  Tom Tromey  <tom@tromey.com>
2337         Make a variable buffer-local
2339         * lisp/generic-x.el (generic-rul-mode-setup-function): Make
2340         font-lock-syntax-table buffer-local.  (Bug #21627)
2342 2015-12-22  Eli Zaretskii  <eliz@gnu.org>
2344         Fix decoding of text in URLs retrieved by EWW
2346         * lisp/net/eww.el (eww-render): Pass 'charset' to
2347         'eww-display-raw'.  Use the value of 'last-coding-system-used', if
2348         non-nil, to set 'buffer-file-coding-system' of the buffer where we
2349         show the URL.
2350         (eww-display-html, eww-display-raw): Decode the text correctly,
2351         using the charset found in the headers, and defaulting to UTF-8.
2352         If the user told us to use a specific encoding, override the
2353         charset from the headers.  (Bug#22222)
2355 2015-12-22  Alan Mackenzie  <acm@muc.de>
2357         Fix a coding error in c-forward-<>-arglist-recur.  Fixes bug#22156
2359         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused
2360         variable `tmp'.
2361         After a failed search for a matching ">", restore point before continuing.
2363 2015-12-22  Michael Albinus  <michael.albinus@gmx.de>
2365         Instrument Tramp tests
2367         * test/automated/tramp-tests.el (tramp-test29-vc-registered)
2368         (tramp--test-utf8): Instrument tests.
2370 2015-12-22  Martin Rudalics  <rudalics@gmx.at>
2372         Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221)
2374         * lisp/simple.el (display-message-or-buffer): Call
2375         `display-buffer' with ACTION instead of NOT-THIS-WINDOW
2376         (Bug#22221).
2378 2015-12-21  Juri Linkov  <juri@linkov.net>
2380         * lisp/saveplace.el (toggle-save-place, save-place-to-alist)
2382         (save-places-to-alist, save-place-dired-hook):
2383         Check for dired-subdir-alist.  (Bug#19851)
2385 2015-12-21  Paul Eggert  <eggert@cs.ucla.edu>
2387         Add FIXME comment re stack overflow and modules
2389 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
2391         Revert some recent emacs-module commentary
2393         Most of the recently-added commentary was incorrect, due to the
2394         possibility of stack overflow.
2396 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
2398         Spelling fix: prefer "cooperate" to "co-operate"
2400 2015-12-20  Paul Eggert  <eggert@cs.ucla.edu>
2402         Port undo fixes to -fno-common
2404         Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'.
2405         * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo)
2406         (buffer_before_last_command_or_undo):
2407         Declare in keyboard.h, and define in keyboard.c,
2408         instead of assuming the traditional Unix relaxed ref-def linkage.
2410 2015-12-20  Philipp Stephani  <phst@google.com>
2412         Improve commentary for emacs-module.c
2414         * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP.
2415         * src/emacs-module.c (module_non_local_exit_get): Document that we
2416         cannot use the current implementation.
2417         (module_is_not_nil, module_eq): Document assumptions about EQ and
2418         NILP.
2420 2015-12-20  Michael Albinus  <michael.albinus@gmx.de>
2422         Suppress test on Mac OS X
2424         * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun.
2425         (tramp--test-utf8): Use it.
2427 2015-12-20  Alan Mackenzie  <acm@muc.de>
2429         Merge branch 'scratch/follow' into emacs-25
2431         This allows Isearch, etc., to work well when Follow Mode is active.
2433 2015-12-19  Michael Albinus  <michael.albinus@gmx.de>
2435         * tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check.
2437 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2439         Fix last commit
2441         * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u'
2442         with numeric argument.
2444 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2446         Document new features of Rmail
2448         * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion):
2449         Document new behavior of 'd' and 'C-d' with numeric argument.
2450         (Rmail Display): Document the rendering of HTML MIME parts.
2452 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2454         Improve documentation of new cl-lib functions
2456         * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions):
2457         Fix wording.
2459 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2461         Document the new feature of 'minibuffer-with-setup-hook'
2463         * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is
2464         added to `minibuffer-setup-hook'.
2466 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2468         Document new features of Font Lock
2470         * doc/lispref/modes.texi (Other Font Lock Variables): Document
2471         'font-lock-flush-function' and 'font-lock-ensure-function'.
2472         (Font Lock Basics): Document the basic fontification functions
2473         referenced in "Other Font Lock Variables".
2475         * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix.
2477 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2479         Document new features of Rectangle mode
2481         * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in
2482         rectangle-mark-mode.
2484 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2486         Manual followup to last change
2488         * doc/lispref/display.texi (Displaying Messages): Sync with the
2489         doc string.  (Bug#22210)
2491 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2493         Clarify doc string of 'display-message-or-buffer'
2495         * lisp/simple.el (display-message-or-buffer): Doc fix.  Suggested
2496         by Sebastian Wiesner <swiesner@lunaryorn.com>.  (Bug#22210)
2498 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2500         * doc/emacs/emacs.texi (Top): Update top-level menus.
2502         * doc/lispref/elisp.texi (Top): Update top-level menus.
2504 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2506         Document how to avoid file-local variables that aren't
2508         * doc/emacs/custom.texi (Specifying File Variables): Describe how
2509         to prevent Emacs from interpreting unrelated text as file-local
2510         variables.  (Bug#22166)
2512 2015-12-19  Dave Thomas  <dave@pragprog.org>  (tiny change)
2514         Fix a typo in eterm-color's termcap entry
2516         * lisp/term.el (term-termcap-format): Fix a typo in the "ue="
2517         entry.  (Bug#22184)
2519 2015-12-19  Eli Zaretskii  <eliz@gnu.org>
2521         Allow 'browse-url-emacs' visit non-existent URLs
2523         * lisp/url/url-handlers.el (url-insert-file-contents): Don't
2524         signal an error if VISIT is non-nil, to more faithfully emulate
2525         the behavior of 'insert-file-contents'.  (Bug#22160)
2527 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2529         Remove SunOS 4.x cruft
2531         Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind.
2532         * lib-src/pop.c [sun]: Remove no-longer-needed include.
2533         * lwlib/xlwmenu.c (SUNSO41): Remove.
2535 2015-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2537         Merge from gnulib
2539         This mostly commentary fixes.
2540         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
2541         * lib/gnulib.mk: Regenerate with new gnulib-tool.
2543 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
2545         Minor fixes in Tramp
2547         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
2548         Reorder ls arguments.
2550         * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring.
2552 2015-12-18  Michael Albinus  <michael.albinus@gmx.de>
2554         Make tramp a built-in package
2556         * lisp/finder.el (finder-compile-keywords): Update
2557         `package--builtins' also when Version: keyword is available.
2559         * lisp/net/trampver.el: Add Version: keyword.
2560         (tramp-version): Change it to "2.2.13.25.1", in order to be
2561         compatible with `version-to-list'.
2563 2015-12-18  Lele Gaifax  <lele@metapensiero.it>
2565         * etc/tutorials/TUTORIAL.it: Update and fix typos.  (Bug#22187)
2567 2015-12-18  Alan Mackenzie  <acm@muc.de>
2569         Rename `recenter-group' to `recenter-window-group'
2571         * doc/lispref/windows.texi (Textual Scrolling)
2572         * lisp/window.el (top level, recenter-group)
2573         * lisp/follow.el (follow-mode)
2574         * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to
2575         `recenter-window-group' and `recenter-group-function' to
2576         `recenter-window-group-function'.
2578 2015-12-18  Eli Zaretskii  <eliz@gnu.org>
2580         Fix vertical-motion in tabulated-list mode
2582         * src/indent.c (Fvertical_motion): When moving from line beginning
2583         to point under line truncation, assume overshoot by one line only
2584         if point actually lies beyond the window's right margin.
2585         (Bug#22194)
2587 2015-12-18  Martin Rudalics  <rudalics@gmx.at>
2589         Don't have help functions call x-display-pixel-width/-height on ttys
2591         * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width):
2592         Don't call x-display-pixel-width/-height on ttys.
2594 2015-12-17  Dmitry Gutov  <dgutov@yandex.ru>
2596         Use 'hg id' in vc-hg-previous-revision
2598         * lisp/vc/vc-hg.el (vc-hg-previous-revision):
2599         Use 'hg id' to retrieve it (bug#22032).
2601 2015-12-17  Alan Mackenzie  <acm@muc.de>
2603         * lisp/follow.el (follow-sit-for): Remove (it's redundant).
2605 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
2607         Fix a typo in the Emacs manual
2609         * doc/emacs/trouble.texi (Sending Patches): Fix a typo.  Reported
2610         by Lele Gaifax <lele@metapensiero.it>.  (Bug#22193)
2612 2015-12-17  Eli Zaretskii  <eliz@gnu.org>
2614         Fix parsing netrc entries with ports
2616         * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't
2617         make a list out of 't'.  (Bug#22188)
2619         * test/automated/auth-source-tests.el
2620         (auth-source-test-netrc-parse-entry): New test.
2622 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
2624         Fix typo in Doug Lea malloc configure log
2626         * configure.ac (emacs_cv_var_doug_lea_malloc):
2627         Fix typo that confused the log output of 'configure'.
2629 2015-12-16  Nicolas Petton  <nicolas@petton.fr>
2631         * etc/NEWS: Mention the new pcase patterns `seq' and `map'.
2633 2015-12-16  Alan Mackenzie  <acm@muc.de>
2635         * etc/NEWS: Move entry on pcase to correct section
2637         (Accidentally omitted from previous commit)
2639 2015-12-16  Alan Mackenzie  <acm@muc.de>
2641         Add documentation for changes to Show Paren mode.
2643         * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string.
2645         * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user
2646         options, including the new show-paren-when-point-inside-paren and
2647         show-paren-when-point-in-periphery.
2649         * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode.
2650         Move an entry on pcase to the Lisp Changes section.
2652 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
2654         Document Eldoc changes
2656         * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode.
2658 2015-12-16  Eli Zaretskii  <eliz@gnu.org>
2660         Fix invocation of Python and Guile interpreters from gdb-mi
2662         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add
2663         commands for interactive Python and Guile interpreters.
2664         (gdb-send): Recognize various ways of exiting from Python and
2665         Guile interpreters and returning to GDB.  For details, see
2666         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html
2667         and http://stackoverflow.com/questions/31514741.
2669 2015-12-16  Paul Eggert  <eggert@cs.ucla.edu>
2671         Remove attempt to use C11 threads
2673         C11 threads are not needed for Emacs now, and their use is causing
2674         hassles on FreeBSD 10.x.  Problem reported by Ashish SHUKLA in:
2675         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html
2676         * configure.ac: Do not check for C11 threads. Remove unnecessary
2677         fiddling with CPPFLAGS when configuring pthreads.
2678         * src/emacs-module.c (main_thread, check_main_thread)
2679         (module_init): Do not worry about C11 threads.
2681 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
2683         Set utf8 encoding with stty in Tramp
2685         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2686         Move up uname check.  Handle Mac OS X eol encoding.  Set utf8
2687         encoding with stty.
2689 2015-12-15  Alan Mackenzie  <acm@muc.de>
2691         Tidy up documentation associated with window groups.
2693         * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window
2694         Groups".  Correct example function to `window-group-start'.
2695         (Window Start and End, Textual scrolling): Point to the new anchor.  State
2696         that (most of) the args in window group functions have the same meaning as for
2697         the corresponding window primitives.
2699         * doc/lispref/positions.texi (Screen Lines).  Same as above.
2701 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
2703         Complete last commit
2705         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2706         Move uname check up.  Handle Mac OS X eol encoding.
2708 2015-12-15  Michael Albinus  <michael.albinus@gmx.de>
2710         Handle Mac OS X eol encoding in Tramp
2712         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
2713         Handle Mac OS X eol encoding.
2715 2015-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2717         Fix variable name typo in compute_tip_xy
2719         * src/w32fns.c (compute_tip_xy):
2720         * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y
2721         when `right' is integer.
2723 2015-12-14  foudfou  <foudil.newbie+git@gmail.com>  (tiny change)
2725         * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region.
2727 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
2729         Revert "Fix rx matcher overflow without limiting"
2731         This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1.
2733 2015-12-14  Alan Mackenzie  <acm@muc.de>
2735         Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop
2737         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind
2738         isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop.
2740 2015-12-14  Tassilo Horn  <tsdh@gnu.org>
2742         Fix rx matcher overflow without limiting
2744         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last
2745         change to the regexp without imposing a limit on the length of the
2746         options.
2748 2015-12-14  Alan Mackenzie  <acm@muc.de>
2750         Enhance ispell-skip-region-alist by generating part of it at runtime.
2752         * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression)
2753         (ispell--make-filename-or-URL-re): New functions which generate a regexp.
2754         (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc.
2755         (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message):
2756         Include the result of ispell--make-filename-or-URL-re in regexps.
2758 2015-12-14  Glenn Morris  <rgm@gnu.org>
2760         * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits.
2762 2015-12-14  Alan Mackenzie  <acm@muc.de>
2764         Replace GROUP argument in six window primitives by new functions.
2766         * doc/lispref/windows.texi (Window Start and End, Textual Scrolling)
2767         * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument
2768         from description of six window functions.  Add in description of new functions
2769         window-group-start, window-group-end, set-window-group-start,
2770         pos-visible-in-window-group-p, recenter-group and move-to-window-group-line,
2771         together with the six variables indirecting to the pertinent group
2772         functions.
2774         * src/window.c
2775         * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it
2776         applies to these two files, which added the GROUP argument to six window
2777         primitives.
2779         * lisp/follow.el (follow-mode): Use updated variable names for the indirected
2780         functions.
2782         * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window)
2783         (isearch-back-into-window, isearch-lazy-highlight-new-loop)
2784         (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls
2785         to window primitives (e.g. window-start) with a GROUP argument by calls to
2786         new functions (e.g. window-group-start).
2788         * lisp/ispell.el (ispell-command-loop): Replace call to
2789         pos-visible-in-window-p with pos-visible-in-window-group-p.
2791         * lisp/window.el (window-group-start, window-group-end)
2792         (set-window-group-start, recenter-group, pos-visible-in-window-group-p)
2793         (selected-window-group, move-to-window-group-line): New functions.
2794         (window-group-start-function, window-group-end-function)
2795         (set-window-group-start-function, recenter-group-function)
2796         (pos-visible-in-window-group-p-function, selected-window-group-function)
2797         (move-to-window-group-line-function): New variables.
2799 2015-12-14  Vitorio Miguel  <vdrbandeiras@gmail.com>  (tiny change)
2801         * etc/tutorials/TUTORIAL.pt_BR: Fix a typo.  (Bug#22165)
2803 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
2805         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
2807 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
2809         Improve regex to not trigger stack overflow
2811         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in
2812         order not to trigger a stack overflow in regex matcher with unbalanced
2813         brackets (bug#22146).
2815 2015-12-13  Eli Zaretskii  <eliz@gnu.org>
2817         Fix visiting files with raw-text
2819         * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte
2820         when some stuff was actually read.  (Bug#22162)
2822 2015-12-13  Tassilo Horn  <tsdh@gnu.org>
2824         Fix regex matching keyval labels
2826         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp
2827         matching keyval labels.
2829 2015-12-13  Michael Albinus  <michael.albinus@gmx.de>
2831         * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error
2833         ... in case of Tramp.  (Bug#20821)
2835 2015-12-12  Paul Eggert  <eggert@cs.ucla.edu>
2837         Fix performance regression with gcc -O0
2839         This fixes the smaller performance hit that I noted in:
2840         https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html
2841         * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR):
2842         * src/puresize.h (puresize_h_PURE_P)
2843         (puresize_h_CHECK_IMPURE):
2844         New macros, with the old contents of the functions.
2845         * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR):
2846         * src/puresize.h (PURE_P, CHECK_IMPURE):
2847         Use the new macros.  Also macros, if DEFINE_KEY_OPS_AS_MACROS.
2848         * src/conf_post.h (ATTRIBUTE_UNUSED):
2849         * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros.
2851 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
2853         * lisp/emacs-lisp/package.el (package-unpack): Security check
2855         Check that we received the package we were offered.
2857 2015-12-12  Artur Malabarba  <bruce.connor.am@gmail.com>
2859         * lisp/emacs-lisp/package.el (package--compile): Don't activate
2861         `package-unpack' takes care of all activations now (other than
2862         `package-initialize).  `package--compile' now only compiles.
2864 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2866         Document the new bindings of <UP> and <DOWN> in the minibuffer
2868         * doc/emacs/mini.texi (Minibuffer History): Describe the new
2869         bindings of <UP> and <DOWN> in the minibuffer.
2871 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2873         Document new features of Ido
2875         * doc/misc/ido.texi (Misc): Document 'C-S-b'.
2877 2015-12-12  Martin Rudalics  <rudalics@gmx.at>
2879         Fix frame height calculations with added menu bar on Windows (Bug#22105)
2881         * doc/lispref/frames.texi (Parameter Access): Mention pitfalls
2882         when simultaneously specifying multiple parameters for
2883         `modify-frame-parameters' that all may change the frame's size.
2884         * src/w32fns.c (x_set_menu_bar_lines): Don't set
2885         windows_or_buffers_changed here.
2886         (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect
2887         with third argument false.
2888         * src/w32menu.c (set_frame_menubar): Set
2889         windows_or_buffers_changed here.
2890         * src/w32term.c (x_set_window_size): Determine third argument of
2891         AdjustWindowRect from whether the frame has a menu bar and not
2892         from whether it wants one.
2894 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2896         Document the change in interactive shell mode
2898         * doc/emacs/misc.texi (Interactive Shell): Document that the
2899         '*shell*' buffer by default displays in a new window.
2901 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2903         Document new features of package.el
2905         * doc/emacs/package.texi (Package Menu): Document the 'external'
2906         status and the new menu commands.
2907         (Package Installation): Document archive priorities.
2909         * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix.
2910         (package-menu-hide-low-priority): Doc fix.
2912 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2914         Update and document new features of xterm support
2916         * doc/emacs/frames.texi (Text-Only Mouse): Document that
2917         track-mouse is supported by newer xterm versions.
2919 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2921         Document new features of Prettify Mode
2923         * doc/emacs/programs.texi (Misc for Programs): Document
2924         'prettify-symbols-compose-predicate' and
2925         'prettify-symbols-unprettify-at-point'.
2927         * lisp/progmodes/prog-mode.el (prettify-symbols-alist)
2928         (prettify-symbols-default-compose-p)
2929         (prettify-symbols-compose-predicate)
2930         (prettify-symbols--compose-symbol): Doc fixes.
2932 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2934         Document multi-mode indentation facilities
2936         * doc/lispref/text.texi (Mode-Specific Indent): Document
2937         'prog-indentation-context', 'prog-first-column', and 'prog-widen'.
2939         * lisp/progmodes/prog-mode.el (prog-indentation-context)
2940         (prog-widen): Doc fixes.
2942 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2944         Document 'vc-refresh-state'
2946         * doc/emacs/maintaining.texi (Version Control): Document
2947         'vc-refresh-state'.
2949         * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix.
2951 2015-12-12  Eli Zaretskii  <eliz@gnu.org>
2953         Fix echo for "C-u"
2955         * src/keyboard.c (command_loop_1): Undo last change.  It caused
2956         duplicate echo of C-u.  (Bug#22107)
2958 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
2960         Avoid errors when creating files under SVN in new directory
2962         * lisp/vc/vc-svn.el (vc-svn-registered): Use
2963         file-accessible-directory-p, to avoid cd'ing to a non-existing
2964         directory, which signals an error on some systems.  (Bug#21984)
2965         (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments.
2966         Use declare-function to avoid byte-compiler warnings.
2968 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
2970         Improve Lua support in etags
2972         * lib-src/etags.c (Lua_functions): Skip spaces before looking for
2973         "function".
2975         * etc/NEWS: Mention improved Lua support by 'etags'.
2977         * test/etags/lua-src/test.lua (test): Add tests for indented
2978         function definitions.
2979         * test/etags/ETAGS.good_1:
2980         * test/etags/ETAGS.good_2:
2981         * test/etags/ETAGS.good_3:
2982         * test/etags/ETAGS.good_4:
2983         * test/etags/ETAGS.good_5:
2984         * test/etags/ETAGS.good_6:
2985         * test/etags/CTAGS.good: Adapt to the modified Lua tests.
2987 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
2989         Fix 'this-command-keys' wrt prefix argument
2991         * src/keyboard.c (command_loop_1): Restore the feature whereby C-u
2992         was part of this-command-keys, but not of this-single-command-keys.
2993         (Bug#22107)
2995         * lisp/simple.el (internal-echo-keystrokes-prefix): Add
2996         commentary about the function's return value.
2998 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3000         * lisp/files.el (load-library): Doc fix.  (Bug#22140)
3002 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3004         Improve and document Ruby support in 'etags'
3006         * lib-src/etags.c (Ruby_suffixes): Add ".ruby".
3007         (Ruby_functions): Support "module" and overloaded operators.
3008         (Ruby_help): Mention "module".
3010         * test/etags/ruby-src/test.rb:
3011         * test/etags/ruby-src/test1.ruby: New files.
3012         * test/etags/Makefile (RBSRC): New tests.
3013         (SRCS): Add ${RBSRC}.
3014         * test/etags/ETAGS.good_1:
3015         * test/etags/ETAGS.good_2:
3016         * test/etags/ETAGS.good_3:
3017         * test/etags/ETAGS.good_4:
3018         * test/etags/ETAGS.good_5:
3019         * test/etags/ETAGS.good_6:
3020         * test/etags/CTAGS.good: Adapt to the new Ruby tests.
3022         * doc/man/etags.1: Mention Ruby support.
3023         * etc/NEWS: Mention Ruby support.
3025 2015-12-11  Xi Lu  <lx@shellcodes.org>
3027         Initial support for Ruby in 'etags'
3029         * lib-src/etags.c <Ruby_suffixes>: New variable.
3030         (lang_names): Add an entry for Ruby.
3031         (Ruby_functions): New function.  (Bug#22116)
3033 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3035         Clarify documentation of 'modify-frame-parameters'
3037         * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored
3038         PARMs" mean for 'modify-frame-parameters'.
3040         * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored
3041         PARMs" mean for this function.  (Bug#22104)
3043 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3045         Fix setting buffer unibyte when reading from a device
3047         * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3048         to make a (possibly non-empty) buffer unibyte.  (Bug#22096)
3050 2015-12-11  Eli Zaretskii  <eliz@gnu.org>
3052         Clarify documentation of 'values'
3054         * doc/lispref/eval.texi (Eval): Clarify that 'values' are not
3055         updated by any evaluation commands in 'lisp-interaction-mode'.
3056         (Bug#22056)
3058 2015-12-11  Anders Lindgren  <andlind@gmail.com>
3060         Fixed subversion vc error when opening file in new directory (bug#21984).
3062         * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists.
3064 2015-12-09  Eli Zaretskii  <eliz@gnu.org>
3066         Yet another fix for when point ends up in invisible text
3068         * src/xdisp.c (redisplay_window): When someone forced
3069         window-start, and honoring that failed to show the cursor, try
3070         moving out of invisible text, before falling back to the middle of
3071         the window.  (Bug#22098)
3073 2015-12-09  Michael Albinus  <michael.albinus@gmx.de>
3075         Fix error in Tramp perl script for cygwin
3077         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an
3078         error if file doesn't exist.
3080 2015-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3082         Remove font workaround for limited outdated versions
3084         * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove
3085         workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1.
3087 2015-12-09  Anders Lindgren  <andlind@gmail.com>
3089         Don't add "." to load path (bug#21104)
3091         When configured with --enable-locallisppath=no, which is the
3092         default for OS X, the load-path incorrectly was populated with ".".
3094         * src/lread.c (init_lread): Don't call `decode_env_path' when
3095         PATH_SITELOADSEARCH is empty.
3097 2015-12-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3099         * lisp/emacs-lisp/package.el (package--with-response-buffer):
3101         Search for the blank-line in the right buffer.
3103 2015-12-08  Glenn Morris  <rgm@gnu.org>
3105         * test/automated/simple-test.el (undo-auto-boundary-timer): Update
3106         for recent change.
3108 2015-12-08  Glenn Morris  <rgm@gnu.org>
3110         Fix some display-warning usage.
3112         * lisp/files.el (hack-local-variables, hack-dir-local-variables):
3113         * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry):
3114         * lisp/calendar/holidays.el (calendar-holiday-list):
3115         * lisp/mail/rmailout.el (rmail-output-read-file-name):
3116         Fix display-warning usage.
3118 2015-12-07  Glenn Morris  <rgm@gnu.org>
3120         * lisp/calendar/cal-html.el: Require diary-lib.
3122         (cal-html-list-diary-entries): Handle no diary.  (Bug#21994)
3124 2015-12-07  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3126         Add Obsolete-since header to eudcb-ph.el
3128         * eudcb-ph.el: Add Obsolete-since header.
3130 2015-12-07  Paul Eggert  <eggert@cs.ucla.edu>
3132         Spelling fixes
3134         * doc/misc/calc.texi (Predefined Units): Use the bland modern
3135         scientific style for spelling the units “ampere” and
3136         “angstrom” rather than the older style “Ampere” and
3137         “Ångstrom”.  The latter spelling was wrong anyway (it should
3138         have been “Ångström”).
3139         * lisp/emacs-lisp/ert.el (ert--explain-equal-rec):
3140         Fix misspelling of ‘atom’ in code.
3142 2015-12-07  Eli Zaretskii  <eliz@gnu.org>
3144         Improve documentation of kill commands
3146         * lisp/simple.el (region-extract-function, delete-backward-char)
3147         (delete-forward-char, kill-region, copy-region-as-kill)
3148         (kill-ring-save): Better document the optional argument REGION in
3149         the doc strings.  Mention in the doc strings that text put in the
3150         kill-ring can be filtered by 'filter-buffer-substring'.
3152         * doc/lispref/text.texi (Kill Functions): Mention that functions
3153         described in this subsection can filter text they put in the
3154         kill-ring.  Add a cross-reference to "Buffer Contents" and an
3155         index entry.  Document the optional argument 'region' and its
3156         effect.
3157         (Bug#21315)
3159 2015-12-07  Alan Mackenzie  <acm@muc.de>
3161         Further progress making Isearch, Ispell, Replace work with Follow Mode.
3163         * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which
3164         no longer exists.  Add follow-post-command-hook to  three special purpose
3165         hooks at setup, and remove them at tear down.
3167         * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before
3168         isearch-lazy-highlight-new-loop.
3169         (isearch-lazy-highlight-new-loop): Restore this function to what it previously
3170         was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into
3171         it.
3172         (isearch-lazy-highlight-maybe-new-loop): function removed.
3174         * lisp/replace.el: (replace-update-post-hook): New hook variable.
3175         (perform-replace): Add second (nil) argument to looking-back.  Invoke
3176         replace-update-post-hook before calling replace-highlight.
3178         * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable.
3179         (ispell-command-loop): invoke ispell-update-post-hook.  Add GROUP argument to
3180         call of pos-visible-in-window-p.
3181         (ispell-display-buffer): Place *Choices* window at the top of the last window
3182         in a window group.
3184 2015-12-07  Alan Mackenzie  <acm@muc.de>
3186         Amend doc of `mapconcat': it can take sequences, not merely strings.
3188         * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat'
3189         to say that SEPARATOR and the results from FUNCTION may be any character
3190         sequences, not just strings.  Add an @xref to "Sequences Arrays Vectors".
3192 2015-12-07  Michael Albinus  <michael.albinus@gmx.de>
3194         Fix an utf8 problem for Tramp on BSD
3196         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3197         Make lax check for utf8.
3198         (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate.
3200 2015-12-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3202         Make eudcb-ph.el obsolete
3204         * doc/misc/eudc.texi: Bump version to 1.40.0.
3205         Remove PH/QI sections and mentions.
3206         * lisp/obsolete/eudcb-ph.el: Make obsolete.
3207         * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph.
3208         (eudc-ph-bbdb-conversion-alist): Make obsolete.
3209         * etc/NEWS: Mention this.  (Bug#21191)
3211 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
3213         Remove overenthusiastic eassert
3215         * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in
3216         previous change.  It breaks on MS-Windows --with-wide-int.
3217         Problem reported by Eli Zaretskii in:
3218         http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html
3220 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
3222         Pacify gcc -Wparentheses
3224         * src/xdisp.c (row_containing_pos): Reparenthesize.
3226 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
3228         Port mod-test to 32-bit Emacs --without-wide-int
3230         * modules/mod-test/test.el (mod-test-sum-test):
3231         Bring back the 2**29 tests, but port them to 32-bit Emacs
3232         --without-wide-int.
3234 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
3236         Fix minor Tramp problems found on BSD
3238         * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append
3239         trailing slash.  Quote apostrophes.
3240         (tramp-sh-handle-file-truename): Do not append trailing slash in
3241         the "ls" case.
3242         (tramp-get-ls-command-with-w-option): New defun.
3243         (tramp-do-file-attributes-with-ls)
3244         (tramp-do-directory-files-and-attributes-with-stat): Use it.
3246         * test/automated/tramp-tests.el
3247         (tramp-test31-special-characters-with-perl)
3248         (tramp-test31-special-characters-with-ls)
3249         (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls):
3250         Suppress also readlink.
3252 2015-12-06  Eli Zaretskii  <eliz@gnu.org>
3254         Fix cursor display when invisible text is at line beginning
3256         * src/xdisp.c (redisplay_window): When scrolling fails to show
3257         point, prefer using the desired matrix if possible for finding the
3258         fallback glyph row for displaying the cursor.  (Bug#22098)
3259         (row_containing_pos): Exit the loop as soon as we hit the first
3260         disabled glyph row.  Otherwise we risk accessing garbled data and
3261         departing to the no-no land.
3263 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
3265         Improve module interface when WIDE_EMACS_INT
3267         * src/emacs-module.c (plain_values): New constant.
3268         (module_nil): Now a constant.
3269         (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits)
3270         (syms_of_module): Use if, not #ifdef, so that both sides are
3271         checked at compile-time, and so that GCC doesn’t complain
3272         about an unused var in the typical case.  Also, depend on
3273         plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume
3274         that WIDE_EMACS_INT implies !USE_LSB_TAG.
3275         (value_to_lisp_bits, lisp_to_value_bits): New functions.
3276         Sign-extend integers rather than zero-extending them, as small
3277         negative integers are more likely.
3278         (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits
3279         functions.
3280         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined.
3281         (mark_modules): Remove.  All uses removed.
3282         (lisp_to_value): Don’t assume Fcons returns a pointer aligned
3283         to GCALIGNMENT.
3284         (syms_of_module): Check that module_nil converts to Qnil.
3285         * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since
3286         we prefer signed to unsigned when either will do.
3287         (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is
3288         a bit better for emacs-module.c.
3290 2015-12-06  Paul Eggert  <eggert@cs.ucla.edu>
3292         Port mod-test to x86-64 GNU/Linux running 32-bit
3294         * modules/mod-test/test.el (mod-test-sum-test):
3295         Don’t attempt to match descriptions to operating systems.
3296         It didn’t work on Fedora x86-64 running a 32-bit executable,
3297         and it’s not worth the trouble anyway.
3298         Port to 32-bit platforms by removing an assumption about
3299         fixnum widths.
3301 2015-12-06  Michael Albinus  <michael.albinus@gmx.de>
3303         Fix auto-revert-tests.el when filenotify isn't used
3305         * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert):
3306         Make it working also when filenotify isn't used.
3308 2015-12-05  Juri Linkov  <juri@linkov.net>
3310         * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
3312         Let-bind isearch-regexp-function to nil.  (Bug#22097)
3314 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
3316         * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089)
3318         (package--with-response-buffer): NOERROR and ERROR-FORM only
3319         handle connection errors.
3320         (bad-signature): New error type.
3321         (package--check-signature-content): Use it.
3322         (package--check-signature): Properly distinguish connection errors
3323         from bad-signature errors.  Do the check for
3324         `package-check-signature' `allow-unsigned' here instead of forcing
3325         the callbacks to do it.  Add a new argument, UNWIND.
3326         (package--download-one-archive, package-install-from-archive):
3327         Update usage of `package--check-signature'.
3329 2015-12-05  Ulf Jasper  <ulf.jasper@web.de>
3331         Fix Bug#22092.
3333         * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer):
3334           Clean up inconsistent line endings. (Bug#22092)
3335           (icalendar--clean-up-line-endings): New.
3336         * test/automated/icalendar-tests.el (icalendar-real-world): Add test
3337           for Bug#22092.
3339 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
3341         Document 'bookmark-set-no-overwrite'
3343         * doc/emacs/regs.texi (Bookmarks): Document the new command
3344         'bookmark-set-no-overwrite' and its keybinding.
3346 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
3348         Document new binding of 'mouse-buffer-menu'
3350         * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is
3351         now also on C-F10.
3353 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
3355         Initial documentation of dynamic modules
3357         * doc/lispref/loading.texi (Dynamic Modules): New section with
3358         initial documentation for dynamic modules.
3359         * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the
3360         detailed menu
3362         * etc/NEWS: Fix typos in dynamic modules' entry.
3364 2015-12-05  Artur Malabarba  <bruce.connor.am@gmail.com>
3366         Remove copyright statements from trivial test files
3368 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
3370         Add "Preliminaries" section to etc/DEBUG
3372         * etc/DEBUG: Add the "Preliminaries" section for GDB beginners.
3373         Most of the content was suggested by Phillip Lord
3374         <phillip.lord@russet.org.uk>.  Remove the section about debugging
3375         with the Visual Studio, as building Emacs with the Microsoft
3376         compilers is no longer supported.  Minor fixes in some other
3377         sections.
3379 2015-12-05  Alex Dunn  <dunn.alex@gmail.com>  (tiny change)
3381         Improve parsing of version strings
3383         * lisp/subr.el (version-regexp-alist): Allow "." as priority separator
3384         (version-to-list): More helpful error messages.
3385         (version-to-list): ".5" is valid (update docstring).  Make
3386         "22.8X3" invalid, as the doc string says.
3388         * test/automated/subr-tests.el (ert-test-version-parsing): New
3389         tests for version string processing.
3391 2015-12-05  Eli Zaretskii  <eliz@gnu.org>
3393         Fix documentation of 'undo' changes
3395         * doc/lispref/text.texi (Undo): Minor wording changes.  Use US
3396         English conventions for spelling and whitespace between sentences.
3398         * etc/NEWS: Fix wording and spelling of undo-related entries.
3399         Mark them as documented.
3401 2015-12-04  Glenn Morris  <rgm@gnu.org>
3403         * lisp/net/net-utils.el: Small improvements.
3405         (net-utils--executable-find-sbin): New function.
3406         (ifconfig-program): Check sbin directories.
3407         Fallback to "ip".  (Bug#22091)
3408         (ifconfig-program-options): Check the actual program in use.
3409         (arp-program): Check sbin directories.
3411 2015-12-04  Arash Esbati  <esbati@gmx.de>  (tiny change)
3413         Fix wrong-type-argument integer-or-marker-p nil error
3415         * lisp/textmodes/reftex-auc.el (reftex-what-index-tag):
3416         Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077).
3418 2015-12-04  Alan Mackenzie  <acm@muc.de>
3420         Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow
3422         Merge necessitated by a rebase operation.
3424 2015-12-04  Alan Mackenzie  <acm@muc.de>
3426         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
3428 2015-12-04  Alan Mackenzie  <acm@muc.de>
3430         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
3432         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
3433         Windows" and new @defun selected-window-group.
3434         (Window Start and End): Describe new &optional parameter GROUP and
3435         ...-group-function for window-start, window-end, set-window-start, and
3436         pos-visible-in-window-p.
3437         (Textual Scrolling) Describe the same for recenter.
3438         doc/lispref/positions.texi (Screen Lines): Describe the same for
3439         move-to-window-line.
3441         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
3442         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
3443         new optional parameter "group".  At the beginning of each, check whether the
3444         corresponding ...-group-function is set to a function, and if so execute this
3445         function in place of the normal processing.
3446         (syms_of_window): Define symbols for the six new variables below.
3447         (window-start-group-function, window-end-group-function)
3448         (set-window-start-group-function, recenter-group-function)
3449         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
3450         New permanent local buffer local variables.
3451         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
3452         Fpos_visible_in_window_p.
3454         lisp/window.el (selected-window-group-function): New permanent local buffer
3455         local variable.
3456         (selected-window-group): New function.
3458         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
3459         enable, kill them at mode disable.  Add/remove follow-after-change to/from
3460         after-change-functions.
3461         (follow-start-end-invalid): New variable.
3462         (follow-redisplay): Manipulate follow-start-end-invalid.
3463         (follow-after-change, follow-window-start, follow-window-end)
3464         (follow-set-window-start, follow-pos-visible-in-window-p)
3465         (follow-move-to-window-line, follow-sit-for): New functions.
3467         lisp/isearch.el (isearch-call-message): New macro.
3468         (isearch-update, with-isearch-suspended, isearch-del-char)
3469         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
3470         (with-isearch-suspended): Rearrange code such that isearch-call-message is
3471         invoked before point is moved.
3472         (isearch-message): Add comment about where point must be at function call.
3473         (isearch-search): Remove call to isearch-message.
3474         (isearch-lazy-highlight-window-group): New variable.
3475         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
3476         the battery of tests to ...
3477         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
3478         Note: (sit-for 0) is still called.
3479         (isearch-lazy-highlight-update): Check membership of
3480         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
3481         property.
3482         (isearch-update, isearch-done, isearch-string-out-of-window)
3483         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
3484         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
3485         (isearch-lazy-highlight-update): Call the six amended primitives (see
3486         src/window.c above) with the new `group' argument set to t, to cooperate
3487         with Follow Mode.
3489 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
3491         * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase
3493         * lisp/emacs-lisp/ert.el (ert--should-error-handle-error)
3494         (ert--explain-format-atom, ert--explain-equal-rec)
3495         (ert--print-backtrace, ert-test-result-type-p, ert-select-tests)
3496         (ert--insert-human-readable-selector): Prefer pcase over cl-typecase.
3498 2015-12-04  Artur Malabarba  <bruce.connor.am@gmail.com>
3500         * lisp/character-fold.el: Remove special case-folding support
3502         (character-fold-to-regexp): Remove special code for
3503         case-folding.  Char-fold search still respects the
3504         `case-fold-search' variable (i.e., f matches F).  This only
3505         removes the code that was added to ensure that f also matched
3506         all chars that F matched.  For instance, after this commit, f
3507         no longer matches 𝔽.
3509         This was necessary because the logic created a regexp with
3510         2^(length of the string) redundant paths.  So, when a very
3511         long string "almost" matched, Emacs took a very long time to
3512         figure out that it didn't.  This became particularly relevant
3513         because isearch's lazy-highlight does a search bounded by (1-
3514         match-end) (which, in most circumstances, is a search that
3515         almost matches).  A recipe for this can be found in bug#22090.
3517 2015-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
3519         * lisp/emacs-lisp/cl-macs.el (character): Can't be negative
3520         Fixes (bug#21701)
3522 2015-12-04  Daiki Ueno  <ueno@gnu.org>
3524         lisp/gnus/qp.el: Don't replace "from " at bol
3526         * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search'
3527         to nil when looking for "^From ".  Problem reported by Simon Josefsson.
3529 2015-12-03  Phillip Lord  <phillip.lord@russet.org.uk>
3531         Externalize some symbols in undo-auto
3533          * doc/lispref/text.texi: Update symbols.
3534          * lisp/simple.el (undo-auto--amalgamate,
3535            undo-auto--current-boundary-timer): Make symbols public.
3536          * src/cmds.c (Fself_insert_command,Fdelete_char): Call
3537            updated symbol.
3539 2015-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3541         * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token"
3543 2015-12-03  Michael Albinus  <michael.albinus@gmx.de>
3545         Some error message improvements in tramp-sh.el
3547         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
3548         Suppress error messages for "mesg" and "biff" calls.
3549         (tramp-get-remote-path): Ignore errors when expanding
3550         `tramp-own-remote-path'.  Raise a warning instead.
3552 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
3554         Document 'nacl' value for 'system-type'
3556         * doc/lispref/os.texi (System Environment): Document the 'nacl'
3557         value of 'system-type'.
3559 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
3561         Document 'window-max-chars-per-line'
3563         * doc/lispref/windows.texi (Window Sizes): Document
3564         'window-max-chars-per-line'.
3566 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
3568         Fix some file headers for the purpose of `package--builtins'
3570         * lisp/emacs-lisp/cl-preloaded.el
3571         * lisp/emacs-lisp/eieio-compat.el
3572         * lisp/net/sasl-scram-rfc.el: Add a "Package:" header
3574         * lisp/ielm.el: Fix summary line.
3576 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
3578         * lisp/emacs-lisp/package.el (package-unpack): Load before compiling
3580         Reload any previously loaded package files before compiling
3581         the package (also reload the same files after compiling).
3582         This ensures that we have the most recent definitions during
3583         compilation, and avoids generating bad elc files when a macro
3584         changes and it is used in a different file from the one it's
3585         defined in.
3587 2015-12-03  Artur Malabarba  <bruce.connor.am@gmail.com>
3589         * lisp/emacs-lisp/package.el: Refactor package activation code
3591         (package-activate): Move code that activates dependencies into
3592         package-activate-1.
3593         (package--load-files-for-activation): New function.
3594         (package-activate-1): Add code for (optionally) activating
3595         dependencies, and move file-loading code into
3596         `package--load-files-for-activation'.
3598 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
3600         Document new font-related functionality
3602         * doc/lispref/display.texi (Low-Level Font): Document
3603         'default-font-width', 'default-font-height', 'window-font-width',
3604         and 'window-font-height'.
3606         * etc/NEWS: Move entries for 'default-font-width',
3607         'default-font-height', 'window-font-width', and 'window-font-height'
3608         to their place and mark them documented.
3610 2015-12-03  Eli Zaretskii  <eliz@gnu.org>
3612         Fix documentation and implementation of 'directory-name-p'
3614         * lisp/files.el (directory-name-p): Modify to recognize
3615         backslashes on MS-Windows and MS-DOS.  Adjust the doc string
3616         accordingly.  Use '=', not char-equal, for comparison, as
3617         letter-case cannot possibly be an issue here.
3619         * doc/lispref/files.texi (Directory Names): Move the documentation
3620         of directory-name-p here from "Relative File Names".  Update the
3621         description per the changes in implementation.
3623         * etc/NEWS: Move the entry for 'directory-name-p' to its proper
3624         place and mark it documented.
3626 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
3628         Minor copyedit in Emacs manual
3630         * doc/emacs/search.texi (Lax Search): Make wording about character
3631         folding by default less definitive.  (Bug#22043)
3633 2015-12-02  Eli Zaretskii  <eliz@gnu.org>
3635         More emacs-module.c fixes for wide ints
3637         * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use
3638         unsigned data types to manipulate pointers, to avoid sign
3639         extension coming after us with a vengeance.
3641         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
3642         Emacs with wide ints that verify integer values near the critical
3643         value that requires us to switch to a cons cell.
3645 2015-12-02  Stephen Leake  <stephen_leake@stephe-leake.org>
3647         Fix bug#22069 in cl-generic.el
3649         * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is
3650         not run thru `format'.
3652 2015-12-01  Dmitry Gutov  <dgutov@yandex.ru>
3654         APPEND etags--xref-backend to xref-backend-functions
3656         * lisp/progmodes/xref.el (xref-backend-functions):
3657         Use APPEND when adding the default element
3658         (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html).
3660 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
3662         More accurate documentation of lax whitespace matching
3664         * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol)
3665         (word-search-backward, word-search-forward)
3666         (word-search-backward-lax, word-search-forward-lax): Mention in
3667         doc strings that toggling lax whitespace matching has no effect on
3668         these commands.
3670         * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that
3671         lax whitespace matching has no effect on these commands.
3673 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
3675         Fix emacs-module.c for wide ints
3677         * src/emacs-module.c (lisp_to_value): Compare the produced value
3678         with the original Lisp object, not with the one potentially
3679         converted into a Lisp_Cons.  Fixes assertion violations when
3680         working with integers larger than fit into a 32-bit value.
3682         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
3683         large integers, to test --with-wide-int.
3685 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
3687         Document 'directory-files-recursively'
3689         * lisp/files.el (directory-files-recursively): Doc fix.  Rename
3690         the argument MATCH to REGEXP, to be more explicit about its form.
3692         * doc/lispref/files.texi (Contents of Directories): Improve the
3693         documentation of 'directory-files-recursively'.  Add
3694         cross-references.
3696         * etc/NEWS: Move the entry for 'directory-files-recursively' to
3697         its place and mark it documented.
3699 2015-12-01  Eli Zaretskii  <eliz@gnu.org>
3701         Document 'inhibit-read-only' property
3703         * doc/lispref/text.texi (Special Properties): Describe the new
3704         'inhibit-read-only' text property.  Add cross-reference to where
3705         read-only buffers are described.
3706         * doc/lispref/buffers.texi (Read Only Buffers): Mention that
3707         'inhibit-read-only' property exempts text from being read-only.
3708         Add cross-reference to "Special Properties".
3710         * etc/NEWS: Move the entry about 'inhibit-read-only' property to
3711         its place and mark it documented.
3713 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
3715         * lisp/emacs-lisp/package.el: Update header comments
3717 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
3719         * lisp/character-fold.el: Add back multi-char matching
3721         (character-fold-to-regexp): Uncomment recently commented code
3722         and make the algorithm "dummer" by not checking every possible
3723         combination.  This will miss some possible matches, but it
3724         greatly reduces regexp size.
3726         * test/automated/character-fold-tests.el
3727         (character-fold--test-fold-to-regexp): Comment out test of
3728         functionality no longer supported.
3730 2015-12-01  Xue Fuqiao  <xfq.free@gmail.com>
3732         * doc/emacs/ack.texi (Acknowledgments): Update.
3734 2015-12-01  Michael Albinus  <michael.albinus@gmx.de>
3736         Check `file-remote-p' over absolute files names in files.el
3738         * lisp/files.el (directory-files-recursively)
3739         (get-free-disk-space): Check `file-remote-p' over absolute files names.
3741 2015-12-01  Andreas Schwab  <schwab@linux-m68k.org>
3743                 * src/lread.c (syms_of_lread): Doc fix.
3745 2015-11-30  Dmitry Gutov  <dgutov@yandex.ru>
3747         Don't mistake certain JS method calls for keywords
3749         * lisp/progmodes/js.el (js--ctrl-statement-indentation):
3750         Braceless keyword can't come after a period (bug#22063).
3752 2015-11-30  David Reitter  <david.reitter@gmail.com>
3754         Read frame_title_format from buffer-local variable for NS port
3756         * nsfns.m (x_implicitly_set_name): Read frame-title-format and
3757         icon-title-format variables from buffer in appropriate window.
3758         (Bug#22048)
3760 2015-11-30  Juri Linkov  <juri@linkov.net>
3762         * lisp/replace.el (occur-engine): Count matches in empty lines.
3764         (Bug#22062)
3766 2015-11-30  Aurélien Aptel  <aurelien.aptel@gmail.com>
3768         * src/emacs-module.h: Fix finalizer typedef for C++11
3770         C++11 standard doesn't allow exception-specification in typedef.
3771         The workaround is to declare a dummy function prototype and use
3772         decltype on it.
3774 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
3776         Fix last change
3778         * src/emacs-module.c (lisp_to_value, value_to_lisp)
3779         [WIDE_EMACS_INT]: Avoid compiler warnings.
3781 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
3783         Rely on conservative stack scanning to find "emacs_value"s
3785         * src/emacs-module.c (struct emacs_value_tag)
3786         (struct emacs_value_frame, struct emacs_value_storage): Remove.
3787         (value_frame_size): Remove constant.
3788         (struct emacs_env_private): Use Lisp_Object for non_local_exit info.
3789         (lisp_to_value): Remove first arg.
3790         (module_nil): New constant.
3791         Use it instead of NULL when returning an emacs_value.
3792         (module_make_function): Adjust to new calling convention of
3793         Qinternal_module_call.
3794         (DEFUN): Receive args in an array rather than a list.
3795         Use SAFE_ALLOCA rather than xnmalloc.  Skip the lisp_to_value loop when
3796         we don't have WIDE_EMACS_INT.  Adjust to new type of non_local_exit info.
3797         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
3798         Adjust to new type of non_local_exit info.
3799         (ltv_mark) [WIDE_EMACS_INT]: New constant.
3800         (value_to_lisp, lisp_to_value): Rewrite.
3801         (initialize_frame, initialize_storage, finalize_storage): Remove functions.
3802         (allocate_emacs_value): Remove function.
3803         (mark_modules): Gut it.
3804         (initialize_environment): Don't initialize storage any more.
3805         Keep the actual env object on Vmodule_environments.
3806         (finalize_environment): Don't finalize storage any more.
3807         (syms_of_module): Initialize ltv_mark and module_nil.
3809         * src/emacs-module.h (emacs_value): Make it more clear that this type
3810         is really opaque, including the fact that NULL may not be valid.
3812         * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw):
3813         Don't assume that NULL is a valid emacs_value.
3815 2015-11-30  Eli Zaretskii  <eliz@gnu.org>
3817         Yet another doc improvement for search commands
3819         * doc/emacs/search.texi (Word Search, Symbol Search)
3820         (Regexp Search): Document commands that don't support lax
3821         whitespace matching or character folding.
3822         (Nonincremental Search): Mention the search commands that can be
3823         invoked from the menu bar.
3825         * lisp/isearch.el (isearch-define-mode-toggle-word)
3826         (isearch-define-mode-toggle-symbol)
3827         (isearch-define-mode-toggle-character-fold): Note in the doc
3828         string that turning these on exits the regexp mode.
3829         (isearch-forward-regexp, isearch-forward-word)
3830         (isearch-forward-symbol, isearch-backward-regexp)
3831         (word-search-backward, word-search-forward)
3832         (word-search-backward-lax, word-search-forward-lax): State in the
3833         doc string which commands don't support character folding and/or
3834         lax-whitespace matching.
3836 2015-11-30  Martin Rudalics  <rudalics@gmx.at>
3838         Run `window-size-change-functions' also when reading from minibuffer
3840         * src/xdisp.c (redisplay_internal): Run `window-size-change-functions'
3841         also when reading from minibuffer.
3843 2015-11-30  Ulf Jasper  <ulf.jasper@web.de>
3845         Fix scrambling of html-rendered item buffers
3847         * net/newst-treeview.el (newsticker--treeview-render-text): Fix
3848           scrambling of contents by wrapping call to html-renderer in
3849           save-selected-window.
3851 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
3853         Fix font typo in previous doc fix.
3855 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
3857         A bit more security doc, esp. file local vars
3859         * doc/emacs/emacs.texi (Top):
3860         * doc/emacs/misc.texi (Miscellaneous Commands):
3861         Refer to new Host Security section.
3862         (Host Security): New section.
3863         * doc/lispref/os.texi (Security Considerations):
3864         Mention file local variables.
3866 2015-11-30  Artur Malabarba  <bruce.connor.am@gmail.com>
3868         * lisp/character-fold.el: Comment out branching code
3870         (character-fold-to-regexp): Comment out code that uses multi-char
3871         table.  The branching caused by this induces absurdly long regexps,
3872         up to 10k chars for as little as 25 input characters.
3874 2015-11-30  Paul Eggert  <eggert@cs.ucla.edu>
3876         Spelling and grammar fixes
3878 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
3880         Make lisp-completion-at-point a wrapper instead of an alias
3882         * lisp/progmodes/elisp-mode.el (lisp-completion-at-point):
3883         Turn into an obsolete wrapper around elisp-completion-at-point
3884         (bug#20455).
3886 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3888         * lisp/isearch.el (isearch-search-fun-default): Nicer error
3890         message when the search fails.
3892 2015-11-29  Dmitry Gutov  <dgutov@yandex.ru>
3894         Update menu-bar-goto-uses-etags-p for the current xref API
3896         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult
3897         xref-backend-functions, instead of now-nonexistent
3898         xref-find-function.
3900 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3902         * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding
3904 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3906         * lisp/menu-bar.el: Use folding in searches
3908         (nonincremental-search-forward): Use `isearch-search-fun-default'
3909         to determine the search function.
3910         (nonincremental-search-backward)
3911         (nonincremental-repeat-search-forward)
3912         (nonincremental-repeat-search-backward): Use it.
3914 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3916         * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning
3918 2015-11-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3920         * lisp/character-fold.el (character-fold-to-regexp): Be careful
3922         not to return huge regexps.
3924 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
3926         Improve documentation of string-collate-* functions
3928         * doc/lispref/strings.texi (Text Comparison): Improve wording and
3929         indexing of 'string-collate-equalp' and 'string-collate-lessp'.
3931         * etc/NEWS: Move the entry of 'string-collate-equalp' and
3932         'string-collate-lessp' to "Lisp Changes" section and mark it as
3933         documented.
3935 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
3937         Document truncate-string-ellipsis
3939         * doc/lispref/display.texi (Size of Displayed Text): Document
3940         'truncate-string-ellipsis'.
3942         * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix.
3943         (truncate-string-to-width): Mention in the doc string that the
3944         default for ELLIPSIS comes from 'truncate-string-ellipsis'.
3946         * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp
3947         Changes" section.
3949 2015-11-29  Eli Zaretskii  <eliz@gnu.org>
3951         Fix confusion wrt character folding in the Emacs manual
3953         * doc/emacs/search.texi (Nonincremental Search, Regexp Search):
3954         Document that invoking search-forward/backward and
3955         re-search-forward/backward supports only case folding, but not the
3956         rest of the lax-search features.  Reported by Mike Kupfer
3957         <m.kupfer@acm.org>.
3959 2015-11-29  Ken Brown  <kbrown@cornell.edu>
3961         Update mod-test-sum-test
3963         * modules/mod-test/test.el (mod-test-sum-test): Update to
3964         accommodate the lack of dladdr on Cygwin.
3966 2015-11-29  Alan Mackenzie  <acm@muc.de>
3968         Byte compiler: Catch missing argument to `funcall'.  Fixes bug#22051.
3970         * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument
3971         to `funcall', (i) Output an error message; (ii) Generate code to signal a
3972         `wrong-number-of-arguments' error.
3974 2015-11-29  Martin Rudalics  <rudalics@gmx.at>
3976         * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil.
3978 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
3980         * lisp/character-fold.el (character-fold-to-regexp)
3982         Warn about using long strings.
3984         * test/automated/character-fold-tests.el
3985         (character-fold--test-lax-whitespace)
3986         (character-fold--test-consistency): Reduce string size for tests.
3988 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
3990         Document renaming of x-select-enable-* variables
3992         * doc/emacs/killing.texi (Clipboard): Rename
3993         x-select-enable-clipboard to select-enable-clipboard and
3994         x-select-enable-primary to select-enable-primary.  Update index
3995         entries.
3997         * etc/NEWS: Mark entry as documented.
3999 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4001         Document the shorthand hints displayed by M-x
4003         * doc/emacs/m-x.texi (M-x): Document the numeric meaning of
4004         suggest-key-bindings.  Document the shorthand hints for commands
4005         that have no key bindings.  Document that M-x completion ignores
4006         obsolete commands.
4008         * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as
4009         documented.
4011 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4013         Update docs of character folding
4015         * doc/emacs/search.texi (Lax Search): Update the description of
4016         character folding for the latest changes.
4018 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4020         * lisp/character-fold.el: Also play nice with case-folding
4022         (character-fold-to-regexp): Take `case-fold-search' into account.
4024 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4026         * lisp/character-fold.el: Add support for multi-char matches
4028         (character-fold-table): Now has an extra-slot. This is a second
4029         char-table that holds multi-character matches.  See docstring for
4030         details.
4031         (character-fold-to-regexp): Can build branching regexps when a
4032         character's entry the extra slot of `character-fold-table' matches the
4033         characters that succeed it.
4035 2015-11-28  Artur Malabarba  <bruce.connor.am@gmail.com>
4037         * lisp/character-fold.el: Code simplifications
4039         (character-fold-table): Reduce the scope of a variable.
4040         (character-fold-to-regexp): Change logic to work directly on the
4041         input string.  It's a little easier to understand, probably
4042         faster, and sets us up for implementing multi-char matches.
4044         * test/automated/character-fold-tests.el
4045         (character-fold--test-fold-to-regexp): New test.
4047 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4049         Document changes in "C-h l"
4051         * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l".
4053         * etc/NEWS: mark "C-h l" changes as documented.
4055 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4057         Finalize documentation of 'custom-prompt-customize-unsaved-options'
4059         * doc/emacs/custom.texi (Saving Customizations): Index the new
4060         function 'custom-prompt-customize-unsaved-options'.
4062         * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options'
4063         is useful.
4065 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4067         Document 'comment-line'
4069         * doc/emacs/programs.texi (Comment Commands): Document
4070         'comment-line'.
4072         * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes".
4074 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4076         Document new checkdoc features
4078         * doc/lispref/tips.texi (Tips, Library Headers): Document the
4079         keyword-checking features of checkdoc and the commands
4080         'checkdoc-file' and 'checkdoc-current-buffer'.
4082         * etc/NEWS: Move the checkdoc-related entries to their own
4083         section.
4085 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
4087         Simplify the prologue of emacs-module.c functions
4089         * emacs-module.c (MODULE_FUNCTION_BEGIN): New macro.
4090         (module_make_global_ref)
4091         (module_free_global_ref, module_make_function, module_funcall)
4092         (module_intern, module_type_of, module_extract_integer)
4093         (module_make_integer, module_extract_float, module_make_float)
4094         (module_copy_string_contents, module_make_string)
4095         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
4096         (module_get_user_finalizer, module_set_user_finalizer)
4097         (module_vec_set, module_vec_get, module_vec_size): Use new helper
4098         macro MODULE_FUNCTION_BEGIN.
4100 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4102         Don't reject module calls with no arguments
4104         * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil.
4106 2015-11-28  Philipp Stephani  <p.stephani2@gmail.com>
4108         Make module-call be visible from Lisp
4110         * src/emacs-module.c (module_make_function): Use internal--module-call.
4111         (Finternal_module_call): Renamed from Fmodule_call.  Add safety
4112         checks.
4113         (syms_of_module): DEFSYM save-value-p and save-pointer-p.  Do
4114         defsubr internal--module-call.
4116 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4118         Add etags tests for the recent Lua-related bugfix
4120         * test/etags/lua-src/test.lua: New file, tests the issues raised
4121         by bug#21934.
4122         * test/etags/Makefile (LUASRC): Add test.lua.
4123         * test/etags/ETAGS.good_1:
4124         * test/etags/ETAGS.good_2:
4125         * test/etags/ETAGS.good_3:
4126         * test/etags/ETAGS.good_4:
4127         * test/etags/ETAGS.good_5:
4128         * test/etags/ETAGS.good_6:
4129         * test/etags/CTAGS.good: Adapt to the new Lua test.  Also, an old
4130         regression fix, resolved around 25 May 2015, required changes to
4131         the "good" ETAGS files.
4133 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4135         Fix Lua tags when a function name includes '.' or ':'
4137         * lib-src/etags.c (Lua_functions): Add a tag for the last element
4138         of a function name after a dot or a colon.  (Bug#21934)
4140 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
4142         Improve documentation of search and replace commands
4144         * doc/emacs/search.texi (Replacement and Lax Matches): Document
4145         which commands are affected by 'replace-character-fold'.
4146         (Lax Search): Add a cross reference to "Replacement and Lax
4147         Matches".  Improve wording.  Fix lost extra whitespace.
4148         (Search Customizations): Improve wording.  (Bug#22036)
4149         See also comments in
4150         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html.
4152         * lisp/replace.el (query-replace, query-replace-regexp)
4153         (query-replace-regexp-eval, replace-string, replace-regexp):
4154         Mention 'replace-character-fold' in the doc strings.
4156 2015-11-28  Paul Eggert  <eggert@cs.ucla.edu>
4158         Fix minor problems found by static checking
4160         * src/undo.c (prepare_record): Add proper prototype for C.
4162 2015-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4164         * src/emacs-module.c (struct env_storage): Delete
4166         (struct emacs_runtime_private): Keep an emacs_env instead.
4167         (Fmodule_load, Fmodule_call): Declare emacs_env_private separately.
4168         (initialize_environment): Split the arg in two.  Adjust all callers.
4169         Only store the private part in Vmodule_environments.
4170         (finalize_environment): Change the arg to only be the private env.
4171         Adjust all callers.
4173 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
4175         Improve documentation of 'replace-character-fold'
4177         * lisp/replace.el (replace-character-fold): Clarify which commands
4178         are affected by this variable.
4180 2015-11-27  Dmitry Gutov  <dgutov@yandex.ru>
4182         Autoload etags when using its xref backend
4184         * lisp/progmodes/xref.el (xref--etags-backend):
4185         Rename to etags--xref-backend.  Move to etags.el.  Autoload.
4186         (Bug#22026)
4188 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4190         * lisp/character-fold.el: Allow complex chars to match their decomposition
4192         (character-fold-table): When a character's decomposition does not
4193         involve a formatting tag (i.e., if it has an "exact" description via
4194         other characters), then this character is allowed to match the
4195         decomposition.
4197 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4199         * lisp/character-fold.el: More descriptive variable names
4201         (character-fold-table): Rename a lot of the lexical variables to
4202         make the code easier to read.
4204 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4206         * lisp/isearch.el: Ensure we still support `isearch-new-word'
4208         (isearch-new-regexp-function): Define variable.
4209         (isearch-new-word): Define as an obsolete alias. (Bug#22018)
4211 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
4213         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
4215 2015-11-27  Lee Bochicchio  <lboc.home@gmail.com>
4217         * test/lisp/abbrev-tests.el: Define more tests
4219         (abbrev-table-name-test, kill-all-abbrevs-test)
4220         (clear-abbrev-table-test): New tests.
4222 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
4224         Add module tests for wrong-type-argument
4226         * modules/mod-test/test.el (mod-test-sum-test): Add tests for
4227         wrong-type-argument.
4229 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
4231         Improve handling of signals and 'throw' in modules
4233         * src/emacs-module.c: Add commentary explaining how to write
4234         functions in this file.
4235         (module_make_global_ref, module_free_global_ref)
4236         (module_non_local_exit_signal, module_non_local_exit_throw)
4237         (module_make_function, module_funcall, module_intern)
4238         (module_type_of, module_is_not_nil, module_eq)
4239         (module_extract_integer, module_make_integer)
4240         (module_extract_float, module_make_float)
4241         (module_copy_string_contents, module_make_string)
4242         (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr)
4243         (module_get_user_finalizer, module_set_user_finalizer)
4244         (module_vec_set, module_vec_get, module_vec_size)
4245         (module_non_local_exit_signal_1, module_non_local_exit_throw_1):
4246         Do nothing and return with failure indication immediately, if some
4247         previous module call signaled an error or wants to throw.  See
4248         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html
4249         for the relevant discussions.
4251 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
4253         Add ':version' tag to 'checkdoc-package-keywords-flag'
4255         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
4256         Add a ':version' tag.
4258 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
4260         Improve documentation of 'eval-buffer' and 'eval-region'
4262         * src/lread.c (Feval_buffer, Feval_region): Doc fixes.  (Bug#22023)
4264         * doc/lispref/eval.texi (Eval): Mention narrowing to clarify
4265         "accessible portion of buffer".
4267 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
4269         Unbreak the Cygwin w32 build
4271         * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32
4272         build as well.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
4274 2015-11-27  Eli Zaretskii  <eliz@gnu.org>
4276         Improve commentary in character-fold.el
4278         * lisp/character-fold.el (character-fold-to-regexp): Move detailed
4279         description from commit log message to comments.  (Bug#22019)
4281 2015-11-26  Alan Mackenzie  <acm@muc.de>
4283         Byte Compiler: generate code to adjust stack count after call to `signal'.
4285         Corrects change from earlier today.
4287         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of
4288         `byte-compile--for-effect' as argument to `byte-compile-form'.
4290 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
4292         Improve commentary of prepare_to_modify_buffer_1
4294         * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary
4295         that this function runs Lisp.  Suggested by Richard Stallman
4296         <rms@gnu.org>.
4298 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
4300         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
4302 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
4304         Fix regression after merge.
4306          * undo.c (prepare_record): Remove call to run_undoable_change.
4308 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
4310         After delete, record point location in undo.
4312         Addresses Bug #21968.
4314                 * lisp/simple.el (undo-auto--add-boundary): Clean up code to
4315                 better support intercalating calls.
4316                 * src/keyboard.c,src/keyboard.h (command_loop_1): Store value of
4317                 point and current buffer before each command.
4318                 * src/undo.c (record_point): Now only record the point.
4319                 * src/undo.c (prepare_record): Functionality removed form
4320                 record_point.
4321                 * src/undo.c (record_delete): Check if point needs recording.
4322                 * src/undo.c (undo-boundary): Record value of point before each
4323                 boundary.
4324                 * test/automated/simple-test.el: New tests.
4326         Conflicts:
4327                 src/undo.c
4329 2015-11-26  Eli Zaretskii  <eliz@gnu.org>
4331         Fix compiler warnings in w32.c
4333         * src/w32.c (sys_socket): In case of error, use -1 as return
4334         value, not INVALID_SOCKET, which causes compiler warnings.
4335         (maybe_load_unicows_dll): Cast the return value of GetProcAddress
4336         to the appropriate function signature, to avoid compiler errors.
4337         Reported by Andy Moreton <andrewjmoreton@gmail.com>.  (Bug#21953)
4339 2015-11-26  Dmitry Gutov  <dgutov@yandex.ru>
4341         Check if the file exists on disk before producing the revert diff
4343         * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file
4344         exists on disk (bug#20558).
4346 2015-11-26  Alan Mackenzie  <acm@muc.de>
4348         Byte compiler: on setq with an odd number of arguments, generate a `signal'
4350         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when
4351         it has an odd number of arguments, to allow bytecomp to handle the error.
4353         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an
4354         odd number of arguments, generate a `signal' instead of the normal code.
4356 2015-11-25  Dmitry Gutov  <dgutov@yandex.ru>
4358         Use find-tag-default for xref-backend-identifier-at-point
4360         * lisp/progmodes/etags.el (find-tag-tag)
4361         (tags-completion-at-point-function): Extract common code as
4362         find-tag--default.
4363         (xref-backend-identifier-at-point): Define in terms of the new
4364         function.
4366 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
4368         * src/undo.c (record_property_change): Remove now-unused local.
4370 2015-11-25  Phillip Lord  <phillip.lord@russet.org.uk>
4372         run_undoable_changes now called from insdel.
4374         The original calls from inside undo.c are not always at a safe position
4375         to call lisp, as they originate in varied positions within insdel.c.
4376         Calling them directly from prepare_to_modify_buffer_1 ensures that they
4377         are always run at the same point.
4379          * undo.c (run_undoable_changes,syms_of_undo): Remove function
4380          and symbol used.
4381          * insdel.c (run_undoable_changes): Add function and symbol.
4383 2015-11-25  Eli Zaretskii  <eliz@gnu.org>
4385         Improve and update documentation of search commands
4387         * doc/emacs/search.texi (Lax Search): Renamed from "Search Case";
4388         all references changed.  Move the description of lax-whitespace
4389         here.  Add description of the new character folding features and
4390         additional customizable options.
4391         (Isearch Yank): Move before "Error in Search".
4392         (Basic Isearch): Improve wording.  Add index entries.  Add short
4393         description of how to abandon search, making this subsection a
4394         complete introduction to search basics.
4395         (Repeat Isearch): Add index entries.  Describe additional
4396         customizable options.  Describe mouse clicks.
4397         (Isearch Yank): Add index entries.  Describe mouse-2 click in echo
4398         area.  Describe more customizable options.
4399         (Error in Isearch): Add index entries.
4400         (Special Isearch): Move actual description of some isearch
4401         commands to other sections, leaving here just the summary of the
4402         commands.  Add command that toggles character folding.  Describe
4403         commands, like "C-h C-h", that were previously omitted for some
4404         reason.
4405         (Not Exiting Isearch): Describe search-exit-option.  Add index
4406         entries.
4407         (Word Search): Describe eww-search-word and eww-search-prefix.
4408         (Symbol Search): Add index entries.
4409         (Regexp Search): Describe regexp-search-ring-max.
4410         (Replacement and Lax Matches): Renamed from "Replacement and
4411         Case"; all references changed.  Describe lax-whitespace matching
4412         in replace commands and related options.  Describe character
4413         folding in replace commands and related options.
4414         (Query Replace): Describe query-replace-from-to-separator and the
4415         new history features.  Add index entries for highlighted text.
4416         Describe query-replace-skip-read-only.  Describe more keys
4417         accepted by query-replace.
4418         (Other Repeating Search): More index entries for Occur.  Describe
4419         list-matching-lines-default-context-lines.
4420         (Search Customizations): New section, documents customizable
4421         options that were not documented until now.
4422         * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and
4423         "Character Folding".
4425         * etc/NEWS: Move search- and replace-related entries to a single
4426         parent section.
4428         * lisp/replace.el (query-replace-show-replacement): Doc fix.
4429         * lisp/isearch.el (search-nonincremental-instead)
4430         (isearch-hide-immediately): Doc fixes.
4432 2015-11-25  Katsumi Yamaoka  <yamaoka@jpl.org>
4434         Remove nnml-retrieve-groups that is unnecessary and somewhat problematic
4436         * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove.  See:
4437         <http://thread.gmane.org/gmane.emacs.gnus.general/86308> and
4438         <http://thread.gmane.org/gmane.emacs.gnus.general/86321>
4440 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
4442         Fix module_format_fun_env when dynlib_addr fails
4444         * src/emacs-module.c (module_format_fun_env):
4445         exprintf doesn’t support %p, so use %x.  Reported by Eli Zaretskii in:
4446         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html
4448 2015-11-25  Paul Eggert  <eggert@cs.ucla.edu>
4450         Disambiguate variable help a bit better
4452         * lisp/help-fns.el (describe-variable): Quote the
4453         variable’s value if it is a symbol other than t or nil.
4454         See: T.V Raman in:
4455         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html
4457 2015-11-24  Dmitry Gutov  <dgutov@yandex.ru>
4459         Pass SVN commit message through log-edit-extract-headers
4461         * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through
4462         log-edit-extract-headers (bug#18954).
4464 2015-11-24  Alan Mackenzie  <acm@muc.de>
4466         CC Mode: Eliminate compiler warning messages.
4468         * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of
4469         `font-lock-syntactic-keywords' (which CC Mode doesn't use).
4470         * lisp/progmodes/cc-awk.el (awk-mode-syntax-table)
4471         (c-awk-set-syntax-table-properties): Clarify comments about
4472         `font-lock-syntactic-keywords'.
4474         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration
4475         of this before the real (interpreted) one, to satisfy the byte compiler.
4477 2015-11-24  Simen Heggestøyl  <simenheg@gmail.com>
4479         Extend the test suite for json.el
4481         * lisp/json.el (json-plist-p): Clarify docstring.
4483         * test/automated/json-tests.el (json-tests--with-temp-buffer): New
4484         macro.
4485         (test-json-join, test-json-alist-p)
4486         (test-json-plist-p, test-json-advance, test-json-peek)
4487         (test-json-pop, test-json-skip-whitespace)
4488         (test-json-read-keyword, test-json-encode-keyword)
4489         (test-json-read-number, test-json-encode-number)
4490         (test-json-read-escaped-char, test-json-read-string)
4491         (test-json-encode-string, test-json-encode-key)
4492         (test-json-new-object, test-json-add-to-object)
4493         (test-json-read-object, test-json-encode-list)
4494         (test-json-read-array, test-json-encode-array)
4495         (test-json-read, test-json-read-from-string)
4496         (test-json-encode): New tests.
4497         (json-read-simple-alist): Merged into `test-json-read-object'.
4498         (json-encode-string-with-special-chars): Merged into
4499         `test-json-encode-string'.
4500         (json-read-string-with-special-chars): Split into
4501         `test-json-encode-string' and `test-json-read-from-string'.
4503 2015-11-24  Anders Lindgren  <andlind@gmail.com>
4505         Fixed bug#18283: Enable applescript in NextStep.
4507         * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES.
4509 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
4511         Allow completion on dynamic module files in load-library
4513         * lisp/files.el (load-library): Bind completion-ignored-extensions
4514         to nil, to allow completion on dynamic modules typed as file
4515         names.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
4517 2015-11-24  Alan Mackenzie  <acm@muc.de>
4519         CC Mode: eliminate almost all byte compilation warnings
4521         * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove.
4522         (cc-require): Remove the crude hack that saved and restored
4523         byte-compile-noruntime-functions.
4524         (cc-conditional-require, cc-conditional-require-after-load): New macros.
4526         * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded
4527         cc-fix.el using the new macros in cc-bytecomp.el.
4529         * lisp/progmodes/cc-langs.el (c++-template-syntax-table)
4530         (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)"
4531         forms to remove the superflous quotes.
4533 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
4535         Add one more mod-test test
4537         * modules/mod-test/test.el (mod-test-sum-test): Test the error
4538         signaled when the function is invoked with a wrong number of
4539         arguments.
4541 2015-11-24  Philipp Stephani  <phst@google.com>
4543         * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args.
4545 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
4547         Implement dynlib_addr for MS-Windows
4549         * src/dynlib.c [WINDOWSNT]: Include w32common.h.
4550         <g_b_init_get_module_handle_ex> [WINDOWSNT]: New static variable.
4551         (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS)
4552         (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define
4553         if undefined.
4554         (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to
4555         zero.
4556         (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report
4557         the full file name of the module for a given address.
4559 2015-11-24  Alan Mackenzie  <acm@muc.de>
4561         Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25
4563 2015-11-24  Alan Mackenzie  <acm@muc.de>
4565         Squashed commit of the following:
4567         commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70
4568         Author: Alan Mackenzie <acm@muc.de>
4569         Date:   Tue Nov 24 16:50:09 2015 +0000
4571             Byte compile: minor amendments.
4573             * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
4574             add a comment to explain the binding of variables around a subsidiary
4575             compilation.
4576             (byte-compile-new-defuns): Amend the doc string.
4578         commit c537bfed1dda1593d218956ff00c6105a3ff0316
4579         Author: Alan Mackenzie <acm@muc.de>
4580         Date:   Sat Nov 21 18:43:57 2015 +0000
4582             Byte compiler: fix spurious warnings "might not be defined at runtime".
4584             Also initialize byte-compile-noruntime-functions between runs.
4586             * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable.
4587             (byte-compile-initial-macro-environment): For eval-when-compile: bind
4588             byte-compile-unresolved-functions and byte-compile-new-defuns around
4589             byte-compile-top-level, to prevent spurious entries being made.
4590             (byte-compile-warn-about-unresolved-functions): Check whether function is
4591             in byte-compile-new-defuns before emitting a warning about it.
4592             (byte-compile-from-buffer): Initialize new variable and
4593             byte-compile-noruntime-functions to nil.
4594             (byte-compile-file-form-require): record all new functions defined by a
4595             `require' in byte-compile-new-defuns.
4596             (byte-compile-file-form-defmumble): record the new alias in
4597             byte-compile-new-defuns.
4599 2015-11-24  Eli Zaretskii  <eliz@gnu.org>
4601         Fix crash at startup related to GC of font entities
4603         * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P)
4604         (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY)
4605         (GC_XFONT_OBJECT): New macros, for use in garbage collector.
4606         * src/alloc.c (compact_font_cache_entry, compact_font_caches):
4607         Don't ifdef away font cache compaction on NT_GUI, as the problems
4608         which led to that seem to have been solved.
4609         (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC,
4610         GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_
4611         cousins.  (Bug#21999)
4613 2015-11-24  Alan Mackenzie  <acm@muc.de>
4615         Byte compile: Output an error, not a warning, for odd number of args to setq
4617         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend.
4619 2015-11-24  Ken Raeburn  <raeburn@raeburn.org>
4621         Fix kbd_buffer iteration loop in readable_events
4623         * src/keyboard.c (readable_events): Wrap the event pointer back to the
4624         start of the kbd_buffer array inside the top of the loop instead of
4625         right before checking the loop condition, since kbd_fetch_ptr and
4626         kbd_store_ptr point past the end of the array to mean that element 0
4627         is next. (bug#21935)
4629 2015-11-24  Paul Eggert  <eggert@cs.ucla.edu>
4631         Improve text-quoting-style doc again
4633         * doc/lispref/help.texi (Keys in Documentation):
4634         Omit overkill discussion of ‘setq’.  Mention Emacs versions
4635         where ‘grave’ style was standard.
4637 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4639         Improve text-quoting-style doc
4641 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4643         Simplify module_make_function
4645         * src/emacs-module.c (module_make_function):
4646         Simplify by calling build_unibyte_string.
4648 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4650         Port better to FreeBSD’s dlfunc vs dlsym
4652         This avoids warnings when converting between void * and
4653         function pointers, which strict C11 does not allow.
4654         * configure.ac (dlfunc): Check for existence.
4655         * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro.
4656         (dynlib_func): New function.
4657         * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls.
4658         * src/emacs-module.c (Fmodule_load): Use dynlib_func, not
4659         dynlib_sym, for function pointers.
4661 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4663         Simplify use of emacs_finalizer_function type
4665         * src/emacs-module.h (emacs_finalizer_function):
4666         Now EMACS_NOEXCEPT.  All users simplified to omit EMACS_NOEXCEPT.
4667         (struct emacs_env_25): Use emacs_finalizer_function where applicable.
4669 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4671         module_format_fun_env fixes
4673         * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case.
4674         * src/emacs-module.c (module_format_fun_env):
4675         Convert path and sym to UTF-8.
4676         Don’t use VLAs, as the C11 standard says they’re optional,
4677         and anyway they can cause core dumps with large allocations.
4678         Use exprintf rather than snprintf, as exprintf handles arbitrarily
4679         long strings.  Simplify the code a bit.
4681 2015-11-23  Dmitry Gutov  <dgutov@yandex.ru>
4683         Don't use package-user-dir in elisp-library-roots if it's not bound
4685         * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't
4686         use package-user-dir if it's not bound (bug#19759).
4688 2015-11-23  Anders Lindgren  <andlind@gmail.com>
4690         New visible-bell for NextStep (OS X El Capitan compatible).
4692         Instead of inverting a rectangle in the middle of the frame, use
4693         the standard NextStep image "caution", represented using an
4694         warning sign with an exclamation mark.  (Bug#21662)
4696         Implemented based on a suggestion drafted by Mustafa Kocaturk.
4698         * src/nsterm.m (EmacsBell): New class for managing the caution
4699         image.  Support multiple active bells, the image is removed once
4700         all bells have timed out.
4701         (ns_timeout): Removed, no longer used.
4702         (ns_ring_bell): Reimplemented to use EmacsBell.
4704 2015-11-23  Johan Bockgård  <bojohan@gnu.org>
4706         * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec.
4708         (remove-function): Ditto. (Bug#20376)
4710 2015-11-23  Mark Oteiza  <mvoteiza@udel.edu>
4712         * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes.
4714 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
4716         Improve how non-ASCII strings are accepted from modules
4718         * src/emacs-module.c (module_make_function, module_make_string):
4719         Build a unibyte Lisp string and then decode it by UTF-8, instead
4720         of building a multibyte string without decoding.  This is more
4721         tolerant to deviations from UTF-8.
4723 2015-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4725         Port recent module changes to pickier compilers
4727         * src/emacs-module.c (module_make_function)
4728         (module_make_string): Add casts to fix pointer signedness issues.
4730 2015-11-23  Philipp Stephani  <phst@google.com>
4732         Fix how strings are accepted from modules
4734         * emacs-module.c (module_make_function, module_make_string): Use
4735         make_multibyte_string.
4736         (module_copy_string_contents): Encode before reading the byte
4737         size.  Return false if and only if an error occurred.
4739 2015-11-23  Eli Zaretskii  <eliz@gnu.org>
4741         Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25
4743 2015-11-23  Shakthi Kannan  <shakthimaan@gmail.com>
4745         Add the tamil-dvorak input method
4747         * lisp/leim/quail/tamil-dvorak.el: New file.  (Bug#21768)
4749         * etc/NEWS: Mention the new input method.
4751 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
4753         Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows.
4755         * src/frame.c (adjust_frame_size): Don't set
4756         FRAME_WINDOW_SIZES_CHANGED here ...
4757         * src/window.c (resize_frame_windows): ... but here, as suggested
4758         by Stefan Monnier.  Also remove some dead code along the way.
4760 2015-11-23  Alan Mackenzie  <acm@muc.de>
4762         * /etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args.
4764 2015-11-23  Alan Mackenzie  <acm@muc.de>
4766         Signal an error when `setf' gets an odd number of arguments.
4768         * lisp/emacs-lisp/gv.el (setf): Amend.
4770 2015-11-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4772         * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better.
4774 2015-11-23  Alan Mackenzie  <acm@muc.de>
4776         * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'.
4778 2015-11-23  Alan Mackenzie  <acm@muc.de>
4780         Expunge occurrences of `setq' with an odd number of arguments.
4782         * lisp/apropos.el (apropos-documentation):
4783         * lisp/obsolete/complete.el (PC-include-file-all-completions):
4784         * lisp/progmodes/compile.el (compilation-goto-locus):
4785         * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice)
4786         Insert missing nil at end of `setq' forms.
4788         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an
4789         erroneous trailing variable name from a setq, thus allowing a compilation
4790         properly to track functions not defined at runtime.
4792 2015-11-23  John Wiegley  <johnw@newartisans.com>
4794         Add a note about a questionable use of bool in xdisp.c
4796 2015-11-23  Alan Mackenzie  <acm@muc.de>
4798         Issue a warning from the byte compiler on a malformed `setq' form.
4800         Partly fixes bug#20241.
4801         * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a
4802         `setq' form with an odd number of arguments is compiled.
4804 2015-11-23  Alan Mackenzie  <acm@muc.de>
4806         Don't let cconv_convert insert a nil argument into a `setq' form.
4808         Fixes bug#21983.
4809         * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last
4810         argument into a `setq' when there're an odd number of args.  This enables the
4811         byte compiler to issue a message in this case.
4813 2015-11-23  Alan Mackenzie  <acm@muc.de>
4815         Signal an error when `setq' has an odd number of arguments.  Fixes bug#20241.
4817         * src/eval.c (Fsetq): Signal an error on an odd number of arguments.
4818         (syms_of_eval): Add a DEFSYM for Qsetq.
4820 2015-11-23  Martin Rudalics  <rudalics@gmx.at>
4822         * doc/lispref/windows.texi (Window Sizes): Fix indices and references.
4824         * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975).
4826 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4828         Add EUDC BBDB 3 entry in NEWS
4830         * NEWS: Mention EUDC BBDB backend support for BBDB 3.
4832 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4834         Improve EUDC to BBDB 3 export
4836         * eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone
4837         entry to single item.  Add company conversion.
4838         * eudc-export.el (eudc-bbdbify-company): New function.
4839         (bbdb-parse-phone): Declare function.
4840         (eudc-bbdbify-phone): Add BBDB 3 support.
4841         (Bug#21971)
4843 2015-11-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4845         Add BBDB 3 support for EUDC export
4847         * eudc.el: Add bbdb-version defvar.
4848         (eudc--using-bbdb-3-or-newer-p): New function.
4849         * eudc-export.el (eudc-create-bbdb-record): Add support for
4850         bbdb-create-internal argument list changes introduced in BBDB 3.
4851         * eudcb-bbdb.el: Remove bbdb-version defvar.
4852         (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p.
4853         (Bug#21971)
4855 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
4857         Allow loading modules by 'load-file'
4859         * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the
4860         2nd arg, to avoid the "binding stack not balanced" error.
4861         (syms_of_lread) <module-file-suffix>: New Lisp variable.
4863         * lisp/files.el (module-file-suffix): Declare.
4864         (load-file): Remove 'module-file-suffix' from
4865         'completion-ignored-extensions', to allow completion on modules.
4867         * etc/NEWS: Mention 'module-file-suffix'.
4869 2015-11-22  Eli Zaretskii  <eliz@gnu.org>
4871         Fix unoptimized builds
4873         * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized
4874         builds.
4876 2015-11-22  Dmitry Gutov  <dgutov@yandex.ru>
4878         Work around the asynchronous-empty-diff problem
4880         * lisp/vc/vc-rcs.el (vc-rcs-diff):
4881         * lisp/vc/vc-mtn.el (vc-mtn-diff):
4882         * lisp/vc/vc-hg.el (vc-hg-diff):
4883         * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument,
4884         do a synchronous process call (bug#21969).
4886 2015-11-21  Karl Fogel  <kfogel@red-bean.com>
4888         Finish excising electric indent from `open-line'
4890         * lisp/simple.el (open-line): Remove INTERACTIVE argument.
4892         * test/automated/simple-test.el (open-line-indent, open-line-hook):
4893           Adjust accordingly.
4895         This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600
4896         (git commit c59353896) started.  It turns out that having INTERACTIVE
4897         cause `post-self-insert-hook' to run (via `newline') meant `open-line'
4898         still had the electric indent behavior, as `post-self-insert-hook'
4899         normally contains `electric-indent-post-self-insert-function' ever
4900         since `electric-indent-mode' has been on by default.  Tracing the code
4901         change in `open-line' is mildly twisty, because Artur Malabarba's
4902         earliest two commits of 24 Oct 2015 first removed the `interactive'
4903         form entirely (git commit 6939896e2) and then restored it with the new
4904         extra "p" already added (git commit bd4f04f86), such that there is no
4905         single-commit diff in which one sees the second "p" appear.  Thus this
4906         change is effectively a reversion of parts of each of those commits.
4908         This could close bug#21884, at least until further discussion.
4910 2015-11-21  Dmitry Gutov  <dgutov@yandex.ru>
4912         Adhere closer to the "implicit tag name" definition
4914         * lisp/progmodes/etags.el (etags-tags-completion-table):
4915         Adhere closer to the "implicit tag name" definition.  Simplify
4916         the regexp.  Search for the explicit tag name first, and when
4917         not found, search locally for the implicit one.  (Bug#21934)
4919 2015-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4921         Unrevert most of regexp reentrancy abort patch
4923         The problem was in:
4924           * src/syntax.c (update_syntax_table_forward): Propertize even when truncated
4925         which is hence not unreverted.
4926         The rest is:
4927         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
4928         (UPDATE_SYNTAX_TABLE_FAST): Re-introduce.
4929         All callers in regex.c changed back to the _FAST versions.
4931         * test/automated/message-mode-tests.el: Tweak the test to rely on auto
4932         propertization in backward-sexp.
4934 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
4936         Revert regexp reentrancy abort patch
4938         Although the patch does fix Bug#21688 and prevents a core dump,
4939         it also makes the message-mode-propertize test fail; see:
4940         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html
4941         Perhaps someone else can come up with a better fix some day.
4942         * src/syntax.c (update_syntax_table_forward):
4943         Propertize even when truncated.
4944         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
4945         (UPDATE_SYNTAX_TABLE_FAST): Remove.
4946         All callers changed back to the non-_FAST versions.
4948 2015-11-21  Paul Eggert  <eggert@cs.ucla.edu>
4950         Add a few safety checks when ENABLE_CHECKING
4952         This was motivated by the recent addition of module code,
4953         which added some ENABLE_CHECKING-enabled checks that are
4954         useful elsewhere too.
4955         * src/alloc.c (compact_font_cache_entry):
4956         * src/fns.c (sweep_weak_table):
4957         * src/lread.c (oblookup):
4958         Use gc_asize rather than doing it by hand.
4959         * src/emacs-module.c (module_make_global_ref)
4960         (module_free_global_ref, module_vec_size):
4961         Omit assertions that lisp.h now checks.
4962         * src/lisp.h (XFASTINT, ASIZE): In functional implementations,
4963         check that the result is nonnegative.  Use eassume, as this
4964         info can help a bit when optimizing production code.
4965         (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol,
4966         to be consistent with the USE_LSB_TAG case.
4967         (gc_asize): New function, when ASIZE is needed in the gc.
4968         (gc_aset): Use it.
4969         (HASH_TABLE_P): Move definition up, so that it can be used ...
4970         (XHASH_TABLE): ... here, to assert that the arg is a hash table.
4972 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
4974         Simplify recording of main thread's ID on MS-Windows
4976         * src/w32term.c (w32_initialize):
4977         * src/w32console.c (initialize_w32_display):
4978         * src/w32fns.c (globals_of_w32fns): Don't record the main thread
4979         ID independently for each type of session (GUI, TTY, batch).
4980         * src/w32term.c (w32_init_main_thread): New function, records the
4981         main thread's thread ID.
4982         * src/w32term.h: Add prototype for w32_init_main_thread.
4983         * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread.
4985         * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to
4986         main_thread, for consistency with other threading libraries.  All
4987         users changed.  Include w32term.h.
4988         (check_main_thread) [WINDOWSNT]: Simplify the test: no need to
4989         make sure the main thread is alive, as we hold a handle on it
4990         opened by w32_init_main_thread.
4991         (module_init) [WINDOWSNT]: Reuse the thread ID recorded by
4992         w32_init_main_thread, instead of calling the requisite APIs once
4993         more.
4995 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
4997         Call 'window-size-change-functions' for mini-windows
4999         * src/window.c (grow_mini_window, shrink_mini_window): Set the
5000         frame's 'window_sizes_changed' flag.
5001         * src/xdisp.c (redisplay_internal): Call the hooks on
5002         'window-size-change-functions' if the call to 'echo_area_display'
5003         sets the frame's 'window_sizes_changed' flag.
5004         (syms_of_xdisp) <window-size-change-functions>:
5005         Update doc string to indicate the mini-window resizes trigger a
5006         call to the hooks, and don't promise that will happen "before
5007         redisplay".  (Bug#19576, Bug#21333)
5009         * doc/lispref/windows.texi (Window Hooks): Update the description
5010         of 'window-size-change-functions'.
5012 2015-11-21  Eli Zaretskii  <eliz@gnu.org>
5014         Improve documentation of dynamic modules
5016         * src/fns.c (Frequire): Doc fix to include the dynamic module
5017         support.
5018         * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the
5019         dynamic module support.
5020         (Fload): Treat the module suffix the same as '*.el' and '*.elc'
5021         wrt the MUST-SUFFIX argument.
5023         * etc/NEWS: Expand documentation of dynamically loaded modules.
5025 2015-11-21  Philipp Stephani  <phst@google.com>  (tiny change)
5027         Initial documentation for dynamic modules
5029         * etc/NEWS: Mention the new support for dynamically loaded modules.
5031 2015-11-20  Dmitry Gutov  <dgutov@yandex.ru>
5033         Add xref--etags-backend to xref-backing-functions using add-hook
5035         * lisp/progmodes/xref.el (xref-backend-functions): Move the
5036         default value into a separate `add-hook' call (bug#21964).
5038         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
5039         Don't declare the xref-backend-functions variable.
5040         It doesn't make any difference.
5042 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5044         Fix double-decrement bug when freeing global refs
5046         * src/emacs-module.c (module_free_global_ref): Add a FIXME
5047         comment about error reporting.  Fix a recently-introduced typo
5048         that double-decremented the refcount.
5050 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5052         Declare emacs_module_init in the module API
5054         * src/emacs-module.h (emacs_module_init): New decl.
5055         Without it, GCC might complain about a module that defines
5056         emacs_module_init without using it.  This also checks the
5057         API better.
5059 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5061         Fix module test to use ptrdiff_t nargs too
5063         * modules/mod-test/mod-test.c (Fmod_test_return_t)
5064         (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw)
5065         (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make)
5066         (Fmod_test_string_a_to_b, Fmod_test_userptr_make)
5067         (Fmod_test_userptr_get, Fmod_test_vector_fill)
5068         (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int.
5069         (finalizer): Remove; no longer used.
5071 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5073         Fix reindent-introduced typo in module code
5075         * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I
5076         introduced while reindenting the code earlier, and add a
5077         comment explaining the unusual use of do-while here.
5079 2015-11-20  Anders Lindgren  <andlind@gmail.com>
5081         Fixed bug#19576: `write-file' saves wrong buffer.
5083         If a function on the hook `window-size-change-functions' doesn't
5084         restore the current buffer, functions that save and restore the
5085         current window configuration (like `y-or-no-p') could silently
5086         change the current buffer.  When `write-file' asked the user
5087         confirmation to overwrite a file, `y-or-no-p' changed the current
5088         buffer, and the wrong buffer was saved to the file.
5090         * lisp/follow.el (follow-windows-start-end): Call `select-frame'
5091         using the `norecord' parameter.
5092         (follow-window-size-change): Restore current buffer. Call
5093         `select-frame' using the `norecord' parameter. Cleanup.
5095 2015-11-20  John Wiegley  <johnw@newartisans.com>
5097         Correct a documentation error in frames.texi
5099 2015-11-20  Stephen Leake  <stephen_leake@stephe-leake.org>
5101         * lisp/cedet/mode-local.el: Delete obsolete comment
5103 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5105         Module function arg counts are ptrdiff_t, not int
5107         * src/emacs-module.c (struct module_fun_env)
5108         (module_make_function, module_funcall, Fmodule_call):
5109         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
5110         Use ptrdiff_t, not int, for arg counts.
5111         * src/emacs-module.c (module_make_function): Don’t bother
5112         checking arity against MOST_POSITIVE_FIXNUM, as that’s
5113         unnecessary here.  Make the checking clearer by negating it.
5114         (module_make_function, Fmodule_call): No need to use xzalloc
5115         since the storage doesn’t need to be cleared.
5116         (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support
5117         for it, and many implementations are buggy with large VLAs anyway.
5118         Use SAFE_ALLOCA_LISP instead.
5119         (module_vec_set): Don’t crash if i < 0.
5120         (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM.
5121         (module_vec_set, module_vec_get): Do fixnum checks only when
5122         i is out of array bounds, for efficiency in the usual case.
5123         (Fmodule_load): Simplify fixnum range check.
5124         (Fmodule_call): Simplify arity check.  Use xnmalloc to detect
5125         integer overflow in array allocation size.
5127 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
5129         Minor improvements in module test
5131         * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings
5132         about missing prototype of malloc.
5133         * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid
5134         compiler warnings.
5136 2015-11-20  Eli Zaretskii  <eliz@gnu.org>
5138         Improve MS-Windows implementation in dynlib.c
5140         * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h.
5141         No need to include windows.h, as w32.h already does that.
5142         <dynlib_last_err>: New static variable.
5143         (dynlib_reset_last_error): New function.
5144         (dynlib_open): Convert forward slashes to backslashes.  Convert
5145         file names from UTF-8 to either UTF-16 or the current ANSI
5146         codepage, and call either LoadLibraryW or LoadLibraryA.  If the
5147         argument is NULL, return a handle to the main module, like
5148         'dlopen' does.  Record the error, if any, for use by dynlib_error.
5149         (dynlib_sym): Check the handle for validity. Record the error, if
5150         any, for use by dynlib_error.
5151         (dynlib_error): Call w32_strerror to produce the error string, and
5152         zero out the last error code, like dlerror does.
5153         (dynlib_close): Check the handle for validity.  Record the error,
5154         if any, for use by dynlib_error.  Don't call FreeLibrary with a
5155         handle for the main module.
5156         * src/w32.c (globals_of_w32): Call dynlib_reset_last_error.
5158 2015-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5160         Include-file tweaks for modules
5162         * src/dynlib.c, src/emacs-module.c: Include <config.h> first.
5163         * src/dynlib.h: Do not include config.h.
5164         It’s every .c file’s responsibility to include config.h first.
5165         * src/emacs-module.c: Include emacs-module.h immediately after
5166         config.h, to test that emacs-module.h doesn’t depend on
5167         include files other than config.h.
5169 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5171         Simplify push_handler and profile its malloc
5173         * src/lisp.h (PUSH_HANDLER): Remove.
5174         All callers changed to use push_handler directly.
5175         * src/eval.c (internal_condition_case)
5176         (internal_condition_case_1, internal_condition_case_2)
5177         (internal_condition_case_n):
5178         Use same pattern as for other invokers of push_handler.
5179         (push_handler, push_handler_nosignal): Use call-by-value
5180         instead of call-by-reference.  All uses changed.
5181         (push_handler): Simplify by rewriting in terms of
5182         push_handler_nosignal.
5183         (push_handler_nosignal): Profile any newly allocated memory.
5185 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5187         * src/emacs-module.h: Include stddef.h, not stdlib.h.
5189 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
5191         Discover repository version in linked worktrees (bug#21930)
5193         * lisp/version.el (emacs-repository--version-git-1): Do not assume
5194         HEAD is at .git/HEAD, it can also be at .git/worktrees/<branch>/HEAD.
5195         (emacs-repository-get-version): Grok linked worktrees when EXTERNAL
5196         is nil too.
5198 2015-11-19  Juri Linkov  <juri@linkov.net>
5200         * lisp/replace.el (occur-regexp-descr): New function.
5201         (occur-1, occur-engine): Use it.
5203         * lisp/isearch.el (isearch-occur): Propertize regexp with
5204         isearch-string and isearch-regexp-function-descr for
5205         occur-regexp-descr to display the correct description
5206         message in the header (bug#21176, bug#21180).
5208 2015-11-19  Karl Fogel  <kfogel@red-bean.com>
5210         Revert `open-line' electric-indent sensitivity
5212         * lisp/simple.el (open-line): Remove electric indent code.
5213           (electric-indent-just-newline): Don't declare.
5215         * test/automated/simple-test.el (open-line-indent): Adjust test.
5217         This partly reverts Artur Malabarba's change that added electric
5218         indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
5219         commit bd4f04f86), and adjusts a new test he added right afterwards
5220         (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
5221         However, the new INTERACTIVE argument to `open-line', which he also
5222         added in the first commit, is not reverted here.
5224         See the thread "Questioning the new behavior of `open-line'." on the
5225         Emacs Devel mailing list, and in particular this message:
5227           From: Artur Malabarba
5228           Subject: Re: Questioning the new behavior of `open-line'.
5229           To: Karl Fogel
5230           Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
5231           Date: Wed, 18 Nov 2015 21:03:58 +0000
5232           Message-ID: \
5233             <CAAdUY-KN06pvCMy5bt3+Buk3yeKjf6n9iB2FaSTTOPpCqPwyhA@mail.gmail.com>
5235           https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
5237 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5239         Omit unnecessary clear in Fmodule_load
5241         * src/emacs-module.c (Fmodule_load):
5242         Simplify and avoid unnecessary initialization of priv member to 0.
5244         * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size)
5246 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5248         Prefer signed integer types in module code
5250         Generally speaking, at the C level the Emacs source code prefers
5251         signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’,
5252         partly to avoid the usual signedness confusion when comparing values.
5253         Change the module API to follow this convention.
5254         Use ‘int’ for small values that can’t exceed INT_MAX.
5255         * modules/mod-test/mod-test.c (Fmod_test_globref_make)
5256         (Fmod_test_string_a_to_b, Fmod_test_vector_fill)
5257         (Fmod_test_vector_eq):
5258         * src/emacs-module.c (struct emacs_value_frame)
5259         (module_make_global_ref, module_free_global_ref)
5260         (module_copy_string_contents, module_make_string)
5261         (module_vec_set, module_vec_get, module_vec_size):
5262         * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25):
5263         * src/lread.c (suffix_p):
5264         Prefer signed to unsigned integer types.
5266 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5268         Omit ‘const’ on locals
5270         Remove ‘const’ qualifier from locals that were newly added.
5271         We don’t normally bother declaring locals with ‘const’ even
5272         though they are not modified, for the same reason we don’t
5273         bother declaring them with ‘register’ even though their
5274         addresses are not taken; the advantage in compile-time
5275         checking isn’t worth the loss of readability.
5276         * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall)
5277         (Fmod_test_vector_fill, Fmod_test_vector_eq):
5278         * src/emacs-module.c (MODULE_SETJMP_1)
5279         (module_make_global_ref, module_free_global_ref)
5280         (module_non_local_exit_get, module_make_function)
5281         (module_extract_integer, module_extract_float)
5282         (module_get_user_ptr, module_set_user_ptr)
5283         (module_get_user_finalizer, module_set_user_finalizer)
5284         (module_vec_get, Fmodule_call)
5285         (module_non_local_exit_signal_1)
5286         (module_non_local_exit_throw_1, lisp_to_value)
5287         (finalize_storage, allocate_emacs_value, mark_modules)
5288         (module_handle_signal, module_handle_throw)
5289         (module_format_fun_env):
5290         * src/eval.c (push_handler, push_handler_nosignal)
5291         (init_handler):
5292         * src/lread.c (suffix_p):
5293         Omit unnecessary ‘const’.
5295 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5297         Prefer intmax_t to int64_t in module code
5299         * modules/mod-test/mod-test.c (sum, Fmod_test_sum):
5300         * src/emacs-module.c (module_extract_integer)
5301         (module_make_integer):
5302         * src/emacs-module.h (struct emacs_env_25):
5303         Prefer intmax_t to int64_t.  This doesn’t change the generated
5304         code on any of the machines Emacs currently ports to, but it’s
5305         at least in theory more future-proof as C99 doesn’t guarantee
5306         that int64_t exists.
5308 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5310         Rename module.c to emacs-module.c, etc.
5312         * src/emacs-module.c: Rename from src/module.c.
5313         * src/emacs-module.h: Rename from src/module.h.
5314         All uses changed.
5316 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5318         Fix minor module problems found by static checking
5320         * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used.
5321         * src/eval.c, src/lisp.h (lisp_eval_depth): Now static.
5322         * src/module.c (Fmodule_load): Fix pointer signedness bug.
5323         (Fmodule_call): Tell GCC that the default case is unreachable.
5325 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5327         Style fixes for indenting etc. in module code
5329         This is mostly indenting and spacing changes.  Also, remove
5330         some unnecessary static decls instead of bothering to reindent them.
5331         * src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline,
5332         as most other Emacs files do for this sort of thing.
5334 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
5336         Minor improvements in modules testing Makefile
5338         * modules/mod-test/Makefile (EMACS, SO): New variables.
5339         (CFLAGS): When SO = dll, don't use -fPIC.
5340         (check): New target, runs the test.
5342 2015-11-19  Eli Zaretskii  <eliz@gnu.org>
5344         * .gitignore: Add "*.dll".
5346 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5348         Migrate modules/.gitignore into .gitignore
5350         * .gitignore: Add former contents of modules/.gitignore.
5351         * modules/.gitignore: Remove.
5353 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5355         Add copyright notices to module code
5357         Put them in the usual format for GNU Emacs copyright notices.
5359 2015-11-19  Paul Eggert  <eggert@cs.ucla.edu>
5361         Rename emacs_module.h to module.h
5363         * src/module.h: Rename from src/emacs_module.h.
5364         All uses changed.
5366 2015-11-19  Juanma Barranquero  <lekktu@gmail.com>
5368         * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args'
5370         * src/lread.c (Fload): Remove unused variable `size'
5372 2015-11-19  Alan Mackenzie  <acm@muc.de>
5374         src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post".
5376 2015-11-18  Dmitry Gutov  <dgutov@yandex.ru>
5378         Prioritize looking inside vc-parent-buffer over log-view-mode fallback
5380         * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside
5381         vc-parent-buffer over log-view-mode fallback (bug#21955).
5383 2015-11-18  Alan Mackenzie  <acm@muc.de>
5385         lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall.
5387 2015-11-18  Ken Brown  <kbrown@cornell.edu>
5389         * configure.ac (LIBMODULES): Don’t define on Cygwin
5391 2015-11-18  Eli Zaretskii  <eliz@gnu.org>
5393         Fix MS-Windows build --with-modules
5395         * src/module.c: Reformat copyright commentary.
5396         (module_vec_get): Use explicit cast to size_t to avoid compiler
5397         warning in 32-bit builds.
5398         (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs.
5399         Compare thread IDs directly, as GetThreadId is not available
5400         before Windows Vista.
5401         (check_main_thread) [WINDOWSNT]: Duplicate the thread handle
5402         without using APIs and constants not available on XP and older
5403         systems.  Obtain and store the thread ID as well.
5405 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
5406             Philipp Stephani  <phst@google.com>
5408         Add dynamic module test and helper script
5410         Add 'modhelp.py' script (python2) to automate module testing and
5411         module generation.
5413         To build and test all modules in the modules/ dir
5414           $ ./modhelp.py test
5416         To generate a module from template code (good starting point)
5417           $ ./modhelp init mynewtestmodule
5419         See the script -h option for more documentation.
5421         * modules/modhelp.py: New module helper script.
5422         * modules/mod-test/Makefile: New file. Makefile for the test module.
5423         * modules/mod-test/mod-test.c: New file. Test module source file.
5424         * modules/mod-test/test.el: New file. ert test suite for the test module.
5425         * modules/.gitignore: New file. Local .gitignore file.
5427 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
5429         Make 'Fload' look for modules
5431         'Fload' can now load dynamic modules. This also makes 'require' work.
5433         * src/lread.c:
5434           (suffix_p): New function.
5435           (Fload): Use 'suffix_p'.  Call 'Fmodule_load' when we try to load a file
5436           with a module suffix.
5437           (syms_of_lread): Append module suffix to 'Vload_suffixes'.
5439 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
5440             Philipp Stephani  <phst@google.com>
5442         Add dynamic module module support
5444         * configure.ac: Add '--with-modules' option.  Conditionally add
5445           dynlib.o and module.o to the list of objects.  Add any system
5446           specific flags to the linker flags to support dynamic libraries.
5447         * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc
5448           attributes.
5449         * src/Makefile.in: Conditionally add module objects and linker flags.
5450         * src/alloc.c (garbage_collect_1): protect module local values from
5451           GC.
5452         * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes.
5453         * src/emacs_module.h: New header file included by modules.  Public
5454           module API.
5455         * src/module.c: New module implementation file.
5457 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
5459         Add new User Pointer (User_Ptr) type
5461         * src/lisp.h: Add new Lisp_Misc_User_Ptr type.
5462         (XUSER_PTR): New User_Ptr accessor.
5463         * src/alloc.c (make_user_ptr): New function.
5464         (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr.
5465         * src/data.c (Ftype_of): Return 'user-ptr' for user pointer.
5466         (Fuser-ptrp): New user pointer type predicate function.
5467         (syms_of_data): New 'user-ptrp', 'user-ptr' symbol.  New 'user-ptrp'
5468         subr.
5469         * src/print.c (print_object): Add printer for User_Ptr type.
5471 2015-11-18  Aurélien Aptel  <aurelien.aptel@gmail.com>
5472             Philipp Stephani  <phst@google.com>
5474         Add portable layer for dynamic loading
5476         * src/dynlib.h: New file.
5477         * src/dynlib.c: New file.
5479 2015-11-18  Philipp Stephani  <phst@google.com>
5481         Add catch-all & no-signal version of PUSH_HANDLER
5483         Ground work for modules. Add a non-signaling version of PUSH_HANDLER and
5484         a new "catch-all" handler type.
5486         * src/eval.c (init_handler, push_handler, push_handler_nosignal): New
5487           functions.
5488         * src/fns.c (hash_remove_from_table): Expose function public.
5489         * src/lisp.h: New handler type, define macro to push_handler call.
5491 2015-11-18  Ken Brown  <kbrown@cornell.edu>
5493         Silence byte-compiler warning
5495         * lisp/server.el (server-process-filter): Silence byte-compiler
5496         warning.
5498 2015-11-18  Paul Eggert  <eggert@cs.ucla.edu>
5500         Quote symbols in docstrings using `'
5502         Be more systematic about quoting symbols `like-this' rather than
5503         `like-this or 'like-this' in docstrings.  This follows up Artur
5504         Malabarba's email in:
5505         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html
5507 2015-11-18  Peder O. Klingenberg  <peder@klingenberg.no>
5509         Fix savegames in dunnet
5511         * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead
5512           of separate implementation.
5514 2015-11-18  Artur Malabarba  <bruce.connor.am@gmail.com>
5516         * lisp/emacs-lisp/package.el (package--with-response-buffer):
5518         Ensure we're at the start of the buffer before searching for
5519         the end of headers.
5521 2015-11-17  Xue Fuqiao  <xfq.free@gmail.com>
5523         * admin/release-process: Improve wording.
5525 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5527         Fix docstring quoting problems with ‘ '’
5529         Problem reported by Artur Malabarba in:
5530         http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html
5531         Most of these fixes are to documentation; many involve fixing
5532         longstanding quoting glitches that are independent of the
5533         recent substitute-command-keys changes.  The changes to code are:
5534         * lisp/cedet/mode-local.el (mode-local-augment-function-help)
5535         (describe-mode-local-overload):
5536         Substitute docstrings before displaying them.
5537         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
5538         Quote the generated docstring for later substitution.
5540 2015-11-17  Eli Zaretskii  <eliz@gnu.org>
5542         Improve configure --help text for wide ints
5544         * configure.ac (wide-int): Clarify user-level advantages and
5545         disadvantages.
5547 2015-11-17  Stephen Leake  <stephen_leake@stephe-leake.org>
5549         Improve doc string
5551         * lisp/progmodes/xref.el (xref-backend-references): Improve doc string.
5553 2015-11-17  Paul Eggert  <eggert@cs.ucla.edu>
5555         eval_sub followed dangling pointer when debugging
5557         Problem reported by Pip Cet (Bug#21245).
5558         This bug could occur in eval_sub if the C compiler reused
5559         storage associated with the ‘argvals’ local after ‘argvals’
5560         went out of scope, and if the Elisp debugger stopped on Elisp
5561         function exit and accessed ‘argvals’.  It could also occur if
5562         a variadic function was called with so many arguments (over
5563         2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then
5564         SAFE_FREE freed the arguments, then the memory manager used
5565         the storage for other purposes, then the debugger accessed the
5566         arguments.
5567         * src/eval.c (eval_sub): Declare ‘argvals’ at top level of
5568         function body.  Simplify local decls.
5569         When allocating args via SAFE_ALLOCA, call
5570         debugger before invoking SAFE_FREE, as the debugger needs
5571         access to the args.
5572         (eval_sub, apply_lambda): Rework to avoid need for
5573         set_backtrace_debug_on_exit hack.  This is cleaner,
5574         and should work better with buggy custom debuggers.
5576 2015-11-16  Daiki Ueno  <ueno@gnu.org>
5578         * lisp/image-mode.el: Support encrypted file
5580         (image-toggle-display-image): Read content from the buffer instead
5581         of the file, if the buffer holds a decrypted data.  (Bug#21870)
5583 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
5585         ELF unexec: align section header
5587         This ports the recent unexelf.c changes to Fedora x86-64
5588         when configured with GCC’s -fsanitize=undefined option.
5589         * src/unexelf.c (unexec): Align new_data2_size to a multiple
5590         of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a
5591         pointer aligned appropriately for its type.
5593 2015-11-16  Andreas Schwab  <schwab@linux-m68k.org>
5595         Do more checks on bytecode objects (Bug#21929)
5597         * src/eval.c (funcall_lambda): Check size of compiled function
5598         object.
5599         (Ffetch_bytecode): Likewise.
5601 2015-11-16  Johan Bockgård  <bojohan@gnu.org>
5603         pcase.el: Fix edebugging of backquoted cons patterns
5605         * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted
5606         cons patterns. (Bug#21920)
5608 2015-11-16  Paul Eggert  <eggert@cs.ucla.edu>
5610         Improve fix for regex reentrancy abort
5612         Suggested by Stefan Monnier (Bug#21688).
5613         * src/syntax.c (update_syntax_table_forward):
5614         Remove recently-added PROPERTIZE arg, and assume it is true.
5615         All callers changed.
5616         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST):
5617         Invoke update_syntax_table directly.
5619 2015-11-16  Artur Malabarba  <bruce.connor.am@gmail.com>
5621         * lisp/faces.el (faces--attribute-at-point): Use `face-list-p'
5623         * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require
5625         * lisp/emacs-lisp/nadvice.el (add-function): Escape quote
5627 2015-11-15  Vasily Korytov  <vasily.korytov@yahoo.com>
5629         Recognize .rbw and .pyw files (bug#18753)
5631         * lisp/progmodes/python.el (auto-mode-alist):
5632         Recognize .pyw files.
5634         * lisp/progmodes/ruby-mode.el (auto-mode-alist):
5635         Recognize .rbw files.
5637 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
5639         Fix ruby-mode auto-mode-alist entry
5641         * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping
5642         around the extensions (bug#21257).
5644 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
5646         Fix etags completion near eob
5648         * lisp/progmodes/etags.el (tags-completion-at-point-function):
5649         Use `goto-char', to avoid the end-of-buffer error (bug#20061).
5651 2015-11-15  Alan Mackenzie  <acm@muc.de>
5653         De-pessimize detection of C++ member initialization lists.
5655         list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro.
5656         (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p
5657         is only called when a construct "looks right" rather than continually.
5658         (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode.
5660 2015-11-15  Stephen Leake  <stephen_leake@stephe-leake.org>
5662         Improve a few doc strings, comments
5664         * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename):
5665         * lisp/cedet/ede/locate.el (ede-locate-base):
5666         * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir):
5667         * src/fns.c (Fdelq): Improve doc string.
5669         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME.
5671 2015-11-15  Anders Lindgren  <andlind@gmail.com>
5673         Enhance NSTRACE (trace output for NextStep).
5675         Trace can be disabled for groups of functions. By default, event
5676         functions and functions that generate lots of output are disabled.
5678         Trace output of Objective-C functions now use the "[ClassName
5679         parameter:]" form.
5681         * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS)
5682         (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR)
5683         (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros,
5684         controlling in which function groups trace should be active.
5685         (NSTRACE_WHEN): Support for silencing a function, this also
5686         silencing all called functions.
5687         (NSTRACE_UNSILENCE): New macro, used to re-enable trace.
5688         (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to
5689         print the full screen state in NSTRACE functions.
5691         * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they
5692         can be accessed from multiple threads.
5693         (nstrace_enabled_global): New variable, when FALSE, trace is
5694         silenced.
5695         (nstrace_restore_global_trace_state): New function, used to
5696         restore `nstrace_enabled_global' at end of block.
5697         ([EmacsView setFrame:], [EmacsWindow setFrame:display:])
5698         ([EmacsWindow setFrame:display:animation:])
5699         ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace
5700         and call corresponding super function.
5701         (Many functions): Add or enhance trace output.
5703         * src/nsimage.m (ns_image_from_file): Enhanced trace output.
5705         * src/nsfns.m (x_set_tool_bar_lines): Add trace output.
5707         * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace
5708         and call corresponding super function.
5710 2015-11-15  Anders Lindgren  <andlind@gmail.com>
5712         Fixed a toolbar related issue on OS X.
5714         Earlier, when toggling the tool-bar in a maximized frame, the
5715         frame size didn't match the number of text lines, leaving an
5716         unused area at the bottom of the frame.
5718         * nsfns.m (x_set_tool_bar_lines): Exit maximized and full height
5719         fullscreen modes when tool bar is disabled.
5721 2015-11-15  Anders Lindgren  <andlind@gmail.com>
5723         Fixed OS X 10.6.8 build issue (bug#21862).
5725         * src/nsterm.h (EmacsView): Add missing declarations.
5726         * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like
5727         the standard method but without the notification parameter.
5728         Intended to be used for direct calls.
5729         ([EmacsView windowDidEnterFullScreen]): Call the non-notification
5730         version of `windowDidBecomeKey'. Made the notification method call
5731         the non-notification method instead of the vice versa.
5732         (NSWindowDidEnterFullScreenNotification): Deleted, no longer
5733         needed.
5735 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5737         * lisp/faces.el (faces--attribute-at-point): Fix an issue
5739         Previous code would signal an error when the face at point was
5740         a manually built list of attributes such as '(:foregroud "white").
5742         * test/automated/faces-tests.el (faces--test-color-at-point): Add a test
5744 2015-11-15  Paul Eggert  <eggert@cs.ucla.edu>
5746         Fix regex abort when it tries to reenter itself
5748         Problem reported by Ken Raeburn.
5749         Solution suggested by Stefan Monnier (Bug#21688).
5750         * src/regex.c (re_match_2_internal):
5751         Use new _FAST functions to avoid regex code reentering itself.
5752         * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE.
5753         All callers changed.
5754         * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST)
5755         (UPDATE_SYNTAX_TABLE_FAST): New inline functions.
5757 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
5759         Improve Ruby 1.9-style keyword keys highlighting
5761         * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords):
5762         Handle required keyword arguments (bug#21367).
5763         And highlight the colon together with the name.
5765 2015-11-15  Dmitry Gutov  <dgutov@yandex.ru>
5767         Unify the absolutely equal xref-backend-references implementations
5769         * lisp/progmodes/elisp-mode.el (xref-backend-references):
5770         Remove.
5772         * lisp/progmodes/etags.el (xref-backend-references):
5773         Remove.
5775         * lisp/progmodes/xref.el (xref-backend-references):
5776         Define the default implementation.
5778 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
5780         Update project-find-regexp for the new xref API
5782         * lisp/progmodes/project.el (project--read-regexp):
5783         Update to use the new xref API methods.
5785         * lisp/progmodes/xref.el (xref-find-backend): Autoload.
5787 2015-11-14  Dmitry Gutov  <dgutov@yandex.ru>
5789         Fix replacing a match with a shorter string
5791         In effect, partially reverting fe973fc.
5793         * lisp/progmodes/xref.el (xref-query-replace): Store the end
5794         of each match as a marker again, instead of length.
5795         (xref--query-replace-1): Update accordingly.
5797 2015-11-14  Artur Malabarba  <bruce.connor.am@gmail.com>
5799         * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors
5801         Signal user-errors instead.
5803 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
5805         Document 'describe-symbol'
5807         * doc/emacs/help.texi (Help Summary): Mention "C-h o".
5808         (Name Help): Document "C-h o" and describe-symbol.
5810         * lisp/help-fns.el (describe-symbol): Doc fix.
5812 2015-11-14  Paul Eggert  <eggert@cs.ucla.edu>
5814         Change test name to avoid spellcheck issue.
5816 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
5818         Avoid signaling an error in 'describe-symbol'
5820         * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol
5821         exists as a function/variable/face/etc., but is undocumented.
5823         * test/automated/help-fns.el (help-fns-test-describe-symbol): New
5824         test.
5826 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
5828         * INSTALL (--with-cairo): Document this new configure option.
5830 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
5832         Document that GNU Make >= 3.81 is required to build Emacs
5834         * doc/lispref/internals.texi (Building Emacs): Document that GNU
5835         Make 3.81 or later is now required.
5837 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
5839         * CONTRIBUTE (Branches): Improve wording for back-ported commits.
5841 2015-11-13  l3thal  <kwhite@gnu.org>
5843         Merge branch 'erc-async-reconnect' into emacs-25
5845         Reconnect asynchronously.
5847 2015-11-11  Alan Mackenzie  <acm@muc.de>
5849         First commit to scratch/follow.  Make Isearch work with Follow Mode, etc.
5851         doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of
5852         Windows" and new @defun selected-window-group.
5853         (Window Start and End): Describe new &optional parameter GROUP and
5854         ...-group-function for window-start, window-end, set-window-start, and
5855         pos-visible-in-window-p.
5856         (Textual Scrolling) Describe the same for recenter.
5857         doc/lispref/positions.texi (Screen Lines): Describe the same for
5858         move-to-window-line.
5860         src/window.c (Fwindow_start, Fwindow_end, Fset_window_start)
5861         (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar
5862         new optional parameter "group".  At the beginning of each, check whether the
5863         corresponding ...-group-function is set to a function, and if so execute this
5864         function in place of the normal processing.
5865         (syms_of_window): Define symbols for the six new variables below.
5866         (window-start-group-function, window-end-group-function)
5867         (set-window-start-group-function, recenter-group-function)
5868         (pos-visible-in-window-p-group-function, move-to-window-line-group-function):
5869         New permanent local buffer local variables.
5870         src/keyboard.c (Fposn_at_point): Add extra parameter in call to
5871         Fpos_visible_in_window_p.
5873         lisp/window.el (selected-window-group-function): New permanent local buffer
5874         local variable.
5875         (selected-window-group): New function.
5877         lisp/follow.el (follow-mode): Set the ...-group-function variables at mode
5878         enable, kill them at mode disable.  Add/remove follow-after-change to/from
5879         after-change-functions.
5880         (follow-start-end-invalid): New variable.
5881         (follow-redisplay): Manipulate follow-start-end-invalid.
5882         (follow-after-change, follow-window-start, follow-window-end)
5883         (follow-set-window-start, follow-pos-visible-in-window-p)
5884         (follow-move-to-window-line, follow-sit-for): New functions.
5886         lisp/isearch.el (isearch-call-message): New macro.
5887         (isearch-update, with-isearch-suspended, isearch-del-char)
5888         (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro.
5889         (with-isearch-suspended): Rearrange code such that isearch-call-message is
5890         invoked before point is moved.
5891         (isearch-message): Add comment about where point must be at function call.
5892         (isearch-search): Remove call to isearch-message.
5893         (isearch-lazy-highlight-window-group): New variable.
5894         (isearch-lazy-highlight-new-loop): Unconditionally start idle timer.  Move
5895         the battery of tests to ...
5896         (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer.
5897         Note: (sit-for 0) is still called.
5898         (isearch-lazy-highlight-update): Check membership of
5899         isearch-lazy-highlight-window-group.  Don't set the `window' overlay
5900         property.
5901         (isearch-update, isearch-done, isearch-string-out-of-window)
5902         (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop)
5903         (isearch-lazy-highlight-search, isearch-lazy-highlight-update)
5904         (isearch-lazy-highlight-update): Call the six amended primitives (see
5905         src/window.c above) with the new `group' argument set to t, to cooperate
5906         with Follow Mode.
5908 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
5910         * shr.el (shr-descend): Allow using lambdas in external functions.
5912 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
5914         * admin/gitmerge.el: Tweaks that seemed necessary
5916         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
5917         (gitmerge-maybe-resume): Provide explicit empty commit message.
5919 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
5921         Use a different port for TLS erc
5923         * lisp/erc/erc.el (erc-default-port-tls): New variable
5924         (bug#19497).
5925         * lisp/erc/erc.el (erc-tls): Use it.
5927 2015-12-25  Alain Schneble  <a.s@realize.ch>
5929         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
5931         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
5932         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
5933         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
5934         information in URL-struct.
5935         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
5936         path and query into nil path and query, respectively.
5937         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
5938         empty path into an absolute ("/") path.
5939         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
5940         fragment-only URIs. Do not just return them unchanged.
5941         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
5942         reference URI should not drop the last segment.
5944 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5946         Let url use default file modes when copying files
5948         * lisp/url/url-handlers.el (url-copy-file): Use default file
5949         modes when copying files (bug#11400).
5951 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
5953         Doc fix for url-http
5955         * lisp/url/url-http.el (url-http): Document better return values
5956           (bug#13187) (tiny change)
5958 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5960         * eww.el (eww-display-html): Support <button> tags (bug#20485).
5962 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5964         Made ffap-url-p a defun instead of a defsubst
5966         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
5967         since there doesn't seem to be much of a reason for it to be a
5968         defsubst (bug#18203).
5970 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5972         Add a command to view files in the browser to dired
5974         * lisp/dired.el (dired-mode-map): Add the `W' command
5975         (bug#18810).
5977 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5979         Allow http://user:pass@foo/ URLs again
5981         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
5982         user/passwords in URLs (bug#19046).
5984 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5986         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
5988 2015-12-25  Samer Masterson  <samer@samertm.com>
5990         Autoload url-insert-buffer-contents
5992         * lisp/url/url-handlers.el: Add autoload cookie so that
5993         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
5995 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
5997         Allow toggling colors in eww
5999         * doc/misc/eww.texi (Basics): Mention "C".
6001         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
6003         * lisp/net/shr.el (shr-use-colors): New variable.
6004         (shr-colorize-region): Use it.
6006 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6008         Follow meta refresh tags in eww
6010         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
6012 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6014         More eww file name coding fixes
6016         * eww.el (eww-decode-url-file-name): Use the base coding
6017         system to check for encodability.
6019 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6021         Always save eww history
6023         * eww.el (eww-setup-buffer): Always save history, even when
6024         called from outside the eww buffer (bug#19638).
6026 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6028         Default web pages to right-to-left
6030         * eww.el (eww-mode): Most web pages are left-to-right, so make
6031         that the default (bug#19801).
6033         * shr.el (shr-tag-html): Respect "dir" attributes
6034         (left-to-right, right-to-left).
6036 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6038         Make toggling checkboxes work again
6040         * eww.el (eww-update-field): Make toggling checkboxes work
6041         again (bug#21881).
6043 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6045         Don't store cookies with empty names
6047         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
6048         cookies with empty names (bug#21936).
6050 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6052         * shr.el (shr-descend): Stop rendering before we run out of
6053         specpdl room (bug#22117).
6055 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6057         Use cl-reduce, not reduce.
6059 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
6061         Allow several <tbody> tags in shr
6063         * shr.el (shr-table-body): New function to find the real body
6064         of a table.
6065         (shr-tag-table): Use it to render several <tbody> tags in a
6066         table (bug#22170).
6068 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6070         Make prettier unique file names in eww
6072         (eww-make-unique-file-name): Make unique file names by making
6073         files like foo(2).jpg instead of foo(1)(2).jpg.
6075 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6077         Decode hex-encoded URLs before using them as file names
6079         * eww.el (eww-decode-url-file-name): New function.
6080         (eww-download-callback): Use it to decode file names before
6081         saving them.
6083 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>  (tiny change)
6085         * doc/misc/emacs-gnutls.texi (Help For Users): Document FreeBSD bundle.
6086         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
6088 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6090         Allow overriding shr functions from eww
6092         * eww.el (eww-display-html): Allow overriding elements in
6093         `shr-external-rendering-functions'.
6095 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6097         Ignore invalid SVG images
6099         * shr.el (shr-tag-svg): Ignore SVG images that have no width
6100         or height, because these can't be displayed by ImageMagick,
6101         anyway.
6103 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
6105         shr table rendering fix
6107         * shr.el (shr-tag-table): Allow rendering body-less tables
6108         that have headers.
6110 2015-12-22  Sam Steingold  <sds@gnu.org>
6112         clipboard should still work even if interprogram-* is disabled
6114         (clipboard-yank): When `interprogram-cut-function' is nil,
6115         bind it to `gui-selection-value' - the default value.
6116         (clipboard-kill-region, clipboard-kill-ring-save): When
6117         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
6118         the default value.
6120 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
6122         Fix bootstrap issue with dired-loaddefs
6124         * lisp/dired.el: Autoloads for secondary files loaded optionally.
6126 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6128         dired generate autoloads to non-versioned file.
6130         * lisp/dired.el: Remove autoloads.
6131         * lisp/Makefile.in: Add dired to autogenel.
6132         * lisp/dired-aux.el,lisp/dired-x.el: Update file local.
6133         * test/lisp/dired-tests.el: Add new test.
6135 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6137         eieio generate autoloads to non-versioned file.
6139         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
6140         * lisp/emacs-lisp/eieio.el,lisp/emacs-lisp/eieio-core.el:
6141           Remove autoloads.
6142         * lisp/emacs-lisp/eieio-compat.el,lisp/emacs-lisp/eieio-custom.el,
6143           lisp/emacs-lisp/eieio-opt.el: Update file local.
6144         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
6146 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6148         htmlfontify generate autoload to non-versioned file.
6150         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
6151         * lisp/hfy-cmap.el: Update file local.
6152         * lisp/htmlfontify.el: Remove autoloads, add require.
6153         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
6155 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6157         ibuffer generate autoloads to non-versioned file.
6159         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
6160         * lisp/ibuf-ext.el: Update file local.
6161         * lisp/ibuffer.el: Remove autoloads and add a require.
6162         * test/lisp/ibuffer-tests.el: Test that autoload is working.
6164 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6166         rmail generate autoloads to non-versioned file.
6168         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
6169         * lisp/mail/rmail.el: Remove autoloads, add require.
6170         * lisp/mail/rmailedit.el,lisp/mail/rmailkwd.el,
6171           lisp/mail/rmailmm.el,lisp/mail/rmailmsc.el,
6172           lisp/mail/rmailsort.el,lisp/mail/rmailsum.el,
6173           lisp/mail/undigest.el: Update file-local.
6174         * test/lisp/mail/rmail-tests.el:
6176 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6178         Add autoload-force target.
6180         * lisp/Makefile.in (autoload-force): New target.
6182 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6184         ps-print generate autoloads to non versioned file.
6186         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
6187         * lisp/ps-print.el: Remove autoloads.
6188         * lisp/ps-mule.el: Update file-local.
6189         * test/lisp/ps-print-tests.el: Test autoload functionality.
6191 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
6193         reftex generate autoloads to non versioned file.
6195         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
6196         * lisp/textmodes/reftex.el: Remove autoloads.
6197         * lisp/textmodes/reftex-auc.el,lisp/textmodes/reftex-cite.el,
6198           lisp/textmodes/reftex-dcr.el,lisp/textmodes/reftex-global.el,
6199           lisp/textmodes/reftex-index.el,lisp/textmodes/reftex-parse.el,
6200           lisp/textmodes/reftex-ref.el,lisp/textmodes/reftex-sel.el,
6201           lisp/textmodes/reftex-toc.el: Update autoload file-local.
6202         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
6203           function.
6205 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
6207         * lisp/calculator.el (calculator-define-key): Undo last change
6209         Make map argument mandatory instead (bug#22106).
6210         (calculator-add-operators): Pass the argument that's not optional any more.
6212 2015-12-03  Glenn Morris  <rgm@gnu.org>
6214         * Makefile.in: Avoid duplication.
6216         (have-tests): New rule.
6217         (check, check-maybe): Use it.
6219 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
6221         make check unconditional, check-maybe top-level.
6223          * Makefile.in: Add check-maybe target.
6224          * test/Makefile.in: Restore unconditional behaviour to make check.
6226 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
6228         Tests now support out-of-source-build.
6230          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
6231            about current working directory.
6233 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6235         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
6237 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
6239         Improve documentation and clean up.
6241          * test/Makefile.in: Improve documentation, use EMACS variable
6242            correctly, and clean up makefile rules.
6244 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
6246         Update file headers for name change.
6248          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
6250 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
6252         Test files renamed to new scheme.
6254          * (finalizer-tests.el): Now renamed alloc-tests.el
6255          * (zlib-tests.el): Now renamed decompress-tests.el.
6257 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
6259         Tests now depend on source files
6261          * test/Makefile.in: Include dependences from tests to source files.
6262          * test/make-test-deps.emacs-lisp: New file
6263          * .gitignore: Ignore generated make include file
6265 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
6267         * lisp/progmodes/which-func.el: Improve disabling the mode
6269         Use lexical-binding.
6270         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
6271         (which-func, which-func-format): Remove redundant :group arg.
6272         (which-func-try-to-enable): New function.
6273         (which-func-ff-hook, which-function-mode): Use it.
6274         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
6275         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
6277 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
6279         * lisp/calculator.el (calculator-define-key): Silence warning
6281         ...about unknown calculator-mode-map.
6283 2015-11-29  Eli Barzilay  <eli@barzilay.org>
6285         * lisp/calculator.el: more improvements and bugfixes.
6287         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
6288           effect anyway.)
6290         - Simplify `calculator-number-to-string' by throwing most of the work
6291           onto `number-to-string', leaving just some tweaks for decimal inputs.
6292           This leads to some minor changes, for example, pasting "1x1" in hex
6293           mode would warn that "x" is ignored and result in "11" (and it wasn't
6294           done in decimal mode), whereas now it just ignores everything from the
6295           "x" and on and result in a "1" just like in decimal input mode.  Also,
6296           overflows are left for `number-to-string' to deal with.
6298         - `calculator-paste' is very simple as a result.
6300         - Extend the simplified `calculator-paste': with a prefix argument it
6301           pastes a string as if the characters were entered.  This can be used
6302           to reduce expressions, but note that it's a simple literal operation,
6303           so precedence can be messed, a number can be paster while entering a
6304           number, spaces and newlines matter, etc.
6306         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
6307           operator.
6309         - Fix a bug in `calculator-put-value': avoid grouping in the display
6310           that is used to construct `calculator-curnum'.  This would trigger
6311           when pasting or getting a value from a register in some radix mode
6312           with a large enough value.  Another fix: make the output radix equal
6313           the input one, otherwise numbers could be converted twice.
6315 2015-11-29  Eli Barzilay  <eli@barzilay.org>
6317         * lisp/calculator.el: Re-do key bindings.
6319         Use a helper function that arranges a parent keymap that binds alternate
6320         case keys so if some letter key is unbound and it's un/shifted version
6321         is, it will get used.  This makes the global-map trickery unnecessary.
6323         Also switch to passing strings that name keys through `kbd'.
6325 2015-11-29  Eli Barzilay  <eli@barzilay.org>
6327         * lisp/calculator.el: improve radix modes
6329         Fix prompt for some input radix with decimal output (eg, "BD" instead of
6330         the incorrect "B="); also, some minor docstring tweaks for these.
6332 2015-11-29  Eli Barzilay  <eli@barzilay.org>
6334         * lisp/calculator.el: better reading of register names
6336         Use `register-read-with-preview' with a dynamically bound
6337         `register-alist' and a proper preview function to read register names.
6339 2015-11-29  Eli Barzilay  <eli@barzilay.org>
6341         * lisp/calculator.el: General improvements
6343         Use things like `when', `unless', and `push'.
6345         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
6346         non-electric mode.
6348 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
6350         Fix a problem with gfilenotify in filenotify-tests.el
6352         * test/lisp/filenotify-tests.el
6353         (file-notify--test-expected-events): Remove.
6354         (file-notify--test-cleanup): Do not set that variable.
6355         (file-notify--test-with-events): EVENTS can also be a list of lists.
6356         (file-notify-test02-events, file-notify-test04-file-validity):
6357         Adapt expected result.
6359 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6361         * .gitignore: Adjust to changes in 'test' directory structure.
6363 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
6365         Fix test/manual/etags/Makefile
6367         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
6368         changes in 'test' directory structure.
6370 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
6372         Exclude resource dirs from search for tests.
6374         * test/Makefile.in: Test file locations are now found with find
6375           rather than using finds native functions.
6377 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
6379         Add test targets without directory names.
6381          * (test/Makefile.in): Extend test_template to add two targets for each
6382            file.
6384 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6386         * lisp/emacs-lisp/package.el: Require url-handlers
6388 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
6390         Move elisp-mode-tests to new function names.
6392          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
6393          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
6395 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
6397         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
6399 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
6401         Merge branch 'feature/standard-test-location'
6403 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
6405         * lisp/emacs-lisp/eieio.el: Add some default implementations
6407         (standard-class): Mark it obsolete.
6408         (slot-missing): Give it a default implementation.
6409         (destructor): Simplify and mark it obsolete.
6410         (object-print): Give it a default implementation.
6411         (eieio-change-class): Rename from change-class.
6412         (change-class): Redefine as obsolete alias.
6414 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6416         Some final fixes in file notification before merging with master
6418         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
6419         (file-notify-callback): Improve check for `stopped' event.  Call
6420         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
6421         (file-notify-add-watch): In case FILE is not a directory, call the
6422         file monitor for the kqueue backend.  Otherwise, call the
6423         directory monitor for the upper directory.
6425         * src/inotify.c (inotifyevent_to_event): Extract file name from
6426         watch_object if the event doesn't provide it.
6427         (Finotify_add_watch): Add file name to watch_object.
6429         * test/automated/file-notify-tests.el (file-notify--test-timeout):
6430         Use different timeouts for different libraries.
6431         (file-notify--test-with-events): Suppress lock files.  Flush
6432         outstanding events before running the body.
6433         (file-notify-test02-events, file-notify-test04-file-validity): Do
6434         not skip cygwin tests.  Add additional test for file creation.
6435         Adapt expected result for different backends.
6436         (file-notify-test03-autorevert): Some of the tests don't work for
6437         w32notify.
6438         (file-notify-test06-many-events): Rename into both directions.
6440 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6442         Rework file notifications, kqueue has problems with directory monitors
6444         * lisp/filenotify.el (file-notify-add-watch): Call the native
6445         add-watch function on the file, not on the dir.
6447         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
6448         about already deleted entries.
6450         * test/automated/auto-revert-tests.el
6451         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
6452         since this deletes the target file first.
6454         * test/automated/file-notify-tests.el (file-notify--test-event-test):
6455         Make stronger checks.
6456         (file-notify-test01-add-watch, file-notify-test02-events)
6457         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
6458         Rewrite in order to call file monitors but directory monitors.
6459         (file-notify-test06-many-events): Ler rename work in both directions.
6461 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6463         Continue with pending events
6465         * src/kqueue.c (pending_events): Remove global variable.
6466         (kqueue_compare_dir_list): Create `write' event for not used
6467         pending events.
6468         (globals_of_kqueue): Remove initialization of pending_events.
6470 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6472         Improve loops in file-notify-test06-many-events
6474         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
6475         Use `read-event' pauses for the `write-file' loops; otherwise
6476         events are lost in inotify and gfilenotify cases.
6478 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6480         Handle more complex rename operation in kqueue
6482         * src/kqueue.c (pending_events): New variable.
6483         (kqueue_compare_dir_list): Handle more complex rename operation.
6484         (globals_of_kqueue): Initialize pending_events.
6486         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
6487         Adapt expected events in the `rename-file' case.
6488         (file-notify-test06-many-events-remote): Declare.
6490 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
6492         New test with a larger number of events
6494         * test/automated/file-notify-tests.el (file-notify--test-with-events):
6495         Make timeout heuristically depend on the number of events.
6497         (file-notify-test06-many-events): Use it for new test.
6499 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6501         Further fixes for kqueue
6503         * lisp/filenotify.el (file-notify-callback): Raise also event if
6504         directory name matches.
6505         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
6507         * src/kqueue.c (kqueue_generate_event): Use watch_object as
6508         argument instead of ident.  Remove callback argument.  Adapt
6509         callees.  Check actions whether they are monitored flags.
6511         * test/automated/file-notify-tests.el (file-notify--test-library):
6512         New defun.
6513         (file-notify-test00-availability, file-notify-test02-events)
6514         (file-notify-test04-file-validity)
6515         (file-notify-test05-dir-validity): Use it.
6516         (file-notify-test02-events, file-notify-test04-file-validity): Add
6517         `read-event' calls between different file actions, in order to
6518         give the backends a chance to rais an event.  Needed especially
6519         for kqueue.  In case of deleting a directory, there are two
6520         `deleted' events.
6522 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6524         Code cleanup of kqueue.c
6526         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
6527         (kqueue_compare_dir_list): Do not loop when calling
6528         directory_files_internal.  Remove checks for "." and "..", this is
6529         done in kqueue_directory_listing now.
6530         (Fkqueue_add_watch): Check for proper emacs_open flags.
6532 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6534         Doc changes for kqueue
6536         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
6537         Fix some glitches in the example.
6539 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6541         Finish implementation in kqueue.c
6543         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
6544         Simplify access to list.
6545         (kqueue_compare_dir_list): Simplify access to list.  Raise
6546         `delete' event if directory does not exist any longer.  Otherwise,
6547         wait until directory contents has changed.  Fix error in check.
6549 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6551         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
6553 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6555         More work on kqueue
6557         * lisp/filenotify.el (file-notify-callback): Handle also the
6558         `rename' event from kqueue.
6559         (file-notify-add-watch): Do not register an entry twice.
6561         * src/kqueue.c (kqueue_directory_listing): New function.
6562         (kqueue_generate_event): New argument FILE1.  Adapt callees.
6563         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
6565 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6567         Implement directory events
6569         * lisp/filenotify.el (file-notify-handle-event)
6570         (file-notify-callback): Remove traces.
6572         * src/kqueue.c: Include <sys/time.h>.
6573         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
6574         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
6575         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
6576         Compute initial directory listing.  Close file descriptor in case
6577         of errors.
6578         (syms_of_kqueue): Declare Qcreate.
6580 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
6582         Build fixes for kqueue support
6584         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
6585         flag.
6587         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
6588         kqueue on *BSD.
6590 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6592         Continue kqueue implementation
6594         * lisp/filenotify.el (file-notify-handle-event)
6595         (file-notify-callback): Enable trace messages.
6597         * src/kqueue.c: Include also <sys/types.h>.
6598         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
6599         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
6600         (syms_of_kqueue): Add them.
6602 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6604         Work on kqueue
6606         * lisp/filenotify.el (file-notify--library)
6607         (file-notify-descriptors, file-notify-callback)
6608         (file-notify-add-watch, file-notify-rm-watch)
6609         (file-notify-valid-p): Add kqueue support.
6611         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
6613 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
6615         Add kqueue support
6617         * configure.ac (--with-file-notification): Add kqueue.
6618         (top): Remove special test for "${HAVE_NS}" and
6619         ${with_file_notification}, this is handled inside gfilenotify
6620         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
6621         instead of library specific variables.
6623         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
6625         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
6627         * src/kqueue.c: New file.
6629         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
6631 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
6633         Update elisp-mode-tests for changed file location.
6635          * test/lisp/progmodes/elisp-mode-tests.el:
6637 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
6639         Exclude manual tests from Makefile
6641          * test/Makefile.in:
6643 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
6645         Move package test files to new directory.
6647          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
6648          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
6650 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
6652         Restore delete Makefiles and fix .gitignore.
6654          * .gitignore: Update Makefiles to changed locations
6655          * test/lisp/progmodes/flymake-resources/Makefile,
6656            test/manual/etags/Makefile,
6657            test/manual/etags/make-src/Makefile,
6658            test/manual/indent/Makefile: Restored and moved to new location.
6660 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
6662         Test infrastructure: updates after directory move
6664          * (test/Makefile.in): Support directories several levels deep.
6665          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
6666          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
6668 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
6670         Rename all test files to reflect source layout.
6672          * CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
6673            test directory moves.
6674          * test/file-organisation.org: New file.
6675          * test/automated/Makefile.in
6676            test/automated/data/decompress/foo.gz
6677            test/automated/data/epg/pubkey.asc
6678            test/automated/data/epg/seckey.asc
6679            test/automated/data/files-bug18141.el.gz
6680            test/automated/data/flymake/test.c
6681            test/automated/data/flymake/test.pl
6682            test/automated/data/package/archive-contents
6683            test/automated/data/package/key.pub
6684            test/automated/data/package/key.sec
6685            test/automated/data/package/multi-file-0.2.3.tar
6686            test/automated/data/package/multi-file-readme.txt
6687            test/automated/data/package/newer-versions/archive-contents
6688            test/automated/data/package/newer-versions/new-pkg-1.0.el
6689            test/automated/data/package/newer-versions/simple-single-1.4.el
6690            test/automated/data/package/package-test-server.py
6691            test/automated/data/package/signed/archive-contents
6692            test/automated/data/package/signed/archive-contents.sig
6693            test/automated/data/package/signed/signed-bad-1.0.el
6694            test/automated/data/package/signed/signed-bad-1.0.el.sig
6695            test/automated/data/package/signed/signed-good-1.0.el
6696            test/automated/data/package/signed/signed-good-1.0.el.sig
6697            test/automated/data/package/simple-depend-1.0.el
6698            test/automated/data/package/simple-single-1.3.el
6699            test/automated/data/package/simple-single-readme.txt
6700            test/automated/data/package/simple-two-depend-1.1.el
6701            test/automated/abbrev-tests.el
6702            test/automated/auto-revert-tests.el
6703            test/automated/calc-tests.el
6704            test/automated/icalendar-tests.el
6705            test/automated/character-fold-tests.el
6706            test/automated/comint-testsuite.el
6707            test/automated/descr-text-test.el
6708            test/automated/electric-tests.el
6709            test/automated/cl-generic-tests.el
6710            test/automated/cl-lib-tests.el
6711            test/automated/eieio-test-methodinvoke.el
6712            test/automated/eieio-test-persist.el
6713            test/automated/eieio-tests.el
6714            test/automated/ert-tests.el
6715            test/automated/ert-x-tests.el
6716            test/automated/generator-tests.el
6717            test/automated/let-alist.el
6718            test/automated/map-tests.el
6719            test/automated/advice-tests.el
6720            test/automated/package-test.el
6721            test/automated/pcase-tests.el
6722            test/automated/regexp-tests.el
6723            test/automated/seq-tests.el
6724            test/automated/subr-x-tests.el
6725            test/automated/tabulated-list-test.el
6726            test/automated/thunk-tests.el
6727            test/automated/timer-tests.el
6728            test/automated/epg-tests.el
6729            test/automated/eshell.el
6730            test/automated/faces-tests.el
6731            test/automated/file-notify-tests.el
6732            test/automated/auth-source-tests.el
6733            test/automated/gnus-tests.el
6734            test/automated/message-mode-tests.el
6735            test/automated/help-fns.el
6736            test/automated/imenu-test.el
6737            test/automated/info-xref.el
6738            test/automated/mule-util.el
6739            test/automated/isearch-tests.el
6740            test/automated/json-tests.el
6741            test/automated/bytecomp-tests.el
6742            test/automated/coding-tests.el
6743            test/automated/core-elisp-tests.el
6744            test/automated/decoder-tests.el
6745            test/automated/files.el
6746            test/automated/font-parse-tests.el
6747            test/automated/lexbind-tests.el
6748            test/automated/occur-tests.el
6749            test/automated/process-tests.el
6750            test/automated/syntax-tests.el
6751            test/automated/textprop-tests.el
6752            test/automated/undo-tests.el
6753            test/automated/man-tests.el
6754            test/automated/completion-tests.el
6755            test/automated/dbus-tests.el
6756            test/automated/newsticker-tests.el
6757            test/automated/sasl-scram-rfc-tests.el
6758            test/automated/tramp-tests.el
6759            test/automated/obarray-tests.el
6760            test/automated/compile-tests.el
6761            test/automated/elisp-mode-tests.el
6762            test/automated/f90.el
6763            test/automated/flymake-tests.el
6764            test/automated/python-tests.el
6765            test/automated/ruby-mode-tests.el
6766            test/automated/subword-tests.el
6767            test/automated/replace-tests.el
6768            test/automated/simple-test.el
6769            test/automated/sort-tests.el
6770            test/automated/subr-tests.el
6771            test/automated/reftex-tests.el
6772            test/automated/sgml-mode-tests.el
6773            test/automated/tildify-tests.el
6774            test/automated/thingatpt.el
6775            test/automated/url-future-tests.el
6776            test/automated/url-util-tests.el
6777            test/automated/add-log-tests.el
6778            test/automated/vc-bzr.el
6779            test/automated/vc-tests.el
6780            test/automated/xml-parse-tests.el
6781            test/BidiCharacterTest.txt
6782            test/biditest.el
6783            test/cedet/cedet-utests.el
6784            test/cedet/ede-tests.el
6785            test/cedet/semantic-ia-utest.el
6786            test/cedet/semantic-tests.el
6787            test/cedet/semantic-utest-c.el
6788            test/cedet/semantic-utest.el
6789            test/cedet/srecode-tests.el
6790            test/cedet/tests/test.c
6791            test/cedet/tests/test.el
6792            test/cedet/tests/test.make
6793            test/cedet/tests/testdoublens.cpp
6794            test/cedet/tests/testdoublens.hpp
6795            test/cedet/tests/testfriends.cpp
6796            test/cedet/tests/testjavacomp.java
6797            test/cedet/tests/testnsp.cpp
6798            test/cedet/tests/testpolymorph.cpp
6799            test/cedet/tests/testspp.c
6800            test/cedet/tests/testsppcomplete.c
6801            test/cedet/tests/testsppreplace.c
6802            test/cedet/tests/testsppreplaced.c
6803            test/cedet/tests/testsubclass.cpp
6804            test/cedet/tests/testsubclass.hh
6805            test/cedet/tests/testtypedefs.cpp
6806            test/cedet/tests/testvarnames.c
6807            test/etags/CTAGS.good
6808            test/etags/ETAGS.good_1
6809            test/etags/ETAGS.good_2
6810            test/etags/ETAGS.good_3
6811            test/etags/ETAGS.good_4
6812            test/etags/ETAGS.good_5
6813            test/etags/ETAGS.good_6
6814            test/etags/a-src/empty.zz
6815            test/etags/a-src/empty.zz.gz
6816            test/etags/ada-src/2ataspri.adb
6817            test/etags/ada-src/2ataspri.ads
6818            test/etags/ada-src/etags-test-for.ada
6819            test/etags/ada-src/waroquiers.ada
6820            test/etags/c-src/a/b/b.c
6821            test/etags/c-src/abbrev.c
6822            test/etags/c-src/c.c
6823            test/etags/c-src/dostorture.c
6824            test/etags/c-src/emacs/src/gmalloc.c
6825            test/etags/c-src/emacs/src/keyboard.c
6826            test/etags/c-src/emacs/src/lisp.h
6827            test/etags/c-src/emacs/src/regex.h
6828            test/etags/c-src/etags.c
6829            test/etags/c-src/exit.c
6830            test/etags/c-src/exit.strange_suffix
6831            test/etags/c-src/fail.c
6832            test/etags/c-src/getopt.h
6833            test/etags/c-src/h.h
6834            test/etags/c-src/machsyscalls.c
6835            test/etags/c-src/machsyscalls.h
6836            test/etags/c-src/sysdep.h
6837            test/etags/c-src/tab.c
6838            test/etags/c-src/torture.c
6839            test/etags/cp-src/MDiagArray2.h
6840            test/etags/cp-src/Range.h
6841            test/etags/cp-src/burton.cpp
6842            test/etags/cp-src/c.C
6843            test/etags/cp-src/clheir.cpp.gz
6844            test/etags/cp-src/clheir.hpp
6845            test/etags/cp-src/conway.cpp
6846            test/etags/cp-src/conway.hpp
6847            test/etags/cp-src/fail.C
6848            test/etags/cp-src/functions.cpp
6849            test/etags/cp-src/screen.cpp
6850            test/etags/cp-src/screen.hpp
6851            test/etags/cp-src/x.cc
6852            test/etags/el-src/TAGTEST.EL
6853            test/etags/el-src/emacs/lisp/progmodes/etags.el
6854            test/etags/erl-src/gs_dialog.erl
6855            test/etags/f-src/entry.for
6856            test/etags/f-src/entry.strange.gz
6857            test/etags/f-src/entry.strange_suffix
6858            test/etags/forth-src/test-forth.fth
6859            test/etags/html-src/algrthms.html
6860            test/etags/html-src/index.shtml
6861            test/etags/html-src/software.html
6862            test/etags/html-src/softwarelibero.html
6863            test/etags/lua-src/allegro.lua
6864            test/etags/objc-src/PackInsp.h
6865            test/etags/objc-src/PackInsp.m
6866            test/etags/objc-src/Subprocess.h
6867            test/etags/objc-src/Subprocess.m
6868            test/etags/objcpp-src/SimpleCalc.H
6869            test/etags/objcpp-src/SimpleCalc.M
6870            test/etags/pas-src/common.pas
6871            test/etags/perl-src/htlmify-cystic
6872            test/etags/perl-src/kai-test.pl
6873            test/etags/perl-src/yagrip.pl
6874            test/etags/php-src/lce_functions.php
6875            test/etags/php-src/ptest.php
6876            test/etags/php-src/sendmail.php
6877            test/etags/prol-src/natded.prolog
6878            test/etags/prol-src/ordsets.prolog
6879            test/etags/ps-src/rfc1245.ps
6880            test/etags/pyt-src/server.py
6881            test/etags/tex-src/gzip.texi
6882            test/etags/tex-src/nonewline.tex
6883            test/etags/tex-src/testenv.tex
6884            test/etags/tex-src/texinfo.tex
6885            test/etags/y-src/atest.y
6886            test/etags/y-src/cccp.c
6887            test/etags/y-src/cccp.y
6888            test/etags/y-src/parse.c
6889            test/etags/y-src/parse.y
6890            test/indent/css-mode.css
6891            test/indent/js-indent-init-dynamic.js
6892            test/indent/js-indent-init-t.js
6893            test/indent/js-jsx.js
6894            test/indent/js.js
6895            test/indent/latex-mode.tex
6896            test/indent/modula2.mod
6897            test/indent/nxml.xml
6898            test/indent/octave.m
6899            test/indent/pascal.pas
6900            test/indent/perl.perl
6901            test/indent/prolog.prolog
6902            test/indent/ps-mode.ps
6903            test/indent/ruby.rb
6904            test/indent/scheme.scm
6905            test/indent/scss-mode.scss
6906            test/indent/sgml-mode-attribute.html
6907            test/indent/shell.rc
6908            test/indent/shell.sh
6909            test/redisplay-testsuite.el
6910            test/rmailmm.el
6911            test/automated/buffer-tests.el
6912            test/automated/cmds-tests.el
6913            test/automated/data-tests.el
6914            test/automated/finalizer-tests.el
6915            test/automated/fns-tests.el
6916            test/automated/inotify-test.el
6917            test/automated/keymap-tests.el
6918            test/automated/print-tests.el
6919            test/automated/libxml-tests.el
6920            test/automated/zlib-tests.el: Files Moved.
6922 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
6924         Rework file notifications, kqueue has problems with directory monitors
6926         * lisp/filenotify.el (file-notify-add-watch): Call the native
6927         add-watch function on the file, not on the dir.
6929         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
6930         about already deleted entries.
6932         * test/automated/auto-revert-tests.el
6933         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
6934         since this deletes the target file first.
6936         * test/automated/file-notify-tests.el (file-notify--test-event-test):
6937         Make stronger checks.
6938         (file-notify-test01-add-watch, file-notify-test02-events)
6939         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
6940         Rewrite in order to call file monitors but directory monitors.
6941         (file-notify-test06-many-events): Ler rename work in both directions.
6943 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
6945         Continie with pending events
6947         * src/kqueue.c (pending_events): Remove global variable.
6948         (kqueue_compare_dir_list): Create `write' event for not used
6949         pending events.
6950         (globals_of_kqueue): Remove initialization of pending_events.
6952 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
6954         Improve loops in file-notify-test06-many-events
6956         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
6957         Use `read-event' pauses for the `write-file' loops; otherwise
6958         events are lost in inotify and gfilenotify cases.
6960 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
6962         Handle more complex rename operation in kqueue
6964         * src/kqueue.c (pending_events): New variable.
6965         (kqueue_compare_dir_list): Handle more complex rename operation.
6966         (globals_of_kqueue): Initialize pending_events.
6968         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
6969         Adapt expected events in the `rename-file' case.
6970         (file-notify-test06-many-events-remote): Declare.
6972 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
6974         New test with a larger number of events.
6976         * test/automated/file-notify-tests.el (file-notify--test-with-events):
6977         Make timeout heuristically depend on the number of events.
6979         (file-notify-test06-many-events): Use it for new test.
6981 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
6983         Further fixes for kqueue.
6985         * lisp/filenotify.el (file-notify-callback): Raise also event if
6986         directory name matches.
6987         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
6989         * src/kqueue.c (kqueue_generate_event): Use watch_object as
6990         argument instead of ident.  Remove callback argument.  Adapt
6991         callees.  Check actions whether they are monitored flags.
6993         * test/automated/file-notify-tests.el (file-notify--test-library):
6994         New defun.
6995         (file-notify-test00-availability, file-notify-test02-events)
6996         (file-notify-test04-file-validity)
6997         (file-notify-test05-dir-validity): Use it.
6998         (file-notify-test02-events, file-notify-test04-file-validity): Add
6999         `read-event' calls between different file actions, in order to
7000         give the backends a chance to rais an event.  Needed especially
7001         for kqueue.  In case of deleting a directory, there are two
7002         `deleted' events.
7004 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
7006         Code cleanup of kqueue.c
7008         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
7009         (kqueue_compare_dir_list): Do not loop when calling
7010         directory_files_internal.  Remove checks for "." and "..", this is
7011         done in kqueue_directory_listing now.
7012         (Fkqueue_add_watch): Check for proper emacs_open flags.
7014 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
7016         Doc changes for kqueue
7018         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
7019         Fix some glitches in the example.
7021 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
7023         Finish implementation in kqueue.c
7025         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
7026         Simplify access to list.
7027         (kqueue_compare_dir_list): Simplify access to list.  Raise
7028         `delete' event if directory does not exist any longer.  Otherwise,
7029         wait until directory contents has changed.  Fix error in check.
7031 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
7033         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
7035 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
7037         More work on kqueue
7039         * lisp/filenotify.el (file-notify-callback): Handle also the
7040         `rename' event from kqueue.
7041         (file-notify-add-watch): Do not register an entry twice.
7043         * src/kqueue.c (kqueue_directory_listing): New function.
7044         (kqueue_generate_event): New argument FILE1.  Adapt callees.
7045         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
7047 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
7049         Implement directory events
7051         * lisp/filenotify.el (file-notify-handle-event)
7052         (file-notify-callback): Remove traces.
7054         * src/kqueue.c: Include <sys/time.h>.
7055         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
7056         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
7057         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
7058         Compute initial directory listing.  Close file descriptor in case
7059         of errors.
7060         (syms_of_kqueue): Declare Qcreate.
7062 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
7064         Build fixes for kqueue support.
7066         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
7067         flag.
7069         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
7070         kqueue on *BSD.
7072 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
7074         Continue kqueue implementation
7076         * lisp/filenotify.el (file-notify-handle-event)
7077         (file-notify-callback): Enable trace messages.
7079         * src/kqueue.c: Include also <sys/types.h>.
7080         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
7081         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
7082         (syms_of_kqueue): Add them.
7084 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
7086         Work on kqueue
7088         * lisp/filenotify.el (file-notify--library)
7089         (file-notify-descriptors, file-notify-callback)
7090         (file-notify-add-watch, file-notify-rm-watch)
7091         (file-notify-valid-p): Add kqueue support.
7093         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
7095 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
7097         Add kqueue support
7099         * configure.ac (--with-file-notification): Add kqueue.
7100         (top): Remove special test for "${HAVE_NS}" and
7101         ${with_file_notification}, this is handled inside gfilenotify
7102         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
7103         instead of library specific variables.
7105         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
7107         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
7109         * src/kqueue.c: New file.
7111         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
7113 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
7115         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
7117         * verilog-mode.el (verilog-save-font-no-change-functions):
7118         Commentary and fix pre-Emacs 21 behavior.
7120 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
7122         Use obarray functions from obarray.
7124         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
7125           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
7126           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
7127           delegate to obarray.el functions.
7128         * lisp/loadup.el: load obarray before abbrev
7129         * test/automated/abbrev-tests.el: new tests
7131 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
7133         epa.el: Add option to replace original text
7135         * lisp/epa.el (epa-replace-original-text): New user option.
7136         (Bug#21947)
7138 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
7140         Add interactive seek command.
7142         * lisp/mpc.el (mpc-cmd-seekcur): New function.
7143         (mpc-seek-current): New command.
7144         (mpc-mode-menu): Add entry for mpc-seek-current
7145         (mpc-mode-map): Bind mpc-seek-current to "g"
7147 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
7149         Fix issue where a new tempfile was created every refresh
7151         * lisp/mpc.el (mpc-format): Leave dir as relative path
7153 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
7155         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
7157         (c-save-buffer-state): Use with-silent-modifications when available.
7158         (c--macroexpand-all): Check macroexpand-all directly rather than
7159         c--mapcan-status.
7161 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
7163         * lisp/loadup.el: Set max-lisp-eval-depth here
7165         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
7166         (BYTE_COMPILE_FLAGS): Adjust accordingly.
7168 2015-11-17  João Távora  <joaotavora@gmail.com>
7170         Minor fix to comment indentation and typo in last commit
7172         * linum.el (linum-update-window): Fix comment indentation and a
7173         typo.
7175 2015-11-17  João Távora  <joaotavora@gmail.com>
7177         linum-mode plays more nicely with other margin-setting extensions
7179         linum.el will only modify the left margin if it needs to, and will
7180         only reset the it back to 0 if it guesses that no-one has touched that
7181         margin in the meantime.
7183         As such, this is a more of a workaround than an actual fix, but fixes
7184         the problems described in bug#20674 regarding the interaction with
7185         modes such as darkroom-mode and olivetti-mode.
7187         A similar fix was commited to nlinum.el in ELPA.git's
7188         e7f5f549fbfb740b911fb7f33b42381ecece56d8
7190         * linum.el (linum-delete-overlays): Restore margins more
7191         criteriously.
7192         (linum-update-window): Set margins more criteriously.
7194 2015-11-16  Daiki Ueno  <ueno@gnu.org>
7196         * lisp/image-mode.el: Support encrypted file
7198         (image-toggle-display-image): Read content from the buffer instead
7199         of the file, if the buffer holds a decrypted data.  (Bug#21870)
7201 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
7203         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
7205 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
7207         * lisp/emacs-lisp/package.el: Fix a decoding issue
7209         (package--with-response-buffer): Use `url-insert-buffer-contents'.
7210         The previous code had some issues with decoding. Refactoring that
7211         function allows us to use the decoding from url-handlers while still
7212         treating both sync and async requests the same.
7214         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
7215         `url-insert-buffer-contents'.
7216         (url-insert-buffer-contents): New function
7218 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
7220         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
7222         (package--with-work-buffer-async): Reimplement as
7223         `package--with-response-buffer'.
7224         (package--with-work-buffer): Mark obsolete.
7225         (package--with-response-buffer): New macro. This is a more self
7226         contained and less contrived version of
7227         `package--with-work-buffer-async'.  It uses keyword arguments,
7228         doesn't have async on the name, doesn't fallback on
7229         `package--with-work-buffer', and has _much_ simpler error
7230         handling.
7232         (package--check-signature, package--download-one-archive)
7233         (package-install-from-archive, describe-package-1): Use it.
7235         (package--download-and-read-archives): Let
7236         `package--download-one-archive' take care of calling
7237         `package--update-downloads-in-progress'.
7239 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7241         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
7243         (verilog-save-buffer-state): Use with-silent-modifications when available.
7244         (verilog-save-font-no-change-functions): Don't bind
7245         before/after-change-functions if it's not needed.
7247 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
7249         * CONTRIBUTE: Remove information about feature freeze.
7251         Merge branch 'release-process-lowercase'
7253 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
7255         Document the release process
7257         * admin/notes/versioning: Add information about RC releases.
7258         * admin/release-process: Document the release process.
7259         * admin/authors.el (authors-ignored-files):
7260         * admin/README: Change FOR-RELEASE to release-process.
7261         * CONTRIBUTE:
7262         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
7264 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
7266         * admin/release-process: Rename from admin/FOR-RELEASE.
7268 2015-11-14  David Engster  <deng@randomsample.de>
7270         gitmerge: Fix git log command
7272         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
7273         only want commits from the branch that is to be merged.
7274         (gitmerge-setup-log-buffer): Use the same symmetric range as in
7275         `gitmerge-missing'.
7277 2015-11-14  David Engster  <deng@randomsample.de>
7279         gitmerge: Try to detect cherry-picks
7281         * admin/gitmerge.el (gitmerge-default-branch): Change to
7282         origin/emacs-25.
7283         (gitmerge-missing): Use symmetric difference ('...') between
7284         branch and master so that cherry-picks can be detected.
7286 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
7288         Increment Emacs version on master branch
7290         * lisp/cus-edit.el (customize-changed-options-previous-release):
7291         Increase previous version to 24.5.
7293         * configure.ac:
7294         * msdos/sed2v2.inp: Bump version to 25.1.50.
7296 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
7298         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
7299         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
7300         * README: Mention CONTRIBUTE.
7302 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
7304         Update verilog-mode.el to 2015-11-09-b121d60-vpo
7306         * verilog-mode.el (verilog-auto, verilog-delete-auto)
7307         (verilog-modi-cache-results, verilog-save-buffer-state)
7308         (verilog-save-font-no-change-functions): When internally suppressing
7309         change functions, use `inhibit-modification-hooks' and call
7310         `after-change-funtions' to more nicely work with user hooks.
7311         Reported by Stefan Monnier.
7312         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
7313         Create `verilog-delete-auto-buffer' to avoid double-calling
7314         fontification hooks.
7315         (verilog-restore-buffer-modified-p, verilog-auto)
7316         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
7317         set-buffer-modified-p.  Reported by Stefan Monnier.
7318         (verilog-diff-auto, verilog-diff-buffers-p)
7319         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
7320         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
7321         AUTOINST with unpacked dimensional parameters, bug981.  Reported by
7322         by Amol Nagapurkar.
7323         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
7324         properties inside internal structures.  No functional change
7325         intended.
7327 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
7329         Use generic dispatch for xref backends
7331         * lisp/progmodes/xref.el (xref-backend-functions):
7332         New variable.
7333         (xref-find-function): Remove.
7334         (xref-find-backend)
7335         (xref--etags-backend): New functions.
7336         (xref-identifier-at-point-function)
7337         (xref-identifier-completion-table-function): Remove.
7338         (xref-backend-definitions, xref-backend-references)
7339         (xref-backend-apropos, xref-backend-identifier-at-point)
7340         (xref-backend-identifier-completion-table):
7341         New generic functions.
7343         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
7344         Add `elisp--xref-backend' to the beginning of
7345         `xref-backend-functions', locally.  Delete references to
7346         removed functions and vars.
7347         (elisp-xref-find): Remove.
7348         (elisp--xref-backend): New function.
7349         (elisp--xref-find-references, elisp--xref-find-apropos)
7350         (elisp--xref-identifier-completion-table):
7351         Turn into appropriately named generic methods.
7353         * lisp/progmodes/etags.el (etags-xref-find): Remove.
7354         (xref-backend-identifier-completion-table)
7355         (xref-backend-references, xref-backend-definitions)
7356         (xref-backend-apropos): New generic methods.
7358 2015-11-13  Juri Linkov  <juri@linkov.net>
7360         Support rectangular regions for more commands
7362         * lisp/simple.el (region-extract-function): Handle the arg
7363         value ‘bounds’.
7364         (region-insert-function): New function.
7365         (shell-command-on-region): Add arg ‘region-noncontiguous-p’.
7366         If non-nil, operate on multiple chunks.
7367         (region-noncontiguous-p): New function.
7369         * lisp/rect.el: Add function rectangle--insert-region
7370         around region-insert-function.
7371         (extract-rectangle-bounds): New function.
7372         (rectangle--extract-region): Handle the arg value ‘bounds’.
7373         (rectangle--insert-region): New function.
7375         * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle
7376         around region-insert-function.
7377         (cua--extract-rectangle-bounds): New function.
7378         (cua--rectangle-region-extract): Handle the arg value ‘bounds’.
7380         * lisp/replace.el (query-replace, query-replace-regexp): Add arg
7381         ‘region-noncontiguous-p’.  Use ‘use-region-p’.
7382         (query-replace-regexp-eval, map-query-replace-regexp)
7383         (replace-string, replace-regexp): Use ‘use-region-p’.
7384         (keep-lines, flush-lines, how-many): Use ‘use-region-p’.
7385         (perform-replace): Add arg ‘region-noncontiguous-p’.
7386         If non-nil, operate on multiple chunks.
7388         * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’.
7389         If non-nil, operate on multiple chunks.  (Bug#19829)
7391 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
7393         Handle multiple matches on the same line; add highlighting
7395         * lisp/progmodes/xref.el (xref-location-marker): Interpret the
7396         column value in characters.
7397         (xref--collect-matches): Rename from `xref--collect-match'.
7398         Search for all matches in the hit line.  Add `highlight' face to
7399         the matched region in the summary.  Update both callers.
7401 2015-11-13  Dmitry Gutov  <dgutov@yandex.ru>
7403         Replace xref-match-bounds with xref-match-length
7405         Relying on xref-location-marker to point to the beginning of the match
7407         * lisp/progmodes/xref.el (xref-match-bounds): Remove.
7408         (xref-match-length): Add.
7409         (xref-make-match): Change the arguments.
7410         (xref--match-buffer-bounds): Remove.
7411         (xref-match-item): Store length, instead of end-column.
7412         (xref-pulse-momentarily)
7413         (xref--collect-match)
7414         (xref--query-replace-1): Update accordingly.
7415         (xref-query-replace): Ditto.  And check that the search results
7416         are up-to-date.
7418 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7420         Merge from gnulib
7422         This incorporates:
7423         2015-11-13 xalloc-oversized: improve performance with GCC 5
7424         * lib/xalloc-oversized.h: Copy from gnulib.
7426 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7428         Spruce up ftfont.c memory allocation
7430         * src/ftfont.c (setup_otf_gstring):
7431         Avoid O(N**2) behavior when reallocating.
7432         (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when
7433         reallocating buffers; this simplifies the code.  Do not trust
7434         mflt_run to leave the output areas unchanged on failure, as
7435         this isn’t part of its interface spec.
7437 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7439         Port recent XCB changes to 64-bit ‘long int’
7441         For historical reasons, libX11 represents 32-bit values like Atoms as
7442         ‘long int’ even on platforms where ‘long int’ is 64 bits.  XCB doesn’t
7443         do that, so adapt the recent XCB code to behave properly on 64-bit
7444         platforms.  Also, fix what appears to be a bug in the interpretation
7445         of xcb_get_property_value_length, at least on my Fedora platform
7446         which is running libxcb-1.11-5.fc21.
7447         * src/xfns.c (x_real_pos_and_offsets):
7448         * src/xterm.c (get_current_wm_state):
7449         xcb_get_property_value_length returns a byte count, not a word count.
7450         For 32-bit quantities, xcb_get_property_value returns a vector
7451         of 32-bit words, not of (possibly 64-bit) long int.
7453 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7455         * src/undo.c (run_undoable_change): Now static.
7457 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7459         Remove support for ':timeout' from w32 tray notifications
7461         * src/w32fns.c (Fw32_notification_notify): Delete the code that
7462         supports ':timeout'.
7463         (syms_of_w32fns): Don't DEFSYM ':timeout'.  This avoids clashes
7464         with dbusbind.c when D-Bus is compiled in.
7466         * doc/lispref/os.texi (Desktop Notifications): Don't mention
7467         ':timeout'.
7469 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7471         * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
7472         (simple-test--transpositions): New macro.
7473         (simple-transpose-subr): New test.
7475 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7477         * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
7479 2015-11-13  Juanma Barranquero  <lekktu@gmail.com>
7481         * src/undo.c: Small fixes for previous change
7482         (run_undoable_change): Mark void argument list.
7483         (record_property_change): Remove unused variable `boundary'.
7485 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7487         Add a few more variables to redisplay--variables
7489         * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction
7490         and bidi-display-reordering to the list.
7492 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7494         * lisp/loadup.el: Enlarge the size of the hash table to 80000.
7496 2015-11-13  Eli Barzilay  <eli@barzilay.org>
7498         Fix point positioning after transposing with negative arg
7500         * lisp/simple.el (transpose-subr): When invoked with a negative
7501         argument, move point to after the transposed text, like we do
7502         when invoked with a positive argument.  (Bug#21885)
7504 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7506         Fix last change in shr.el
7508         * lisp/net/shr.el (shr--have-one-fringe-p): Rename from
7509         have-fringes-p.  All callers changed.  Doc fix.  (Bug#21895)
7511 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7513         Fix last change
7515         * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]:
7516         Don't DEFSYM tray notification symbols if D-Bus is being used.
7518 2015-11-13  Eli Zaretskii  <eliz@gnu.org>
7520         Another fix for MinGW64 and Cygwin builds due to notifications
7522         * src/w32fns.c: Ifdef away tray notification code if D-Bus is
7523         being compiled into Emacs.
7524         (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr
7525         Sw32_notification_notify and Sw32_notification_close if the code
7526         is not compiled.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
7528 2015-11-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
7530         Remove intern calls and XXX comments from Fx_export_frames
7532         * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and
7533         Qsvg instead of intern calls.  Use "postscript" instead of "ps"
7534         for consistency with image types.  Remove XXX comments.
7535         (syms_of_xfns) <Qpdf>: DEFSYM it.
7537 2015-11-12  Eric Hanchrow  <eric.hanchrow@gmail.com>
7539         shr: don't invoke unbound function (Bug#21895)
7541         * lisp/net/shr.el (have-fringes-p): New function.
7542         (shr-insert-document, shr-fill-text): Use it.
7544 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
7546         * test/automated/keymaps-test.el: Fix test to make it repeatable
7548         (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map
7549         entry to its initial value to make the test repeatable in interactive
7550         sessions (assuming it doesn't fail and crashes Emacs, of course).
7552 2015-11-12  Artur Malabarba  <bruce.connor.am@gmail.com>
7554         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
7555         Small fix.
7557 2015-11-12  Phillip Lord  <phillip.lord@newcastle.ac.uk>
7559         The heuristic that Emacs uses to add an `undo-boundary' has been
7560         reworked, as it interacts poorly with functions on `post-command-hook'
7561         or `after-change-functions'.
7563         * lisp/simple.el: New section added.
7564         * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp.
7565         (self_insert_command): Calls simple.el to amalgamate.
7566         (delete_char): Calls simple.el to amalgamate.
7567         * src/keyboard.c (last_undo_boundary): Removed.
7568         * src/undo.c (run_undoable_change): New function.
7570 2015-11-12  Juri Linkov  <juri@linkov.net>
7572         Bind [?\S-\ ] to previous line command in Dired-like modes
7574         * lisp/arc-mode.el (archive-mode-map):
7575         * lisp/dired.el (dired-mode-map):
7576         * lisp/proced.el (proced-mode-map):
7577         * lisp/vc/vc-dir.el (vc-dir-mode-map):
7578         Bind [?\S-\ ] to previous line command.
7579         (Bug#20790)
7581 2015-11-12  Eli Zaretskii  <eliz@gnu.org>
7583         Fix the MinGW64 and Cygwin-w32 builds
7585         * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
7586         (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
7587         use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
7588         which cause trouble with MinGW42 headers.  Ifdef away tray
7589         notifications code for Cygwin.  Reported by Andy Moreton
7590         <andrewjmoreton@gmail.com>.
7592 2015-11-12  Simen Heggestøyl  <simenheg@gmail.com>
7594         Enable sorting of JSON object keys when encoding
7596         * lisp/json.el (json-encoding-object-sort-predicate): New variable
7597         for specifying a sorting predicate for JSON objects during encoding.
7598         (json--plist-to-alist): New utility function.
7599         (json-encode-hash-table): Re-use `json-encode-alist' when object keys
7600         are to be sorted.
7601         (json-encode-alist): Sort output by
7602         `json-encoding-object-sort-predicate, when set.
7603         (json-encode-plist): Re-use `json-encode-alist' when object keys are
7604         to be sorted.
7605         (json-pretty-print-buffer-ordered): New command to pretty print the
7606         buffer with object keys sorted alphabetically.
7607         (json-pretty-print-ordered): New command to pretty print the region
7608         with object keys sorted alphabetically.
7610         * test/automated/json-tests.el (test-json-plist-to-alist)
7611         (test-json-encode-plist, test-json-encode-hash-table)
7612         (test-json-encode-alist-with-sort-predicate)
7613         (test-json-encode-plist-with-sort-predicate): New tests.
7615         * etc/NEWS: Add an entry for the new commands.
7617 2015-11-12  Juanma Barranquero  <lekktu@gmail.com>
7619         * test/automated/keymap-tests.el: New test file.
7621 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7623         Speed up x_real_pos_and_offsets using XCB
7625         * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of
7626         all X calls, and pipeline requests when possible, collecting results
7627         later.  Eliminate use of x_catch_errors (and thus XSync) in XCB case.
7629 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7631         Enable use of XCB for checking window manager state
7633         * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead
7634         of XGetWindowProperty plus error-catching, since we can explicitly
7635         check for errors in the XCB version.  This eliminates 3 XSync calls on
7636         top of the round-trip actually fetching the information.
7638 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7640         Detect XCB and save a connection handle
7642         * configure.ac: If using X11, check for XCB libraries and header.
7643         * src/Makefile.in (XCB_LIBS): Define.
7644         (LIBX_EXTRA): Include it.
7646         * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h.
7647         (struct x_display_info) [USE_XCB]: Add an XCB connection handle field.
7648         * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field.
7650 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7652         Reduce some data dependencies between X calls
7654         Gains nothing in the traditional-Xlib code, but more closely aligns
7655         with how the XCB version will work.
7657         * src/xfns.c (x_real_pos_and_offsets): When translating coordinates,
7658         send coordinates (0,0) to the X server and add in the real coordinates
7659         after getting the response.  Move XGetGeometry for outer window inside
7660         error-trapping block.  Use DPY variable more, since it's available.
7662 2015-11-12  Ken Raeburn  <raeburn@raeburn.org>
7664         Use color cache for creating bitmap
7666         * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]:
7667         Set attributes to use the caching color allocator.  Initialize and
7668         free the cache.
7670 2015-11-12  Eli Barzilay  <eli@barzilay.org>
7672         Add "^" to the interactive specs of `dired-next/previous-line'
7674         * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense
7675         to bind these commands to the arrow keys, and that means that they work
7676         better with a "^" in the `interactive' declaration so selection works
7677         as expected.
7679 2015-11-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7681         Sync with soap-client repository, version 3.0.2
7683         * soap-client.el: Bump version to 3.0.2.
7685         * soap-client.el (soap-warning): Use format, not format-message.
7687         * soap-client.el: Add cl-lib to Package-Requires.  Require cl-lib.
7688         (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet.
7690         * soap-client.el: Support Emacs versions that do not have
7691         define-error.
7693         * soap-inspect.el: Remove version header.
7695         * soap-client.el, soap-inspect.el, jira2.el: Fix first line header
7696         format.
7698 2015-11-11  Alan Mackenzie  <acm@muc.de>
7700         CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start
7702         * lisp/progmodes/cc-engine.el (c-backward-single-comment)
7703         (c-backward-comments, c-invalidate-state-cache-1, c-parse-state-1)
7704         (c-guess-basic-syntax):
7705         Remove bindings of open-paren-in-column-0-is-defun-start to nil.
7706         (c-get-fallback-scan-pos): "New" function (existed several years ago).
7707         (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using
7708         c-get-fallback-scan-pos.
7709         (c-parse-state-1): Handle 'BOD strategy.
7711         * lisp/progmodes/cc-mode.el (c-before-change, c-after-change)
7712         (c-font-lock-fontify-region): Remove bindings of
7713         open-paren-in-column-0-is-defun-start to nil.
7715         * doc/misc/cc-mode.texi (Performance Issues)
7716         (Limitations and Known Bugs): Fix mix up between @chapter and @appendix.
7718 2015-11-11  Artur Malabarba  <bruce.connor.am@gmail.com>
7720         * lisp/obarray.el: Fix shadowed variables.
7721         (obarray-map, obarray-remove, obarray-put, obarray-get):
7722         Change OBARRAY arg to OB to avoid shadowing ‘obarray’.
7724 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
7726         Avoid error in submitting a form with EWW
7728         * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument
7729         CHUNK to be nil.  (Bug#21881)
7731 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
7733         Rename seq-p and map-p to seqp and mapp
7735         * lisp/emacs-lisp/seq.el (seqp): New name.
7736         * lisp/emacs-lisp/map.el (mapp): New name.
7737         * doc/lispref/sequences.texi: Update the documentation for seqp.
7738         * test/automated/map-tests.el: Update the tests for mapp.
7740 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
7742         Rename obarray-p to obarrayp
7744         * lisp/obarray.el (obarrayp): New name.
7745         * test/automated/obarray-tests.el: Update the tests.
7747 2015-11-11  Nicolas Petton  <nicolas@petton.fr>
7749         Rename obarray-foreach to obarray-map
7751         * lisp/obarray.el (obarray-map): New name.
7752         * test/automated/obarray-tests.el: Update the corresponding tests.
7754 2015-11-11  Przemysław Wojnowski  <esperanto@cumego.com>
7756         New file with obarray functions
7758         * lisp/obarray.el: Basic obarray functions extracted from abbrev.el.
7759         * test/automated/obarray-tests.el: New file.
7761 2015-11-11  Eli Zaretskii  <eliz@gnu.org>
7763         Implement tray notifications for MS-Windows
7765         * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef.
7766         (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE)
7767         (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO)
7768         (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID)
7769         (EMACS_NOTIFICATION_MSG): New macros.
7770         (NI_Severity): New enumeration.
7771         (get_dll_version, utf8_mbslen_lim, add_tray_notification)
7772         (delete_tray_notification, Fw32_notification_notify)
7773         (Fw32_notification_close): New functions.
7774         (syms_of_w32fns): Defsubr functions exposed to Lisp.  DEFSYM
7775         keywords used by w32-notification-notify.
7777         * doc/lispref/os.texi (Desktop Notifications): Describe the native
7778         w32 tray notifications.
7780 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
7782         Optimize `file-equal-p' and `file-in-directory-p' in Tramp
7784         * lisp/net/tramp.el (tramp-handle-file-equal-p)
7785         (tramp-handle-file-in-directory-p): New defuns.  Suggested by
7786         Harvey Chapman <hchapman@3gfp.com>.
7788         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
7789         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
7790         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
7791         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them.
7793 2015-11-10  Karl Fogel  <kfogel@red-bean.com>
7795         * CONTRIBUTE: Encourage adding tests.
7797         Based on this post from John Wiegley:
7799           From: "John Wiegley" <johnw@newartisans.com>
7800           Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test
7801           To: Juanma Barranquero <lekktu@gmail.com>
7802           Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com,
7803               emacs-devel <emacs-devel@gnu.org>
7804           Date: Wed, 28 Oct 2015 18:45:29 -0700
7805           Message-ID: <m2y4emqwg6.fsf@newartisans.com>
7807           https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html
7809 2015-11-10  David Reitter  <david.reitter@gmail.com>
7811         Avoid creating notification objects when possible
7813         * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:)
7814         (windowDidEnterFullScreen, windowDidExitFullScreen): Provide convenience
7815         functions that do not require a notification object.  When needed,
7816         define NSWindowDidEnterFullScreenNotification to allow for compilation
7817         on OS X 10.6.8.
7819 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7821         Move INTEGER_TO_CONS body out of .h file
7823         * src/data.c (INTBIG_TO_LISP): New macro, with most
7824         of the contents of the old INTEGER_TO_CONS.
7825         (intbig_to_lisp, uintbig_to_lisp): New functions.
7826         * src/lisp.h (INTEGER_TO_CONS):
7827         Simplify by using EXPR_SIGNED and the new functions.
7828         This shrinks code size a bit, and makes it easier to
7829         put a breakpoint on handling of large integers.
7831 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7833         Merge from gnulib
7835         This incorporates:
7836         2015-11-10 intprops: new public macro EXPR_SIGNED
7837         2015-11-10 intprops: fix typo in clang port
7838         * lib/intprops.h: Copy from gnulib.
7840 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7842         Spelling fixes
7844         * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type):
7845         Fix misspelling in output.
7847 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7849         * doc/lispref/variables.texi (Directory Local Variables):
7850         Document dir-locals wildcards.
7852         * lisp/files.el (dir-locals-file): Point to Info node.
7854         * doc/emacs/custom.texi (Directory Variables):
7855         Document dir-locals wildcards.
7857         * etc/NEWS: Document new functionality.
7859 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7861         * lisp/files.el: Don't allow customization of dir-locals sorting.
7862         In retrospect, this is not a good idea for the same reason that
7863         `dir-locals-file' is a defconst, because it is important that this
7864         behaviour be "uniform across different environments and users".
7865         Sure, the user can still change the sorting with a hack, but we
7866         shouldn't encourage them to change it.
7867         (dir-locals--all-files): Return list in the order returned by
7868         `file-expand-wildcards'.
7869         (file-expand-wildcards): Document the sorting predicate used.
7870         (dir-locals-sort-predicate): Delete variable.
7872 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7874         * lisp/files.el (dir-locals-read-from-file): Better handle errors.
7876         * lisp/isearch.el (search-default-regexp-mode): Change default value.
7878 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7880         * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files.
7881         `locate-dominating-file' will now keep looking if the files it finds in
7882         a given directory are unreadable (or not files).
7884 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7886         * lisp/files.el (dir-locals-file): Allow wildcards.
7887         (dir-locals-find-file, dir-locals-collect-variables)
7888         (dir-locals-read-from-file): Update accordingly.
7889         (hack-dir-local-variables): Rename a local variable.
7891         * lisp/files-x.el (modify-dir-local-variable): Update accordingly.
7893         * lisp/help-fns.el (describe-variable): Update accordingly.
7895         * .gitignore: Add .dir-locals?.el.
7897 2015-11-10  Artur Malabarba  <bruce.connor.am@gmail.com>
7899         * lisp/emacs-lisp/map.el (map-merge-with): New function.
7901         * test/automated/map-tests.el (test-map-merge-with): New test.
7903 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
7905         Fix some recently-perturbed bookmark autoloads
7907         * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload.
7908         (bookmark-set): Restore autoload.
7909         (bookmark-set-no-overwrite): Add autoload.
7911         Thanks to Juanma Barranquero for noticing the autoload problems
7912         introduced by my recent commit adding/changing the above functions
7913         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
7915 2015-11-09  Noah Friedman  <friedman@splode.com>
7917         * etc/emacs-buffer.gdb (ydump-buffer): Handle case where gap is at
7918         the start of buffer.  I don't recall if older versions of gdb were
7919         less strict but you cannot dump a 0-length range in gdb 7.9.1.
7921 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
7923         * lisp/progmodes/project.el: Update Commentary.
7925         Merge branch 'project-next'
7927 2015-11-09  Dmitry Gutov  <dgutov@yandex.ru>
7929         Fold `project-ask-user' into `project-current'
7931         * lisp/progmodes/project.el (project-find-functions):
7932         Remove `project-ask-user'.
7933         (project-ask-user): Remove function and the corresponding
7934         `project-roots' implementation.
7935         (project-current): Add a new argument, MAYBE-PROMPT.  Prompt the
7936         user in case there's no project in the current directory.  Update
7937         all callers.
7939 2015-11-09  Karl Fogel  <kfogel@red-bean.com>
7941         When VC detects a conflict, specify which file
7943         * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function.
7944         * lisp/vc/vc-svn.el (vc-svn-find-file-hook):
7945         * lisp/vc/vc-hg.el (vc-hg-find-file-hook):
7946         * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook):
7947         * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function
7948           to display a standard message that specifies the conflicted file.
7950         Before this change, the message VC used for indicating a conflicted
7951         file was just "There are unresolved conflicts in this file" without
7952         naming the file (and this language was duplicated in several places).
7953         After this change, it's "There are unresolved conflicts in file FOO"
7954         (and this language is now centralized in one function in vc.el).
7956         Justification: It's important for the message to name the conflicted
7957         file because the moment when VC realizes a file is conflicted does not
7958         always come interactively.  For example, some people automatically
7959         find a set of Org Mode files on startup, and may keep those .org files
7960         under version control.  If any of the files are conflicted, the user
7961         just sees some messages fly by, and might later check the "*Messages*"
7962         buffer to find out what files were conflicted.  I'm not saying this
7963         happened to me or anything; it's a purely hypothetical example.
7965 2015-11-09  Eli Zaretskii  <eliz@gnu.org>
7967         Fix assertion violation in define-key
7969         * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character
7970         objects.  Reported by Drew Adams <drew.adams@oracle.com>
7971         and Juanma Barranquero <lekktu@gmail.com>.
7973 2015-11-09  Dima Kogan  <dima@secretsauce.net>
7975         Fix a memory leak in GC of font cache
7977         * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font
7978         entities if some of the fonts it references are marked.  This
7979         plugs a memory leak.  (Bug#21556)
7981 2015-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7983         Use INT_ADD_WRAPV etc. to check integer overflow
7985         * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string):
7986         * src/buffer.c (record_overlay_string, overlay_strings):
7987         * src/casefiddle.c (casify_object):
7988         * src/ccl.c (Fccl_execute_on_string):
7989         * src/character.c (char_width, c_string_width, lisp_string_width)
7990         (count_size_as_multibyte, string_escape_byte8):
7991         * src/coding.c (coding_alloc_by_realloc, produce_chars):
7992         * src/data.c (arith_driver):
7993         * src/dispnew.c (realloc_glyph_pool, init_display):
7994         * src/editfns.c (styled_format):
7995         * src/fns.c (Ffillarray):
7996         * src/ftfont.c (ftfont_shape_by_flt):
7997         * src/gnutls.c (gnutls_hex_string):
7998         * src/gtkutil.c (get_utf8_string):
7999         * src/image.c (x_to_xcolors, x_detect_edges, png_load_body):
8000         * src/keymap.c (Fkey_description):
8001         * src/lisp.h (SAFE_ALLOCA_LISP):
8002         * src/term.c (encode_terminal_code):
8003         * src/tparam.c (tparam1):
8004         * src/xselect.c (x_property_data_to_lisp):
8005         * src/xsmfns.c (smc_save_yourself_CB):
8006         * src/xterm.c (x_term_init):
8007         When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to
8008         more-complicated code involving division and/or
8009         INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and
8010         subtraction and/or INT_ADD_OVERFLOW.
8011         * src/casefiddle.c (casify_object): Simplify multibyte size check.
8012         * src/character.c: Remove some obsolete ‘#ifdef emacs’s.
8013         * src/data.c (arith_driver): Also check for division overflow,
8014         as that’s now possible given that the accumulator can now contain
8015         any Emacs integer.
8016         * src/lisp.h (lisp_word_count): Remove; no longer used.
8018 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
8020         Make sure that the ignore file exists
8022         * lisp/vc/vc.el (vc-default-ignore-completion-table):
8023         Make sure that the ignore file exists.
8025 2015-11-08  Michael Sperber  <mike@xemacs.org>
8027         * gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to
8028         `gnus-summary-delete-article` in a way that also works on XEmacs.
8030 2015-11-08  Simen Heggestøyl  <simenheg@gmail.com>
8032         Add support for retrieving paths to JSON elements
8034         Add support for retrieving the path to a JSON element. This can for
8035         instance be useful to retrieve paths in deeply nested JSON
8036         structures.
8038         * lisp/json.el (json-pre-element-read-function)
8039         (json-post-element-read-function): New variables to hold pre- and post
8040         read callback functions for `json-read-array' and `json-read-object'.
8041         (json--path): New variable used internally by `json-path-to-position'.
8042         (json--record-path, json--check-position): New functions used
8043         internally by `json-path-to-position'.
8044         (json-path-to-position): New function for retrieving the path to a
8045         JSON element at a given position.
8046         (json-read-object, json-read-array): Call
8047         `json-pre-element-read-function' and `json-post-element-read-function'
8048         when set.
8050         * test/automated/json-tests.el (test-json-path-to-position-with-objects)
8051         (test-json-path-to-position-with-arrays)
8052         (test-json-path-to-position-no-match): New tests for
8053         `json-path-to-position'.
8055 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
8057         * etc/NEWS: Mention new `bookmark-set-no-overwrite'.
8059         This really should been part of my previous commit
8060         (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978).
8062 2015-11-08  Karl Fogel  <kfogel@red-bean.com>
8064         Offer non-overwrite bookmark setter (Bug#15746)
8066         * lisp/bookmark.el (bookmark-set-internal): New helper function to do
8067         what `bookmark-set' used to do, but with more choices for overwrite
8068         vs push, and with minor changes to the interactive prompt format.
8069         (bookmark-set): Rewrite as wrapper around above.
8070         If overwriting, inform the user of that in the prompt.
8071         (bookmark-set-no-overwrite): New function, also done as wrapper.
8072         Bind to "M" in `ctl-x-r-map' autoloads.
8073         (bookmark-map): Similarly bind "M" here.
8075 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8077         * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614).
8079 2015-11-08  Alan Modra  <amodra@gmail.com>
8081         ELF unexec: Don't insert a new section
8083         Reuse the .bss section instead, making it SHT_PROGBITS.  This way we
8084         don't need to mess with symbol st_shndx, or section sh_link and
8085         sh_info.
8087         This does lead to eu-elflint complaints about symbols defined in .bss
8088         with a needed version, because normally it is undefined symbols that
8089         have needed versions;  Defined symbols have version definitions.
8090         The exception is symbols defined by the linker in .dynbss for
8091         variables copied from a shared library in order to avoid text
8092         relocations, with copy relocs to copy their initial values from the
8093         shared library.  These symbols are both defined and have needed
8094         versions, and eu-elflink only expects to see them in SHT_NOBITS
8095         sections.  Of course there is no real problem with having such symbols
8096         in SHT_PROGBITS sections.  glibc ld.so handles them fine.
8098         * src/unexelf.c: Delete outdated comments.
8099         (PATCH_INDEX): Delete.
8100         (find_section): Delete.
8101         (unexec): Don't add a new section.  Instead reuse the last bss
8102         section, extending it to cover dumped data.  Make bss sections
8103         SHT_PROGBITS.  Remove all patching of sh_link, sh_info and
8104         st_shndx.  Rename bss sections.
8106 2015-11-08  Alan Modra  <amodra@gmail.com>
8108         ELF unexec: Drive from PT_LOAD header rather than sections
8110         This rewrites bss handling in the ELF unexec code.  Finding bss
8111         sections by name results in complicated code that
8112         - does not account for all names of possible bss sections,
8113         - assumes specific ordering of bss sections,
8114         - can wrongly choose a SHT_NOBITS section not in the bss segment,
8115         - incorrectly calculates bss size (no accounting for alignment gaps),
8116         - assumes .data and .bss are in the same segment.
8118         All of these problems and more are solved by finding the bss segment
8119         in PT_LOAD headers, ie. the address range included in p_memsz but not
8120         p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections
8121         in that address range.
8123         * src/unexelf.c: Delete old ppc comment.
8124         (OLD_PROGRAM_H): Define.
8125         (round_up): Delete.
8126         (unexec): Don't search for bss style sections by name.  Instead,
8127         use the last PT_LOAD header address range covered by p_memsz
8128         but not p_filesz and match any SHT_NOBITS section in that
8129         address range.  Simplify initialisation of section header vars.
8130         Don't assume that section headers are above bss segment.  Move
8131         copying of bss area out of section loop.  Align .data2 section
8132         to 1, since it now covers the entire bss area.  For SHT_NOBITS
8133         sections in the bss segment, leave sh_addr and sh_addralign
8134         unchanged, but correct sh_offset.  Clear memory corresponding
8135         to SHT_NOBITS .plt section.  Delete comment and hacks for
8136         sections partly overlapping bss range now that the full range
8137         is properly calculated.  Delete now dead .sbss code.
8138         (Bug#20614)
8140 2015-11-08  Alan Modra  <amodra@gmail.com>
8142         ELF unexec: R_*_NONE relocs
8144         These should be ignored on all targets.
8146         * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target,
8147         not just Alpha.  Comment on reloc size assumption.
8149 2015-11-08  Alan Modra  <amodra@gmail.com>
8151         ELF unexec: _OBJC_ symbols in bss sections
8153         This code assumed that there was only one bss section.  Rather than
8154         checking for a particular index, check the section type.  Also, handle
8155         the possibility that the section was SHT_NOBITS originally and is
8156         unchanged, in which case no clearing is needed (and sh_offset isn't
8157         necessarily valid, which can lead to a wild memset).
8159         * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in
8160         bss sections.
8162 2015-11-08  Alan Modra  <amodra@gmail.com>
8164         ELF unexec: Symbol table patching
8166         No st_shndx value larger than SHN_LORESERVE should be changed.
8167         * src/unexelf.c (unexec): Don't adjust any st_shndx larger than
8168         SHN_LORESERVE.  Error on SHN_XINDEX.
8170 2015-11-08  Alan Modra  <amodra@gmail.com>
8172         ELF unexec: Merge Alpha and MIPS COFF debug handling
8174         * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling.
8175         Don't find .mdebug section index, find the section in the loop.
8176         Allow for unlikely possibility that .mdebug is located at sh_offset
8177         before bss segment, by calculating move from difference in
8178         sh_offset rather than just assuming new_data2_size.  Simplify
8179         cbLineOffset handling.
8181 2015-11-08  Alan Modra  <amodra@gmail.com>
8183         ELF unexec: Tidy code
8185         Separate out some of the more mechanical changes so following patches
8186         are smaller.
8188         * src/unexelf.c (unexec): Rearrange initialisation of program
8189         header vars.  Use pointer vars in loops rather than indexing
8190         section header array via macros.  Simplify _OBJC_ sym code
8191         and reloc handling code.
8193 2015-11-08  Alan Modra  <amodra@gmail.com>
8195         ELF unexec: Correct section header index
8197         First a small fix.  The code incorrectly uses "NEW_SECTION_H (n)" when
8198         it should have been using "NEW_SECTION_H (nn)" to find the name of the
8199         section currently being processed.  Of course, before the bss
8200         sections, n and nn have the same value, so this doesn't matter except
8201         in the case of .sbss.  For .sbss this probably meant .bss (most likely
8202         the next section) was copied from memory.  A later patch removes the
8203         bogus .sbss handling anyway.
8205         * src/unexelf.c (unexec): Use correct index to look up names.
8207 2015-11-08  Michael Albinus  <michael.albinus@gmx.de>
8209         Fix Bug#21841
8211         * lisp/filenotify.el (file-notify--rm-descriptor):
8212         Use `descriptor' instead of computing its value.
8213         (file-notify--descriptor): Additional argument FILE.  Adapt all callees.
8214         (file-notify-rm-watch): Use `descriptor' when calling file name handler.
8215         (Bug#21841)
8217 2015-11-08  Dmitry Gutov  <dgutov@yandex.ru>
8219         Remove dirs in vc project roots from the the vc project library roots
8221         * lisp/progmodes/project.el (project-library-roots):
8222         Remove directories inside the project roots from the result.
8223         (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html)
8225 2015-11-07  Dmitry Gutov  <dgutov@yandex.ru>
8227         Move and rename xref-find-regexp to the project package
8229         * lisp/progmodes/project.el (project-find-regexp)
8230         (project--read-regexp)
8231         (project--find-regexp-in): New functions.
8233         * lisp/progmodes/xref.el (xref--find-xrefs): Extract from
8234         xref--show-xrefs.  Use in existing callers in place of that
8235         function.
8236         (xref--show-xrefs): Only do the "show" part.
8237         (xref-find-regexp): Rename, more or less, to
8238         project-or-libraries-find-regexp.
8240 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
8242         Abolish temporary buffer management for xref
8244         * lisp/progmodes/xref.el (xref--temporary-buffers)
8245         (xref--current)
8246         (xref--inhibit-mark-current)
8247         (xref--mark-selected): Remove.  Remove all references.
8248         (xref--show-xrefs): Do not construct the
8249         list of the temporary buffers, nor pass it along.
8251 2015-11-06  Dmitry Gutov  <dgutov@yandex.ru>
8253         Rename "search path" to "library roots"
8255         * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order
8256         of the elements from CL-LIST1.
8258         * test/automated/cl-lib-tests.el (cl-lib-test-set-functions):
8259         Update WRT to the above change.
8261         * lisp/progmodes/project.el (project-search-path-function): Rename
8262         to project-library-roots-function, update the documentation and
8263         references.
8264         (project-search-path): Likewise, to project-library-roots.
8265         (project-roots): Clarify documentation.
8266         (project-vc-search-path): Likewise, to project-vc-library-roots.
8267         (project-library-roots): In addition to the renames, thread the
8268         results through file-name-as-directory.
8269         (project-prune-directories): Accept a variable number of
8270         arguments.  Rename to project-combine-directories.
8271         (project-subtract-directories): New function.
8273         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
8274         Append project-roots and project-library-roots together.
8276         * lisp/progmodes/etags.el (etags--xref-find-references): Ditto.
8278 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8280         Prefer xpalloc to doubling buffers by hand
8282         * src/lread.c (grow_read_buffer): New function, which uses xpalloc.
8283         (read1): Use it for simplicity.
8284         * src/macros.c (store_kbd_macro_char):
8285         * src/minibuf.c (read_minibuf_noninteractive):
8286         * src/term.c (encode_terminal_code):
8287         * src/xrdb.c (magic_db):
8288         Prefer xpalloc to growing buffers by hand.
8289         This doesn’t fix any bugs, but simplifies the code a bit.
8291 2015-11-08  Paul Eggert  <eggert@cs.ucla.edu>
8293         Merge from gnulib
8295         This incorporates:
8296         2015-11-05 timespec-sub: fix overflow bug; add tests
8297         2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW
8298         2015-11-03 intprops: add parentheses
8299         * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c:
8300         Copy from gnulib.
8302 2015-11-07  David Reitter  <david.reitter@gmail.com>
8304         Provide NS notification objects where required to eliminate warnings
8306         * nsterm.m (windowDidResize:, toggleFullScreen:):
8307         Call notification functions with notification objects
8308         as per delegate APIs.
8310 2015-11-07  Noam Postavsky  <npostavs@users.sourceforge.net>
8312         Add test for bug #21824
8314         * test/automated/buffer-tests.el: New file.
8315         (overlay-modification-hooks-message-other-buf): New test.
8317 2015-11-07  Kelvin White  <kwhite@gnu.org>
8319         * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771.
8321 2015-11-07  David Reitter  <david.reitter@gmail.com>
8323         Ignore fullscreen exit notifications on NS when frame is dead
8325         * nsterm.m (windowDidResize:, windowWillExitFullScreen:)
8326         (windowDidExitFullScreen:): Return if frame is dead.
8327         These functions may be called when a fullscreen frame
8328         is closed; they are called before, not after.
8330         May address Bug#21428.
8332 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
8334         Speed up lookup in redisplay--variables
8336         * lisp/frame.el (redisplay--variables): Make it a hash-table.
8338         * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables
8339         as a hash-table.  This speeds up this function by an order of
8340         magnitude: where previously a setq was slowed down by 100% by
8341         introducing the maybe_set_redisplay test, it is now only 5%
8342         slower.
8343         (syms_of_xdisp) <redisplay--variables>: Doc fix.
8345 2015-11-07  Artur Malabarba  <bruce.connor.am@gmail.com>
8347         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug.
8349         The defsubst was being created as:
8350             (cl-defsubst name (args) ("DOC") ...)
8352         * test/automated/cl-lib-tests.el (cl-lib-struct-constructors):
8353         Add test.
8355 2015-11-07  Mihai Olteanu  <mihai_olteanu@fastmail.fm>  (tiny change)
8357         Update doc string of hexl-mode
8359         * lisp/hexl.el (hexl-mode): Doc fix.  (Bug#21800)
8361 2015-11-07  Eli Zaretskii  <eliz@gnu.org>
8363         Fix error in copy-abbrev-table
8365         * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff
8366         property of the abbrev-table.  (Bug#21828)
8368         * test/automated/abbrev-tests.el: New file.
8370 2015-11-07  Michael Albinus  <michael.albinus@gmx.de>
8372         Add test to auto-revert-tests.el for Bug#21841
8374         * test/automated/auto-revert-tests.el
8375         (auto-revert-test01-auto-revert-several-files): New test.
8376         (auto-revert-test02-auto-revert-tail-mode)
8377         (auto-revert-test03-auto-revert-mode-dired): Rename them.
8379 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
8381         * doc/lispref/windows.texi (Coordinates and Windows): Fix typo.
8383 2015-11-07  Martin Rudalics  <rudalics@gmx.at>
8385         In x_consider_frame_title don't set title of tooltip frames
8387         * src/xdisp.c (x_consider_frame_title): Return immediately for
8388         tooltip frames to avoid displaying empty tooltips.
8390 2015-11-06  Anders Lindgren  <andlind@gmail.com>
8392         Fixed NextStep fullscreen problem (bug#21770).
8394         * src/nsterm.m (ns_constrain_all_frames): Don't constrain
8395         fullscreen frames.
8397 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
8399         Ensure redisplay after evaluation
8401         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
8402         Revert last change.
8403         * lisp/frame.el (redisplay--variables): Populate the
8404         redisplay--variables list.
8405         * src/xdisp.c (maybe_set_redisplay): New function.
8406         (syms_of_xdisp) <redisplay--variables>: New variable.
8407         * src/window.h (maybe_set_redisplay): Declare prototype.
8408         * src/data.c (set_internal): Call maybe_set_redisplay.  (Bug#21835)
8410 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
8412         * test/automated/subr-tests.el (subr-test-when): Fix again.
8414 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
8416         Don't invoke overlay modification hooks in wrong buffer
8418         * src/buffer.c (report_overlay_modification): When called with
8419         AFTER non-zero, don't invoke overlay modification hooks if the
8420         buffer recorded in last_overlay_modification_hooks is different
8421         from the current buffer.  (Bug#21824)
8423 2015-11-06  Juanma Barranquero  <lekktu@gmail.com>
8425         * admin/notes/repo: Fix a few obsolete references to Bazaar.
8427 2015-11-06  Artur Malabarba  <bruce.connor.am@gmail.com>
8429         * test/automated/subr-tests.el (subr-test-when): Fix test.
8431 2015-11-06  Martin Rudalics  <rudalics@gmx.at>
8433         Avoid division by zero crash observed by Yuan MEI
8435         See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html.
8437         * src/dispnew.c (required_matrix_height, required_matrix_width):
8438         Avoid division by zero.
8439         * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and
8440         dpyinfo->smallest_char_width to 1.
8442 2015-11-06  Eli Zaretskii  <eliz@gnu.org>
8444         Ensure redisplay after "C-x C-e"
8446         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure
8447         redisplay happens to account for any side effects of the evaluated
8448         sexp.  (Bug#21835)
8450 2015-11-06  Michael Albinus  <michael.albinus@gmx.de>
8452         Skip some file notification tests for cygwin
8454         * test/automated/file-notify-tests.el (file-notify--test-with-events):
8455         Remove argument TIMEOUT.  Adapt all callees.
8456         (file-notify-test02-events, file-notify-test04-file-validity):
8457         Skip for cygwin.  (Bug#21804)
8459 2015-11-05  Stephen Leake  <stephen_leake@stephe-leake.org>
8461         * lisp/progmodes/xref.el: Require semantic/symref during compilation.
8463 2015-11-05  Daiki Ueno  <ueno@gnu.org>
8465         Suppress redundant Pinentry startup messages
8467         * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument.
8468         * lisp/epg.el: Declare `pinentry-start'.
8469         (epg--start): Call `pinentry-start' with QUIET argument set.
8471 2015-11-05  Xue Fuqiao  <xfq.free@gmail.com>
8473         * doc/emacs/ack.texi (Acknowledgments): Updates.
8475 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
8477         * test/automated/elisp-mode-test.el: Silence some run-time warnings.
8478         (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t.
8480 2015-11-05  Tassilo Horn  <tsdh@gnu.org>
8482         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
8483         Add prettification support for \times.
8485 2015-11-05  Juanma Barranquero  <lekktu@gmail.com>
8487         * test/automated/process-tests.el: Skip tests when bash is unavailable.
8488         (process-test-sentinel-accept-process-output)
8489         (process-test-sentinel-sit-for): skip-unless bash executable found.
8491 2015-11-05  Eli Zaretskii  <eliz@gnu.org>
8493         Add test for bug #21831
8495         * test/automated/process-tests.el
8496         (start-process-should-not-modify-arguments): New test.  (Bug#21831)
8497         Suggested by Nicolas Richard <youngfrog@members.fsf.org>
8499 2015-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
8501         * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests.
8503         (eieio--generic-static-object-generalizer): Fix typo.
8504         * test/automated/eieio-tests.el: Byte-compile it again.  It looks
8505         like the underlying cause of bug#17852 was fixed in the mean time.
8507 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
8509         Revert "* lisp/subr.el (when): Use `macroexp-progn'"
8511         This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8.
8512         It breaks bootstrapping (duh).
8514 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
8516         * lisp/files.el (report-errors): Obsolete.
8518         (normal-mode, hack-local-variables, dir-locals-find-file):
8519         Use `with-demoted-errors' instead.
8521 2015-11-04  Artur Malabarba  <bruce.connor.am@gmail.com>
8523         * lisp/subr.el (when): Use `macroexp-progn'.
8525         * test/automated/subr-tests.el (subr-test-when): New test.
8527 2015-11-04  Juanma Barranquero  <lekktu@gmail.com>
8529         * lisp/progmodes/xref.el: Doc fixes.
8530         (xref-make-file-location, xref-make-buffer-location, xref-make)
8531         (xref-make-bogus-location, xref-make-match): Add cross-references.
8532         (xref--insert-xrefs): Fix typo in docstring.
8534 2015-11-04  Anders Lindgren  <andlind@gmail.com>
8536         Render fringe bitmaps correctly on NextStep (bug#21301)
8538         The fringe bitmaps were inverted, the background was not transparent,
8539         the image data was horizontally mirrored, and periodic fringe bitmaps
8540         were not supported.
8542         * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]):
8543         When both background and foreground colors are 0, set the background
8544         alpha channel to 0 (making the background transparent).  When
8545         copying the image data, do this from the most significant bit
8546         (leftmost) to the least (rightmost), to avoid mirroring.
8547         * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits.
8548         Add support for periodic images (e.g. the empty line indicator).
8550 2015-11-03  Michael Heerdegen  <michael_heerdegen@web.de>
8552         * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring.
8554 2015-11-03  Nicolas Petton  <nicolas@petton.fr>
8556         * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el.
8558         * admin/MAINTAINERS: Add thunk.el.
8560 2015-11-03  Jay Belanger  <jay.p.belanger@gmail.com>
8562         * lisp/calc/calc (calc-bug-address): Change maintainer address.
8564 2015-11-03  Michael Albinus  <michael.albinus@gmx.de>
8566         Fix a stupid error in gfilenotify.c
8568         * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only,
8569         if we've got a `deleted' signal AND the file name is the watched one.
8571 2015-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
8573         Fix Bug#21816; case insensitive file system in elisp-mode-tests.el
8575         * test/automated/elisp-mode-tests.el (xref-elisp-test-run):
8576         Use case-insensitive string compare for file names.
8577         (emacs-test-dir): Add 'downcase' to cause case differences (at
8578         least on my system).
8580 2015-11-02  Juanma Barranquero  <lekktu@gmail.com>
8582         flymake-tests.el (warning-predicate-rx-gcc): Fix check
8584         * test/automated/flymake-tests.el (warning-predicate-rx-gcc):
8585         Also check that "make" is available, not just "gcc".
8587 2015-11-02  Ken Brown  <kbrown@cornell.edu>
8589         Document behavior of collation on Cygwin
8591         * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as
8592         expected failure on Cygwin.
8593         * doc/lispref/strings.texi (Text Comparison): Document that
8594         punctuation and whitespace are not ignored for sorting on Cygwin.
8596 2015-11-02  Dani Moncayo  <dmoncayo@gmail.com>
8598         * build-aux/msys-to-w32: Prevent double slashes in w32 path list.
8600 2015-11-01  Glenn Morris  <rgm@gnu.org>
8602         * lisp/progmodes/f90.el (f90-no-block-limit): Add associate.
8603         (Bug#21794)
8604         * test/automated/f90.el (f90-test-bug21794): New test.
8606 2015-11-01  Juanma Barranquero  <lekktu@gmail.com>
8608         Fix incompatibility with TCC in test for bug#18745
8610         * test/automated/process-tests.el (process-test-quoted-batfile):
8611         Remove spaces unrelated to the bug being tested.
8613 2015-11-01  Michael Albinus  <michael.albinus@gmx.de>
8615         Improve completion in tramp-gvfs.el
8617         * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names):
8618         Rename from `tramp-zeroconf-parse-service-device-names'.
8619         (tramp-zeroconf-parse-webdav-device-names): Remove.  Code merged
8620         with `tramp-zeroconf-parse-device-names'.
8621         (tramp-gvfs-parse-device-names): New defun.
8622         (top): Use it when `tramp-zeroconf-parse-device-names' is not
8623         applicable.
8625         * lisp/net/tramp.el (tramp-set-completion-function): The argument
8626         could also be a zeroconf service type.
8628 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8630         * lisp/net/ntlm.el: Change version to 2.0.0.
8632 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
8634         Fix bug#21762
8635         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
8636         `eql' instead of `=' to accommodate the case that (syntax-after (point))
8637         returns nil.
8638         * test/automated/python-tests.el (python-indent-inside-paren-7):
8639         New test.
8641 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
8643         * test/automated/python-tests.el: Avoid warnings.
8644         (python-tests-with-temp-buffer, python-tests-with-temp-file):
8645         Bind `python-indent-guess-indent-offset' to nil.
8647 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
8649         * src/alloc.c: Silence compiler warnings.
8650         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
8652 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
8654         * etc/NEWS: Fix js-jsx-mode entry punctuation.
8656 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
8658         Add JSX indentation via js-jsx-mode  (Bug#21799)
8660         * progmodes/js.el: Add JSX indentation support.
8661         (js--jsx-end-tag-re)
8662         (js--jsx-after-tag-re): New variables.
8663         (js--jsx-find-before-tag)
8664         (js--jsx-indented-element-p)
8665         (js--as-sgml)
8666         (js--expression-in-sgml-indent-line)
8667         (js-jsx-indent-line)
8668         (js-jsx-mode): New functions.
8669         * test/indent/js-jsx.el: New file.
8670         * etc/NEWS: Add information about js-jsx-mode.
8672 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
8674         Minor fix in filenotify.el
8676         * lisp/filenotify.el (file-notify--event-file-name)
8677         (file-notify--event-file1-name): Normalize result with
8678         `directory-file-name'.
8680 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
8682         Avoid errors in redisplay--pre-redisplay-functions
8684         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
8685         use 'bobp', instead compare window-point with 1.  (Bug#21730)
8687 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
8689         Merge from gnulib
8691         This incorporates:
8692         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
8693         2015-10-25 stdalign: port to Sun C 5.9
8694         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
8695         Copy from gnulib.
8697 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
8699         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
8700         (w32_compare_strings): Adjust for the correction.
8702 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
8704         * test/automated/vc-tests.el (vc-test--state)
8705         (vc-test--working-revision, vc-test--checkout-model):
8706         Add result messages.
8708 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8710         * test/automated/faces-tests.el: Add another test
8712 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8714         * lisp/faces.el (faces--attribute-at-point): Fix bug
8715         introduced by previous commit.
8717 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8719         * test/automated/faces-tests.el: New file.
8721 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8723         * lisp/faces.el: Refactor common code and fix a bug.
8724         (faces--attribute-at-point): New function.  Fix a bug when the
8725         face at point is a list of faces and the desired attribute is not
8726         on the first one.
8727         (foreground-color-at-point, background-color-at-point): Use it.
8729 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
8731         * etc/tutorials/TUTORIAL.translators: Fix PL names.
8733 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
8735         * lisp/character-fold.el: Provide `character-fold'.
8737 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
8739         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
8740         for Gnus and ivy.
8742 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
8744         Some minor fixes for tramp-gvfs.el
8746         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
8747         An attribute returned by gvfs-info might be empty.  In case of
8748         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
8749         (tramp-zeroconf-parse-service-device-names): New defun.
8750         Derived from `tramp-zeroconf-parse-workstation-device-names'.
8751         (top): Add completion functions for "afp" and "smb" methods.
8753 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8755         * test/automated/character-fold-tests.el: New file
8757 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8759         * test/automated/sort-tests.el: New file.
8760         Tests in this file are randomly generated and then tested with
8761         regular, reverse, and case-fold sorting.
8763 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
8765         Describe known problems with pinning Emacs to taskbar
8767         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
8768         on Windows 10.  For the details, see the discussion starting at
8769         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
8771 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
8773         * lisp/isearch.el: Avoid an error that blocks isearch.
8774         (isearch-update): Don't error if `isearch--current-buffer' has
8775         been killed.
8777         * test/automated/isearch-tests.el (isearch--test-update):
8778         New file.
8780 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
8782         Fix documentation of 'beginning/end-of-buffer'
8784         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
8785         conditions under which the mark will be pushed at the previous
8786         position.  (Bug#21748)
8788 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
8790         Add RefTeX feature idea: editing RefTeX TOC buffers
8792         More face defs for ivy, swiper, ace-window, eshell
8794 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8796         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
8797         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
8798         just VAR.
8799         (auth-source-backend-parse): Use make-instance.
8800         (auth-source-search): Remove unused key args.
8801         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
8802         (auth-source-search-backends): Use slot names rather than their initarg.
8803         (auth-source-netrc-create):
8804         (auth-source-delete):
8805         (auth-source-secrets-create, auth-source-plstore-search)
8806         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
8807         (auth-source-plstore-create, auth-source-netrc-search)
8808         (auth-source-netrc-parse): Remove unused key args.
8809         (auth-source-forget+): Simplify the arglist.
8810         (auth-source-macos-keychain-search-items)
8811         (auth-source-token-passphrase-callback-function): Mark unused args.
8812         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
8813         (pp-escape-newlines): Declare.
8814         (auto-source--symbol-keyword): New function.
8815         (auth-source-plstore-create, auth-source-netrc-create)
8816         (auth-source-netrc-normalize): Use it.
8817         (auth-source-netrc-search): Don't pass :delete to
8818         auth-source-netrc-parse since it doesn't use it.
8819         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
8820         symbol-value to index in keyword args.
8821         (auth-source-macos-keychain-result-append): Avoid setq.
8822         (auth-source-netrc-create): Remove unused vars `file' and `add'.
8823         (auth-source-user-or-password): Remove unused var `cname'.
8825 2015-10-29  Juri Linkov  <juri@linkov.net>
8827         * lisp/dired.el (dired-unmark-all-files-query): Declare.
8828         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
8829         (Bug#21746)
8831 2015-10-29  Juri Linkov  <juri@linkov.net>
8833         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
8834         to go to the beginning of text line instead of command line.
8835         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
8837 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
8839         Fix encoding of saving *Help* buffers
8841         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
8842         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
8844 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8846         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
8847         (cl--generic-derived-specializers): New function.
8848         (cl--generic-derived-generalizer): New generalizer.
8849         (cl-generic-generalizers): New specializer (derived-mode MODE).
8850         (cl--generic-split-args): Apply the rewriter, if any.
8851         (cl-generic-define-context-rewriter): New macro.
8852         (major-mode): Use it to define a new context-rewriter, so we can write
8853         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
8855         * lisp/frame.el (window-system): New context-rewriter so we can write
8856         `(window-system VAL)' instead of (window-system (eql VAL)).
8857         (cl--generic-split-args): Apply the rewriter, if any.
8858         (frame-creation-function): Use the new syntax.
8860         * lisp/term/x-win.el (window-system-initialization)
8861         (handle-args-function, frame-creation-function)
8862         (gui-backend-set-selection, gui-backend-selection-owner-p)
8863         (gui-backend-selection-exists-p, gui-backend-get-selection):
8864         * lisp/term/w32-win.el (window-system-initialization)
8865         (handle-args-function, frame-creation-function)
8866         (gui-backend-set-selection, gui-backend-get-selection)
8867         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
8868         * lisp/term/pc-win.el (gui-backend-get-selection)
8869         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
8870         (gui-backend-set-selection, window-system-initialization)
8871         (frame-creation-function, handle-args-function):
8872         * lisp/term/ns-win.el (window-system-initialization)
8873         (handle-args-function, frame-creation-function)
8874         (gui-backend-set-selection, gui-backend-selection-exists-p)
8875         (gui-backend-get-selection):
8876         * lisp/startup.el (handle-args-function):
8877         * lisp/term/xterm.el (gui-backend-get-selection)
8878         (gui-backend-set-selection): Use the new syntax.
8880 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8882         * test/indent/css-mode.css: Add tests for url(...) syntax.
8884 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8886         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
8887         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
8888         (smie-prec2->grammar): Use `declare'.
8890 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8892         * lisp/emacs-lisp/cl-generic.el: Accommodate future changes.
8893         (cl--generic-generalizer): Add `name' field.
8894         (cl-generic-make-generalizer): Add corresponding `name' argument.
8895         (cl-generic-define-generalizer): New macro.
8896         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
8897         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
8898         (cl--generic-t-generalizer): Use it.
8899         (cl-generic-ensure-function): Add `noerror' argument.
8900         (cl-generic-define): Use it so we don't follow aliases.
8901         (cl-generic-define-method): Preserve pre-existing ordering of methods.
8902         (cl--generic-arg-specializer): New function.
8903         (cl--generic-cache-miss): Use it.
8904         (cl-generic-generalizers): Only fset a temporary definition
8905         during bootstrap.
8906         (cl--generic-struct-tag, cl--generic-struct-specializers):
8907         Allow extra arguments.
8909         * lisp/emacs-lisp/eieio-compat.el
8910         (eieio--generic-static-symbol-generalizer)
8911         (eieio--generic-static-object-generalizer):
8912         Use cl-generic-define-generalizer.
8913         (eieio--generic-static-symbol-specializers): Allow extra arguments.
8915         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
8916         (eieio--generic-subclass-generalizer):
8917         Use cl-generic-define-generalizer.
8918         (eieio--generic-subclass-specializers): Allow extra arguments.
8920 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
8922         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
8924 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
8926         Add "afp" method to Tramp
8928         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
8930         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
8931         (tramp-gvfs-handle-expand-file-name)
8932         (tramp-gvfs-handler-mounted-unmounted)
8933         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
8934         (tramp-gvfs-maybe-open-connection): Support also "afp".
8935         (tramp-gvfs-handle-file-attributes): Handle the case of empty
8936         "owner::user" and "owner::group" entries.
8938 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
8940         Handle negative coordinates in ‘x_calc_absolute_position’
8942         * src/w32term.c (x_calc_absolute_position): Find display origin to
8943         allow for negative coordinates.
8945 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
8947         (internal--syntax-propertize): Save match-data here (bug#21766)
8949         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
8950         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
8952 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
8954         Don't require default-directory to end with a slash
8956         * doc/lispref/files.texi (Magic File Names): Document the change
8957         in unhandled-file-name-directory.
8959         * lisp/url/url-handlers.el
8960         (url-handler-unhandled-file-name-directory): Update accordingly.
8962         * src/buffer.c (default-directory): Update the docsting.
8964         * src/fileio.c (unhandled-file-name-directory): Default to calling
8965         `file-name-as-directory'
8966         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
8968 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
8970         * lisp/isearch.el: Delete some outdated comments.
8972 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
8974         Fix eshell/clear not working if the output has a small line count
8976         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
8977         number of newlines to be inserted. This fixes the issue where
8978         eshell/clear wouldn't work if the prompt was not at the bottom of the
8979         window, and the output wasn't too long.
8981 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
8983         * lisp/files.el (write-file): Use vc-refresh-state.
8985         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
8987         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
8989 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
8991         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
8992         (macroexp-unprogn): Make sure we never return an empty list.
8993         (macroexp-if): Remove unused (and unsafe) optimization.
8994         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
8995         occur occasionally.
8997 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
8999         Fix bug#21766 and add test
9000         * lisp/simple.el (delete-trailing-whitespace): Save match data when
9001         calling `skip-syntax-backward'.
9002         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
9003         New test.
9005 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9007         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
9009 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
9011         * src/dispnew.c (init_display): Simplify overflow checking.
9013 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9015         * lisp/character-fold.el (character-fold-to-regexp): Fix case
9016         where string ends in space
9018 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9020         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
9022         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
9024 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9026         * lisp/character-fold.el: Make compatible with lax-whitespace.
9027         (character-fold-to-regexp): Rework internals to play nice with
9028         lax-whitespacing.
9030         When the user types a space, we want to match the table entry for
9031         ?\s, which is generally a regexp like "[ ...]".  However, the
9032         `search-spaces-regexp' variable doesn't "see" spaces inside these
9033         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
9034         manually expose a space).
9036         Furthermore, the lax search engine acts on a bunch of spaces, not
9037         on individual spaces, so if the string contains sequential spaces
9038         like "  ", we need to keep them grouped together like this:
9039         "\\(  \\|[ ...][ ...]\\)".
9041 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9043         * lisp/isearch.el: Refactor momentary messages.
9044         (isearch--momentary-message): New function.
9045         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
9046         (isearch-toggle-invisible): Use it.
9048 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9050         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
9051         (isearch-define-mode-toggle): New macro.
9052         (isearch-toggle-invisible): Rename to
9053         `isearch-define-mode-toggle'.
9054         (isearch-toggle-case-fold, isearch-toggle-invisible)
9055         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
9056         with `isearch-define-mode-toggle'.
9058 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
9060         Avoid using `add-to-list' on a let-local var in tramp-smb.el
9062         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
9063         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
9065 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
9067         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
9068         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
9069         does not exist in XEmacs 21.4.
9071 2015-10-28  Anders Lindgren  <andlind@gmail.com>
9073         Fixed OS X startup crash
9075         Input events started to arrive before ns_term_init() was finished.
9076         Solved by blocking input.  This also seems to correct the "You
9077         can't open the application "Emacs" because it may be damaged or
9078         incomplete" error issued when double-clicking on the Emacs
9079         application.
9081         * nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
9082         * nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
9084 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
9086         * src/process.c (Fget_buffer_process): Improve docstring.
9087         Document the fact that it doesn't return dead processes.
9089 2015-10-28  Anders Lindgren  <andlind@gmail.com>
9091         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
9093         * nsterm.h (struct ns_output): New flag, in_animation.
9094         * nsfns.m (Fx_create_frame): Initialize in_animation flag.
9095         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
9096         in_animation flag around call to "setVisible". Set new tool bar
9097         height before call to setVisible.
9098         * nsterm.m (x_set_window_size): Don't call [view setRow:
9099         andColumns:] as this fools the subsequent call to updateFrameSize
9100         from performing the real resize.
9101         (windowDidResize): Don't update anything when in_animation is
9102         non-zero.
9104         Trace output.
9106         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
9107         (EmacsToolbar):
9108         * nsterm.m (x_set_window_size, updateFrameSize)
9109         ([EmacsView setRows: andColumns:])
9111 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
9113         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
9115 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
9117         Prettify TeX macros not ending in a word char
9119         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
9120         Prettify macros which don't end in a word character.
9122 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
9124         Pipe Hg commit descriptions through 'tabindent'
9126         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
9127         through 'tabindent'.
9128         (vc-hg-log-view-mode): Set tab-width to 2 locally.
9129         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
9131 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9133         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
9134         (tramp-smb-handle-directory-files): Use `delete-dups'.
9136         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
9138 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9140         * lisp/international/ccl.el: Use lexical-binding.
9141         (ccl-compile-if): Remove unused var `false-ic'.
9142         (ccl-compile-write-repeat): Remove unused var `i'.
9143         (ccl-compile-map-single): Remove unused var `id'.
9144         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
9145         dynamic var `ccl-code'.
9147 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9149         * lisp/json.el (json-new-object): Optimize trivial `list' call.
9151 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9153         * lisp/help.el: Fix bug with incorrect arglist string.
9154         (help-add-fundoc-usage): Don't mistake a mis-formatted string
9155         for a list.
9157 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9159         * lisp/gnus/gnus-topic.el: Silence some warnings.
9160         (gnus-topic-prepare-topic): Remove unused var `topic'.
9161         (gnus-topic-remove-topic): Mark unused arg `hide'.
9162         (gnus-tmp-header): Declare.
9163         (gnus-topic-goto-missing-group): Remove unused var `entry'.
9164         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
9165         (gnus-topic-copy-matching): Mark unused arg `copyp'.
9166         Move initialization of `topic' into its declaration.
9168 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
9170         Minor CEDET fixes
9172         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
9173         Handle warnings from gtags about invalid options.
9174         (cedet-gnu-global-create/update-database): Do incremental update
9175         properly.
9177         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
9178         Get monotone root right.
9180 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
9182         Fall back to polling in autorevert when needed
9184         * lisp/autorevert.el (auto-revert-notify-handler): When a
9185         `stopped' event arrives from file notification, fall back to polling.
9187         * test/automated/file-notify-tests.el
9188         (file-notify-test03-autorevert): Extend test for polling when file
9189         notification ceases to work.
9191 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
9193         Show full commit messages in 'hg log' when appropriate
9195         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
9196         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
9197         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
9199 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
9201         Use a plain SVG file for the icon
9203         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
9204           format instead of the Inkscape SVG format.
9206 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
9208         Fix subtle bug in auto-revert-tests.el
9210         * test/automated/auto-revert-tests.el
9211         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
9212         buffer where it belongs to.  (Bug#21668)
9214 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
9216         * lisp/emacs-lisp/map.el: Better docstrings.
9218         * lisp/emacs-lisp/seq.el: Better docstrings.
9220         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
9222 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
9224         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
9226 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
9228         Clarify that load-path contents should be directory file names
9230         * doc/lispref/files.texi (Directory Names): Define and use "directory
9231         file name".  Recommend `expand-file-name'.
9233         * src/lread.c (load-path): Fix doc string; elements are directory file
9234         names.
9236 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
9238         Fix simple-test.el test
9240         * test/automated/simple-test.el (simple-test--dummy-buffer):
9241         Make sure indentation doesn't use TABs, otherwise the 6th test
9242         might fail.
9244 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
9246         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
9247         `substring' does not account for full width characters.
9249 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
9251         Further work on `stopped' events in filenotify.el
9253         * doc/lispref/os.texi (File Notifications): Rework examples.
9255         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
9256         (file-notify--rm-descriptor, file-notify-callback): Improve check
9257         for sending `stopped' event.
9258         (file-notify-add-watch): Check for more events for `inotify'.
9260         * test/automated/file-notify-tests.el
9261         (file-notify--test-expected-events): New defvar.
9262         (file-notify--test-with-events): Use it.
9263         (file-notify--test-cleanup): Make it more robust when deleting
9264         directories.
9265         (file-notify--test-event-test): Check also for watched directories.
9266         (file-notify--test-event-handler): Suppress temporary .#files.
9267         (file-notify-test02-events, file-notify-test04-file-validity):
9268         Rework `stopped' events.
9269         (file-notify-test05-dir-validity): Wait for events when appropriate.
9271 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
9273         * src/keyboard.c (post-command-hook): Shorten docstring.
9275 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
9277         Fix infinite loop in sh-script's SMIE code
9279         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
9280         loop (bug#21747).
9282 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9284         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
9285         Character-fold search _still_ doesn't play well with
9286         lax-whitespace.  So disable it by default (again) for now.
9288 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9290         * lisp/isearch.el: No visual feedback for default search mode.
9291         During an isearch where character-folding is the default, we don't
9292         want to take up minibuffer space just to tell the user that
9293         "Char-fold " is on.  The same goes for other modes, if the user
9294         changes the default.  In contrast, if the user toggles OFF the
9295         default mode, they should see "Literal", to distinguish it from
9296         the default mode.
9297         (isearch--describe-regexp-mode): Return "" if describing the
9298         default mode, and return "literal " if describing a plain search
9299         and it is not default.
9301 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9303         * test/automated/simple-test.el: New file.
9304         Define tests for `newline' and `open-line'.
9306 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9308         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
9309         Also run `post-self-insert-hook' when called interactively.
9311 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9313         * lisp/simple.el (open-line): Fix docstring.
9314         Also explain apparently redundant line.
9316 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9317             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
9319         Sync with soap-client repository, version 3.0.1
9321         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
9322         Bump version to 3.0.1.
9324         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
9326 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
9328         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
9330 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9332         * src/keyboard.c (post-command-hook): Extend the docstring.
9333         Mainly, explain how to use it without hanging Emacs, or giving the
9334         impression that it is hanging.  Also mention `pre-command-hook'.
9335         (pre-command-hook): Mention `post-command-hook'.
9337 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
9339         * lisp/custom.el (custom-declare-variable): Shorten code again.
9340         Without using pcase this time.  We can't use pcase because it is
9341         loaded after custom in loadup.el.  Also add a comment explaining
9342         this to future dummies like me.
9344 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
9346         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
9348 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
9350         Introduce `stopped' event in file notification
9352         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
9353         (file-notify-rm-watch): Use it.
9354         (file-notify-callback): Implement `stopped' event.
9355         (file-notify-add-watch): Mention `stopped' in the docstring.
9356         Check, that upper directory exists.
9358         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
9359         Add two test cases.
9360         (file-notify-test02-events): Handle also `stopped' event.
9361         (file-notify-test04-file-validity): Add another test case.
9363 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9365         Revert commit that broke 'make bootstrap'
9367         * lisp/custom.el (custom-declare-variable): Revert commit
9368         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
9369         even when pcase has not been defined yet, when doing bootstrapping.
9371 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9373         Port recent inline functions fix to Standard C
9375         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
9376         All uses rewritten to define the function directly rather than to
9377         use a macro to define the function.  This conforms to Standard C,
9378         which does not allow stray semicolons at the top level.  I hope it
9379         also avoids the problems with TAGS.  Those macros, though clever,
9380         were pretty confusing anyway, and it wasn’t clear they were worth
9381         the aggravation even without the TAGS problem.
9383 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9385         * lisp/isearch.el: Make character-fold search the default again.
9387 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9389         * lisp/character-fold.el: Many improvements.
9390         (character-fold-search-forward, character-fold-search-backward):
9391         New command.
9392         (character-fold-to-regexp): Remove lax-whitespace hack.
9393         (character-fold-search): Remove variable.  Only isearch and
9394         query-replace use char-folding, and they both have their own
9395         variables to configure that.
9397 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9399         * lisp/isearch.el: Generalize definition of regexp-function toggles.
9400         (isearch-specify-regexp-function): New macro for specifying
9401         possible values of `isearch-regexp-function'.
9402         (isearch-toggle-character-fold, isearch-toggle-symbol)
9403         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
9405 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9407         * lisp/isearch.el (search-default-regexp-mode): New variable.
9408         (isearch-mode): Use it.
9410 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9412         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
9413         (search-slow-speed, search-upper-case)
9414         (search-nonincremental-instead, search-whitespace-regexp)
9415         (search-invisible, isearch-hide-immediately)
9416         (isearch-resume-in-command-history, search-ring-max)
9417         (regexp-search-ring-max, search-ring-update, search-highlight)
9418         (isearch-fail): Delete :group entries.
9420 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
9422         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
9424 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9426         addpm.c: Silence some warnings.
9428         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
9429         to LPBYTE.
9430         (add_registry): Pass NULL to optional lpClass argument of
9431         RegCreateKeyEx, not an empty string.
9433 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9435         addpm.c: Do not add obsolete GTK libraries to the path.
9437         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
9438         (add_registry): Remove variables `size' and `gtk_key'.
9439         Do not add the GTK DLL directory to the library search path; it is
9440         confusing behavior (in particular, the same Emacs version with and
9441         without invoking addpm will use a different path), and the GTK image
9442         libraries are obsolete anyway.
9444 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9446         addpm.c: Replace existing registry entries, but do not create new ones
9448         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
9449         existing values from previous versions, but do not add new ones; the
9450         key could exist for other reasons unrelated to old Emacsen, like X-style
9451         resources, or to set some environment variables like HOME or LANG, and
9452         in that case we don't want to populate it with obsolete values.
9454 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9456         * nt/addpm.c (add_registry): Do not compute unused return value.
9458 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9460         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
9462         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
9463         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
9464         current behavior because REG_OPTION_NON_VOLATILE is defined to
9465         be 0L anyway, but that option is actually documented only for
9466         RegCreateKeyEx.
9468 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
9470         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
9472 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9474         Update frame title when redisplay scrolls selected window
9476         * src/xdisp.c (redisplay_window): Reconsider the frame's title
9477         when the mode-line of the frame's selected window needs to be
9478         updated.
9480 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9482         Update frame title when scrolling the selected window
9484         * src/window.c (wset_update_mode_line): New function, sets either
9485         the window's update_mode_line flag or the global update_mode_lines
9486         variable.
9487         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
9488         (window_scroll_line_based): Call it instead of only setting the
9489         window's update_mode_line flag.
9491 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9493         An even better fix for bug#21739
9495         * src/window.c (set_window_buffer): If the window is the frame's
9496         selected window, set update_mode_lines, not the window's
9497         update_mode_line flag.
9498         * src/buffer.c (Fkill_buffer): Undo last change.
9499         (set_update_modelines_for_buf): Function deleted.
9501 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
9502             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
9504         Sync with soap-client repository, version 3.0.0
9506         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
9507         Bump version to 3.0.0.
9509         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
9511         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
9513         * lisp/net/soap-inspect.el: Shorten first line description.
9515         * lisp/net/soap-client.el: Make a small whitespace fix.
9517         * lisp/net/soap-inspect.el: Update copyright years.
9519         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
9520         first use in soap-encode-xs-element.
9522         * lisp/net/soap-client.el (soap-type-is-array?): new defun
9523         (soap-encode-xs-element): handle array elements in this function
9524         (soap-encode-xs-complex-type): flag error if asked to encode an
9525         array type, this is handled in `soap-encode-xs-element'
9527         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
9528         Do not print type for attribute group.
9530         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
9531         New function.
9532         (soap-inspect-xs-attribute-group): Likewise.
9534         * lisp/net/soap-inspect.el
9535         (soap-resolve-references-for-xs-attribute-group): Resolve
9536         references of attributes in an attribute group.
9538         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
9539         type directly, not through soap-wsdl-get.
9541         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
9542         nil if reference attribute is nil.
9544         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
9545         Convert XML schema attributes to xsd:string.
9547         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
9548         New function.
9549         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
9550         (soap-sample-value-for-xs-complex-type): Likewise.
9551         (soap-inspect-xs-attribute): New function.
9552         (soap-inspect-xs-simple-type): Print attributes.
9553         (soap-inspect-xs-complex-type): Likewise.
9555         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
9556         Resolve references for attributes.
9557         (soap-resolve-references-for-xs-complex-type): Likewise.
9559         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
9560         Rename from soap-xml-node-first-child.
9561         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
9562         (soap-xs-parse-simple-type): Likewise.
9564         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
9566         * lisp/net/soap-client.el (soap-invoke-internal): New function.
9567         (soap-invoke-async): Call soap-invoke-internal.
9568         (soap-invoke): Likewise.
9570         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
9571         url-retrieve callback is killed.
9573         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
9574         Rename function.
9575         (soap-parse-wsdl-phase-fetch-imports): Likewise.
9576         (soap-parse-wsdl-phase-parse-schema): Likewise.
9577         (soap-parse-wsdl-phase-fetch-schema): Likewise.
9578         (soap-parse-wsdl-phase-finish-parsing): Likewise.
9579         (soap-parse-wsdl): Update calls.
9581         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
9583         * lisp/net/soap-client.el (soap-invoke-async): New function.
9584         (soap-invoke): Reimplement using soap-invoke-async.
9586         * lisp/net/soap-client.el (soap-parse-server-response):
9587         Improve docstring.
9588         (soap-invoke): Inline call to soap-parse-server-response.
9590         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
9591         Prevent incorrect warning.
9593         * lisp/net/soap-client.el (soap-parse-server-response):
9594         Rename soap-process-url-response.  Destroy the mime part.
9595         (soap-invoke): Call soap-parse-server-response.
9597         * lisp/net/soap-client.el: Update copyright date.
9599         * lisp/net/soap-client.el: Fix checkdoc issues.
9601         * lisp/net/soap-client.el: Fix indentation and long lines.
9603         * lisp/net/soap-client.el (soap-time-format): Remove variable.
9604         (soap-encode-xs-basic-type): Simplify date-time format detection.
9605         (soap-decode-xs-basic-type): Remove soap-time-format support.
9607         * lisp/net/soap-client.el (soap-process-url-response): New function.
9608         (soap-fetch-xml-from-url): Call soap-process-url-response.
9609         (soap-parse-wsdl-phase-1): New function.
9610         (soap-parse-wsdl-phase-2): Likewise.
9611         (soap-parse-wsdl-phase-3): Likewise.
9612         (soap-parse-wsdl-phase-4): Likewise.
9613         (soap-parse-wsdl-phase-5): Likewise.
9614         (soap-parse-wsdl): Call phase functions.
9616         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
9617         Remove one-argument and call.
9619         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
9621         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
9622         (soap-parse-schema): Add wsdl argument.  Look up XML schema
9623         imports from wsdl.
9624         (soap-load-wsdl): Do not set soap-xmlschema-imports.
9625         (soap-parse-wsdl): Get XML schema imports from wsdl.
9627         * lisp/net/soap-client.el (soap-current-file): Remove variable.
9628         (soap-wsdl): Add current-file slot.
9629         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
9630         file from wsdl.
9631         (soap-fetch-xml-from-file): Likewise.
9632         (soap-fetch-xml): Likewise.
9633         (soap-load-wsdl): Always create wsdl object first.
9634         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
9636         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
9637         (soap-xs-parse-element): Set is-group slot.
9638         (soap-resolve-references-for-xs-element): Skip is-group elements.
9639         (soap-xs-complex-type): Add is-group slot.
9640         (soap-xs-parse-complex-type): Set is-group slot.
9641         (soap-xs-parse-sequence): Parse xsd:group elements.
9642         (soap-resolve-references-for-xs-complex-type): Inline elements
9643         from referenced xsd:group nodes.
9644         (soap-parse-schema): Parse xsd:group nodes.
9646         * lisp/net/soap-client.el (soap-invoke):
9647         Don't set url-http-version to 1.0.
9649         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
9650         Allow choice nodes to accept multiple values.
9652         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
9653         for extra header values.
9655         * lisp/net/soap-client.el (soap-well-known-xmlns):
9656         Add wsa and wsaw tags.
9657         (soap-operation): Add input-action and output-action slots.
9658         (soap-parse-operation): Parse wsaw:Action nodes.
9659         (soap-encode-body): Encode service-url for WS-Addressing.
9660         (soap-create-envelope): Likewise.
9661         (soap-invoke): Update soap-create-envelope call to provide
9662         service-url argument.
9664         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
9665         Support xsi:type override attribute.
9666         (soap-decode-array): Likewise.
9668         * lisp/net/soap-client.el (soap-parse-schema):
9669         Handle location attribute.
9671         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
9672         matched validation regexp.
9674         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
9675         Encode xsd:list nodes.
9676         (soap-decode-xs-simple-type): Decode xsd:list nodes.
9678         * lisp/net/soap-client.el (soap-get-candidate-elements):
9679         Fix reference handling.
9681         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
9682         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
9683         (soap-xs-add-list): New function.
9685         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
9686         expected, interpret nil as "false".
9688         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
9689         gYear, gMonthDay, gDay and gMonth.
9691         * lisp/net/soap-client.el (soap-time-format): New variable.
9692         (soap-encode-xs-basic-type): Handle dateTime, time, date,
9693         gYearMonth, gYear, gMonthDay, gDay and gMonth.
9694         (soap-decode-date-time): New function.
9695         (soap-decode-xs-basic-type): Use soap-decode-date-time.
9697         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
9698         after encoding.
9699         (soap-decode-xs-basic-type): Validate value before decoding.
9701         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
9702         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
9704         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
9705         instead of overwriting it.
9706         (soap-validate-xs-simple-type): Add union support.
9708         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
9709         to Emacs regexp using xsdre-translate.
9710         (soap-validate-xs-simple-type): Validate value against pattern.
9712         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
9713         inline simpleType nodes.
9714         (soap-decode-type): Handle union types.
9716         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
9717         attributes.
9719         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
9720         from soap-xs-attribute-group-consolidate, all callers updated
9721         (soap-get-xs-attributes): Rename from
9722         soap-xs-attributes-consolidate, all callers updated
9724         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
9725         (soap-xs-attribute-group): New type.
9726         (soap-xs-parse-attribute-group): New function.
9727         (soap-resolve-references-for-xs-attribute-group): Likewise.
9728         (soap-xs-add-extension): Handle attribute groups.
9729         (soap-resolve-references-for-xs-simple-type): Likewise.
9730         (soap-xs-parse-complex-type): Likewise.
9731         (soap-xs-parse-extension-or-restriction): Likewise.
9732         (soap-resolve-references-for-xs-complex-type): Likewise.
9733         (soap-xs-attribute-group-consolidate): New function.
9734         (soap-xs-attributes-consolidate): Handle attribute groups.
9735         (soap-parse-schema): Likewise.
9737         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
9738         Fix boolean encoding.
9740         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
9741         element names in warnings.
9743         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
9745         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
9746         Eliminate invalid warnings for choice types.
9748         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
9749         Also encode base type attributes.
9751         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
9752         warning.  Print e-name in warnings, or element if e-name is nil.
9754         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
9755         (soap-xs-parse-element): Set substitution-group.
9756         (soap-resolve-references-for-xs-element): Populate alternatives slot.
9757         (soap-get-candidate-elements): New function.
9758         (soap-encode-xs-complex-type): Iterate through all candidate elements.
9759         Handle types with nil type indicator.  Fix warning logic.
9761         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
9762         earlier in the file to prevent compiler warning.
9764         * lisp/net/soap-client.el (soap-node-optional): New function.
9765         (soap-node-multiple): Likewise.
9766         (soap-xs-parse-element): Call soap-node-optional and
9767         soap-node-multiple.
9768         (soap-xs-complex-type): Add optional? and multiple? slots.
9769         (soap-xml-get-children-fq): New function.
9770         (soap-xs-element-get-fq-name): Likewise.
9771         (soap-xs-complex-type-optional-p): Likewise.
9772         (soap-xs-complex-type-multiple-p): Likewise.
9773         (soap-xs-attributes-consolidate): Likewise.
9774         (soap-decode-xs-attributes): Likewise.
9775         (soap-decode-xs-complex-type): Decode types with nil type indicator.
9776         Support children that use local namespaces.  Decode attributes.
9777         Add type considerations to optional? and multiple? warnings.
9779         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
9780         Store parsed attributes.
9781         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
9783         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
9784         Don't add the xsi:type attribute (Exchange refuses requests which have
9785         this attribute).
9787         * lisp/net/soap-client.el, soap-inspect.el: Convert to lexical binding,
9788         correct compiler warnings about unused function arguments and
9789         local variables.
9791         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
9792         type indicator.
9793         (soap-parse-envelope): Handle response headers.
9794         (soap-parse-response): Likewise.  Only return non-nil decoded values.
9796         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
9797         Return validated value.
9799         * lisp/net/soap-client.el (soap-xs-parse-element)
9800         (soap-xs-parse-simple-type)
9801         (soap-xs-parse-complex-type)
9802         (soap-parse-message)
9803         (soap-parse-operation): Add the current namespace to the element
9804         being created.
9805         (soap-resolve-references-for-xs-element)
9806         (soap-resolve-references-for-xs-simple-type)
9807         (soap-resolve-references-for-xs-complex-type)
9808         (soap-resolve-references-for-operation): Resolve the namespace to
9809         the namespace tag.
9810         (soap-make-wsdl): specify a namespace tag when creating the xsd
9811         and soapenc namespaces
9812         (soap-wsdl-resolve-references): don't update namespace tags in
9813         elements here
9814         (soap-parse-port-type): bind the urn: to soap-target-xmlns
9815         (soap-encode-body): don't add nil namespace tags to
9816         soap-encoded-namespaces
9818         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
9819         for registering the soap-inspect method.  Make debbugs tests pass.
9820         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
9821         type name, also skip string only nodes when decoding a structure.
9822         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
9823         types too.
9824         (soap-encode-body): Grab the header value from the param table.
9826         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
9827         New function.
9828         (soap-encode-xs-element): Don't encode nil value unless needed.
9830         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
9831         (soap-parse-binding): Parse the message parts required in the body.
9832         (soap-encode-body): Encode only the parts that are declared to be
9833         part of the body.
9835         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
9836         when writing out the tag.
9837         (soap-encode-body): Remove hack that inserts the xmlns in the
9838         element attributes list.
9840         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
9841         (soap-xs-parse-attribute): Default slot is set from the XML
9842         "fixed" attribute.
9843         (soap-encode-xs-complex-type-attributes): Encode any attributes
9844         that have a default value.  Also, don't put the xsi:nil attribute
9845         when the complex type has no content anyway.
9847         * lisp/net/soap-client.el (soap-well-known-xmlns):
9848         Add the xml namespace.
9849         (soap-local-xmlns): Start with the xml namespace.
9850         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
9851         (soap-make-xs-basic-types): More xsd types added.
9852         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
9853         Handle "language", "time", "date", "nonNegativeInteger".
9854         (soap-resolve-references-for-xs-element): Don't signal an error if
9855         the element does not have a type.
9856         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
9857         added stum for xsd:list.
9858         (soap-xs-add-union): Call soap-l2fq on all union members.
9859         (soap-xs-add-extension): Call soap-l2fq on the base member.
9860         (soap-resolve-references-for-xs-simple-type): Don't signal an
9861         error if the simple type has no base.
9862         (soap-resolve-references-for-xs-simple-type): Bugfix, call
9863         soap-wsdl-get on each type of the base.
9865         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
9866         Referenced type can be eiher a simple type or a basic type.
9867         (soap-xs-add-restriction)
9868         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
9869         (soap-make-xs-basic-types)
9870         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
9871         Add support for more XMLSchema basic types.
9872         (soap-current-file, soap-xmlschema-imports): New defvars.
9873         (soap-parse-schema): Add locations from xsd:import tags to
9874         `soap-xmlschema-imports'.
9875         (soap-wsdl): Make destructor private.
9876         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
9877         (soap-wsdl-add-alias): Check if we try to replace aliases.
9878         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
9879         (soap-fetch-xml): New defuns.
9880         (soap-load-wsdl): Update to load the WSDL from either a file or
9881         an url.
9882         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
9883         (soap-parse-wsdl): Process wsdl:import tags and imports from
9884         `soap-xmlschema-imports'.
9885         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
9886         symbol-name.
9887         (soap-l2fq): Make the name part always a string.
9888         (soap-name-p): New defun, used for name tests.
9890         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
9891         Supply sample values for choice types with a special tag.
9892         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
9893         Handle anonymous elements correctly.
9894         (soap-encode-value): Accept nodes that have no namespace tag.
9896         * lisp/net/soap-client.el (soap-invoke): Encode the string for
9897         `url-request-data' as UTF-8.  Fixes issue 16.
9899 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
9901         Update the new icon
9903         Move the E slightly to the right in the circle.
9905         * etc/images/icons/hicolor/128x128/apps/emacs.png:
9906         * etc/images/icons/hicolor/16x16/apps/emacs.png:
9907         * etc/images/icons/hicolor/24x24/apps/emacs.png:
9908         * etc/images/icons/hicolor/32x32/apps/emacs.png:
9909         * etc/images/icons/hicolor/48x48/apps/emacs.png:
9910         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
9911         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
9912         * nt/icons/emacs.ico: New icom update.
9914 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9916         Avoid missing inline functions from lisp.h in TAGS
9918         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
9919         need to end each invocation with a semi-colon.
9920         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
9921         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
9922         inline functions defined immediately after each invocation, and
9923         also avoid tagging every invocation of these macros.
9925 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
9927         A better fix for bug#21739
9929         * src/buffer.c (set_update_modelines_for_buf): New function.
9930         (Fkill_buffer): Use it to set the global variable
9931         update_mode_lines if the killed buffer was displayed in some
9932         window.  Don't set windows_or_buffers_changed.  This is a better
9933         fix for bug#21739 than the previous fix, since it will cause only
9934         redisplay of mode lines, not of entire windows, but will still
9935         catch attention of x_consider_frame_title in xdisp.c, which
9936         redraws the frame title.
9938 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
9940         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
9941         tar.bz2 and tar.xz archives.
9943 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
9945         Fix infloop in redisplay introduced by a recent change
9947         * src/xdisp.c (redisplay_internal): Avoid inflooping when
9948         redisplaying the selected window sets the selected frame's
9949         redisplay flag.  (Bug#21745)
9951 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
9953         * lisp/emacs-lisp/thunk.el: Better documentation.
9955 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
9957         Replace the old icon for Windows and Mac OSX
9959         * nt/icons/emacs.ico:
9960         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
9961         Use the new icons.
9963 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
9965         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
9966         `load-path' should contain only directory names.
9968 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
9970         New library thunk.el
9972         thunk.el is extracted from stream.el in ELPA, with additional tests.
9974         * lisp/emacs-lisp/thunk.el: New file.
9975         * test/automated/thunk-tests.el: New file.
9976         * etc/NEWS: Add information about thunk.el
9978 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
9980         Fix bug#21669
9982         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
9983         calling low-level functions.
9985         * test/automated/file-notify-tests.el (file-notify--test-timeout):
9986         Decrase to 6 seconds for remote directories.
9987         (file-notify-test02-events): Expect different number of
9988         `attribute-changed' events for the local and remote cases.  Apply
9989         short delays between the operations, in order to receive all
9990         events in the remote case.  Combine `attribute-change' tests.
9991         (Bug#21669)
9993 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
9995         Decode the HTML source when displaying it in EWW
9997         * lisp/net/eww.el (eww-view-source): Decode the HTML source
9998         according to its headers.
10000 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
10002         New default icon
10004         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
10005         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
10006         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
10007         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
10008         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
10009         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
10010         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
10011         Move the old logo files to emacs23.*.
10012         * etc/images/icons/hicolor/128x128/apps/emacs.png:
10013         * etc/images/icons/hicolor/16x16/apps/emacs.png:
10014         * etc/images/icons/hicolor/24x24/apps/emacs.png:
10015         * etc/images/icons/hicolor/32x32/apps/emacs.png:
10016         * etc/images/icons/hicolor/48x48/apps/emacs.png:
10017         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
10018         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
10019         New files.
10020         * etc/images/icons/README: Update the copyright information.
10022 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
10024         Fix redisplay of frame title when current buffer is killed
10026         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
10027         non-zero value, to redisplay more than just the affected windows.
10028         (Bug#21739)
10030 2015-10-23  Anders Lindgren  <andlind@gmail.com>
10032         NextStep maximization and NSTRACE rewrite
10034         Full-height, full-width, and maximized windows now cover the
10035         entire screen (except the menu bar), including the part where the
10036         system dock is placed.  The system zoom animation is no longer
10037         used.
10039         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
10040         original size.
10042         * src/nsterm.m (ns_menu_bar_height): New function, return height of
10043         the menu bar, or 0 when it's hidden.
10044         (constrain_frame_rect): New function for constraining a frame.
10045         (ns_constrain_all_frames): Set frame size explicitly rather than
10046         relying on the system doing it for us by writing back the current
10047         frame size.
10048         (windowWillUseStandardFrame): Register non-maximized width or
10049         height as new user size.  When entering full width or height,
10050         the other size component is taken from the user size.
10051         (fullscreenState): New method for accessing the fullscreen state.
10052         (constrainFrameRect): Restrict frame to be placed under the menu bar,
10053         if present.  The old version, sometimes, restricted the height of a
10054         frame to the screen, this version never does this.
10055         (zoom): Perform zoom by setting the frame to the full size of the
10056         screen (minus the menu bar).  The default system function, with the
10057         zoom animation, is no longer used, as the final frame size doesn't
10058         cover the entire screen.
10060         Rework how to constrain resizing to the character grid.  The old
10061         system used "resizeIncrements" in NSWindows.  However, once a frame
10062         was resized so that it was not aligned to the text grid, it
10063         remained unaligned even after a resize.  In addition, it conflicted
10064         when resizing a fullheight window.
10066         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
10067         unless when pixelwise frame resizing is enabled.
10068         (updateFrameSize, initFrameFromEmacs)
10069         (toggleFullScreen, handleFS): Don't set resizeIncrements.
10071         Redesign the NS trace system.  The call structure is represented
10072         using indentations and vertical lines.  The NSTRACE macro accepts
10073         printf-style arguments.  New macros for printing various
10074         information.
10076         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
10077         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
10078         block (typically a function), accept printf-style arguments.
10079         (NSTRACE_MSG): Macro for extra information, accepts
10080         printf-style arguments.
10081         (NSTRACE_what): Macros for printing various types.
10082         (NSTRACE_FMT_what): Macro with printf format string snippets.
10083         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
10084         corresponds to NSTRACE_FMT_what.
10085         (NSTRACE_RETURN): Macro to print return value, accept
10086         printf-style arguments.
10087         (NSTRACE_RETURN_what): Macros to print return value for
10088         various types.
10090         * nsterm.m: Remove old NSTRACE macro
10091         * src/nsterm.m (nstrace_num): Trace counter.
10092         (nstrace_depth): Current call depth.
10093         (nstrace_leave): NSTRACE support function, called when the
10094         local variable "nstrace_enabled" goes out of scope using the
10095         "cleanup" extension.
10096         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
10097         (constrain_frame_rect, ns_constrain_all_frames)
10098         (ns_update_auto_hide_menu_bar, ns_update_begin)
10099         (ns_update_window_begin, update_window_end, ns_update_end)
10100         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
10101         (ns_frame_rehighlight, x_make_frame_visible)
10102         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
10103         (x_destroy_window, x_set_offset, x_set_window_size)
10104         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
10105         (ns_defined_color, frame_set_mouse_pixel_position)
10106         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
10107         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
10108         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
10109         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
10110         (dumpcursor, ns_draw_vertical_window_border)
10111         (ns_draw_window_divider, ns_draw_relief)
10112         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
10113         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
10114         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
10115         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
10116         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
10117         (ns_create_terminal, ns_term_init, sendEvent)
10118         (applicationDidFinishLaunching, applicationDidBecomeActive)
10119         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
10120         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
10121         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
10122         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
10123         (mouse_autoselect_window, in_window, mouseDragged)
10124         (rightMouseDragged, otherMouseDragged, windowShouldClose)
10125         (updateFrameSize, windowWillResize, windowDidResize)
10126         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
10127         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
10128         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
10129         (windowDidEnterFullScreen, windowWillExitFullScreen)
10130         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
10131         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
10132         (draggingEntered, performDragOperation, validRequestorForSendType)
10133         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
10134         (EmacsScroller_initFrame, EmacsScroller_setFrame)
10135         (EmacsScroller_dealloc, condemn, reprieve, judge)
10136         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
10137         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
10139         * nsfns.m: Remove old NSTRACE macro
10140         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
10141         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
10142         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
10144         * nsimage.m: Remove old NSTRACE macro
10145         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
10146         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
10148         * nsmenu.m: Remove old NSTRACE macro
10149         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
10150         Use new trace system.
10152 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
10154         No need to use eval-and-compile
10156         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
10157         autoload epg functions.
10159 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
10161         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
10163         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
10164         epg-context-set-passphrase-callback, epg-decrypt-string, and
10165         epg-encrypt-string; require epg when compiling for the setf-method
10166         for epg-context-armor. (bug#21724)
10168 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
10170         Include file cleanup for w32 files in src directory
10172         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
10173         fontset.h, blockinput.h.
10174         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
10175         charset.h, fontset.h.
10176         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
10177         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
10178         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
10179         in an ifdef-ed away block.
10180         Include fcntl.h for CYGWIN.
10181         (set_frame_param): Remove unused function.
10182         * src/w32select.c: Don't include charset.h and composite.h.
10183         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
10184         due to pointer signedness mismatches.
10185         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
10186         due to pointer signedness mismatches.
10187         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
10188         process.h, dispextern.h.
10189         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
10190         (Fw32_application_type): Avoid compiler warnings due to pointer
10191         signedness mismatches.
10192         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
10193         character.h, charset.h, dispextern.h.
10194         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
10195         to pointer signedness mismatches.
10196         * src/w32inevt.c: Don't include dispextern.h, window.h,
10197         termhooks.h, w32heap.h.
10198         * src/w32font.c: Don't include dispextern.h, character.h,
10199         charset.h, fontset.h, font.h.
10200         (intern_font_name, add_font_entity_to_list)
10201         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
10202         (list_all_matching_fonts): Avoid compiler warnings due to pointer
10203         signedness mismatches.
10204         * src/w32fns.c: Don't include character.h, intervals.h,
10205         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
10206         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
10207         (w32_color_map_lookup, add_system_logical_colors_to_map)
10208         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
10209         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
10210         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
10211         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
10212         compiler warnings, mainly due to pointer signedness mismatches.
10213         (unwind_create_frame_1): Remove unused function.
10214         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
10215         window.h, termhooks.h, dispextern.h.
10216         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
10217         signedness mismatch.
10218         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
10219         w32heap.h.
10221 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
10223         Improve doc-view wrt. auto-revert-mode
10225         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
10226         is corrupted (bug#21729).
10227         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
10229 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
10231         Describe dired-do-compress-to in the manual
10233         * etc/NEWS: Update.
10235         * lisp/dired-aux.el: Fix typo.
10237         * doc/emacs/dired.texi: Add entry.
10239 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
10241         Further fix for proper locale handling in tramp-gvfs.el
10243         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
10244         Just suppress LC_MESSAGES locale category settings.
10246 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
10248         New lispref section “Security Considerations”
10250         This attempts to document some of the issues recently discussed
10251         on emacs-devel, and to indicate other such issues.  The section
10252         could be a lot longer.
10253         * doc/lispref/os.texi (Security Considerations):
10254         New node.
10255         * doc/lispref/elisp.texi (Top):
10256         * doc/lispref/processes.texi (Shell Arguments):
10257         * lisp/subr.el (shell-quote-argument):
10258         * src/callproc.c (syms_of_callproc):
10259         Reference it.
10261 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
10263         Merge from gnulib
10265         This incorporates:
10266         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
10267         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
10268         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
10269         Copy from gnulib.
10271 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
10273         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
10274         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
10276 2015-10-21  Ken Brown  <kbrown@cornell.edu>
10278         Further include-file cleanup
10280         * src/sheap.c: Include stdlib.h.
10281         * src/unexcw.c: Include string.h.
10283 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
10285         Fix logic in 'server-kill-emacs-query-function'
10287         * lisp/server.el (server-kill-emacs-query-function): Correct the
10288         logic that controls whether the user is asked for confirmation.
10289         (Bug#21723)
10291 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
10293         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
10294         (isearch--lax-regexp-function-p): New function.
10296 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
10298         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
10299         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
10300         around `isearch-regexp-function'.
10302 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
10304         * lisp/isearch.el: Rename word search to regexp-function search.
10305         `isearch-word' went well beyond its original purpose, and the name
10306         no longer makes sense.  It is now called
10307         `isearch-regexp-function', and its value should always be a function
10308         that converts a string to a regexp (though setting it to t is still
10309         supported for now).
10310         (isearch-word): Make obsolete.
10311         (isearch-regexp-function): New variable.
10312         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
10313         (with-isearch-suspended, isearch-toggle-regexp)
10314         (isearch-toggle-word, isearch-toggle-symbol)
10315         (isearch-toggle-character-fold, isearch-query-replace)
10316         (isearch-occur, isearch-highlight-regexp)
10317         (isearch-search-and-update, isearch-message-prefix)
10318         (isearch-search-fun-default, isearch-search)
10319         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
10320         Use it.
10321         (isearch-lazy-highlight-regexp-function): New var.
10322         (isearch-lazy-highlight-word): Make obsolete.
10323         (isearch--describe-regexp-mode): New function.
10324         (isearch--describe-word-mode): Make obsolete.
10326         * lisp/info.el (Info-isearch-search):
10327         * lisp/replace.el (replace-search, replace-highlight):
10328         * lisp/obsolete/longlines.el (longlines-search-function):
10329         * lisp/hexl.el (hexl-isearch-search-function):
10330         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
10331         Use the new var.
10333 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
10335         Add dired-do-compress-to command bound to "c"
10337         * lisp/dired-aux.el (dired-shell-command): Use the caller's
10338           `default-directory', return the result of `process-file'.
10339         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
10340         used by default.
10341         (dired-compress-files-alist): New defvar.
10342         (dired-do-compress-to): New command.
10344         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
10345         (dired-do-compress-to): Add an autoload entry.
10347         * etc/NEWS: Add two entries.
10349 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
10351         Make RefTeX work with LaTeX subfiles package
10353         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
10354         document class argument as master file for referencing purposes.
10356 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
10358         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
10360 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
10362         Include-file cleanup for src directory
10364         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
10365         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
10366         but does not include it directly.  As a general rule, a source
10367         file should include foo.h if it needs the interfaces that foo.h
10368         defines.
10369         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
10370         systime.h.
10371         * src/atimer.c: Don’t include blockinput.h.
10372         * src/buffer.c: Include coding.h, systime.h.  Don’t include
10373         keyboard.h, coding.h.
10374         * src/callint.c: Don’t include commands.h, keymap.h.
10375         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
10376         systty.h, termhooks.h.
10377         * src/casetab.c: Don’t include character.h.
10378         * src/category.c: Don’t include charset.h, keymap.h.
10379         * src/ccl.h: Don’t include character.h.
10380         * src/character.c: Don’t include charset.h.
10381         * src/charset.c: Don’t include disptab.h.
10382         * src/chartab.c: Don’t include ccl.h.
10383         * src/cm.c: Don’t include frame.h, termhooks.h.
10384         * src/cmds.c: Don’t include window.h, dispextern.h.
10385         * src/coding.c: Don’t include window.h, frame.h.
10386         * src/composite.c: Include composite.h.  Don’t include window.h,
10387         font.h.
10388         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
10389         * src/dbusbind.c: Don’t include frame.h.
10390         * src/decompress.c: Don’t include character.h.
10391         * src/dired.c: Don’t include character.h, commands.h, charset.h.
10392         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
10393         process.h, timespec.h.  Include systime.h.
10394         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
10395         * src/editfns.c: Include composite.h.  Don’t include frame.h.
10396         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
10397         commands.h, systty.h..
10398         * src/fileio.c: Don’t include intervals.h, dispextern.h.
10399         Include composite.h.
10400         * src/filelock.c: Don’t include character.h, systime.h.
10401         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
10402         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
10403         * src/font.c: Include termhooks.h.
10404         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
10405         struct composition_it, struct face, struct glyph_string.
10406         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
10407         intervals.h, window.h, termhooks.h.
10408         * src/frame.c: Don’t include character.h, commands.h, font.h.
10409         * src/frame.h: Don’t include dispextern.h.
10410         * src/fringe.c: Don’t include character.h.
10411         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
10412         character.h, charset.h, fontset.h.
10413         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
10414         fontset.h.
10415         * src/ftxfont.c: Don’t include dispextern.h, character.h,
10416         charset.h, fontset.h.
10417         * src/gfilenotify.c: Don’t include frame.h, process.h.
10418         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
10419         Don’t include syssignal.h, buffer.h, charset.h, font.h.
10420         * src/gtkutil.h: Don’t include frame.h.
10421         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
10422         Don’t include character.h.
10423         * src/indent.c: Don’t include keyboard.h, termchar.h.
10424         * src/inotify.c: Don’t include character.h, frame.h.
10425         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
10426         * src/intervals.c: Don’t include character.h, keyboard.h.
10427         * src/intervals.h: Don’t include dispextern.h, composite.h.
10428         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
10429         Include coding.h.
10430         * src/keyboard.h: Don’t incldue systime.h.
10431         * src/keymap.c: Don’t include charset.h, frame.h.
10432         * src/lread.c: Include dispextern.h and systime.h.
10433         Don’t include frame.h.  Include systime.h.
10434         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
10435         * src/menu.c: Include character.h, coding.h.  Don’t include
10436         dispextern.h.
10437         * src/menu.h: Don’t include systime.h.
10438         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
10439         intervals.h, termhooks.h.
10440         * src/print.c: Include coding.h.  Don’t include keyboard.h,
10441         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
10442         Add forward decl of struct terminal.
10443         * src/process.c: Don’t include termhooks.h, commands.h,
10444         dispextern.h, composite.h.
10445         * src/region-cache.c: Don’t include character.h.
10446         * src/scroll.c: Don’t include keyboard.h, window.h.
10447         * src/search.c: Don’t include category.h, commands.h.
10448         * src/sound.c: Don’t include dispextern.h.
10449         * src/syntax.c: Don’t include command.h, keymap.h.
10450         * src/sysdep.c: Don’t include window.h, dispextern.h.
10451         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
10452         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
10453         * src/terminal.c: Include character.h.
10454         Don’t include charset.h, coding.h.
10455         * src/textprop.c: Don’t include character.h.
10456         * src/undo.c: Don’t include character.h, commands.h, window.h.
10457         * src/unexsol.c: Don’t include character.h, charset.h.
10458         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
10459         window.h, dispextern.h, blockinput.h, character.h, font.h.
10460         * src/widgetprv.h: Don’t include widget.h.
10461         * src/window.c: Don’t include character.h, menu.h, intervals.h.
10462         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
10463         macros.h, process.h.
10464         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
10465         intervals.h.
10466         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
10467         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
10468         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
10469         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
10470         * src/xgselect.c: Don’t include timespec.h, frame.h.
10471         Include systime.h.
10472         * src/xgselect.h: Don’t include time.h.
10473         Use a forward decl to struct timespec instead.
10474         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
10475         dispextern.h.  Include systime.h.
10476         * src/xml.c: Don’t include character.h.
10477         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
10478         * src/xselect.c: Don’t include dispextern.h, character.h,
10479         buffer.h, process.h.
10480         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
10481         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
10482         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
10484 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
10486         (/ N) now returns the reciprocal of N
10488         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
10489         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
10490         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
10491         (color-xyz-to-srgb, color-xyz-to-lab):
10492         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
10493         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
10494         (shr-color-hsl-to-rgb-fractions):
10495         Exploit the change to simplify the code a bit.
10496         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
10497         Don’t complain about single-argument calls to ‘/’.
10498         * src/data.c (arith_driver, float_arith_driver):
10499         Implement the change.
10501 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
10503         Call vc-dir-refresh after stash operations
10505         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
10506         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
10508         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
10509         since it can be abbreviated (as returned by vc-find-root).
10511 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
10513         * lisp/vc/vc-svn.el:
10514         * lisp/vc/vc-mtn.el:
10515         * lisp/vc/vc-hg.el:
10516         * lisp/vc/vc-cvs.el:
10517         * lisp/vc/vc-git.el:
10518         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
10519         Its usages have been replaced with vc-run-delayed.
10521 2015-10-20  Dima Kogan  <dima@secretsauce.net>
10523         Fix memory leak in fontset handling
10525         * src/font.c (copy_font_spec): Make a deep copy of the input
10526         argument FONT.  (Bug#21651)
10528 2015-10-20  Michael Sperber  <mike@xemacs.org>
10530         * lisp/gnus/mailcap.el (mailcap-mime-data):
10531         Conditonalize `doc-view-mode', which does not exist on XEmacs.
10533 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
10535         Update the way directories are compressed
10537         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
10538         for *.tar.gz decompression to use a pipe.
10539         Add an entry for the default directory compression (to *.tar.g).
10540         (dired-compress-file): Update.
10542         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
10544 2015-10-20  Michael Sperber  <mike@xemacs.org>
10546         Unbreak `group' option for `mail-sources'
10548         * nnml.el (nnml-retrieve-groups, nnml-request-scan):
10549         * nnmail.el (nnmail-get-new-mail-per-group)
10550         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
10552 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
10554         New function seq-position
10556         * lisp/emacs-lisp/seq.el (seq-position): New function.
10557         * test/automated/seq-tests.el: New tests for seq-position.
10558         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
10560 2015-10-19  Ken Brown  <kbrown@cornell.edu>
10562         Enable --with-wide-int build on 32-bit Cygwin
10564         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
10565         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
10567 2015-10-19  Glenn Morris  <rgm@gnu.org>
10569         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
10571 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
10573         Resurrect image loading under auto-image-file-mode
10575         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
10576         'openp' specially.  This special case was lost in the changes on
10577         2015-08-18.  (Bug#21685)
10579 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
10581         Fix return value of 'set-file-extended-attributes'
10583         * lisp/files.el (set-file-extended-attributes): Return non-nil
10584         when setting either ACLs or SELinux context succeeds.  Document
10585         the return value.  (Bug#21699)
10587         * doc/lispref/files.texi (Changing Files): Document the return
10588         value of set-file-extended-attributes.
10590 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
10592         Improve documentation of functions that change files
10594         * doc/lispref/files.texi (Changing Files): Document that these
10595         functions signal an error on failure.
10597 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
10599         Fix doc string of 'shell-quote-argument'
10601         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
10603 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
10605         Some minor Tramp changes
10607         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
10609         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
10610         Expand `tramp-auto-save-directory'.
10612 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
10614         Minor edits in Tramp
10616         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
10617         Declare it.
10619         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
10620         Remove declaration.
10622 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
10624         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
10626 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
10628         Avoid crashes when redisplayng a window changes faces or fonts
10630         * src/xdisp.c (redisplay_internal): If redisplaying the selected
10631         window or one of the frames turns on the frame's 'redisplay' flag,
10632         redisplay again.  (Bug#21428)
10634         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
10636 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
10638         Solve timimg issues in file-notify-tests.el
10640         * test/automated/file-notify-tests.el (file-notify-test02-events):
10641         Rectify `attribute-change' tests.  There are timing issues with
10642         gfilenotify.  (Bug#21669)
10644 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
10646         Fix quoting of data within htmlfontify doc
10648         * doc/misc/htmlfontify.texi (Data Structures, Customization):
10649         Fix quoting of data structures.  A Lisp quote is needed only
10650         when data appears within Lisp code.
10652 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
10654         * lisp/emacs-lisp/package.el: Reload archive-contents if
10655         priorities change.
10656         (package--old-archive-priorities): New variable.
10657         (package-read-all-archive-contents, package-menu--refresh): Use it
10658         to decide when the `package-archive-contents' needs to be read
10659         again.
10661 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
10663         Make src headers idempotent and standalone
10665         Redo src/*.h so that each include file is idempotent (that is, can
10666         be included multiple times with the latter inclusions having no
10667         effect) and standalone (that is, can be included by itself,
10668         with no include file other than config.h needed as a prerequisite).
10669         This is standard practice in GNU programs nowadays.
10670         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
10671         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
10672         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
10673         * src/regex.h [emacs]:
10674         * src/syntax.h, src/systty.h, src/termhooks.h:
10675         Include lisp.h, for Lisp_Object.
10676         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
10677         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
10678         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
10679         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
10680         * src/termopts.h, src/tparam.h, src/unexec.h:
10681         Protect against multiple inclusion.
10682         * src/buffer.h: Include character.h, for STRING_CHAR.
10683         * src/emacsgtkfixed.h (struct frame):
10684         * src/fontset.h (struct face):
10685         * src/region-cache.h (struct buffer):
10686         * src/termhooks.h (struct glyph):
10687         * src/xsettings.h (struct x_display_info):
10688         Add possibly-forward decl.
10689         * src/syntax.h: Include buffer.h, for BVAR.
10690         * src/sysselect.h: Include lisp.h, for eassume.
10691         * src/termchar.h: Include <stdio.h>, for FILE.
10692         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
10693         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
10695 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
10697         Handle symlink targets containing spaces in tramp-gvfs.el
10699         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
10700         Handle symlink targets containing spaces.
10702 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
10704         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
10706         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
10707         same reason that `load-path' shouldn't.  Setting it via the customize
10708         interface is a trap for the user.
10710         Installed themes commonly add themselves to this variable, which means
10711         its value is not fit for being saved (it will permanently remember dirs
10712         that don't exist anymore).
10714         This is aggravated by the fact that Emacs always applies the `user'
10715         theme on top of any theme that's loaded, since this will apply the old
10716         variable value and remove any new directories that had been recently
10717         added by themes themselves.
10719         Not to mention, we already have `custom-theme-directory', which is safe
10720         to customize.
10722 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
10724         * lisp/mpc.el: Rename the new toggling commands.
10725         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
10726         (mpc-toggle-shuffle): Add "-toggle" in the name.
10728 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
10730         Improve the doc string of 'completion-boundaries'
10732         * lisp/minibuffer.el (completion-boundaries): Rename the argument
10733         TABLE to COLLECTION, for consistency with other high-level
10734         completion functions.  Document how COLLECTION is called if it
10735         is a function.  (Bug#21644)
10737 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
10739         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
10741 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
10743         Make dired-do-compress work for *.zip files
10745         * lisp/dired-aux.el (dired-check-process): Transform the top-level
10746           comment into a docstring.
10747         (dired-shell-command): New command.  This mirrors
10748         `dired-check-process', but is more user-friendly for passing
10749         arguments.
10750         (dired-compress-file-suffixes): Allow to specify the command switches
10751         along with input (%i) and output (%o) inside the PROGRAM part.
10752         Add an entry for *.zip files, and update the entry for *.tar.gz files
10753         to the new style.  Update the docstring.
10754         (dired-compress-file): When PROGRAM matches %i or %o, use the new
10755         logic.
10756         (dired-update-file-line): Avoid an error when at end of buffer.
10758         Fixes bug#21637.
10760 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
10762         Minor improvement in documentation of internals
10764         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
10766 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
10768         Improve documentation of COLLECTION in completion functions
10770         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
10771         cross-reference to "Programmed Completion".
10773         * src/minibuf.c (Fcompleting_read): Improve the doc string.
10774         (Bug#21644)
10776 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
10778         Add more release info to etc/HISTORY
10780         * etc/HISTORY: Add more release information about 19.x and 20.x
10781         versions.
10783 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
10785         New file etc/HISTORY
10787         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
10788         * etc/HISTORY: New file.
10789         * etc/NEWS: Mention it.
10791 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
10793         js-mode: Don't misindent generator methods
10795         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
10796         generator methods from multiplication operator
10797         (https://github.com/mooz/js2-mode/issues/275).
10799 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
10801         Fix animation timeout delay calculation
10803         * lisp/image.el (image-animate-timeout):
10804         Don’t assume speed is floating-point.
10806 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
10808         Add commands for controlling MPD modes
10810         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
10811         (mpc-cmd-single): New functions.
10812         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
10813         (mpc-mode-menu): Add new commands as menu items.
10815 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
10817         Refer to `(elisp)Basic Completion' in completing-read docstring
10819         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
10820         Completion' in the docstring (bug#21644).
10822 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
10824         * lisp/mpc.el (mpc-format): Always push form to pred
10826 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10828         Spelling fixes
10830         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
10831         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
10832         Fix misspelling of nonexistent file name.
10834 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
10836         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
10838 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
10840         Some editing fixes in Tramp
10842         * lisp/net/tramp-gvfs.el:
10843         * doc/misc/tramp.texi: "customer option" -> "custom option".
10845         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
10847 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
10849         Use proper localization in tramp-gvfs.el
10851         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
10852         Suppress localized settings in order to proper parse gfvs output.
10854 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
10856         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
10857         Quote argument in proper order.  (Bug#21562)
10859 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
10861         Fix typos in docstrings
10863         * lisp/emacs-lisp/map.el:
10864         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
10865           macros.
10867 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
10869         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
10871 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
10873         Make dired-jump work with tar-subfile-mode
10875         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
10876           emitting an error, switch to `tar-superior-buffer'.
10878 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
10880         * .gitignore: Add build-aux/ar-lib.
10882 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
10884         Better docstrings in seq.el and map.el
10886         * lisp/emacs-lisp/map.el:
10887         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
10889 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10891         Merge from gnulib
10893         This incorporates:
10894         2015-10-13 binary-io, u64, unistd: port to strict C
10895         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
10896         2015-09-25 c-ctype: port better to z/OS EBCDIC
10897         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
10898         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
10899         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
10900         Copy from gnulib.
10902 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10904         Take XPNTR private
10906         * src/alloc.c (PURE_POINTER_P): Remove.
10907         All uses replaced with PURE_P.
10908         (XPNTR_OR_SYMBOL_OFFSET): New function.
10909         (XPNTR): Move here from lisp.h.
10910         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
10911         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
10912         Remove unnecessary cast.
10913         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
10914         to avoid an unnecessary runtime test for symbols.
10915         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
10916         Only alloc.c needs XPNTR now.
10918 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10920         Add MPC play/pause command
10922         * lisp/mpc.el (mpc-toggle-play): New command.
10923         (mpc-mode-map): Bind it to "s".
10924         (mpc-mode-menu): Add corresponding menu item.
10926 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10928         Add bindings and menu items for prev and next tracks
10930         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
10931         "<" to mpc-prev.
10932         (mpc-mode-menu): Add corresponding menu items
10934 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
10936         Reduce face-related consing during frame creation.
10938         * faces.el (face--attributes-unspecified): Compute the "unspecified"
10939         attribute list once.
10940         (face-spec-reset-face): Use it instead of building the list.
10942 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
10944         Do process ConfigureNotify events indicating size changes.
10946         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
10947         events don't have the same size, process each one.
10949 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10951         Derive mpc-mode from special-mode
10953         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
10954         (mpc-mode): Derive from special mode.
10955         (mpc-songs-mode-map): Don't set parent keymap.
10957 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10959         Fix error messages for when covers are not found.
10961         The last change to mpc-format let the binding to file call
10962         mpc-file-local-copy with nil argument.  Instead, employ if-let here
10963         so nil bindings don't result in needless computation and errors.
10964         * lisp/mpc.el: Require 'subr-x at compile time.
10965         * lisp/mpc.el (mpc-format): Use if-let.
10967 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
10969         Make dired-do-compress work for *.tar.gz files
10971         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
10972           "tar -zxvf" to *.tar.gz; update docstring.
10974         (dired-compress-file): Allow to specify switches after the command in
10975         `dired-compress-file-suffixes'.
10977 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
10979         Make dired-do-compress work for directories
10981         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
10982           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
10983         Also convert the top comment into a docstring.
10985 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
10987         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
10989         ... since it might come straight from the memoizing table.
10991 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
10993         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
10995 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
10997         Use special-mode in eww list modes
10999         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
11000         (eww-buffers-mode): Derive from special-mode and remove redundant
11001         setting of buffer-read-only.
11002         (eww-mode-map): Remove redundant keymap parent setting.
11003         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
11004         Remove redundant keymap suppressions and mappings.
11006 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
11008         Allow setting frame pixel sizes from frame parameters (Bug#21415)
11010         Also fix some misfeatures in frame (re-)sizing code, add more
11011         debugging information and remove some dead code.
11013         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
11014         parameter names when setting `frame-size-history'.
11015         (frame--size-history): New function.
11017         * src/frame.c (frame_inhibit_resize): If frame has not been made
11018         yet, return t if inhibit_horizontal_resize or
11019         inhibit_vertical_resize bit have been set.
11020         (adjust_frame_size): Simplify.
11021         (make_frame): Initialize inhibit_horizontal_resize,
11022         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
11023         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
11024         inhibit_vertical_resize slots.
11025         (x_set_frame_parameters): Handle `text-pixels' specification for
11026         width and height parameters.  Don't consider new_height or
11027         new_width changes.  Call adjust_frame_size instead of
11028         Fset_frame_size.
11029         (x_figure_window_size): Two new arguments x_width and y_width
11030         returning frame's figures width and height.  Calculate tool bar
11031         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
11032         Handle `text-pixels' specification for width and height
11033         parameters.
11034         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
11035         (Qx_set_window_size_1, Qx_set_window_size_2)
11036         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
11037         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
11038         (Qfree_frame_menubar_2): New symbols.
11039         * src/frame.h (structure frame): New booleans
11040         tool_bar_redisplayed, tool_bar_resized,
11041         inhibit_horizontal_resize, inhibit_vertical_resize.
11042         (x_figure_window_size): Update external declaration.
11043         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
11044         calling gtk_window_resize.
11045         (update_frame_tool_bar): Make inhibiting of frame resizing more
11046         discriminative.  Set tool_bar_resized bit.
11047         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
11048         resizing more discriminative.  Call adjust_frame_size instead of
11049         x_set_window_size.
11050         (Fx_create_frame): Handle x_width and x_height if
11051         set by x_figure_window_size.
11052         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
11053         subtract 3 from tool bar height.
11054         (x_set_window_size): Add frame_size_history_add call.
11055         (x_new_font): Call adjust_frame_size instead of
11056         x_set_window_size.
11057         * src/w32fns.c (x_change_tool_bar_height): Reset
11058         tool_bar_redisplayed and tool_bar_resized bits when adding tool
11059         bar.  Make inhibiting of frame resizing more discriminative.
11060         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
11061         (Fx_create_frame): Handle x_width and x_height if set by
11062         x_figure_window_size.  Set size hints before adjusting frame size.
11063         (x_create_tip_frame): Adjust x_figure_window_size call.
11064         * src/w32term.c (x_set_window_size): Add frame_size_history_add
11065         call.
11066         * src/widget.c (set_frame_size): Remove dead code.  Add
11067         frame_size_history_add call.  When frame_resize_pixelwise is t
11068         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
11069         pixel_width and pixel_height.
11070         (update_various_frame_slots): Remove dead code.
11071         (EmacsFrameResize): Add more information in
11072         frame_size_history_add call.
11073         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
11074         is not set.
11075         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
11076         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
11077         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
11078         tool_bar_resized bits when adding tool bar.  Make inhibiting of
11079         frame resizing more discriminative.
11080         (Fx_create_frame): Handle x_width and x_height if set by
11081         x_figure_window_size.  Set size hints before adjusting frame size.
11082         (x_create_tip_frame): Adjust x_figure_window_size call.
11083         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
11084         (set_frame_menubar): On Lucid never add core-border-width to
11085         avoid that adding XtNinternalBorderWidth adds it again.
11086         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
11087         * src/xterm.c (x_new_font): In non-toolkit case handle size
11088         change of menu bar.
11089         (x_set_window_size_1): Fix calls to frame_size_history_add.
11090         (x_wm_set_size_hint): Remove dead code.  Set
11091         size_hints.min_width and size_hints.min_height to base_width and
11092         base_height.
11094 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
11096         * test/automated/file-notify-tests.el (file-notify--test-timeout):
11097         Add docstring.  Increase to 10 seconds for remote
11098         directories.  (Bug#21669)
11100 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
11102         Unmacroize ebrowse.c and etags.c a bit
11104         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
11105         (streq, filename_eq, set_flag, has_flag): Now inline functions.
11106         (set_flag): First arg is now an address, not an lvalue.
11107         All callers changed.
11108         (filename_eq, set_flag, has_flag):
11109         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
11110         All callers changed.
11111         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
11112         Now inline functions.  Remove asserts that are unnecessary these
11113         days (and in some cases were too-generous anyway).
11115 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
11117         Use highlight for current items
11119         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
11120         Apply highlight face instead of region face.
11122 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
11124         Search for more cover image names in MPC
11126         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
11127         case insensitively
11129 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
11131         Remove or comment out unused variables
11133         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
11134         nontext_cursor, mode_cursor, hand_cursor and count.
11135         (x_change_tool_bar_height): Remove variable old_text_height.
11136         (deliver_wm_chars): Remove variable strip_Alt.
11137         (Fw32_shell_execute): Remove variable document_a.
11138         (Fw32_frame_geometry): Remove variable fullboth.
11139         * src/w32term.c (w32_setup_relief_color): Comment out variable
11140         w32_display_info.
11141         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
11142         (w32_read_socket): Comment out variables rows, columns.
11143         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
11145 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
11147         * src/w32proc.c (sys_select): Fix bitwise test.
11149 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
11151         Minor typo corrections in doc strings
11153         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
11154         Doc fixes.
11156 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
11158         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
11160 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
11162         Attempt to avoid crashes in plist-member
11164         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
11165         and a call to XCDR.  (Bug#21655)
11167 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
11169         * lisp/select.el (gui-get-primary-selection): In
11170         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
11172 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
11174         Support RTF in doc-view
11176         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
11178 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
11180         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
11182 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
11184         Replace the usage of an obsolete function in auth-source.el
11186         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
11187         Replace an usage of `epg-context-set-armor' with `setf'.
11189 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
11191         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
11193 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
11195         Have calc-yank recognize numbers in different bases.
11197         * lisp/calc/calc-yank.el (math-number-regexp): New function.
11198         (calc-yank): Use `math-number-regexp' to recognize numbers.
11200 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11202         Handle an opaque-move X11 window manager operation more efficiently
11204         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
11205         followed by more ConfigureNotify events for the same window, process
11206         only the last one.
11208 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11210         Fix cursor setting for tip frame; re-enable cursor generation
11212         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
11213         attributes sent when creating the new X window.  Don't skip setting
11214         the pointerColor parameter.
11216 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11218         Rewrite x_set_mouse_color to sync less
11220         We can track serial numbers of X requests and correlate error events
11221         with the associated requests.  This way we can identify errors for
11222         specific calls without having to use XSync after every one.
11224         * src/xfns.c (enum mouse_cursor): New type.
11225         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
11226         (mouse_cursor_types): New array listing the Lisp variables and default
11227         cursor appearances for each cursor type.
11228         (x_set_mouse_color_handler): New function; checks error event serial
11229         number against submitted requests.
11230         (x_set_mouse_color): Updated to use the new error handler callback,
11231         and to be more table-driven, to simplify repetitious code.
11233 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11235         Add x_catch_errors_with_handler
11237         * src/xterm.c (struct x_error_message_stack): Add new fields for a
11238         callback function and associated data pointer.
11239         (x_error_catcher): If the callback function is set, call it after
11240         saving the error message string.
11241         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
11242         accepts a callback function and data pointer.
11243         (x_catch_errors): Now a wrapper function.
11244         * src/xterm.h (x_special_error_handler): New typedef.
11245         (x_catch_errors_with_handler): Declare.
11247 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
11249         Introduce x_uncatch_errors_after_check to reduce XSync calls
11251         Both x_had_errors_p and x_check_errors call XSync, so if they're
11252         immediately followed by x_uncatch_errors, its XSync call will be
11253         redundant, resulting in a wasted round trip to the X server.
11255         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
11256         x_uncatch_errors without the XSync call.
11257         (XTmouse_position, x_wm_supports):
11258         * src/xfns.c (x_set_mouse_color):
11259         * src/xmenu.c (Fx_menu_bar_open_internal):
11260         * src/xselect.c (x_own_selection, x_get_foreign_selection):
11261         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
11262         * src/xterm.h (x_uncatch_errors_after_check): Declare.
11264 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
11266         Document the optional prefix to `calc-yank'
11268         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
11269         prefix to `calc-yank'.
11270         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
11271         the Calc buffer are yanked back unchanged.
11273 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
11275         * lisp/calendar/calendar.el: Display buffer before executing body.
11277         In each use of this macro, the modeline is derived from a window width
11278         calculation, which will be wrong if (display-buffer) splits the window
11279         horizontally.
11281 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11283         Use ‘echo’ safely with ‘\’ or leading ‘-’
11285         POSIX says that ‘echo FOO’ produces implementation-defined output
11286         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
11287         behavior in that case.
11288         * Makefile.in (removenullpaths): Remove.
11289         (epaths-force): Rewrite to avoid the need for ‘echo’.
11290         (install-etc): Be clearer about escaping the shell metacharacters
11291         ‘\’ and ‘$’.
11292         * Makefile.in (install-arch-indep, install-etcdoc):
11293         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
11294         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
11295         * configure.ac, lib-src/rcs2log, make-dist:
11296         * src/Makefile.in (lisp.mk):
11297         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
11298         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
11299         if $foo can contain arbitrary characters.
11300         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
11301         * doc/lispref/two-volume.make (vol1.pdf):
11302         * test/etags/make-src/Makefile (web ftp publish):
11303         Use ‘printf’ rather than ‘echo -e’.
11305 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
11307         Allow numbers with different radixes to be yanked.
11309         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
11310         default base 10.
11312 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11314         Improve CHECK_IMPURE and PURE_P speedup
11316         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
11318 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
11320         Use events instead of chars to keep track of steps.
11322         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
11323         to keep track of steps.
11325 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11327         Fix --enable-gcc-warnings problem with older GCC
11329         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
11330         This is for building with --enable-gcc-warnings with
11331         GCC 4.6 through 5.0.
11333 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
11335         Fix vertical-motion in truncated lines that end in a stretch
11337         * src/indent.c (Fvertical_motion): Expect overshoot when point is
11338         beyond window margin and lines are truncated, even if we have a
11339         stretch at point.  (Bug#21468)
11341 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
11343         Avoid link-time errors due to inline functions
11345         * src/emacs.c: Include puresize.h, to avoid link-time errors in
11346         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
11347         inline functions.
11349 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
11351         * src/data.c (Faset): Fix last change.
11353 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11355         CHECK_IMPURE and PURE_P speedup
11357         * src/intervals.c (create_root_interval):
11358         Do CHECK_IMPURE only for strings; not needed for buffers.
11359         Prefer ! STRINGP to BUFFERP, for a tad more speed.
11360         * src/puresize.h (CHECK_IMPURE, PURE_P):
11361         Now inline functions instead of macros.
11362         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
11363         All callers changed.
11364         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
11365         All callers changed.
11367 2015-10-09  Noah Friedman  <friedman@splode.com>
11369         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
11371 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11373         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
11375         our after-change-function, rather than re-adding it if it was removed.
11377 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11379         * lisp/cedet/ede: Silence some compiler warnings
11381         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
11382         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
11383         (ede-apply-object-keymap, ede-reset-all-buffers)
11384         (ede-auto-add-to-target): Use dolist.
11385         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
11386         Use field names rather than initarg names in `oref'.
11387         (ede-load-project-file): Remove unused var `file'.
11388         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
11389         (ede-set): Remove unused var `a'.
11391         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
11392         (ede-project-autoload): Avoid the old-style "name" argument.
11393         (ede-emacs-find-matching-target): Use field names rather than initarg
11394         names in `oref'.
11396         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
11397         (ede-linux-load, ede-project-autoload): Avoid the old-style
11398         "name" argument.
11399         (ede-linux-find-matching-target): Use field names rather than initarg
11400         names in `oref'.
11402 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11404         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
11406 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11408         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
11409         indenting too far after ":-".
11411 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
11413         Update case-table and categories of recently added characters
11415         * lisp/international/characters.el: Update information about Latin
11416         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
11417         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
11418         blocks.  (Byug#21654)
11420 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
11422         * src/frame.c (adjust_frame_size): In minibuffer-only windows
11423         don't count minibuffer height twice.  (Bug#21643)
11425 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
11427         Avoid inflooping in font-lock
11429         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
11430         inhibit-field-text-motion around the call to
11431         line-beginning-position, to avoid inflooping.  (Bug#21615)
11433 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
11435         Refactor duplicated code; ensure default is in completions
11437         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
11438         New function.
11439         (reftex-extract-bib-entries): Use it.
11440         (reftex-extract-bib-entries-from-thebibliography): Use it.
11442 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
11444         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
11445         in the example.
11447 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
11449         * lisp/calc/calc.el: Silence byte-compiler warnings.
11450         (calc-scan-for-dels): Use ignore-errors.
11451         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
11452         (calc-read-key-sequence): Remove unused var `prompt2'.
11453         (calc-kill-stack-buffer): Remove unused var `buflist'.
11454         (calc): Remove unused var `oldbuf'.
11455         (calc-refresh): Use inhibit-read-only.
11456         (calc-can-abbrev-vectors): Declare.
11457         (calc-record): Remove unused var `mainbuf'.
11458         (math-sub-bignum): Remove unused var `sum'.
11459         (math-svo-c, math-svo-wid, math-svo-off): Declare.
11461 2015-10-08  Daiki Ueno  <ueno@gnu.org>
11463         Use g_clear_error instead of g_error_free
11465         * src/image.c: Define g_clear_error instead of g_error_free.
11466         (init_svg_functions): Resolve symbol g_clear_error instead of
11467         g_error_free.
11468         (svg_load_image): Use g_clear_error instead of g_error_free, to
11469         suppress GLib warnings when ERR is not set.  See bug#21641.
11471 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11473         * src/image.c (image_size_error): Simplify.
11475 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
11477         Fix problems caught with --enable-gcc-warnings
11479         * src/image.c (lookup_rgb_color):
11480         * src/xfns.c (x_defined_color):
11481         * src/xterm.c (x_parse_color):
11482         Remove unused locals.
11484 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
11486         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
11488 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
11490         Format initial input uniformly
11492         * lisp/calc/calc.el (calc-digit-start-entry): New function.
11493         * lisp/calc/calc.el (calcDigit-start):
11494         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
11495         Use `calc-digit-start-entry' to format input.
11497 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
11499         Disable non-working pointerColor setting for X tooltip frame
11501         It generates a bunch of server traffic, but there's some bug wherein
11502         the new mouse cursor settings don't seem to get used.  In most
11503         situations the cursor isn't likely to be seen anyway, so it's not
11504         urgent to fix.
11506         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
11508 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
11510         Reduce some unnecessary X calls
11512         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
11513         call.  If border width is wanted, get it from the XGetGeometry call
11514         instead of calling XGetWindowAttributes on the same window.  Skip some
11515         X calls if we've already detected an error from the X server.
11516         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
11517         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
11519 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
11521         Reduce color allocation/query traffic in the TrueColor case
11523         When working with an X visual with TrueColor class, pixel values can
11524         be generated from the RGB values according to mask value provided by
11525         the server on connection.  Some of the image-handling code was already
11526         doing this.
11528         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
11529         lookup_rgb_color.
11530         (x_mutable_colormap): New function.
11531         * src/image.c (lookup_rgb_color): Move pixel composition code to
11532         x_make_truecolor_pixel.
11533         (x_kill_gs_process): Call x_mutable_colormap.
11534         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
11535         x_mutable_colormap.
11536         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
11537         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
11538         pixel value into RGB values directly, and don't send a request to the
11539         server.
11540         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
11541         value with x_make_truecolor_pixel.
11542         (x_copy_color): For an immutable color map, just return the provided
11543         pixel value.
11545 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
11547         Cache XParseColor results in the X display info structure
11549         With repeated lookups of foreground and background colors for multiple
11550         faces per frame, we issue a lot of redundant color name lookups to the
11551         X server, waiting every time for the response.  On a remote network
11552         with, say, 30ms round-trip time, this can add nearly a full second to
11553         creation of a new frame.
11555         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
11556         * src/image.c (get_spec_bg_or_alpha_as_argb):
11557         (xpm_init_color_cache, xpm_lookup_color):
11558         * src/xfns.c (x_defined_color):
11559         * src/xterm.c (x_parse_color): New function; caches color names not
11560         starting with "#" in the display-info structure.
11561         (x_delete_display): Delete the cache content.
11562         * src/xterm.h (struct color_name_cache_entry): New type.
11563         (x_parse_color): Declare.
11564         (struct x_display_info): Add a new field for the cache.
11566 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
11568         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
11570 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
11572         Fix segfault in image_size_error
11574         * src/image.c (image_size_error): Pass a Lisp string to
11575         image_error, not a C string.  (Bug#21641)
11577 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
11579         Highlight CSS variable definitions
11581         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
11582         CSS variables.  (Bug#21638)
11584 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11586         * test/automated/tabulated-list-test.el: New file.
11587         Test bug#21639 and some basic functionality.
11589 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11591         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
11592         Check if column can be sorted before trying.  (Bug#21639)
11594 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
11596         Add test for `self-insert-command' (bug#21633)
11598         * test/automated/cmds-tests.el: New file.
11600 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
11602         * src/window.c (resize_frame_windows): Don't set root window's
11603         top position when resizing horizontally.
11605 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
11607         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
11608         Document more possible values.
11610 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11612         * lisp/textmodes/tex-mode.el: Use lexical-binding.
11614 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11616         * lisp/indent.el (indent--default-inside-comment): New function.
11617         (indent-for-tab-command): Use it for `noindent' indentation.
11619 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11621         Fix bug in GC_CHECK_MARKED_OBJECTS check
11623         * src/alloc.c (mark_object): Fix bug in checking code.
11624         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
11625         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
11626         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
11627         bucket.  The bug did not affect behavior either in the normal case
11628         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
11629         not have an internal error that a properly-written
11630         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
11632 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
11634         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
11635         Add prettified version for \\Bbb{Q}.
11637 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
11639         * test/automated/package-test.el (package-test-install-single):
11640         Add a test for bug#21625.
11642 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
11644         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
11645           not a package-desc object.  Also clarify documentation.  (Bug#21625)
11647 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
11649         Fix display of characters adjacent to ZWJ and ZWNJ
11651         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
11652         characters the same as directional formatting controls.
11653         (bidi_level_of_next_char): Include all Bn characters in rule L1,
11654         as mandated by the UBA.
11656 2015-10-06  Andreas Schwab  <schwab@suse.de>
11658         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
11659         number.  (Bug#21633)
11661 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
11663         * doc/lispref/objects.texi (Window Type): Add a cross reference.
11665         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
11667 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
11669         * lisp/language/misc-lang.el (composition-function-table):
11670         Fix entries for Arabic and Syriac.
11672 2015-10-05  Damien Cassou  <damien@cassou.me>
11674         Add first unit tests for auth-source.el
11676         * test/automated/auth-source-tests.el: New file.
11678 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
11680         Remove redundant redisplay code
11682         * src/xdisp.c (redisplay_internal, try_cursor_movement)
11683         (try_window_reusing_current_matrix, try_window_id): Remove
11684         redundant restrictions on redisplay optimizations based on the
11685         frame's 'redisplay' flag.  See
11686         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
11687         discussions.
11689 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
11691         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
11693 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
11695         Update tutorials/TUTORIAL.cn
11697         * etc/tutorials/TUTORIAL.cn: Improve translation.
11699 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
11701         * src/macfont.m (macfont_encode_char, syms_of_macfont):
11702         Remove unused vars.
11704 2015-10-04  Stefan Merten  <stefan@merten-home.de>
11706         Pull in version numbers from rst.el upstream release.
11708         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
11709         (rst-svn-timestamp, rst-official-version)
11710         (rst-official-cvs-rev, rst-package-emacs-version-alist):
11711         Update version numbers.
11713 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
11715         * test/automated/coding-tests.el: New file.
11717 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
11719         Improve XEmacs compatibility of Tramp
11721         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
11722         Declare if it doesn't exist.
11723         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
11724         (redisplay): Make it an alias if it doesn't exist.
11726         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
11727         `file-remote-p' (due to XEmacs compatibility).
11729         * lisp/net/trampver.el (locate-dominating-file)
11730         (tramp-compat-replace-regexp-in-string): Autoload.
11731         (tramp-repository-get-version): Do not dupe byte-compiler.
11733 2015-09-02  K. Handa  <handa@gnu.org>
11735         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
11737         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
11738         Adjusted for the change of type of elements in the array
11739         MFLTGlyphString.glyphs.
11741 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
11742             Michael Heerdegen  <michael_heerdegen@web.de>
11744         shr: fix too long lines in rendered buffers (Bug#21012)
11746         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
11747         Correct calculation of available width.
11748         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
11749         is nil.
11751 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
11753         Restore blank line before next section, erroneously erased
11754         in my previous commit
11756         * etc/compilation.txt (symbol ant): Add an additional trailing blank
11757         line to this section, so that there are two of them immediately before
11758         the next section.
11760 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
11762         Support MSW filename style for ant compilation error regexp
11764         * etc/compilation.txt (symbol ant):
11765         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
11766         Support MSW filename style.
11768 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11770         * nt/INSTALL: Minor spelling and quote fixes.
11772         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
11774 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
11776         Maintain ordering of JSON object keys by default
11778         * lisp/json.el (json-object-type): Mention order handling in doc-string.
11779         (json--plist-reverse): New utility function.
11780         (json-read-object): Maintain ordering for alists and plists.
11781         (json-pretty-print): Ensure that ordering is maintained.
11783         * test/automated/json-tests.el (test-json-plist-reverse): New test for
11784         `json--plist-reverse'.
11785         (json-read-simple-alist): Update test to accommodate for changes in
11786         `json-read-object'.
11788         * etc/NEWS: Document the new behavior of the pretty printing functions.
11790 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
11792         * src/coding.c (complement_process_encoding_system): Revert last change.
11794 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
11796         * admin/MAINTAINERS: Add entry for Ulf Jasper.
11798 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
11800         Doc fix for `defmacro'
11802         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
11804 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
11806         More validatation of coding systems
11808         * src/fileio.c (Finsert_file_contents): Remove redundant
11809         coding-system check.
11810         (choose_write_coding_system): Likewise.
11811         * src/coding.c (complement_process_encoding_system): Check argument
11812         for valid coding system.
11814 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
11816         Avoid crashes in coding_inherit_eol_type
11818         * src/coding.c (coding_inherit_eol_type): Check the validity of
11819         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
11820         (Bug#21602)
11822 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
11824         More validatation of coding system in 'write-region'
11826         * src/coding.c (choose_write_coding_system): More validation of
11827         coding-system from various sources.  Suggested by Andreas Schwab
11828         <schwab@linux-m68k.org>.  (Bug#21602)
11830 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
11832         Avoid crashes due to invalid coding-system
11834         * src/fileio.c (choose_write_coding_system)
11835         (Finsert_file_contents): Check validity of coding-system-for-write
11836         and coding-system-for-read bound by the caller.  (Bug#21602)
11838 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
11840         Adapt to new prettify-symbols-unprettify-at-point default
11842         * etc/NEWS: Mention that unprettication of symbol at point is off
11843         by default.
11845 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
11847         Revert my two recent process.c changes
11849         Revert "Improve last commit to process.c" and "Remove callback-handled
11850         channels from Available set" because they did not fix bug#21313.
11852         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
11853         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
11855 2015-10-02  Markus Triska  <triska@metalevel.at>
11857         * lisp/progmodes/prolog.el: Update and extend operator table.
11858         (prolog-smie-grammar): Add multifile, public etc.
11860 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11862         Allow autogen even when Git is not installed
11864         * autogen.sh: Test ‘git status’ before trying to use Git.
11866 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
11868         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
11869         Adjust lto/lfrom when we have uncommitted changes.
11871 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11873         Fix problems found by clang 3.5.0
11875         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
11876         * src/font.c (font_parse_family_registry):
11877         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
11879 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
11881         * nt/INSTALL: Update instructions for running autogen.sh.
11883         * nt/INSTALL: Point to ezwinports for libXpm binaries.
11885 2015-10-02  Daniel Colascione  <dancol@dancol.org>
11887         Fix winner in cl-lib not loaded case
11889         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
11890         without requiring CL
11892 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11894         Fix a few problems with directed quotes
11896         This is in response to a problem report by Kaushal Modi in:
11897         http://bugs.gnu.org/21588#25
11898         * lisp/cedet/mode-local.el (describe-mode-local-overload):
11899         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
11900         * lisp/info-xref.el (info-xref-check-all-custom):
11901         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
11902         Prefer directed to undirected single quotes in diagnostics.
11904 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11906         Revert "Attempt to fix slow redisplay caused by last changes"
11908         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
11909         (try_cursor_movement): Don't relax requirements for redisplay
11910         optimizations for the selected frame.  (Bug#21597)
11912         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
11914 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11916         Fix slow redisplay when daemon frame exists
11918         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
11919         when looking for frames that need to be redisplayed.  (Bug#21597)
11921 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11923         Attempt to fix slow redisplay caused by last changes
11925         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
11926         (try_cursor_movement): Relax requirements for redisplay
11927         optimizations for the selected frame.  (Bug#21597)
11929 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
11931         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
11932         Improve doc string.
11934 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
11936         * lisp/minibuffer.el (minibuffer-completion-help):
11937         Set default base-size, in case completion table does not set it.
11939 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11941         Fix GUD display of GDB output with non-ASCII text
11943         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
11944         (gdb-mi-decode): New function.
11945         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
11946         decode octal escapes in GDB output.  (Bug#21572)
11948 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
11950         * nt/INSTALL: Document where to find XPM support files.
11952 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
11954         Un- and re-prettification are not exclusive
11956         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
11957         Re-apply prettification to previous symbol also when unprettifying
11958         next one.
11960 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
11962         Don't unprettify symbol at point by default
11964         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
11965         Default to disabled (nil).
11967 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
11969         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
11970         Support unprettifying when point is after a symbol.
11972         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
11974 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
11976         Avoid assertion violations in push_prefix_prop
11978         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
11979         a line that has a line-prefix defined starts with an image.  (Bug#21428)
11981 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
11983         Disable some display optimizations when frames need redisplay
11985         These optimizations were previously disabled by the
11986         windows_or_buffers_changed flag, which now is not set
11987         when only some frames need to be redrawn.
11988         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
11989         'redisplay' flag is set.
11990         (try_window_reusing_current_matrix, try_window_id)
11991         (try_cursor_movement): Disable these optimizations when the
11992         frame's 'redisplay' flag is set.
11994 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
11996         Don't modify buffer by unprettification
11998         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
11999         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
12000         modify buffer when setting/removing custom prettify-symbols-start/end
12001         text properties.  Add them to font-lock-extra-managed-props, too.
12003 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
12005         Try to avoid redisplaying all frames when creating a new one
12007         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
12008         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
12009         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
12010         * src/frame.c (x_set_screen_gamma): Set the specific frame's
12011         `redisplay' bit rather than windows_or_buffers_changed.
12013         * src/window.c (apply_window_adjustment): Remove redundant setting of
12014         windows_or_buffers_changed.
12016         * src/xdisp.c (redisplay_internal): Set the specific frame's
12017         `redisplay' bit rather than update_mode_lines in response to
12018         cursor_type_changed.
12019         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
12020         (AINC): Adjust accordingly.
12022 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
12024         Implement unprettification of symbol at point
12026         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
12027         symbol at point.
12028         (prettify-symbols--current-symbol-bounds): New variable.
12029         (prettify-symbols--post-command-hook): New function.
12030         (prettify-symbols-unprettify-at-point): New defcustom.
12031         (prettify-symbols-mode): Use it.
12032         (prettify-symbols--compose-symbol): Use them.
12034 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12036         * src/macfont.m (mac_font_descriptor_supports_languages):
12037         Regard "zh" as synonym of "zh-Hans".
12039 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12041         Work around crash when displaying etc/HELLO on OS X 10.11
12043         * src/macfont.m (mac_font_get_weight)
12044         (mac_font_descriptor_get_adjusted_weight): New functions.
12045         (macfont_store_descriptor_attributes): Adjust weight.
12047 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12049         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
12051 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
12053         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
12054         of the columns.
12056 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
12058         Use unar and lsar to handle RAR archives in arc-mode
12060         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
12061         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
12063 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
12065         Clarify :create in auth-source's docs
12067         * lisp/gnus/auth-source.el (auth-source-search):
12068         Clarify :create's meaning.
12070 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
12072         Avoid empty -path arguments in rgrep
12074         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
12075         the list produced according to grep-find-ignored-directories,
12076         before passing it to Find/Grep invocation.  (Bug#21548)
12078 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
12080         Clarify documentation of pos-visible-in-window-p
12082         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
12083         t for POS.  See
12084         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
12085         for the original report.
12087         * doc/lispref/windows.texi (Window Start and End): Clarify the
12088         meaning of t for the POSITION argument of pos-visible-in-window-p.
12090 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12092         * lisp/progmodes/prolog.el: Fix various indentation cases.
12093         (prolog-operator-chars): New const (add \\).
12094         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
12095         (prolog-smie-rules): Add rules according to bug#21526.
12097 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12099         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
12100         (sh-indent-after-continuation): Add new value `always' (bug#17620)
12101         (sh-smie-sh-rules): Remove old handling of continued lines.
12102         (sh-smie--indent-continuation): New function.
12103         (sh-set-shell): Use it.
12105 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12107         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
12108         Remove redundant :group keyword args.
12109         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
12110         Remove variables.
12111         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
12112         turn them into compile-time variables.
12113         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
12114         Add rules for break, continue, return, global, and persistent.
12115         Refine the rule for "until".
12116         (octave-smie--funcall-p, octave-smie--end-index-p)
12117         (octave-smie--in-parens-p): New functions.
12118         (octave-smie-backward-token, octave-smie-forward-token): Use them to
12119         distinguish the "enumeration" function and the "end" index from
12120         their corresponding keywords.
12121         (octave--block-offset-keywords): New constant.
12122         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
12123         parsing.
12124         (octave-reserved-words): Redefine using octave-smie-grammar.
12125         (octave-font-lock-keywords): Use octave-smie--funcall-p and
12126         octave-smie--end-index-p.
12128 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
12130         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
12132 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
12134         * nt/INSTALL: Remove references to GTK site.
12135         That site no longer offers Windows downloads.
12137 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
12139         * nt/INSTALL: Add instructions for installing Git.
12141 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
12143         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
12144         use colors.  Suggested by Eli Zaretskii.
12146 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
12148         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
12149         not supporting 256 above colors (bug#21557).
12151 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
12153         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
12155         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
12157 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
12159         Add documentation for seq.el
12161         * doc/lispref/sequences.texi: Add documentation regarding extending
12162         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
12163         seq-do and seq-map.
12165 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
12167         Better documentation for seq-some
12169         * doc/lispref/sequences.texi:
12170         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
12171         guarantee that the returned value is the first non-nil value that
12172         resulted from applying the predicate.
12174 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
12176         * lisp/arc-mode.el: Sharp-quote function arguments.
12178 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
12180         Avoid redisplay error in ediff-regions-wordwise
12182         * lisp/vc/ediff-util.el
12183         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
12184         set before activating it.  (Bug#21567)
12186 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
12188         Another attempt to fix crashes due to prematurely freed faces
12190         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
12191         faces for as long as we might have desired matrices that reference
12192         those faces.  (Bug#21428)
12194 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
12196         Add auctex development list email address
12198 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
12200         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
12202 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
12204         Improve wrapfig package support and caption parsing
12206         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
12207         Correct description string and add wraptable environment.
12208         (reftex-default-context-regexps): Improve caption regexp.
12210 2015-09-28  Anders Lindgren  <andlind@gmail.com>
12212         Respect value of frame_resize_pixelwise when handling fullscreen state
12214         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
12215         setting size increments.
12217 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
12219         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
12221 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
12223         Add prettify-symbols-alist for js-mode
12225         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
12226         (js-mode): Use it.
12228 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
12230         * nt/subdirs.el: File deleted (no longer used).
12232 2015-09-26  Alan Mackenzie  <acm@muc.de>
12234         Fix follow-scroll-up/down, making them replacements for scroll-up/down
12236         1. Allow point to move between follow windows in scroll operations.
12237         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
12238         when EOB was isolated in the last follow window.
12240         * lisp/follow.el (follow-fixed-window): New variable.
12241         (follow-get-scrolled-point): New function.
12242         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
12243         Reformulate the code.  Put `scroll-command' properties on the functions.
12244         Correct minor errors in ...-down's doc string and code.
12245         (follow-calc-win-end): Amend incomplete doc string.  Use
12246         `pos-visible-in-window-p' to check whether EOB is in the window.
12247         (follow-estimate-first-window-start): Correct an off-by-1 error.
12248         (follow-adjust-window): Add handling for explicit scrolling operations.
12250 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12252         * admin/MAINTAINERS: Add self, plus list some more files
12253         sans maintaners.
12255 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
12257         New DWIM commands for changing letter-case
12259         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
12260         New functions.  (Bug#21501)
12262 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
12264         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
12266 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
12268         Make face realization be more frame-specific
12270         * src/frame.h (struct f): New flag face_change.
12271         * src/xfaces.c (Finternal_make_lisp_face)
12272         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
12273         (update_face_from_frame_parameter): Set the face_change flag only
12274         for the frame whose faces are affected.
12275         * src/xdisp.c (init_iterator): If a frame's face_change flag is
12276         set, free faces only on that frame.
12277         (redisplay_internal): Disable "display optimization 1" if the
12278         frame's face_change flag is set.
12279         (redisplay_window): Don't allow skipping a window's redisplay if
12280         its frame's face_change flag is set.
12281         * src/frame.c (x_set_screen_gamma): Instead of calling
12282         Fclear_face_cache, call clear_face_cache and set
12283         windows_or_buffers_changed to a non-zero value.  This avoids
12284         setting the global face_change flag that triggers face realization
12285         on all frames and thorough redisplay of all of them.
12287         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
12288         clear face cache if the selected frame is a GUI frame.
12290 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
12292         Remove font-latex specific check
12294         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
12295         Use syntax-ppss data to identify verbatim contents.
12297 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
12299         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
12300         Fix some false negatives.
12302 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
12304         Reorder Windows version in Emacs manifests
12306         * nt/emacs-x64.manifest:
12307         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
12308         highest.
12310 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
12312         Update Emacs manifest files for Windows 10
12314         * nt/emacs-x86.manifest:
12315         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
12317 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
12319         Avoid non-ASCII decoding errors in C src files
12321         * src/nsterm.m:
12322         * src/lisp.h:
12323         * src/editfns.c:
12324         * src/doprnt.c: Add 'coding' cookies -- these files include
12325         Unicode characters and should be decoded as UTF-8.
12327 2015-09-25  Alan Mackenzie  <acm@muc.de>
12329         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
12331         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
12332         amend to match current modes and functions.
12333         (edebug-set-initial-mode): Uncomment and change from setting a defun's
12334         `edebug-initial-mode''s property to setting the variable
12335         `edebug-initial-mode'.
12336         (top level): Create new binding C-x C-a C-m for
12337         `edebug-set-initial-mode'.
12339         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
12340         `edebug-set-initial-mode' and its new key binding.
12341         (Edebug Options): Mention the new command in the pertinent place.
12343         * etc/NEWS: Write entry for this change.
12345 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
12347         Avoid non-ASCII decoding errors in Texinfo files
12349         * doc/misc/tramp.texi:
12350         * doc/lispref/strings.texi:
12351         * doc/lispref/positions.texi:
12352         * doc/lispref/help.texi:
12353         * doc/lispref/functions.texi:
12354         * doc/lispintro/emacs-lisp-intro.texi:
12355         * doc/emacs/text.texi:
12356         * doc/emacs/modes.texi:
12357         * doc/emacs/mini.texi:
12358         * doc/emacs/display.texi:
12359         * doc/emacs/custom.texi:
12360         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
12361         Unicode characters and should be decoded as UTF-8.
12362         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
12363         apostrophe unnecessarily.
12365 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12367         Merge from gnulib
12369         This incorporates:
12370         2015-09-25 c-ctype: rewrite to use inline functions
12371         2015-09-24 maint: add coding cookies to non-ASCII sources
12372         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
12373         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
12374         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
12375         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
12376         * lib/set-permissions.c:
12377         Copy from gnulib.
12379 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12381         Update publicsuffix.txt from upstream
12383         * etc/publicsuffix.txt: Update from
12384         https://publicsuffix.org/list/effective_tld_names.dat
12385         dated 2015-09-24 17:29:21 UTC.
12387 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
12389         Prevent timers from messing up TTY menus
12391         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
12392         the TTY menu is open.  (Bug#21530)
12394 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12396         No need to mention K&R C in c-mode intro
12398 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
12400         Fix recent bootstrap problems
12402         * src/syntax.c (parse_sexp_propertize): Fix last fix.
12403         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
12404         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
12406 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
12408         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
12410 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
12412         Properly quote nested xml comments (Bug#6267) (Bug#20001)
12414         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
12415         (nxml-mode): Set comment-quote-nested-function.
12417 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
12419         Allow major-modes full control over quoting nested comments
12421         * lisp/newcomment.el (comment-quote-nested-function): New variable.
12422         (comment-quote-nested-default): New function.
12423         (comment-quote-nested): Use `comment-quote-nested-function'.
12425 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12427         Prefer CALLN in a few more places
12429         * src/macfont.m (macfont_set_family_cache):
12430         * src/nsterm.m (append2):
12431         * src/xterm.c (x_cr_export_frames):
12432         Prefer CALLN to allocating the arg arrays by hand.
12434 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
12436         Adapt file-notify-test02-events test case
12438         * test/automated/file-notify-tests.el (file-notify-test02-events):
12439         Create a new watch for every test.
12441 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
12443         Continue gfilenotify.c implementation of missing parts
12445         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
12446         `gfile-add-watch' call.
12447         (file-notify-rm-watch): Modify `file-notify-descriptors' only
12448         after calling the low level functions.
12450         * src/gfilenotify.c (dir_monitor_callback): Check, whether
12451         event_type is expected.
12452         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
12453         (Fgfile_rm_watch): Fix typo.
12454         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
12456 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
12458         * src/syntax.c (parse_sexp_propertize): Handle spurious
12459         e_property_truncated flag.
12460         (update_syntax_table_forward): Remove invalid assertion.
12462 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
12464         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
12465         space display spec on text-mode terminals, by calling
12466         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
12467         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
12468         test for a GUI frame.
12470 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
12472         Move let-when-compile to lisp-mode.el
12474         This fixes the bootstrapping problem of `let-when-compile' using
12475         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
12477 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12479         * lisp/url/url-http.el (url-http-parse-headers): Do not
12480         automatically include Authorization header in redirect.
12481         (Bug#21350)
12483 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
12485         Clarify documentation of ':relative-width'
12487         * doc/lispref/display.texi (Specified Space): Document that
12488         ':relative-width' is only supported on GUI frames.
12490 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
12492         Fix 'current-column' in presence of :relative-width
12494         * src/indent.c (check_display_width): Support ':relative-width'
12495         in a display spec that specifies a stretch glyph.  (Bug#21533)
12497 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
12499         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
12501         ... to conform better to CONTRIBUTE guidelines.
12503 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
12505         * lisp/progmodes/prolog.el: Fix indentation of empty line
12507         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
12508         `empty-line-token' element.
12509         (smie-indent-empty-line): New function.
12510         (smie-indent-functions): Add it.
12512         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
12513         behavior and use the new `empty-line-token' element (bug#21526).
12514         (prolog-mode-variables): Fix comment-start-skip setting to match
12515         comment-start.
12517         * test/indent/prolog.prolog: Add nested indentation tests.
12519         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
12520         comment-start-skip not to misuse submatch 1.
12522 2015-09-22  Alan Mackenzie  <acm@muc.de>
12524         Make description of `edebug-initial-mode' user friendly
12526         Fixes bug#21365.
12528         * dec/lispref/edebug.texi (Edebug Execution Modes): Change the
12529         description of `edebug-initial-mode' from that of its implementation
12530         to that of its visual effect and use.  Move the paragraph higher up.
12532 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
12534         lisp/progmodes/gud.el (gud-format-command): Fix last commit
12536         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
12537         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
12539 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
12541         Improve last commit to process.c
12543 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
12545         Implement gfile-valid-p
12547         * lisp/filenotify.el (file-notify-callback): Fix typo.
12548         (gfile-valid-p): Remove defalias.
12550         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
12551         the file or directory to be watched is deleted.
12552         (Fgfile_add_watch): Make watch_object a triple.
12553         (Fgfile_rm_watch): Check, whether watch is cancelled already.
12554         (Fgfile_valid_p): New defun.
12555         (syms_of_gfilenotify): Declare Sgfile_valid_p.
12557 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
12559         Remove callback-handled channels from Available set
12561         * src/process.c (wait_reading_process_output): Remove channel from
12562         Available set if it is handled by a callback, e.g., dbus or
12563         inotify (bug#21313).
12565 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
12567         Use lunate epsilon for TeX \epsilon
12569         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
12570         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
12571         \epsilon to use GREEK LUNATE EPSILON SYMBOL
12573 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
12575         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
12577         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
12578         rather than outermost paren (bug#21526).
12580 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
12582         Improve git diff hunk headers for .el, .texi
12584         Problem reported by Alan Mackenzie in:
12585         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
12586         * .gitattributes (*.el, *.texi): New patterns.
12587         * autogen.sh: Configure diff.elisp.xfuncname and
12588         diff.texinfo.xfuncname if using Git.
12590 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
12592         Don't rely on defaults in decoding UTF-8 encoded Lisp files
12594         * lisp/replace.el:
12595         * lisp/textmodes/rst.el:
12596         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
12598 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
12600         Clarify or replace a few \u escapes
12602         * doc/lispref/nonascii.texi (Character Properties)
12603         More-detailed commentary for \u escapes.
12604         * lisp/progmodes/python.el (python--prettify-symbols-alist):
12605         * lisp/replace.el (query-replace-from-to-separator):
12606         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
12607         (rst-mode-syntax-table):
12608         * lisp/whitespace.el (whitespace-display-mappings):
12609         Prefer actual character to \u escape when this makes the code
12610         easier to follow in the usual case where Unicode chars can be
12611         displayed.
12613 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
12615         Pacify GCC -Wmaybe-uninitialized in xdisp.c
12617         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
12618         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
12619         charpos.  The loop should always execute at least once anyway.
12621 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
12623         Signal error on invalid regexp
12625         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
12626         Signal an error when the user tries searching with a regexp
12627         matching the empty string.
12629 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
12631         Another fix of file-notify-tests for w32notify
12633         * test/automated/file-notify-tests.el (file-notify-test02-events):
12634         Further adaptation for w32notify: reduce the number of expected
12635         'changed' events.  (Bug#21435)
12637 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
12639         Adapt tests and manual for w32notify
12641         * doc/lispref/os.texi (File Notifications): w32notify does not
12642         send `attribute-changed' events.
12644         * test/automated/file-notify-tests.el (file-notify--test-with-events):
12645         Simplify parameters.  Adapt all callees.
12646         (file-notify-test02-events): w32notify does not send
12647         `attribute-changed' events.
12648         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
12649         Do not skip in case of w32notify.  Simply ignore this part of the test.
12651 2015-09-21  Dima Kogan  <dima@secretsauce.net>
12653         Fix setting breakpoints when remote-debugging
12655         * lisp/progmodes/gud.el (gud-format-command): Send localized file
12656         names to the debugger running on the remote.  (Bug#13304)
12658 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
12660         Better docstring and parameter name for seq-find
12662         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
12663         the parameter `sentinel' to `default'.
12665         * doc/lispref/sequences.texi (Sequence Functions): Update the
12666           documentation for `seq-find' accordingly.
12668 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
12670         Avoid infinite recursion while displaying box face
12672         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
12673         the previous string/buffer character position under bidi
12674         iteration.  (Bug#21428)
12676 2015-09-21  Anders Lindgren  <andlind@gmail.com>
12678         Keep upper edge unchanged when changing size of NS frame
12680         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
12681         (Bug#21415).
12683 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12685         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
12686         (prolog-smie-rules): Accommodate standard if/then/else special
12687         indentation.
12688         (prolog-mode): Add . to electric-indent-chars.
12689         (prolog-electric--if-then-else): Re-indent the line before adding space
12690         after the new char (bug#21526).
12692 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
12694         Add prettify symbols to python-mode
12696         * lisp/progmodes/python.el (python-prettify-symbols-alist):
12697         New variable.
12698         (python-mode): Use it
12700 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12702         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
12704 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
12706         (compilation-error-regexp-alist-alist): Tone down guile-file
12708         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
12709         Make guile-file a bit less enthusiastic (bug#21496).
12711 2015-09-20  Drew Csillag  <drew@thecsillags.com>
12713         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
12714         Fix m4_* highlighting.
12716         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
12717         of commands when they have a "m4_" prefix.
12719 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12721         '.' -> `.' in doc string
12723         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
12724         individual chars with grave quotes instead of straight quotes, as
12725         this works better when they are translated to curved quotes.
12727 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
12729         Improve file notifications, especially for Tramp
12731         * doc/lispref/files.texi (Magic File Names):
12732         Mention `file-notify-valid-p'.
12734         * doc/lispref/os.texi (File Notifications):
12735         Describe `file-notify-valid-p'.
12737         * etc/NEWS: Add `file-notify-valid-p'.
12739         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
12740         Improve implementation.
12741         (tramp-gvfs-monitor-file-process-filter): Rename from
12742         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
12743         process if appropriate.
12745         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
12746         Improve implementation.
12747         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
12748         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
12749         if appropriate.
12750         (tramp-sh-inotifywait-process-filter): Rename from
12751         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
12752         appropriate.
12754         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
12755         Use `delete-process'.
12756         (tramp-handle-file-notify-valid-p): Check also, that file or
12757         directory to be watched still exists.
12759         * test/automated/file-notify-tests.el (file-notify--test-timeout):
12760         New defun.  Use it at all places a timeout is needed.
12761         (file-notify--test-cleanup): Delete directories recursively.
12762         Cleanup also Tramp connections.
12763         (file-notify-test02-events): Add tests for `attribute-change'.
12764         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
12765         Add tests for `file-notify-rm-watch'.
12767 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
12769         Use %s to format strings instead of splicing them
12771         If FOO might contain quotes that are part of a file or variable
12772         name, the quotes should not be translated when showing FOO’s name
12773         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
12774         is not quite right, as it would translate FOO’s quotes.
12775         Change it to (message "%s: bar" FOO) instead.
12776         * lisp/allout.el (allout-process-exposed):
12777         * lisp/calc/calc-ext.el (calc-do-prefix-help):
12778         * lisp/calc/calc-store.el (calc-store-into):
12779         * lisp/calendar/todo-mode.el (todo-category-completions):
12780         * lisp/cedet/semantic/complete.el (semantic-completion-message):
12781         * lisp/org/ob-latex.el (convert-pdf):
12782         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
12783         * lisp/org/ox-latex.el (org-latex-compile):
12784         * lisp/org/ox-man.el (org-man-compile):
12785         * lisp/org/ox-odt.el (org-odt--export-wrap):
12786         * lisp/org/ox-texinfo.el (org-texinfo-compile):
12787         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
12788         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
12789         (verilog-signals-combine-bus, verilog-read-defines)
12790         (verilog-getopt-file, verilog-expand-dirnames)
12791         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
12792         * lisp/term/ns-win.el (ns-spi-service-call):
12793         Use %s to avoid translating quotes of file names etc. in diagnostics.
12795 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12797         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
12798         (js-mode): Don't set syntax-begin-function.
12800 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12802         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
12803         syntax-begin-function is a symbol.
12805 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
12807         Improve documentation of 'run-at-time'
12808         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
12809         In particular, don't refer to 'diary-entry-time', because it is
12810         unavailable until diary-lib is loaded.  Also, refer to
12811         'timer-duration-words', not 'timer-duration', as the latter's doc
12812         string says nothing about the accepted strings.
12814 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
12816         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
12818 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
12820         Repair pdbtrack remote file tracking
12821         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
12822         Rectify pdbtrack so it follows transitions from one remote source
12823         file to the next.
12825 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
12827         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
12829 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
12831         Adapt vc-src to the old-new vc-checkin API
12832         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
12833         additional optional parameter.
12835 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
12837         Add overflow module to CSS property list
12838         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
12839         from CSS Overflow Module Level 3.
12841 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
12843         Fix documentation of "C-u C-x v v"
12844         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
12845         documentation of "C-u C-x v v" match what the code does.
12847         Resurrect the ability to specify a revision in vc-next-action
12848         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
12849         * lisp/vc/vc-dav.el (vc-dav-checkin):
12850         * lisp/vc/vc-git.el (vc-git-checkin):
12851         * lisp/vc/vc-hg.el (vc-hg-checkin):
12852         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
12853         an additional optional argument, the revision to checkin.
12854         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
12855         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
12856         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
12857         a revision to checkin.
12858         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
12859         revision when checking in files.
12860         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
12861         for the details.
12863 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
12865         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
12866         (verilog-decls-princ, verilog-modport-princ)
12867         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
12869 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
12871         Fix the routine for help on Calc's prefixes
12872         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
12873         (calc-do-prefix-help): Use `read-char' to determine the next Calc
12874         command.
12876 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
12878         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
12879         (font-lock-fontify-block): Don't let-bind it.
12880         (font-lock-compile-keywords): Don't use it.
12881         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
12882         start one slot earlier, instead.
12883         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
12884         Don't declare.
12885         (syntax-ppss): Don't use it either.
12886         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
12887         from docstring.
12888         * doc/emacs/display.texi (Font Lock): Don't mention
12889         font-lock-beginning-of-syntax-function.
12890         * doc/lispref/modes.texi (Font Lock Basics): Update description of
12891         font-lock-defaults.
12892         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
12893         * lisp/loadhist.el (unload-feature-special-hooks):
12894         Remove font-lock-beginning-of-syntax-function.
12895         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
12896         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
12897         font-lock-beginning-of-syntax-function.
12899 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
12901         Backslash cleanup in Elisp source files
12902         This patch should not change behavior.  It typically omits backslashes
12903         where they are redundant (e.g., in the string literal "^\$").
12904         In a few places, insert backslashes where they make regular
12905         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
12906         "^\\*", which has the same effect as a regular expression.
12907         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
12908         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
12909         RCS IDs, as that makes it clearer that the backslash is intended.
12911         Some more minor backslash fixes
12912         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
12913         * test/automated/info-xref.el (info-xref-test-write-file):
12914         Double backslashes in strings.
12916         Fix several backslash typos in Elisp strings
12917         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
12918         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
12919         (todo-reset-done-string, todo-reset-comment-string)
12920         (todo-reset-highlight-item):
12921         * lisp/erc/erc-networks.el (erc-networks-alist):
12922         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
12923         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
12924         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
12925         (nntp-telnet-shell-prompt):
12926         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
12927         * lisp/image-dired.el (image-dired-rotate-original):
12928         (image-dired-get-exif-file-name):
12929         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
12930         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
12931         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
12932         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
12933         * lisp/net/shr-color.el (shr-color->hexadecimal):
12934         * lisp/org/org-bibtex.el (org-bibtex-fields):
12935         * lisp/org/org-docview.el (org-docview-export):
12936         * lisp/org/org-entities.el (org-entities):
12937         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
12938         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
12939         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
12940         (ebnf-style-database):
12941         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
12942         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
12943         * lisp/progmodes/sql.el (sql-product-alist):
12944         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
12945         (verilog-error-font-lock-keywords)
12946         (verilog-assignment-operator-re):
12947         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
12948         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
12949         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
12950         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
12951         For example, to get the regular expression ‘\.’ use the string
12952         literal "\\.", not "\." (which is equivalent to ".").
12953         * lisp/emulation/viper-util.el (viper-glob-unix-files):
12954         Remove stray ‘\j’ from string.
12955         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
12956         (nntp-telnet-shell-prompt):
12957         Treat > like $ when matching a shell prompt.
12958         * lisp/progmodes/make-mode.el (makefile-browse):
12959         Properly quote a diagnostic.
12961         Fix minor quoting problems in diagnostics
12962         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
12963         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
12964         Follow text-quoting-style in diagnostic, and quote a file name.
12966 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
12968         * doc/lispref/frames.texi (Cursor Parameters):
12969         Document 'x-stretch-cursor'.
12971 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12973         Omit unnecessary \ before paren in C docstrings
12974         Although \( is needed in docstrings in Elisp code, it is not needed in
12975         docstrings in C code, since C function definitiions do not start with
12976         a parenthesis.  The backslashes made the docstrings a bit harder to
12977         read and to format in columns.  Also, some C docstrings had ( in
12978         column 1 and this did not appear to be causing any problems.  So,
12979         simplify C docstrings by replacing \( with ( and \) with ).
12981         A few more minor quoting fixes in a script and a text file
12983         Minor quoting fixes in scripts and doc
12984         Prefer straight quotes in random script files, as they are not
12985         converted.  Prefer grave quotes in a couple of places in the manual
12986         that were missed earlier, as these quotes are converted.
12988         Minor backslash fixes in manuals and scripts
12989         * Makefile.in (install-arch-indep):
12990         * admin/charsets/compact.awk:
12991         * admin/charsets/gb180302.awk (gb_to_index):
12992         * admin/charsets/gb180304.awk (gb_to_index):
12993         Avoid undefined behavior in Awk regular expression backslashes.
12994         * doc/misc/efaq.texi (Matching parentheses):
12995         Omit unnecessary backslashes.
12996         * doc/misc/gnus-faq.texi (FAQ 5-8):
12997         Avoid undefined behavior in suggested sed backslash usage.
12999         Add -Wswitch to --enable-gcc-warnings
13000         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
13001         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
13002         * lib-src/etags.c (main, consider_token, C_entries):
13003         * src/coding.c (encode_invocation_designation):
13004         * src/data.c (Ftype_of):
13005         * src/eval.c (Fdefvaralias, default_toplevel_binding)
13006         (Fbacktrace__locals, mark_specpdl):
13007         * src/lisp.h (record_xmalloc):
13008         * src/syntax.c (scan_lists, scan_sexps_forward):
13009         * src/window.c (window_relative_x_coord):
13010         * src/xdisp.c (push_it, pop_it):
13011         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
13012         Error out or do nothing (as appropriate) if a switch statement
13013         with an enum value does not cover all of the enum.
13014         * src/dispextern.h (struct iterator_stack_entry.u.comp):
13015         Remove unused member discovered by using -Wswitch.
13016         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
13017         * src/vm-limit.c (check_memory_limits):
13018         Simplify warning-diagnostic computation by using a table.
13020         etags ‘fatal’ function is now printf-like
13021         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
13022         Also, now static; not clear why it needed to be extern.
13023         (verror): New function, with most of the old contents of ‘error’.
13024         (fatal, error): Use it.
13026 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
13028         More adaptations in file-notify-tests.el
13029         * test/automated/file-notify-tests.el
13030         (file-notify-test05-dir-validity): Skip for w32notify in
13031         batch-mode.  (Bug#21432)
13033 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
13035         Adapt test in file-notify-tests.el
13036         * test/automated/file-notify-tests.el
13037         (file-notify-test04-file-validity): Skip for w32notify in
13038         batch-mode.  Add test lost last commit.
13040 2015-09-16  Dima Kogan  <dima@secretsauce.net>
13042         winner no longer holds on to dead frames
13043         * lisp/winner.el (winner-change-fun): Cull dead frames.
13044         This prevents a potentially massive memory leak.  See:
13045         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
13047 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
13049         Use common report_file_notify_error function
13050         * src/fileio.c (report_file_notify_error): New function.
13051         * src/inotify.c (report_inotify_error): Remove function.
13052         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
13053         (Finotify_rm_watch): Use report_file_notify_error.
13054         * src/lisp.h (report_file_notify_error): Declare external function.
13055         * src/w32notify.c (report_w32notify_error): Remove function.
13056         (Fw32notify_add_watch, Fw32notify_rm_watch):
13057         Use report_file_notify_error.
13059 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
13061         Fix documentation.
13062         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
13063         the documentation of the root mean square.
13065 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
13067         Remove tool_bar_redisplayed_once and associated code.
13068         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
13069         * src/frame.c (make_frame, x_set_font): Remove initialization of
13070         f->tool_bar_redisplayed_once.
13071         * src/w32fns.c (x_change_tool_bar_height):
13072         * src/xfns.c (x_change_tool_bar_height): Don't check for
13073         f->tool_bar_redisplayed_once.
13074         * src/xdisp.c (redisplay_internal): Remove handling of
13075         f->tool_bar_redisplayed_once.
13077 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
13079         Restore some of the quoting in the manuals
13080         * doc/lispref/windows.texi (Coordinates and Windows)
13081         (Coordinates and Windows):
13082         * doc/lispref/variables.texi (Lexical Binding)
13083         (File Local Variables):
13084         * doc/lispref/text.texi (Format Properties):
13085         * doc/lispref/symbols.texi (Symbol Components):
13086         * doc/lispref/strings.texi (Creating Strings):
13087         * doc/lispref/sequences.texi (Sequence Functions):
13088         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
13089         (Search and Replace):
13090         * doc/lispref/processes.texi (Bindat Spec):
13091         * doc/lispref/os.texi (Idle Timers):
13092         * doc/lispref/objects.texi (Basic Char Syntax):
13093         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
13094         * doc/lispref/nonascii.texi (Character Properties):
13095         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
13096         (Mode Line Variables):
13097         * doc/lispref/minibuf.texi (Text from Minibuffer):
13098         * doc/lispref/loading.texi (Autoload):
13099         * doc/lispref/keymaps.texi (Controlling Active Maps):
13100         * doc/lispref/frames.texi (Frame Layout, Size and Position)
13101         (Size Parameters, Implied Frame Resizing):
13102         * doc/lispref/files.texi (Changing Files, Magic File Names):
13103         * doc/lispref/eval.texi (Self-Evaluating Forms):
13104         * doc/lispref/display.texi (Progress, Abstract Display)
13105         (Abstract Display Example, Bidirectional Display):
13106         * doc/lispref/commands.texi (Event Mod):
13107         * doc/emacs/windows.texi (Displaying Buffers):
13108         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
13109         * doc/emacs/text.texi (Enriched Text):
13110         * doc/emacs/programs.texi (MixedCase Words):
13111         * doc/emacs/picture-xtra.texi (Insert in Picture)
13112         (Tabs in Picture):
13113         * doc/emacs/misc.texi (Emacs Server, Printing):
13114         * doc/emacs/mini.texi (Minibuffer History):
13115         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
13116         (Pulling / Pushing):
13117         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
13118         * doc/emacs/help.texi (Help, Help Echo):
13119         * doc/emacs/glossary.texi (Glossary):
13120         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
13121         (Frame Commands):
13122         * doc/emacs/files.texi (Reverting, Saving, Directories):
13123         * doc/emacs/entering.texi (Exiting):
13124         * doc/emacs/emacs.texi (Top):
13125         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
13126         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
13127         appropriate or replace quoting with @dfn.
13128         * doc/misc/ediff.texi (Window and Frame Configuration):
13129         * doc/lispref/processes.texi (Network Feature Testing):
13130         * doc/lispref/display.texi (Display Margins): Quote the phrase
13131         after "a.k.a." where appropriate.
13133 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
13135         Clarify reftex-extra-bindings docs
13136         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
13137         * doc/misc/reftex.texi (Key Bindings): Document that the variable
13138         only has an effect at load-time.
13140 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
13142         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
13143         search argument.  (Bug#21492) (Bug#21493)
13145 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
13147         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
13148         Add pretty symbols for \qquad and \varrho.
13150 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
13152         Add new functions for the root mean square of a (Calc) vector
13153         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
13154         New functions.
13155         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
13156         `calc-vector-rms', add autoloads for `calc-vector-rms' and
13157         `calcFunc-rms'.
13158         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
13159         `calcFunc-rms'.
13160         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
13161         `calc-vector-rms'.
13162         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
13163         command.
13165 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
13167         Add monotone EDE generic project
13168         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
13169         Add monotone generic project.
13171         Revert premature commit
13172         * doc/lispref/files.texi: Revert premature commit of change to
13173         file-name-all-completions.
13175         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
13176         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
13177         with cl-generic defaults.
13178         (elisp--xref-find-references): Add doc string.
13179         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
13180         tests to find bug.
13182         Fix bugs in eieio-oref-default related to class symbols
13183         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
13184         (eieio-oref-default): Handle class properly.
13186 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13188         Quote “fullboth” when defining it
13189         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
13190         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
13192 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
13194         Minor doc fix in emacs/ack.texi
13195         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
13196         first argument.
13198 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
13200         Adapt tests in auto-revert-tests.el
13201         * test/automated/auto-revert-tests.el (auto-revert--timeout):
13202         Make it a defconst.
13203         (auto-revert--wait-for-revert): New defun.
13204         (auto-revert-test00-auto-revert-mode)
13205         (auto-revert-test01-auto-revert-tail-mode)
13206         (auto-revert-test02-auto-revert-mode-dired): Use it.
13208 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
13210         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
13211         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
13212         (cl-lib-fdefs): Add defgeneric.
13213         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
13214         (eieio-kw, cl-lib-kw, el-kw): Remove.
13216 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13218         Quote less in manuals
13219         The manuals often used quotes ``...'' when it is better to use @dfn or
13220         @code or capitalized words or no quoting at all.  For example, there is
13221         no need for the `` and '' in “if a variable has one effect for
13222         @code{nil} values and another effect for ``non-@code{nil}'' values”.
13223         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
13224         unnecessary quoting like this, and to use @dfn etc. instead when called
13225         for (Bug#21472).
13227 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
13229         * lisp/custom.el (load-theme): Only compute hash when needed.
13231 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
13233         Pacify --enable-gcc-warnings
13234         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
13236 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
13238         Improve error reports in inotify.c
13239         * src/inotify.c (report_inotify_error): New function.  Clone of
13240         report_w32notify_error.
13241         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
13242         (Finotify_rm_watch): Use it.
13244 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
13246         Fix the file-notify tests for watch validation on w32
13247         * test/automated/file-notify-tests.el
13248         (file-notify-test04-file-validity): Move the directory deletion
13249         out of the file-notify--test-with-events macro.
13250         (file-notify-test04-file-validity)
13251         (file-notify-test05-dir-validity): Enlarge the timeout of
13252         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
13254 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
13256         Use OPEN BOX instead of space for \quad.
13257         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
13258         character for \quad instead of a space.
13260 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
13262         Add missing *.pbm images
13263         * etc/images/connect.pbm: New file.
13264         * etc/images/custom/down-pushed.pbm: New file.
13265         * etc/images/custom/down.pbm: New file.
13266         * etc/images/custom/right-pushed.pbm: New file.
13267         * etc/images/custom/right.pbm: New file.
13268         * etc/images/describe.pbm: New file.
13269         * etc/images/disconnect.pbm: New file.
13270         * etc/images/ezimage/bits.pbm: New file.
13271         * etc/images/ezimage/bitsbang.pbm: New file.
13272         * etc/images/ezimage/box-minus.pbm: New file.
13273         * etc/images/ezimage/box-plus.pbm: New file.
13274         * etc/images/ezimage/box.pbm: New file.
13275         * etc/images/ezimage/checkmark.pbm: New file.
13276         * etc/images/ezimage/dir-minus.pbm: New file.
13277         * etc/images/ezimage/dir-plus.pbm: New file.
13278         * etc/images/ezimage/dir.pbm: New file.
13279         * etc/images/ezimage/doc-minus.pbm: New file.
13280         * etc/images/ezimage/doc-plus.pbm: New file.
13281         * etc/images/ezimage/doc.pbm: New file.
13282         * etc/images/ezimage/info.pbm: New file.
13283         * etc/images/ezimage/key.pbm: New file.
13284         * etc/images/ezimage/label.pbm: New file.
13285         * etc/images/ezimage/lock.pbm: New file.
13286         * etc/images/ezimage/mail.pbm: New file.
13287         * etc/images/ezimage/page-minus.pbm: New file.
13288         * etc/images/ezimage/page-plus.pbm: New file.
13289         * etc/images/ezimage/page.pbm: New file.
13290         * etc/images/ezimage/tag-gt.pbm: New file.
13291         * etc/images/ezimage/tag-minus.pbm: New file.
13292         * etc/images/ezimage/tag-plus.pbm: New file.
13293         * etc/images/ezimage/tag-type.pbm: New file.
13294         * etc/images/ezimage/tag-v.pbm: New file.
13295         * etc/images/ezimage/tag.pbm: New file.
13296         * etc/images/ezimage/unlock.pbm: New file.
13297         * etc/images/gnus/important.pbm: New file.
13298         * etc/images/gnus/mail-send.pbm: New file.
13299         * etc/images/gnus/receipt.pbm: New file.
13300         * etc/images/gnus/toggle-subscription.pbm: New file.
13301         * etc/images/gnus/unimportant.pbm: New file.
13302         * etc/images/gud/all.pbm: New file.
13303         * etc/images/gud/rcont.pbm: New file.
13304         * etc/images/gud/recstart.pbm: New file.
13305         * etc/images/gud/recstop.pbm: New file.
13306         * etc/images/gud/rfinish.pbm: New file.
13307         * etc/images/gud/rnext.pbm: New file.
13308         * etc/images/gud/rnexti.pbm: New file.
13309         * etc/images/gud/rstep.pbm: New file.
13310         * etc/images/gud/rstepi.pbm: New file.
13311         * etc/images/gud/thread.pbm: New file.
13312         * etc/images/lock-broken.pbm: New file.
13313         * etc/images/lock-ok.pbm: New file.
13314         * etc/images/lock.pbm: New file.
13315         * etc/images/mail/copy.pbm: New file.
13316         * etc/images/mail/forward.pbm: New file.
13317         * etc/images/mail/not-spam.pbm: New file.
13318         * etc/images/mail/outbox.pbm: New file.
13319         * etc/images/mail/preview.pbm: New file.
13320         * etc/images/mail/save-draft.pbm: New file.
13321         * etc/images/mh-logo.pbm: New file.
13322         * etc/images/mpc/add.pbm: New file.
13323         * etc/images/mpc/ffwd.pbm: New file.
13324         * etc/images/mpc/next.pbm: New file.
13325         * etc/images/mpc/pause.pbm: New file.
13326         * etc/images/mpc/play.pbm: New file.
13327         * etc/images/mpc/prev.pbm: New file.
13328         * etc/images/mpc/rewind.pbm: New file.
13329         * etc/images/mpc/stop.pbm: New file.
13330         * etc/images/redo.pbm: New file.
13331         * etc/images/smilies/braindamaged.pbm: New file.
13332         * etc/images/smilies/cry.pbm: New file.
13333         * etc/images/smilies/dead.pbm: New file.
13334         * etc/images/smilies/evil.pbm: New file.
13335         * etc/images/smilies/forced.pbm: New file.
13336         * etc/images/smilies/grin.pbm: New file.
13337         * etc/images/smilies/indifferent.pbm: New file.
13338         * etc/images/sort-ascending.pbm: New file.
13339         * etc/images/sort-column-ascending.pbm: New file.
13340         * etc/images/sort-criteria.pbm: New file.
13341         * etc/images/sort-descending.pbm: New file.
13342         * etc/images/sort-row-ascending.pbm: New file.
13343         * etc/images/unchecked.pbm: New file.
13344         * etc/images/zoom-in.pbm: New file.
13345         * etc/images/README: Update instructions for PBM files.
13347         Add separator.pbm tool-bar image
13348         * etc/images/separator.pbm: New file.  Having it avoids the side
13349         effect of changing the tool-bar height when the default font's size
13350         changes and XPM image support is not available, due to the SPC
13351         characters that are left in the Lisp string used to display the tool
13352         bar, because there are no images to display instead of those SPC
13353         characters.
13355         Make show-paren-match face visible on mono-color displays
13356         * lisp/faces.el (show-paren-match): Use the underline face for
13357         mono-color displays.  (Bug#21481)
13359 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
13361         Don’t double-encode non-ASCII mail clipboard
13362         * lisp/mail/mailclient.el (mailclient-send-it):
13363         Also fix the case when mailclient-place-body-on-clipboard-flag
13364         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
13366 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
13368         Adapt file-notify-tests.el test cases
13369         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
13370         * src/inotify.c (Finotify_valid_p): Adapt docstring.
13371         * test/automated/file-notify-tests.el
13372         (file-notify-test03-autorevert)
13373         (file-notify-test04-file-validity)
13374         (file-notify-test04-file-validity-remote)
13375         (file-notify-test05-dir-validity)
13376         (file-notify-test05-dir-validity-remote): Adapt docstring.
13377         (file-notify-test04-file-validity): Let events arrive before
13378         calling final `file-notify-valid-p'.  Do not ignore errors.
13379         (file-notify-test05-dir-validity): Do not manipulate
13380         `temporary-file-directory', it isn't necessary.  Let events arrive
13381         before calling final `file-notify-valid-p'.  Do not ignore errors.
13383 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
13385         Don’t double-encode non-ASCII for mail client
13386         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
13387         Use RFC 6068’s list of unreserved characters.
13388         (mailclient-send-it): When encoding the body as a URL,
13389         first decode it as per Content-Type: and Content-Transfer-Encoding:,
13390         as URLs must use percent-encoded UTF-8 (Bug#21471).
13391         * doc/misc/url.texi (mailto): Update RFC number.
13393 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
13395         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
13397 2015-09-14  Alan Mackenzie  <acm@muc.de>
13399         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
13400         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
13401         `cadr/car'.
13403 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
13405         Clarify documentation of char-table extra slots
13406         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
13407         slot numbers are zero-based.  (Bug#21467)
13409 2015-09-14  Alan Mackenzie  <acm@muc.de>
13411         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
13412         Fixes bug#21449.
13413         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
13414         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
13415         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
13416         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
13417         Insert "\\|\\\\." into regexps which match symbols.
13419 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
13421         Improve the doc string of w32notify-valid-p
13422         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
13423         that removing a watch makes its object invalid.
13425 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
13427         Fix tests for file-notify-valid-p
13428         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
13429         Use delete-directory to delete file-notify--test-tmpfile if it is
13430         a directory.  Likewise for file-notify--test-tmpfile1.
13431         (file-notify-test04-file-validity)
13432         (file-notify-test05-dir-validity): Delete the parent directory of
13433         the test.  Ignore errors when cleaning up after the test.
13435 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
13437         Report file-notify-error in w32notify.c
13438         * src/w32notify.c (report_w32notify_error): New function.
13439         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
13440         errors, instead of calling report_file_error.  (Bug#21432)
13442         Implement w32notify-valid-p
13443         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
13444         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
13445         'identity'.
13447 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
13449         Test file-notify-valid-p
13450         * test/automated/file-notify-tests.el
13451         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
13452         New tests.
13454 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
13456         Fix markup in ELisp manual
13457         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
13458         of the 'alpha' parameter value.  (Bug#21470)
13460 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
13462         Introduce `file-notify-valid-p'
13463         * lisp/filenotify.el (file-notify-valid-p): New defun.
13464         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
13465         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
13466         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
13467         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
13468         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
13469         <file-notify-valid-p>: Add handler.
13470         * lisp/net/tramp.el (tramp-file-name-for-operation):
13471         Add `file-notify-valid-p'.
13472         (tramp-handle-file-notify-valid-p): New defun.
13473         * src/inotify.c (Finotify_valid_p): New defun.
13474         (syms_of_inotify): Declare Sinotify_valid_p.
13476 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13478         Port Unicode char detection to FreeBSD+svgalib
13479         Problem reported by Ashish SHUKLA in:
13480         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
13481         * configure.ac: Check for struct unipair.unicode instead of for
13482         <linux/kd.h>, since that’s more specific to what the code
13483         actually needs.
13484         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
13486         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
13488 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
13490         Fix vertical cursor motion across overlay strings with newlines
13491         * src/indent.c (Fvertical_motion): Don't leave point in the middle
13492         of an overlay string with newlines, as that will position the
13493         cursor after the string at whatever column is there.  (Bug#21468)
13495 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
13497         Fix tests in file-notify-tests.el
13498         * test/automated/file-notify-tests.el: Remove Tramp declarations.
13499         (file-notify-test00-availability): Print remote command w/o Tramp
13500         internal functions.
13501         (file-notify-test02-events, file-notify-test02-events-remote):
13502         Adapt docstring.
13503         (file-notify-test03-autorevert): Use `format-message' when
13504         inspecting *Messages* buffer.
13506 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
13508         Bind inhibit-modification-hooks rather than a/b-c-f
13509         * lisp/wid-edit.el (widget-editable-list-insert-before)
13510         (widget-editable-list-delete-at):
13511         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
13512         (cperl-font-lock-unfontify-region-function):
13513         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
13514         * lisp/obsolete/longlines.el (longlines-mode):
13515         * lisp/obsolete/fast-lock.el (save-buffer-state):
13516         * lisp/mouse.el (mouse-save-then-kill-delete-region):
13517         * lisp/gnus/message.el (message-hide-headers):
13518         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
13519         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
13520         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
13521         than after/before-change-functions to nil.
13523 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
13525         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
13526         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
13527         the buffers, even if the forced redisplay is interrupted.
13529         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
13531         Merge syntax-propertize--done and parse-sexp-propertize-done
13532         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
13533         (syntax-propertize): Set syntax-propertize--done even if
13534         syntax-propertize-function is nil.  Avoid recursive invocations.
13535         (syntax-propertize-chunks): New var.
13536         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
13537         Simplify.
13538         (parse-sexp-propertize-function): Don't set any more.
13539         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
13540         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
13541         Call Qinternal__syntax_propertize instead of
13542         Vparse_sexp_propertize_function.  Truncate e_property if needed.
13543         (update_syntax_table_forward): Streamline.
13544         (syms_of_syntax): Define Qinternal__syntax_propertize.
13545         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
13547 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13549         Prefer straight quoting in some text files
13550         Mostly this just changes ` to ' in static text.  Some exceptions:
13551         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
13552         typically does that now.
13553         * admin/quick-install-emacs (TRY, top level):
13554         Use straight quoting in diagnostics.
13555         * src/README: Fix working-directory confusion.
13557         * CONTRIBUTE: Move send-email here from git-workflow.
13559 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
13561         Improve file notifications in Tramp
13562         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
13563         Set proper events to watch for.
13564         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
13565         watched events.
13567 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
13569         Fix NS build with --enable-checking='glyphs'
13570         * src/nsfns.m (unwind_create_frame): Make the preprocessor
13571         conditionals for referencing 'dpyinfo' consistent throughout the
13572         function.  (Bug#21426)
13574 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
13576         Add seq-find
13577         This function is similar to `seq-some' but returns the found element.
13578         In the cases where nil can be the found element, a sentinel optional
13579         argument can be provided to avoid ambiguities.
13580         * lisp/emacs-lisp/seq.el (seq-find): New function.
13581         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
13582         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
13583         seq-find.
13585 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
13587         Document file-notify--test-with-events.
13588         * test/automated/file-notify-tests.el (file-notify--test-with-events):
13589         Add docstring.
13591 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
13593         Report used native library in file-notify-tests.el
13594         * test/automated/file-notify-tests.el
13595         (tramp-get-remote-gvfs-monitor-dir)
13596         (tramp-get-remote-inotifywait): Declare them.
13597         (file-notify-test00-availability): Print used native library.
13599 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
13601         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
13602         (mpc-file-local-copy): Check for absolute path.  Check more config
13603         locations.
13605 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
13607         Improve documentation of categories
13608         * doc/lispref/syntax.texi (Categories): Clarify the example of
13609         using define-category and modify-category-entry.  (Bug#21448)
13611 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13613         Revert some stray curved quotes I missed earlier
13614         Problem reported by David Kastrup in:
13615         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
13616         * lisp/international/mule-cmds.el (leim-list-header):
13617         Use format-message with an ASCII-only format.
13619         Prefer NUMBERP to spelling it out
13620         * src/editfns.c (styled_format):
13621         * src/frame.h (NUMVAL):
13622         * src/image.c (parse_image_spec):
13623         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
13624         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
13625         * src/process.c (Fsignal_process):
13626         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
13627         * src/xfaces.c (check_lface_attrs):
13628         * src/xselect.c (x_fill_property_data, x_send_client_event):
13629         Use NUMBERP rather than INTEGERP || FLOATP.
13631 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
13633         Improve file-notify-tests
13634         * test/automated/file-notify-tests.el: Use lexical-binding.
13635         (file-notify--test-cleanup): New function.
13636         (file-notify-test00-availability, file-notify-test01-add-watch)
13637         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
13638         (file-notify--test-with-events): New macro.
13639         (file-notify-test02-events): Use it.
13641 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13643         Add patch-sending instructions to git-workflow
13644         From a suggestion by Mitchel Humpherys in:
13645         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
13646         * admin/notes/git-workflow (Sending patches): New section.
13648         Port to GIFLIB 5.0.6 and later
13649         Problem reported by Mitchel Humpherys in:
13650         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
13651         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
13652         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
13653         (gif_load) [HAVE_GIF]: Use it.
13655 2015-09-10  Glenn Morris  <rgm@gnu.org>
13657         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
13659 2015-09-09  Glenn Morris  <rgm@gnu.org>
13661         * test/automated/file-notify-tests.el (file-notify-test02-events):
13662         Fix recent change.
13664 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13666         Refix movemail GCC pacification
13667         Problem reported by Ken Brown in:
13668         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
13669         * lib-src/movemail.c (main): Fix previous change.
13671 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13673         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
13674         Mark unused vars with underscore.
13676         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
13677         (parse_sexp_propertize): ...from here.
13679         * lisp/filenotify.el: Use lexical-binding
13680         (file-notify-add-watch): Avoid add-to-list.
13682 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
13684         Start checking event types in file-notify tests
13685         * test/automated/file-notify-tests.el (file-notify--test-events):
13686         New variable.
13687         (file-notify--test-event-handler): Append received event to
13688         file-notify--test-events for later analysis.
13689         (file-notify-test02-events): Assert that the expected notifications have
13690         arrived in the expected order.
13692 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13694         Merge from gnulib and texinfo
13695         This incorporates:
13696         2015-08-03 Improve port of stdalign to C++11
13697         * lib/stdalign.in.h: Copy from gnulib.
13698         * doc/misc/texinfo.tex: Copy from texinfo.
13700 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13702         Make syntax.c call syntax-propertize on demand
13703         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
13704         (parse-sexp-propertize-function): Use it.
13705         (syntax-propertize): Disable parse-sexp-propertize-function.
13706         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
13707         New functions.
13708         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
13709         `parse-sexp-propertize-function'.
13710         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
13711         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
13712         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
13713         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
13714         Don't assume `point' is set.
13716 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
13718         Fix indentation of an @example in ELisp manual
13719         * doc/lispref/syntax.texi (Categories): Untabify the example.
13720         (Bug#21448)
13722 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13724         Define internal-char-font even if --without-x
13725         The function is used now even in non-graphical environments.
13726         Problem reported by Glenn Morris in:
13727         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
13728         * src/font.c (Finternal_char_font): Move here ...
13729         * src/fontset.c (Finternal_char_font): ... from here.
13731 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13733         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
13734         Remove warning.
13736 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
13738         Fix display of complex local data types in GDB-MI
13739         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
13740         variable has no value, display "<complex data type>" as a
13741         placeholder, instead of a confusing "nil".  (Bug#21438)
13743 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
13745         Remove redundant redefinition of seq-drop-while from seq.el
13746         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
13748 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
13750         * lisp/emacs-lisp/package.el (package--ensure-init-file):
13751         More robust check for `package-initialize' calls in init file.
13752         This function accepts an optional argument, but calls passing
13753         an argument would not have been detected.
13755 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
13757         Port movemail to RHEL 6 with --enable-gcc-warnings
13758         * lib-src/movemail.c (main): Declare local only if needed.
13760         Port recent Linux console changes to RHEL 6
13761         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
13763         Improvements for curved quotes on Linux consule
13764         This should help Emacs work better out-of-the-box on Linux consoles,
13765         which have only limited support for displaying Unicode characters.
13766         Also, undo the recent change that caused text-quoting-style to
13767         affect quote display on terminals, so that the two features are
13768         independent.  See Alan Mackenzie in:
13769         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
13770         Finally, add a style parameter to startup--setup-quote-display,
13771         so that this function can also be invoked after startup, with
13772         different styles depending on user preference at the time.
13773         * configure.ac: Check for linux/kd.h header.
13774         * doc/emacs/display.texi (Text Display): Document quote display.
13775         * doc/lispref/display.texi (Active Display Table):
13776         * etc/NEWS:
13777         * lisp/startup.el (startup--setup-quote-display, command-line):
13778         text-quoting-style no longer affects quote display.
13779         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
13780         * lisp/international/mule-util.el (char-displayable-p):
13781         * lisp/startup.el (startup--setup-quote-display):
13782         On a text terminal supporting glyph codes, use the reported
13783         glyph codes instead of the terminal coding system, as this
13784         is more accurate on the Linux console.
13785         * lisp/startup.el (startup--setup-quote-display):
13786         New optional arg STYLE.
13787         * src/fontset.c (Finternal_char_font):
13788         Report glyph codes for a text terminal, if they are available.
13789         Currently this is supported only for the Linux console.
13790         * src/termhooks.h (struct terminal): New member glyph-code-table.
13791         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
13792         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
13793         (terminal_glyph_code): New function.
13795 2015-09-08  Juri Linkov  <juri@linkov.net>
13797         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
13798         underline.  (Bug#21433)
13800 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
13802         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
13804 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
13806         Fix double-reporting of rename events with inotify
13807         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
13808         of rename events with inotify (bug#21435).
13810 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
13812         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
13813         (tetris-mode-map): Use it.
13815 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
13817         Remove a few simple cases of global redisplay
13818         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
13819         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
13820         rather than returning a "resized_p" boolean.
13821         (redisplay_internal): Adjust call accordingly.
13822         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
13823         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
13824         tracking of this undesirable situation.
13826         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
13827         * src/process.c (status_notify): Only set the update_mode_line on the
13828         relevant buffers rather than setting it globally.
13830 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
13832         * lisp/electric.el (electric-quote-post-self-insert-function):
13833         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
13834         (electric-quote-mode): Activate everywhere in message-mode.
13836 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
13838         Go back to grave quoting in source-code docstrings etc.
13839         This reverts almost all my recent changes to use curved quotes
13840         in docstrings and/or strings used for error diagnostics.
13841         There are a few exceptions, e.g., Bahá’í proper names.
13842         * admin/unidata/unidata-gen.el (unidata-gen-table):
13843         * lisp/abbrev.el (expand-region-abbrevs):
13844         * lisp/align.el (align-region):
13845         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
13846         (outlineify-sticky):
13847         * lisp/apropos.el (apropos-library):
13848         * lisp/bookmark.el (bookmark-default-annotation-text):
13849         * lisp/button.el (button-category-symbol, button-put)
13850         (make-text-button):
13851         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
13852         * lisp/calc/calc-embed.el (calc-do-embedded):
13853         * lisp/calc/calc-ext.el (calc-user-function-list):
13854         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
13855         * lisp/calc/calc-help.el (calc-describe-key)
13856         (calc-describe-thing, calc-full-help):
13857         * lisp/calc/calc-lang.el (calc-c-language)
13858         (math-parse-fortran-vector-end, math-parse-tex-sum)
13859         (math-parse-eqn-matrix, math-parse-eqn-prime)
13860         (calc-yacas-language, calc-maxima-language, calc-giac-language)
13861         (math-read-giac-subscr, math-read-math-subscr)
13862         (math-read-big-rec, math-read-big-balance):
13863         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
13864         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
13865         (calc-auto-recompute):
13866         * lisp/calc/calc-prog.el (calc-fix-token-name)
13867         (calc-read-parse-table-part, calc-user-define-invocation)
13868         (math-do-arg-check):
13869         * lisp/calc/calc-store.el (calc-edit-variable):
13870         * lisp/calc/calc-units.el (math-build-units-table-buffer):
13871         * lisp/calc/calc-vec.el (math-read-brackets):
13872         * lisp/calc/calc-yank.el (calc-edit-mode):
13873         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
13874         * lisp/calendar/appt.el (appt-display-message):
13875         * lisp/calendar/diary-lib.el (diary-check-diary-file)
13876         (diary-mail-entries, diary-from-outlook):
13877         * lisp/calendar/icalendar.el (icalendar-export-region)
13878         (icalendar--convert-float-to-ical)
13879         (icalendar--convert-date-to-ical)
13880         (icalendar--convert-ical-to-diary)
13881         (icalendar--convert-recurring-to-diary)
13882         (icalendar--add-diary-entry):
13883         * lisp/calendar/time-date.el (format-seconds):
13884         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
13885         (timeclock-make-hours-explicit, timeclock-log-data):
13886         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
13887         (todo-item-mark, todo-check-format)
13888         (todo-insert-item--next-param, todo-edit-item--next-key)
13889         (todo-mode):
13890         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
13891         * lisp/cedet/mode-local.el (describe-mode-local-overload)
13892         (mode-local-print-binding, mode-local-describe-bindings-2):
13893         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
13894         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
13895         * lisp/cus-start.el (standard):
13896         * lisp/cus-theme.el (describe-theme-1):
13897         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
13898         (custom--sort-vars-1, load-theme):
13899         * lisp/descr-text.el (describe-text-properties-1, describe-char):
13900         * lisp/dired-x.el (dired-do-run-mail):
13901         * lisp/dired.el (dired-log):
13902         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
13903         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
13904         (ad-disable-advice, ad-remove-advice, ad-set-argument)
13905         (ad-set-arguments, ad--defalias-fset, ad-activate)
13906         (ad-deactivate):
13907         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
13908         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
13909         (byte-optimize-while, byte-optimize-apply):
13910         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
13911         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
13912         (byte-compile-log-file, byte-compile-format-warn)
13913         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
13914         (byte-compile-cl-warn)
13915         (byte-compile-warn-about-unresolved-functions)
13916         (byte-compile-file, byte-compile--declare-var)
13917         (byte-compile-file-form-defmumble, byte-compile-form)
13918         (byte-compile-normal-call, byte-compile-check-variable)
13919         (byte-compile-variable-ref, byte-compile-variable-set)
13920         (byte-compile-subr-wrong-args, byte-compile-setq-default)
13921         (byte-compile-negation-optimizer)
13922         (byte-compile-condition-case--old)
13923         (byte-compile-condition-case--new, byte-compile-save-excursion)
13924         (byte-compile-defvar, byte-compile-autoload)
13925         (byte-compile-lambda-form)
13926         (byte-compile-make-variable-buffer-local, display-call-tree)
13927         (batch-byte-compile):
13928         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
13929         * lisp/emacs-lisp/chart.el (chart-space-usage):
13930         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
13931         (check-declare-warn, check-declare-file)
13932         (check-declare-directory):
13933         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
13934         (checkdoc-message-text-engine):
13935         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
13936         (cl--describe-class):
13937         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
13938         (cl--generic-describe, cl-generic-generalizers):
13939         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
13940         (cl-symbol-macrolet):
13941         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
13942         * lisp/emacs-lisp/copyright.el (copyright)
13943         (copyright-update-directory):
13944         * lisp/emacs-lisp/edebug.el (edebug-read-list):
13945         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
13946         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
13947         (eieio-oref):
13948         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
13949         * lisp/emacs-lisp/eieio-speedbar.el:
13950         (eieio-speedbar-child-make-tag-lines)
13951         (eieio-speedbar-child-description):
13952         * lisp/emacs-lisp/eieio.el (defclass, change-class):
13953         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
13954         (elint-init-form, elint-check-defalias-form)
13955         (elint-check-let-form):
13956         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
13957         (ert-results-pop-to-backtrace-for-test-at-point)
13958         (ert-results-pop-to-messages-for-test-at-point)
13959         (ert-results-pop-to-should-forms-for-test-at-point)
13960         (ert-describe-test):
13961         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
13962         (find-function-library):
13963         * lisp/emacs-lisp/generator.el (iter-yield):
13964         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
13965         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
13966         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
13967         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
13968         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
13969         (advice--make, define-advice):
13970         * lisp/emacs-lisp/package-x.el (package-upload-file):
13971         * lisp/emacs-lisp/package.el (package-version-join)
13972         (package-disabled-p, package-activate-1, package-activate)
13973         (package--download-one-archive)
13974         (package--download-and-read-archives)
13975         (package-compute-transaction, package-install-from-archive)
13976         (package-install, package-install-selected-packages)
13977         (package-delete, package-autoremove, describe-package-1)
13978         (package-install-button-action, package-delete-button-action)
13979         (package-menu-hide-package, package-menu--list-to-prompt)
13980         (package-menu--perform-transaction)
13981         (package-menu--find-and-notify-upgrades):
13982         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
13983         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
13984         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
13985         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
13986         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
13987         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
13988         (rx-form):
13989         * lisp/emacs-lisp/smie.el (smie-config-save):
13990         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
13991         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
13992         * lisp/emacs-lisp/testcover.el (testcover-1value):
13993         * lisp/emacs-lisp/timer.el (timer-event-handler):
13994         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
13995         (viper-toggle-search-style, viper-kill-buffer)
13996         (viper-brac-function):
13997         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
13998         * lisp/env.el (setenv):
13999         * lisp/erc/erc-button.el (erc-nick-popup):
14000         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
14001         * lisp/eshell/em-dirs.el (eshell/cd):
14002         * lisp/eshell/em-glob.el (eshell-glob-regexp)
14003         (eshell-glob-entries):
14004         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
14005         * lisp/eshell/esh-opt.el (eshell-show-usage):
14006         * lisp/facemenu.el (facemenu-add-new-face)
14007         (facemenu-add-new-color):
14008         * lisp/faces.el (read-face-name, read-face-font, describe-face)
14009         (x-resolve-font-name):
14010         * lisp/files-x.el (modify-file-local-variable):
14011         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
14012         (set-auto-mode, hack-one-local-variable--obsolete)
14013         (dir-locals-set-directory-class, write-file, basic-save-buffer)
14014         (delete-directory, copy-directory, recover-session)
14015         (recover-session-finish, insert-directory)
14016         (file-modes-char-to-who, file-modes-symbolic-to-number)
14017         (move-file-to-trash):
14018         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
14019         * lisp/find-cmd.el (find-generic, find-to-string):
14020         * lisp/finder.el (finder-commentary):
14021         * lisp/font-lock.el (font-lock-fontify-buffer):
14022         * lisp/format.el (format-write-file, format-find-file)
14023         (format-insert-file):
14024         * lisp/frame.el (get-device-terminal, select-frame-by-name):
14025         * lisp/fringe.el (fringe--check-style):
14026         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
14027         * lisp/help-fns.el (help-fns--key-bindings)
14028         (help-fns--compiler-macro, help-fns--parent-mode)
14029         (help-fns--obsolete, help-fns--interactive-only)
14030         (describe-function-1, describe-variable):
14031         * lisp/help.el (describe-mode)
14032         (describe-minor-mode-from-indicator):
14033         * lisp/image.el (image-type):
14034         * lisp/international/ccl.el (ccl-dump):
14035         * lisp/international/fontset.el (x-must-resolve-font-name):
14036         * lisp/international/mule-cmds.el (prefer-coding-system)
14037         (select-safe-coding-system-interactively)
14038         (select-safe-coding-system, activate-input-method)
14039         (toggle-input-method, describe-current-input-method)
14040         (describe-language-environment):
14041         * lisp/international/mule-conf.el (code-offset):
14042         * lisp/international/mule-diag.el (describe-character-set)
14043         (list-input-methods-1):
14044         * lisp/mail/feedmail.el (feedmail-run-the-queue):
14045         * lisp/mouse.el (minor-mode-menu-from-indicator):
14046         * lisp/mpc.el (mpc-playlist-rename):
14047         * lisp/msb.el (msb--choose-menu):
14048         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
14049         * lisp/net/imap.el (imap-interactive-login):
14050         * lisp/net/mairix.el (mairix-widget-create-query):
14051         * lisp/net/newst-backend.el (newsticker--sentinel-work):
14052         * lisp/net/newst-treeview.el (newsticker--treeview-load):
14053         * lisp/net/rlogin.el (rlogin):
14054         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
14055         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
14056         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
14057         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
14058         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
14059         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
14060         (org-babel-goto-named-result):
14061         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
14062         * lisp/org/ob-ref.el (org-babel-ref-resolve):
14063         * lisp/org/org-agenda.el (org-agenda-prepare):
14064         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
14065         (org-clock-resolve):
14066         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
14067         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
14068         * lisp/org/org-habit.el (org-habit-parse-todo):
14069         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
14070         (org-mouse-context-menu):
14071         * lisp/org/org-table.el (org-table-edit-formulas):
14072         * lisp/org/ox.el (org-export-async-start):
14073         * lisp/proced.el (proced-log):
14074         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
14075         (ada-check-matching-start, ada-goto-matching-start):
14076         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
14077         * lisp/progmodes/ada-xref.el (ada-find-executable):
14078         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
14079         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
14080         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
14081         (flymake-start-syntax-check-process):
14082         * lisp/progmodes/python.el (python-shell-get-process-or-error)
14083         (python-define-auxiliary-skeleton):
14084         * lisp/progmodes/sql.el (sql-comint):
14085         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
14086         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
14087         * lisp/recentf.el (recentf-open-files):
14088         * lisp/replace.el (query-replace-read-from)
14089         (occur-after-change-function, occur-1):
14090         * lisp/scroll-bar.el (scroll-bar-columns):
14091         * lisp/server.el (server-get-auth-key):
14092         * lisp/simple.el (execute-extended-command)
14093         (undo-outer-limit-truncate, list-processes--refresh)
14094         (compose-mail, set-variable, choose-completion-string)
14095         (define-alternatives):
14096         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
14097         (command-line-1):
14098         * lisp/subr.el (noreturn, define-error, add-to-list)
14099         (read-char-choice, version-to-list):
14100         * lisp/term/common-win.el (x-handle-xrm-switch)
14101         (x-handle-name-switch, x-handle-args):
14102         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
14103         * lisp/textmodes/reftex-ref.el (reftex-label):
14104         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
14105         * lisp/textmodes/two-column.el (2C-split):
14106         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
14107         (tutorial--find-changed-keys):
14108         * lisp/type-break.el (type-break-noninteractive-query):
14109         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
14110         (wdired-do-perm-changes):
14111         * lisp/whitespace.el (whitespace-report-region):
14112         Prefer grave quoting in source-code strings used to generate help
14113         and diagnostics.
14114         * lisp/faces.el (face-documentation):
14115         No need to convert quotes, since the result is a docstring.
14116         * lisp/info.el (Info-virtual-index-find-node)
14117         (Info-virtual-index, info-apropos):
14118         Simplify by generating only curved quotes, since info files are
14119         typically that ways nowadays anyway.
14120         * lisp/international/mule-diag.el (list-input-methods):
14121         Don’t assume text quoting style is curved.
14122         * lisp/org/org-bibtex.el (org-bibtex-fields):
14123         Revert my recent changes, going back to the old quoting style.
14125 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14127         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
14128         (package--autoloads-file-name)
14129         (package--activate-autoloads-and-load-path): New function.
14130         (package-activate-1): Delegate autoloading and load-path
14131         configuration to `package--activate-autoloads-and-load-path'.
14132         (package--compile): Before compilation, call
14133         `package--activate-autoloads-and-load-path' instead of
14134         `package-activate-1'.
14136 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14138         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
14140 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
14142         Fix deletion of symlinks to directories on MS-Windows
14143         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
14144         symlink to a directory, try again with 'rmdir'.
14145         (is_symlink): If the argument is a symlink to a directory, set a
14146         bit in the return value to indicate that fact.
14148 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14150         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
14151         When `package-initialize' is called as part of loading the init file,
14152         the user probably doesn't want it to be called again afterwards.
14153         In this situation, `package-initialize' now sets
14154         `package-enable-at-startup' to nil to prevent that.  The user can have
14155         the old behavior by setting this variable to t after the call to
14156         `package-initialize'.  (Bug#21423)
14157         * doc/emacs/package.texi (Package Installation): Document it.
14158         * doc/lispref/package.texi (Packaging Basics): Document it.
14159         * etc/NEWS: Document it.
14161 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
14163         Bump version of ntlm.el to 2.00
14164         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
14165         Add comm keyword.
14167 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
14169         * doc/misc/gnus.texi (Mail Source Specifiers):
14170         Allow :mailbox to be a list.
14172 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
14174         * lisp/progmodes/etags.el (etags-tags-completion-table):
14175         Allow even one non-regular character before the implicit tag name.
14176         Reported at http://emacs.stackexchange.com/questions/15269/.
14178 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
14180         Add support for NTLMv2 authentication
14181         * lisp/net/ntlm.el (ntlm): New customization group.
14182         (ntlm-compatibility-level): New defcustom.
14183         (ntlm-compute-timestamp): New function.
14184         (ntlm-generate-nonce): Likewise.
14185         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
14187 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
14189         * lisp/emacs-lisp/package.el: Rename custom faces.
14190         All of the recently introduced faces, like `package-name-face', have
14191         been renamed to no end in `-face' to comply with the convention
14192         described in (info "(elisp) Defining Faces").
14193         (package-name, package-description)
14194         (package-status-built-in, package-status-external)
14195         (package-status-available, package-status-new)
14196         (package-status-held, package-status-disabled)
14197         (package-status-installed, package-status-dependency)
14198         (package-status-unsigned, package-status-incompat)
14199         (package-status-avail-obso): New faces.
14200         (package-menu--print-info-simple): Use them.
14202 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
14204         mail-source.el: Make the imap mail-source's :mailbox handle a list
14205         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
14206         Allow :mailbox to be  a list.
14208 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
14210         nnimap.el: Handle nil arg to nnimap-request-group
14211         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
14212         This arg isn't always passed in, check it's not nil before making it
14213         into a list.  The active arg will also be nil if the group is new,
14214         check for that.
14216 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
14218         File notifications: Support renaming over directory boundaries
14219         * lisp/filenotify.el (file-notify-handle-event):
14220         (file-notify--pending-event): Adapt docstring.
14221         (file-notify--descriptor, file-notify-callback): Reimplement in
14222         order to support renaming over directory boundaries.
14223         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
14224         * doc/lispref/os.texi (File Notifications): Remove limitation of
14225         file renaming to the same directory.
14227 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14229         Spelling fix (Bug#21420)
14231 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
14233         Improve the semantic of map-some
14234         Update map-some to return the returned by the predicate, similar to
14235         seq-some.
14236         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
14237           return value of the predicate.
14238         * test/automated/map-tests.el (test-map-some): Update the test to check
14239           for non-nil values only.
14241         Rename map-contains-key-p and map-some-p
14242         Remove the "-p" suffix from both function names.
14243         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
14244           Rename the functions.
14245         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
14246           Update both test functions.
14248         Improve the semantic of seq-some
14249         Update seq-some to return non-nil if the predicate returns non-nil for
14250         any element of the seq, in which case the returned value is the one
14251         returned by the predicate.
14252         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
14253           docstring.
14254         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
14255         * doc/lispref/sequences.texi (Sequence Functions): Update the
14256           documentation for seq-some.
14258         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
14259         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
14260           without the "-p" prefix.
14261         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
14262           the tests accordingly.
14263         * doc/lispref/sequences.texi (Sequence Functions): Update the
14264           documentation for seq.el.
14266 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
14268         text-quoting-style for usage of fn names with ‘’
14269         * lisp/help.el (help--docstring-quote): Don’t assume
14270         text-quoting-style is ‘curve’ when generating usage strings for
14271         functions whose names contain curved quotes.
14273 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14275         Fix fix for describe-function keybinding confusion
14276         This fixes a bug introduced by the previous patch.
14277         * lisp/help-fns.el (help-fns--signature):
14278         Last arg of help-fns--signature is now a buffer, or nil if a
14279         raw signature is wanted.  All callers changed.
14280         (describe-function-1): Use this to do the right thing with signatures.
14282 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
14284         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
14286         Use PAT rather than UPAT in pcase macros
14287         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
14288         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
14289           than UPAT.
14291 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14293         Fix describe-function keybinding confusion
14294         * lisp/help-fns.el (describe-function-1): Compute signature
14295         in the original buffer, not in standard-output, so that
14296         substitute-command-keys uses the proper keybindings.
14297         This fixes Bug#21412, introduced in commit
14298         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
14300 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
14302         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
14304 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
14306         Avoid read error messages from 'inotify'
14307         * src/process.c (wait_reading_process_output): Add a
14308         'tls_available' set and manipulate it instead of 'Available' when
14309         checking TLS inputs.  Assign the value to 'Available' only if we
14310         find any TLS data waiting to be read.  This avoids error messages
14311         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
14313 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
14315         Avoid errors in thing-at-point with 2nd argument non-nil
14316         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
14317         sequences.  (Bug#21391)
14319 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
14321         Fix segfaults due to using a stale face ID
14322         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
14323         (display_echo_area_1, redisplay_internal): Call it to avoid
14324         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
14325         faces, which could case a segfault if the frame's face cache was
14326         freed since the last redisplay.  (Bug#21394)
14327         * src/xfaces.c (free_realized_faces):
14328         Call forget_escape_and_glyphless_faces.
14329         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
14331 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
14333         Fix minor problems with " in manual
14335 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
14337         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
14338         multi-hop files.
14340 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
14342         Support automated ‘make check’ in non-C locale
14343         This lets the builder optionally test Emacs behavior in other locales.
14344         The C locale is still the default for tests.
14345         * test/automated/Makefile.in (TEST_LOCALE): New macro.
14346         (emacs): Use it.
14347         * test/automated/flymake-tests.el (flymake-tests--current-face):
14348         Use C locale for subprocesses so that tests behave as expected.
14349         * test/automated/python-tests.el:
14350         (python-shell-prompt-validate-regexps-1)
14351         (python-shell-prompt-validate-regexps-2)
14352         (python-shell-prompt-validate-regexps-3)
14353         (python-shell-prompt-validate-regexps-4)
14354         (python-shell-prompt-validate-regexps-5)
14355         (python-shell-prompt-validate-regexps-6)
14356         (python-shell-prompt-set-calculated-regexps-1):
14357         Adjust expected output to match locale.
14358         * test/automated/tildify-tests.el (tildify-test--test)
14359         (tildify-space-test--test, tildify-space-undo-test--test):
14360         This test assumes UTF-8 encoding.
14362 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14364         Fix some more docstring etc. quoting problems
14365         Mostly these fixes prevent the transliteration of apostrophes
14366         that should stay apostrophes.  Also, prefer curved quotes in
14367         Bahá’í proper names, as that’s the preferred Bahá’í style and
14368         these names are chock-full of non-ASCII characters anyway.
14369         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
14370         (eieio-defclass-internal):
14371         * lisp/emacs-lisp/eieio.el (defclass):
14372         * lisp/hi-lock.el (hi-lock-mode):
14373         Don’t transliterate Lisp apostrophes when generating a
14374         doc string or diagnostic.
14375         * lisp/international/mule-diag.el (list-coding-systems-1):
14376         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
14377         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
14378         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
14379         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
14380         Substitute quotes before putting them in the help buffer.
14382 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
14384         Re-add the notion of echo_prompt lost in the translation
14385         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
14386         echo_prompt which contains the actual string.  Update all uses.
14387         * src/keyboard.c (kset_echo_prompt): New function.
14388         (echo_update): Add echo_prompt at the very beginning.
14389         (read_char): Remove workaround for bug#19875, not needed any more.
14390         (read_key_sequence): Set echo_prompt rather than echo_string
14391         (bug#21403).
14392         (mark_kboards): Mark echo_prompt.
14394         Fix disassembly of non-compiled lexical functions (bug#21377)
14395         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
14396         * lisp/emacs-lisp/disass.el: Use lexical-binding.
14397         (disassemble): Recognize `closure's as well.
14398         (disassemble-internal): Use indirect-function and
14399         help-function-arglist, and accept `closure's.
14400         (disassemble-internal): Use interactive-form.
14401         (disassemble-1): Use functionp.
14403         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
14404         Don't compose inside verbatim blocks!
14406 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
14408         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
14409         (bug#19441).
14411         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
14413 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
14415         vc-git-mode-line-string: Explicitly re-apply the face
14416         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
14417         the face (bug#21404).
14419 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14421         Treat initial-scratch-message as a doc string
14422         * doc/emacs/building.texi (Lisp Interaction):
14423         * doc/lispref/os.texi (Startup Summary):
14424         * etc/NEWS: Document this.
14425         * lisp/startup.el (initial-scratch-message):
14426         Look up find-file’s key rather than hardcoding it.
14427         (command-line-1): Substitute the doc string.
14428         This also substitutes the quotes, which will help test display
14429         quoting at startup.
14431         Fix describe-char bug with glyphs on terminals
14432         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
14433         buffers too, so don’t treat them differently from graphic displays.
14434         Without this fix, describe-char would throw an error on a terminal
14435         if given a glyph with a non-default face.
14437         Follow text-quoting-style in display table init
14438         This attempts to fix a problem reported by Alan Mackenzie in:
14439         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
14440         * doc/lispref/display.texi (Active Display Table):
14441         Mention how text-quoting-style affects it.
14442         * doc/lispref/help.texi (Keys in Documentation):
14443         Say how to set text-quoting-style in ~/.emacs.
14444         * etc/NEWS: Document the change.
14445         * lisp/startup.el (startup--setup-quote-display):
14446         Follow user preference if text-quoting-style is set.
14447         (command-line): Setup quote display again if user expresses
14448         a preference in .emacs.
14450 2015-09-02  K. Handa  <handa@gnu.org>
14452         Fix typo
14453         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
14454         -> OTF_positioning_type_components_mask.
14456         Fix previous change
14457         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
14458         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
14460 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
14462         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
14463         Rename from vc-find-file-hook and make interactive.
14464         (vc-find-file-hook): Redefine as obsolete alias.
14466 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14468         Escape ` and ' in doc
14469         Escape apostrophes and grave accents in docstrings if they are
14470         are supposed to stand for themselves and are not quotes.  Remove
14471         apostrophes from docstring examples like ‘'(calendar-nth-named-day
14472         -1 0 10 year)’ that confuse source code with data.  Do some other
14473         minor docstring fixups as well, e.g., insert a missing close quote.
14475 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
14477         Generalize the prefix-command machinery of C-u
14478         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
14479         (prefix-command-preserve-state-hook): New hooks.
14480         (internal-echo-keystrokes-prefix): New function.
14481         (prefix-command--needs-update, prefix-command--last-echo): New vars.
14482         (prefix-command-update, prefix-command-preserve): New functions.
14483         (reset-this-command-lengths): New compatibility definition.
14484         (universal-argument--mode): Call prefix-command-update.
14485         (universal-argument, universal-argument-more, negative-argument)
14486         (digit-argument): Call prefix-command-preserve-state.
14487         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
14488         the "prefix argument" to echo.
14489         (this_command_key_count_reset, before_command_key_count)
14490         (before_command_echo_length): Delete variables.
14491         (echo_add_key): Always add a space.
14492         (echo_char): Remove.
14493         (echo_dash): Don't give up when this_command_key_count is 0, since that
14494         is now the case after a prefix command.
14495         (echo_update): New function, extracted from echo_now.
14496         (echo_now): Use it.
14497         (add_command_key, read_char, record_menu_key): Remove old disabled code.
14498         (command_loop_1): Don't refrain from pushing an undo boundary when
14499         prefix-arg is set.  Remove other prefix-arg special case, now handled
14500         directly in the prefix commands instead.  But call echo_now if there's
14501         a prefix state to echo.
14502         (read_char, record_menu_key): Use echo_update instead of echo_char.
14503         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
14504         (Freset_this_command_lengths): Delete function.
14505         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
14506         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
14507         * lisp/simple.el: Use those new hooks for C-u.
14508         (universal-argument--description): New function.
14509         (prefix-command-echo-keystrokes-functions): Use it.
14510         (universal-argument--preserve): New function.
14511         (prefix-command-preserve-state-hook): Use it.
14512         (command-execute): Call prefix-command-update if needed.
14513         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
14514         (kmacro-step-edit-prefix-index): Delete variables.
14515         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
14516         support for prefix arg commands.
14517         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
14518         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
14519         (cua--shift-control-prefix): Use prefix-command-preserve-state.
14520         Remove now unused arg `arg'.
14521         (cua--prefix-override-handler, cua--prefix-repeat-handler)
14522         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
14523         Update accordingly.
14524         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
14525         any more.
14526         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
14527         if the mark is not set.
14529 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14531         Rework quoting in Emacs Lisp Introduction
14532         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
14533         (if in more detail, type-of-animal in detail, else): Rework the
14534         early example to use " rather than ' so that we don’t burden
14535         complete novices with the low-priority detail of text quoting style.
14536         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
14537         (kill-new function, kill-ring-yank-pointer)
14538         (Complete forward-sentence, Loading Files)
14539         (Code for current-kill, Code for current-kill, yank):
14540         Resurrect the Emacs 22 versions of the code, which uses grave
14541         quoting style in doc strings.
14542         (Complete zap-to-char): Mention how quoting works in doc strings.
14544         Setup quote display only if interactive
14545         * lisp/startup.el (command-line):
14546         Skip call to startup--setup-quote-display if noninteractive.
14547         Without this change, python-shell-prompt-validate-regexps-1
14548         fails in test/automated/python-tests.el when run in an
14549         en_US.utf8 locale on Fedora.
14551 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
14553         Use defalias at the top level
14554         * lisp/gnus/gnus-util.el (gnus-format-message):
14555         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
14556         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
14558 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14560         terminal-init-w32console mimicks command-line
14561         Problem reported by Eli Zaretskii.
14562         * lisp/startup.el (startup--setup-quote-display):
14563         New function, refactored from a part of ‘command-line’.
14564         (command-line): Use it.
14565         * lisp/term/w32console.el (terminal-init-w32console):
14566         Use it, so that this function stays consistent with ‘command-line’.
14568         Display replacement quotes with shadow glyphs
14569         * lisp/startup.el (command-line): When displaying ASCII
14570         replacements for curved quotes, use a shadow glyph instead of a
14571         regular one, to avoid ambiguity.
14573 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
14575         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
14577 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14579         Docstring fixes re quotes in C code
14580         Fix some docstring quoting problems, mostly by escaping apostrophe.
14582 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
14584         Some Tramp password fixes
14585         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
14586         of the hops.
14587         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
14588         at the beginning of the command.  Otherwise, it could be
14589         interpreted as password prompt if the remote host echoes the
14590         command.
14591         (tramp-remote-coding-commands): Add "openssl enc -base64".
14593 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
14595         Make vc-git-working-revision always return the commit hash
14596         * lisp/vc/vc-git.el (vc-git-working-revision):
14597         Return the commit hash (bug#21383).
14598         (vc-git--symbolic-ref): New function, extracted from above.
14599         (vc-git-mode-line-string): Use it.
14601 2015-09-01  K. Handa  <handa@gnu.org>
14603         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
14604         * src/ftfont.c (MFLTGlyphFT): New type.
14605         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
14606         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
14607         elements in the array MFLTGlyphString.glyphs.
14609 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
14611         Improve comments in elisp-mode.el, elisp-mode-tests.el
14612         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
14614         Delete Emacs 25 test in mode-local.el
14615         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14616         Fix missed an edit in previous commit.
14618         Show all known mode-local overrides in *Help*
14619         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14620         Assume Emacs 25. Add all known mode-local overrides.
14622 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
14624         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
14625         Ensure that the article where the search word is found is displayed
14626         and pointed to in the summary buffer.
14628 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
14630         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
14631         When the region is active, but is empty (length 0), act as though
14632         the region was not active; that is, put a comment at the end of
14633         the line.  (Bug#21119)
14635 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
14637         Port tls.el to older Emacs
14638         * lisp/net/tls.el (tls-format-message):
14639         Alias to format-message, or format if not available.
14640         (open-tls-stream): Use it.
14642 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
14644         hideif.el: Recognize .h++ as C++ header
14645         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
14647         isearch: Document character folding mode
14648         * lisp/isearch.el (isearch-forward):
14649         Mention `isearch-toggle-character-fold' in doc string.
14651 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14653         Quoting fixes in ERC and Eshell
14654         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
14655         * lisp/erc/erc-backend.el (define-erc-response-handler):
14656         * lisp/erc/erc-fill.el (erc-fill-static-center):
14657         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
14658         * lisp/eshell/em-glob.el (eshell-glob-entries):
14659         * lisp/eshell/em-hist.el (eshell-save-some-history):
14660         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
14661         (eshell-shuffle-files):
14662         * lisp/eshell/esh-cmd.el (eshell-do-eval):
14663         * lisp/eshell/esh-proc.el (eshell-process-interact)
14664         (eshell-query-kill-processes):
14665         Respect ‘text-quoting-style’ in diagnostics and doc strings.
14667         Quoting fixes in Gnus
14668         * lisp/gnus/gnus-agent.el:
14669         (gnus-agent-possibly-synchronize-flags-server):
14670         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
14671         * lisp/gnus/gnus-eform.el (gnus-edit-form):
14672         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
14673         (gnus-group-nnimap-edit-acl):
14674         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
14675         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
14676         * lisp/gnus/message.el (message-strip-subject-encoded-words)
14677         (message-check-recipients, message-send-form-letter):
14678         * lisp/gnus/mm-decode.el (mm-display-part):
14679         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
14680         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
14681         (mml-smime-get-ldap-cert):
14682         * lisp/gnus/spam-report.el (spam-report-process-queue):
14683         Respect ‘text-quoting-style’ in diagnostics.
14684         * lisp/gnus/gnus-art.el (article-display-face)
14685         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
14686         Use straight quoting in email.
14687         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
14688         Escape apostrophes in doc strings.
14690         Quoting fixes in lisp mail, mh-e, net, url
14691         * lisp/mail/emacsbug.el (report-emacs-bug)
14692         (report-emacs-bug-hook): Use straight quotes in outgoing email,
14693         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
14694         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
14695         * lisp/mail/rmailout.el (rmail-output-read-file-name):
14696         * lisp/net/imap.el (imap-interactive-login):
14697         * lisp/net/tls.el (open-tls-stream):
14698         * lisp/url/url-auth.el (url-register-auth-scheme):
14699         Respect ‘text-quoting-style’ in diagnostics.
14700         * lisp/mh-e/mh-e.el (mh-sortm-args):
14701         Quote docstring example using text quotes, not as a Lisp quote.
14703 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
14705         Fix some byte-compiler warnings in EDE
14706         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
14707         existing autoloader list, rather than add to it.
14708         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
14709         argument to eieio class constructor.
14710         (ede-show-supported-projects): New.
14711         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
14712         with (oref ... name).
14713         (ede-auto-load-project): Use slot name, not initarg key.
14714         * lisp/cedet/ede/generic.el (ede-generic-load)
14715         (ede-generic-find-matching-target): Use slot name, not initarg key.
14716         (ede-find-target): Use oref-default on class name.
14717         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
14718         class constructor.
14719         (ede-enable-generic-projects): Make project type names unique.
14721 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
14723         Fix directory accessibility tests for w32 network volumes
14724         * src/w32.c (faccessat): Don't fail with network volumes without a
14725         share.
14726         (w32_accessible_directory_p): Handle network volumes without a
14727         share.
14729         Fix handling long file names in readdir on MS-Windows
14730         * src/w32.c (sys_readdir): Append "\*" to the directory after
14731         converting it to UTF-16/ANSI, not before, to avoid overflowing the
14732         260-character limit on file names in filename_to_utf16/ansi.
14734         Make file-accessible-directory-p reliable on MS-Windows
14735         * src/w32.c (w32_accessible_directory_p): New function.
14736         * src/w32.h (w32_accessible_directory_p): Add prototype.
14737         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
14738         w32_accessible_directory_p to test a directory for accessibility
14739         by the current user.  (Bug#21346)
14740         (Ffile_accessible_directory_p): Remove the w32 specific caveat
14741         from the doc string.
14743 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
14745         Don't call do_pending_window_change in signal handlers (Bug#21380)
14746         * src/gtkutil.c (xg_frame_resized):
14747         * src/xterm.c (x_set_window_size):
14748         * src/w32term.c (x_set_window_size): Don't call
14749         do_pending_window_change.
14751 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14753         Quoting fixes in lisp/org
14754         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
14755         (org-tags-view):
14756         * lisp/org/org-capture.el (org-capture-mode)
14757         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
14758         (org-ctags-ask-append-topic):
14759         * lisp/org/org.el (org-time-string-to-time)
14760         (org-time-string-to-absolute):
14761         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
14762         (org-ctags-ask-append-topic):
14763         * lisp/org/org.el (org-time-string-to-time)
14764         (org-time-string-to-absolute):
14765         Respect ‘text-quoting-style’ in diagnostics.
14766         * lisp/org/org-agenda.el (org-agenda-custom-commands)
14767         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
14768         * lisp/org/org-capture.el (org-capture-fill-template):
14769         Avoid contraction in output file that might be ASCII.
14770         * lisp/org/org-compat.el (format-message):
14771         Define if not already defined, for backward compatibility.
14772         * lisp/org/org-src.el (org-edit-src-save):
14773         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
14774         Escape apostrophes in diagnostics.
14776         Treat “instead” strings as docstrings
14777         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
14778         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
14779         Substitute quotes in instead strings.
14781 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
14783         Better documentation of seq-let
14784         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
14785         documentation of seq-let.
14787 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
14789         * lisp/international/ccl.el: Fix quoting.
14791         Quoting fixes in lisp/international and lisp/leim
14792         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
14793         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
14794         * lisp/international/mule-cmds.el:
14795         (select-safe-coding-system-interactively, leim-list-file-name):
14796         * lisp/international/quail.el (quail-use-package, quail-help):
14797         * lisp/international/titdic-cnv.el (tit-process-header)
14798         (miscdic-convert):
14799         Respect text quoting style in doc strings and diagnostics.
14800         * lisp/international/quail.el (lisp/international/quail.el):
14801         * lisp/leim/quail/ethiopic.el ("ethiopic"):
14802         Escape apostrophes in doc strings.
14804         Make ‘text-quoting-style’ a plain defvar
14805         It doesn’t need customization, as it’s likely useful only by experts.
14806         Suggested by Stefan Monnier in:
14807         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
14808         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
14810         Quoting fixes in lisp/textmodes
14811         * lisp/textmodes/bibtex.el (bibtex-validate)
14812         (bibtex-validate-globally, bibtex-search-entries):
14813         * lisp/textmodes/ispell.el (ispell-command-loop):
14814         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
14815         * lisp/textmodes/texinfmt.el (texinfmt-version)
14816         (texinfo-format-region, texinfo-format-buffer-1):
14817         * lisp/textmodes/two-column.el (2C-split):
14818         Respect text quoting style in doc strings and diagnostics.
14819         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
14820         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
14821         Escape apostrophes in doc strings.
14823         Documentation fixes re quotes
14824         Prefer curved quotes in examples if users will typically see
14825         curved quotes when the examples run.
14826         Mention format-message when appropriate.
14827         Don’t use @code in examples.
14828         Quote an apostrophe with @kbd.
14830         Quoting fixes in lisp/progmodes
14831         * lisp/progmodes/cc-engine.el (c-bos-report-error):
14832         * lisp/progmodes/cpp.el (cpp-edit-reset):
14833         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
14834         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
14835         (etags-tags-apropos, list-tags, tags-apropos):
14836         * lisp/progmodes/executable.el (executable-set-magic):
14837         * lisp/progmodes/octave.el (octave-sync-function-file-names)
14838         (octave-help, octave-find-definition-default-filename)
14839         (octave-find-definition):
14840         Respect text quoting style in doc strings and diagnostics.
14841         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
14842         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
14843         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
14844         Escape apostrophes in doc strings.
14845         * lisp/progmodes/cmacexp.el (c-macro-expansion):
14846         Use straight quoting in ASCII comment.
14847         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
14848         (idlwave-pad-keyword):
14849         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
14850         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
14851         (vhdl-electric-semicolon, vhdl-electric-comma)
14852         (vhdl-electric-period, vhdl-electric-equal):
14853         Use directed quotes in diagnostics and doc strings.
14855 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
14857         Minor documentation and NEWS tweak
14858         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
14859         Add an index entry.
14860         * etc/NEWS: Fix a typo in character-fold-to-regexp.
14862 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
14864         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
14865         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
14866         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
14867         Adapt test.
14869 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14871         Text quoting fixes in cedet, emulation, emacs-lisp
14872         * lisp/cedet/ede.el (ede-check-project-directory):
14873         * lisp/cedet/semantic/analyze/debug.el
14874         (semantic-analyzer-debug-insert-include-summary):
14875         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
14876         * lisp/cedet/semantic/decorate/include.el
14877         (semantic-decoration-unknown-include-describe)
14878         (semantic-decoration-all-include-summary):
14879         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
14880         * lisp/emulation/edt.el (edt-load-keys):
14881         * lisp/emulation/viper-cmd.el
14882         (viper-display-current-destructive-command)
14883         (viper-query-replace, viper-brac-function):
14884         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
14885         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
14886         Respect text quoting style in doc string or diagnostic.
14887         * lisp/cedet/mode-local.el (describe-mode-local-overload):
14888         Use format-message to avoid overtranslating quotes.
14889         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
14890         Escape an apostrophe in a docstring.
14891         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
14893 2015-08-29  Daniel Colascione  <dancol@dancol.org>
14895         Fix which-func for curly quotes: look for symbol, not message
14896         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
14897         imenu-unavailable error symbol instead of trying to match message
14898         exactly.
14899         * lisp/imenu.el (imenu-unavailable): New error.
14900         (imenu-unavailable-error): New function.
14902 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
14904         Fix Python tests on MS-Windows
14905         * test/automated/python-tests.el
14906         (python-shell-calculate-command-1): Run python-shell-interpreter
14907         through shell-quote-argument before comparing with what
14908         python-shell-calculate-command returns.
14909         (python-shell-calculate-pythonpath-1)
14910         (python-shell-calculate-pythonpath-2)
14911         (python-shell-calculate-process-environment-2): Use path-separator
14912         instead of a literal ':'.
14913         (python-shell-calculate-exec-path-2)
14914         (python-shell-calculate-exec-path-3)
14915         (python-shell-calculate-exec-path-4)
14916         (python-shell-with-environment-1)
14917         (python-shell-with-environment-2): Run "/env/bin" through
14918         expand-file-name before comparing with exec-path.  (Bug#21375)
14920 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14922         Use Core Text types/functions/variables/enumerators directly
14923         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
14924         (CharacterCollection): Remove typedefs.  All uses replaced with
14925         definitions.
14926         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
14927         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
14928         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
14929         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
14930         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
14931         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
14932         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
14933         definitions.
14934         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
14935         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
14936         (MAC_FONT_FORMAT_BITMAP)
14937         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
14938         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
14939         All uses replaced with definitions.
14940         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
14941         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
14942         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
14943         Add compatibility enumerators for older versions.
14944         (mac_font_descriptor_create_with_attributes)
14945         (mac_font_descriptor_create_matching_font_descriptors)
14946         (mac_font_descriptor_create_matching_font_descriptor)
14947         (mac_font_descriptor_copy_attribute)
14948         (mac_font_descriptor_supports_languages)
14949         (mac_font_create_with_name, mac_font_get_size)
14950         (mac_font_copy_family_name, mac_font_copy_character_set)
14951         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
14952         (mac_font_get_descent, mac_font_get_leading)
14953         (mac_font_get_underline_position)
14954         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
14955         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
14956         replaced with definitions.
14957         (mac_font_create_preferred_family_for_attributes)
14958         (mac_font_get_advance_width_for_glyph)
14959         (mac_font_get_bounding_rect_for_glyph)
14960         (mac_font_create_available_families, mac_font_shape):
14961         Remove macros for renamed functions.
14962         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
14963         * src/macterm.m (mac_font_descriptor_supports_languages):
14964         Rename from mac_ctfont_descriptor_supports_languages.
14965         (mac_font_create_preferred_family_for_attributes): Rename from
14966         mac_ctfont_create_preferred_family_for_attributes.
14967         (mac_font_get_advance_width_for_glyph): Rename from
14968         mac_ctfont_get_advance_width_for_glyph.
14969         Use kCTFontOrientationDefault also for older versions.
14970         (mac_font_get_bounding_rect_for_glyph): Rename from
14971         mac_ctfont_get_bounding_rect_for_glyph.
14972         Use kCTFontOrientationDefault also for older versions.
14973         (mac_font_create_available_families): Rename from
14974         mac_ctfont_create_available_families.
14975         (mac_font_equal_in_postscript_name): Rename from
14976         mac_ctfont_equal_in_postscript_name.  All uses changed.
14977         (mac_font_create_line_with_string_and_font): Rename from
14978         mac_ctfont_create_line_with_string_and_font.  All uses changed.
14979         (mac_font_shape): Rename from mac_ctfont_shape.
14980         (mac_font_family_compare): Remove unused declaration.
14982 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
14984         Fix minor text quoting in calc, calendar, vc
14985         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
14986         * lisp/calc/calc-help.el (calc-j-prefix-help):
14987         * lisp/calc/calc-misc.el (calc-help):
14988         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
14989         Escape an apostrophe in a docstring.
14990         * lisp/calc/calc-forms.el (calc-hms-notation):
14991         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
14992         Escape an apostrophe in a diagnostic.
14993         * lisp/calc/calc-misc.el (calc-help):
14994         * lisp/calendar/diary-lib.el (diary-include-files):
14995         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
14996         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
14997         * lisp/vc/ediff-diff.el (ediff-same-contents):
14998         * lisp/vc/ediff-merg.el (ediff-re-merge):
14999         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
15000         * lisp/vc/ediff-util.el (ediff-test-save-region)
15001         (ediff-status-info):
15002         * lisp/vc/ediff.el (ediff-merge-revisions)
15003         (ediff-merge-revisions-with-ancestor):
15004         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
15005         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
15006         Respect text quoting style in doc string or diagnostic.
15007         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
15008         * lisp/vc/add-log.el (change-log-goto-source):
15009         Avoid double-formatting.
15010         * lisp/vc/ediff-init.el (format-message):
15011         New backward-compatibility alias.
15013 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
15015         Fix minor text quoting problems in lisp top level
15016         * lisp/apropos.el (apropos-describe-plist):
15017         * lisp/cus-theme.el (customize-themes):
15018         * lisp/dired.el (dired-log):
15019         * lisp/help-fns.el (describe-variable):
15020         * lisp/hexl.el (hexl-insert-multibyte-char):
15021         * lisp/info.el (Info-finder-find-node):
15022         * lisp/json.el (json-read-string):
15023         * lisp/novice.el (disabled-command-function)
15024         (disabled-command-function):
15025         * lisp/startup.el (normal-mouse-startup-screen):
15026         * lisp/woman.el (WoMan-log, WoMan-warn):
15027         Respect text quoting style in doc string or diagnostic.
15028         * lisp/replace.el (replace-character-fold):
15029         * src/syntax.c (Fmodify_syntax_entry):
15030         Escape an apostrophe in a docstring.
15031         * lisp/tempo.el (tempo-define-template):
15032         Remove confusing apostrophe from docstring.
15033         * lisp/whitespace.el (whitespace-mark-x):
15034         Use directed quotes in docstring.
15036 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
15038         Fix indentation rule in css-mode
15039         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
15040         brackets in presence of pseudo-selectors.  (Bug#21328)
15042 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
15044         Fix a bug in recording a macro while flyspell-mode is active
15045         * lisp/subr.el (sit-for): Don't call read-event when recording a
15046         macro.  (Bug#21329)
15048 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
15050         Tweak startup screen quoting
15051         * lisp/startup.el (normal-splash-screen): Use standard
15052         "M-" abbrevation rather than a confusingly-different one.
15053         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
15055 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
15057         Add test case for ‘format’ bug and refactor
15058         * src/editfns.c (styled_format): Refactor internally, mostly by
15059         moving declarations closer to uses.  This should not affect behavior.
15060         * test/automated/textprop-tests.el (textprop-tests-format): New test.
15062         Fix ‘format’ bug with property offsets
15063         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
15064         bug in calculating string property offsets (Bug#21351).
15066         Use straight quotes in lib-src diagnostics
15067         These auxiliary programs can’t use Emacs’s text-quoting-style,
15068         and it’s too much trouble to redo that mechanism by hand.
15069         So just use straight quotes for now.
15070         * lib-src/ebrowse.c (main):
15071         * lib-src/emacsclient.c (decode_options, main):
15072         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
15073         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
15074         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
15075         (none_help, print_language_names, print_help, add_regex)
15076         (suggest_asking_for_help):
15077         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
15078         Use straight quotes in diagnostics.
15080         ‘text-quoting-style’ fixes for admin
15081         * admin/admin.el (cusver-scan, cusver-check):
15082         * admin/authors.el (authors-canonical-file-name):
15083         * admin/bzrmerge.el (bzrmerge-missing):
15084         Respect ‘text-quoting-style’ in diagnostics.
15086 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15088         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
15089         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
15090         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
15091         * doc/lispref/internals.texi (Writing Emacs Primitives):
15092         * etc/NEWS:
15093         Document the change.
15094         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
15095         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
15096         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
15097         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
15098         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
15099         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
15100         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
15101         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
15102         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
15103         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
15104         Remove.  All uses removed.  The code now assumes
15105         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
15106         * src/bytecode.c (relocate_byte_stack):
15107         Rename from unmark_byte_stack, since it now only relocates.
15108         All callers changed.
15109         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
15110         with GCPROs removed.
15111         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
15112         * test/automated/finalizer-tests.el (finalizer-basic)
15113         (finalizer-circular-reference, finalizer-cross-reference)
15114         (finalizer-error):
15115         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
15116         Remove tests, as they depend on gc-precise.
15118 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
15120         Improve seq-concatenate for new sequence types
15121         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
15122         ensure that concatenation happens on sequences only.  This makes it
15123         possible to use `seq-concatenate' for new types of seqs.
15124         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
15125         New function used in `seq-concatenate'.
15126         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
15127         for seq-into-sequence.
15129 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
15131         Add mode local overrides to xref-find-definitions
15132         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
15133         (xref-mode-local-overload): New; add mode local overrides to
15134         xref-find-definitions.
15135         * test/automated/elisp-mode-tests.el: Add mode local override tests.
15136         (xref-elisp-test-run): Handle indented defuns.
15137         (xref-elisp-generic-*): Improve doc strings.
15138         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
15139         (elisp--xref-find-definitions): Use it.
15141         Add mode local overrides to describe-function
15142         * lisp/cedet/mode-local.el (describe-mode-local-overload):
15143         New; add mode local overrides to describe-function.
15144         * etc/NEWS: Document change.
15146 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15148         Prefer straight quoting in some etc text files
15149         These files are plain text and might be used by non-Emacs apps.
15150         They’re mostly ASCII, so just use straight quotes.
15152         Fix quoting in ‘message_with_string’
15153         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
15154         should work now.
15155         * src/xdisp.c (message_to_stderr): New function, refactored from
15156         part of ‘message3_nolog’.
15157         (message3_nolog): Use it.
15158         (message_with_string): Use it.  Don’t mishandle NUL bytes when
15159         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
15160         Use ‘format-message’, not ‘format’, so that quotes are translated.
15162 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
15164         Mention false positives of file-accessible-directory on w32
15165         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
15166         (Bug#21346)
15168 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15170         Treat error strings as help
15171         * src/print.c (print_error_message): Translate quotes and command
15172         keys in errmsg so that users see, e.g., "Symbol’s value as
15173         variable is void: foo" when text-quoting-style is curved.
15175 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
15177         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
15179 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
15181         Top-level elisp files respect ‘text-quoting-style’
15182         In top-level elisp files, use format-message in diagnostic formats,
15183         so that they follow user preference as per ‘text-quoting-style’
15184         rather than being hard-coded to quote `like this'.
15185         * lisp/allout.el (allout-get-configvar-values):
15186         * lisp/apropos.el (apropos-symbols-internal):
15187         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
15188         (dired-do-create-files-regexp, dired-create-files-non-directory):
15189         * lisp/dired-x.el (dired-do-run-mail):
15190         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
15191         * lisp/disp-table.el (standard-display-european):
15192         * lisp/find-dired.el (find-dired):
15193         * lisp/forms.el (forms-mode):
15194         * lisp/ido.el (ido-buffer-internal):
15195         * lisp/info.el (Info-index-next):
15196         * lisp/outline.el (outline-invent-heading):
15197         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
15198         * lisp/proced.el (proced-log):
15199         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
15200         * lisp/recentf.el (recentf-open-files, recentf-save-list):
15201         * lisp/savehist.el (savehist-save):
15202         * lisp/server.el (server-ensure-safe-dir):
15203         * lisp/ses.el (ses-rename-cell):
15204         * lisp/simple.el (list-processes--refresh):
15205         * lisp/startup.el (command-line):
15206         * lisp/strokes.el (strokes-unset-last-stroke)
15207         (strokes-execute-stroke):
15208         Use format-message so that quotes are restyled.
15209         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
15210         Don’t quote ‘raised’.
15211         * lisp/descr-text.el (describe-char):
15212         * lisp/dirtrack.el (dirtrack-debug-message):
15213         * lisp/hexl.el (hexl-insert-multibyte-char):
15214         Apply substitute-command-keys to help string.
15215         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
15216         (wdired-do-perm-changes):
15217         Let dired-log do the formatting.
15219 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15221         Go back to grave quoting in Tramp
15222         * lisp/net/tramp-adb.el:
15223         * lisp/net/tramp-cache.el:
15224         * lisp/net/tramp-compat.el:
15225         * lisp/net/tramp-gvfs.el:
15226         * lisp/net/tramp-gw.el:
15227         * lisp/net/tramp-sh.el:
15228         * lisp/net/tramp-smb.el:
15229         * lisp/net/tramp.el:
15230         Stick with grave quoting in diagnostics strings.  This is more
15231         portable to older Emacs, desirable for Tramp.
15232         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
15233         for diagnostic that needs requoting.
15234         * lisp/net/tramp-compat.el (format-message):
15235         Fall back on simple ‘format’, since that’s good enough now.
15237         Go back to grave quoting in Gnus
15238         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
15239         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
15240         (gnus-agent-fetch-headers):
15241         * lisp/gnus/gnus-int.el (gnus-start-news-server):
15242         * lisp/gnus/gnus-registry.el:
15243         (gnus-registry--split-fancy-with-parent-internal)
15244         (gnus-registry-post-process-groups):
15245         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
15246         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
15247         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
15248         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
15249         * lisp/gnus/spam.el (spam-check-blackholes):
15250         Stick with grave quoting in diagnostics strings.  This is more
15251         portable to older Emacs, desirable for Gnus.
15253         Fix customization of text-quoting-style
15254         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
15255         * lisp/wid-edit.el (widget-docstring):
15256         Get raw docstring here since it’s cooked later and should not be
15257         cooked twice.
15258         * lisp/cus-edit.el (custom-group-value-create):
15259         Cook the docstring before inserting it.
15260         * lisp/cus-start.el (text-quoting-style): Quote the customization
15261         docstrings according to the new rules.  Give curved examples.
15263         format-message now curves ` and '
15264         That way, the caller doesn’t have to use curved quotes to
15265         get diagnostics that match the text-quoting-style preferences.
15266         Suggested by Dmitry Gutov in:
15267         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
15268         This means we no longer need %qs, so remove that format.
15269         While we’re at it, fix an unlikely bug and lessen the pressure
15270         on the garbage collector by processing the string once rather
15271         than twice in the usual case.
15272         * doc/lispref/strings.texi (Formatting Strings):
15273         * etc/NEWS: Document this.
15274         * lisp/subr.el (format-message): Remove; now done in C.
15275         * src/callint.c (Fcall_interactively):
15276         * src/editfns.c (Fmessage, Fmessage_box):
15277         Use Fformat_message instead of Finternal__text_restyle
15278         followed by Fformat.
15279         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
15280         uLSQM and uRSQM.
15281         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
15282         when pure ASCII now suffices.  Fix unlikely bug when parsing
15283         unibyte string containing non-ASCII bytes.  Use inline code
15284         rather than memcpy, as it’s a tiny number of bytes.
15285         (Finternal__text_restyle): Remove; no longer used.
15286         (syms_of_doc): Don’t declare it.
15287         * src/editfns.c (Fformat): Rewrite in terms of new function
15288         ‘styled_format’.
15289         (Fformat_message): New function, moved here from subr.el.
15290         (styled_format): New function, with the old guts of Fformat,
15291         except it now optionally transliterates quotes, and it transliterates
15292         traditional grave accent and apostrophe quoting as well.
15293         Remove recently-added q flag; no longer needed or used.
15294         (syms_of_editfns): Define format-message.
15295         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
15296         Remove; no longer need to be global symbols.
15297         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
15298         so that callers can use `%s'.
15299         * src/image.c (image_size_error, xbm_load_image, xbm_load)
15300         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
15301         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
15302         (svg_load_image, gs_load, x_kill_gs_process):
15303         * src/lread.c (load_warn_old_style_backquotes):
15304         * src/xfaces.c (load_pixmap):
15305         * src/xselect.c (x_clipboard_manager_error_1):
15306         Use `%s' instead of %qs in formats.
15308 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
15310         Minor fixes in doc/emacs/search.texi
15311         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
15312         (Special Isearch): Use @w{} to generate several consecutive spaces
15313         with Texinfo 6.  (Bug#21345)
15315 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
15317         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
15318         (tramp-awk-coding-test): New defconsts.
15319         (tramp-remote-coding-commands): Use them.
15320         (tramp-find-inline-encoding): Check for Perl only if necessary.
15322 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
15324         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
15325         index entries for the special form `quote'.
15327 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
15329         Spelling fixes
15331         Gnus format-message typo fix
15332         * lisp/gnus/gnus-util.el (gnus-format-message):
15333         Fix typo when running in older Emacs.
15335         Prefer directed to neutral quotes in docstings and diagnostics.
15336         In docstrings, escape apostrophes that would otherwise be translated
15337         to curved quotes using the newer, simpler rules.
15338         * admin/unidata/unidata-gen.el (unidata-gen-table):
15339         * lisp/align.el (align-region):
15340         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
15341         * lisp/bookmark.el (bookmark-default-annotation-text):
15342         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
15343         * lisp/calc/calc-lang.el (math-read-giac-subscr)
15344         (math-read-math-subscr):
15345         * lisp/calc/calc-misc.el (report-calc-bug):
15346         * lisp/calc/calc-prog.el (calc-fix-token-name)
15347         (calc-read-parse-table-part):
15348         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
15349         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
15350         * lisp/dabbrev.el (dabbrev-expand):
15351         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
15352         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
15353         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
15354         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
15355         * lisp/erc/erc-button.el (erc-nick-popup):
15356         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
15357         * lisp/eshell/em-dirs.el (eshell/cd):
15358         * lisp/eshell/em-glob.el (eshell-glob-regexp):
15359         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
15360         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
15361         * lisp/eshell/esh-opt.el (eshell-show-usage):
15362         * lisp/files-x.el (modify-file-local-variable):
15363         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
15364         (filesets-update-pre010505):
15365         * lisp/find-cmd.el (find-generic, find-to-string):
15366         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
15367         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
15368         (gnus-agent-fetch-headers):
15369         * lisp/gnus/gnus-int.el (gnus-start-news-server):
15370         * lisp/gnus/gnus-registry.el:
15371         (gnus-registry--split-fancy-with-parent-internal):
15372         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
15373         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
15374         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
15375         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
15376         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
15377         * lisp/gnus/spam.el (spam-check-blackholes):
15378         * lisp/mail/feedmail.el (feedmail-run-the-queue):
15379         * lisp/mpc.el (mpc-playlist-rename):
15380         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
15381         * lisp/net/mairix.el (mairix-widget-create-query):
15382         * lisp/net/tramp-cache.el:
15383         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
15384         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
15385         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
15386         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
15387         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
15388         (org-babel-goto-named-result):
15389         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
15390         * lisp/org/ob-ref.el (org-babel-ref-resolve):
15391         * lisp/org/org-agenda.el (org-agenda-prepare):
15392         * lisp/org/org-bibtex.el (org-bibtex-fields):
15393         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
15394         (org-clock-resolve):
15395         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
15396         * lisp/org/org-habit.el (org-habit-parse-todo):
15397         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
15398         (org-mouse-context-menu):
15399         * lisp/org/org-table.el (org-table-edit-formulas):
15400         * lisp/org/ox.el (org-export-async-start):
15401         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
15402         (dun-rooms, dun-endgame-questions):
15403         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
15404         * lisp/progmodes/ada-xref.el (ada-find-executable):
15405         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
15406         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
15407         (flymake-start-syntax-check-process):
15408         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
15409         * lisp/progmodes/sql.el (sql-comint):
15410         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
15411         * lisp/server.el (server-get-auth-key):
15412         * lisp/subr.el (version-to-list):
15413         * lisp/textmodes/reftex-ref.el (reftex-label):
15414         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
15415         * lisp/vc/ediff-diff.el (ediff-same-contents):
15416         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
15417         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
15418         Use directed rather than neutral quotes in diagnostics.
15420         Treat ' like ’ even when not matching `
15421         This is simpler and easier to explain, and should encourage better
15422         typography.  Do this in Electric Quote mode and when translating
15423         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
15424         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
15425         * doc/emacs/text.texi (Quotation Marks):
15426         * doc/lispref/help.texi (Keys in Documentation):
15427         * etc/NEWS:
15428         Document this.
15429         * lisp/electric.el (electric-quote-post-self-insert-function):
15430         * src/doc.c (Fsubstitute_command_keys):
15431         Always treat ' like ’ even when not matched by an open quote.
15433 2015-08-25  Glenn Morris  <rgm@gnu.org>
15435         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
15436         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
15438 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
15440         * src/macfont.m (macfont_create_family_with_symbol):
15441         Accept localized names.
15443 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15445         Tramp diagnostics as per ‘text-quoting-style’
15446         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
15447         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
15448         (tramp-adb-handle-delete-directory)
15449         (tramp-adb-handle-delete-file)
15450         (tramp-adb-handle-file-local-copy)
15451         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
15452         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
15453         (tramp-adb-maybe-open-connection):
15454         * lisp/net/tramp-cache.el:
15455         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
15456         (tramp-compat-octal-to-decimal)
15457         (tramp-compat-coding-system-change-eol-conversion):
15458         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
15459         (tramp-gvfs-do-copy-or-rename-file)
15460         (tramp-gvfs-handle-delete-directory)
15461         (tramp-gvfs-handle-delete-file)
15462         (tramp-gvfs-handle-expand-file-name)
15463         (tramp-gvfs-handle-file-local-copy)
15464         (tramp-gvfs-handle-file-notify-add-watch)
15465         (tramp-gvfs-handle-make-directory)
15466         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
15467         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
15468         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
15469         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
15470         (tramp-sh-handle-set-visited-file-modtime)
15471         (tramp-sh-handle-set-file-modes)
15472         (tramp-sh-handle-file-name-all-completions)
15473         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
15474         (tramp-do-copy-or-rename-file-directly)
15475         (tramp-do-copy-or-rename-file-out-of-band)
15476         (tramp-sh-handle-make-directory)
15477         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
15478         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
15479         (tramp-sh-handle-start-file-process)
15480         (tramp-sh-handle-file-local-copy)
15481         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
15482         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
15483         (tramp-find-file-exists-command, tramp-open-shell)
15484         (tramp-find-shell)
15485         (tramp-open-connection-setup-interactive-shell)
15486         (tramp-find-inline-encoding, tramp-find-inline-compress)
15487         (tramp-compute-multi-hops, tramp-maybe-open-connection)
15488         (tramp-wait-for-output, tramp-send-command-and-check)
15489         (tramp-send-command-and-read, tramp-get-remote-path)
15490         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
15491         (tramp-get-ls-command-with-quoting-style)
15492         (tramp-get-test-command, tramp-get-remote-ln)
15493         (tramp-get-remote-perl, tramp-get-remote-stat)
15494         (tramp-get-remote-readlink, tramp-get-remote-trash)
15495         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
15496         (tramp-get-remote-inotifywait, tramp-get-remote-id)
15497         (tramp-get-remote-python):
15498         * lisp/net/tramp-smb.el (tramp-smb-errors)
15499         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
15500         (tramp-smb-handle-delete-directory)
15501         (tramp-smb-handle-delete-file)
15502         (tramp-smb-handle-file-local-copy)
15503         (tramp-smb-handle-make-directory)
15504         (tramp-smb-handle-make-directory-internal)
15505         (tramp-smb-handle-make-symbolic-link)
15506         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
15507         (tramp-smb-handle-set-file-modes)
15508         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
15509         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
15510         (tramp-process-actions):
15511         Generate diagnostics according to ‘text-quoting-style’, by
15512         using curved quotes in format strings and ‘format-message’
15513         when appropriate.
15514         * lisp/net/tramp-compat.el (format-message):
15515         Define a replacement, if it’s an older version of Emacs
15516         that doesn’t have it already.
15518         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
15520 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
15522         Fix documentation for `save-excursion'
15523         * doc/lispref/positions.texi (Excursions):
15524         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
15525         (Template for save-excursion, Point and mark): `save-excursion'
15526         does not save&restore the mark any more.
15528 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
15530         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
15531         New defconsts.
15532         (tramp-do-file-attributes-with-stat)
15533         (tramp-do-directory-files-and-attributes-with-stat): Use them.
15534         (tramp-convert-file-attributes): Remove double slashes in symlinks.
15535         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
15536         Handle symlinks with "//" in the file name.
15538         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
15540 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
15542         Fix cl-subseq and cl-concatenate
15543         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
15544         seq functions.
15545         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
15546         seq-concatenate.
15548 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
15550         Fix full-screen code when there is no window manager (Bug#21317)
15551         * src/xterm.h (x_wm_supports): Declare external.
15552         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
15553         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
15554         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
15555         `fullscreen' frame parameter.
15556         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
15557         without a window manager.
15559 2015-08-24  Glenn Morris  <rgm@gnu.org>
15561         * lisp/version.el (emacs-version): No longer include build host.
15562         * doc/lispref/intro.texi (Version Info): Update example.
15564 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
15566         * doc/lispref/elisp.texi: Fix typo in previous change.
15568         More-conservative ‘format’ quote restyling
15569         Instead of restyling curved quotes for every call to ‘format’,
15570         create a new function ‘format-message’ that does the restyling,
15571         and using the new function instead of ‘format’ only in contexts
15572         where this seems appropriate.
15573         Problem reported by Dmitry Gutov and Andreas Schwab in:
15574         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
15575         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
15576         * doc/lispref/commands.texi (Using Interactive):
15577         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
15578         * doc/lispref/display.texi (Displaying Messages, Progress):
15579         * doc/lispref/elisp.texi:
15580         * doc/lispref/help.texi (Keys in Documentation):
15581         * doc/lispref/minibuf.texi (Minibuffer Misc):
15582         * doc/lispref/strings.texi (Formatting Strings):
15583         * etc/NEWS:
15584         Document the changes.
15585         * lisp/abbrev.el (expand-region-abbrevs):
15586         * lisp/apropos.el (apropos-library):
15587         * lisp/calc/calc-ext.el (calc-record-message)
15588         (calc-user-function-list):
15589         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
15590         * lisp/calc/calc-lang.el (math-read-big-balance):
15591         * lisp/calc/calc-store.el (calc-edit-variable):
15592         * lisp/calc/calc-units.el (math-build-units-table-buffer):
15593         * lisp/calc/calc-yank.el (calc-edit-mode):
15594         * lisp/calendar/icalendar.el (icalendar-export-region)
15595         (icalendar--add-diary-entry):
15596         * lisp/cedet/mode-local.el (mode-local-print-binding)
15597         (mode-local-describe-bindings-2):
15598         * lisp/cedet/semantic/complete.el (semantic-completion-message):
15599         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
15600         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
15601         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
15602         * lisp/descr-text.el (describe-text-properties-1, describe-char):
15603         * lisp/dframe.el (dframe-message):
15604         * lisp/dired-aux.el (dired-query):
15605         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
15606         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
15607         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
15608         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
15609         (cconv-analyze-form):
15610         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
15611         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
15612         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
15613         * lisp/emacs-lisp/edebug.el (edebug-format):
15614         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
15615         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
15616         (eldoc-message):
15617         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
15618         * lisp/emacs-lisp/find-func.el (find-function-library):
15619         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
15620         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
15621         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
15622         * lisp/emacs-lisp/package.el (package-compute-transaction)
15623         (package-install-button-action, package-delete-button-action)
15624         (package-menu--list-to-prompt):
15625         * lisp/emacs-lisp/timer.el (timer-event-handler):
15626         * lisp/emacs-lisp/warnings.el (lwarn, warn):
15627         * lisp/emulation/viper-cmd.el:
15628         (viper-toggle-parse-sexp-ignore-comments)
15629         (viper-kill-buffer, viper-brac-function):
15630         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
15631         * lisp/facemenu.el (facemenu-add-new-face):
15632         * lisp/faces.el (face-documentation, read-face-name)
15633         (face-read-string, read-face-font, describe-face):
15634         * lisp/files.el (find-alternate-file, hack-local-variables)
15635         (hack-one-local-variable--obsolete, write-file)
15636         (basic-save-buffer, delete-directory):
15637         * lisp/format.el (format-write-file, format-find-file)
15638         (format-insert-file):
15639         * lisp/help-fns.el (help-fns--key-bindings)
15640         (help-fns--compiler-macro, help-fns--obsolete)
15641         (help-fns--interactive-only, describe-function-1)
15642         (describe-variable):
15643         * lisp/help.el (describe-mode):
15644         * lisp/info-xref.el (info-xref-output):
15645         * lisp/info.el (Info-virtual-index-find-node)
15646         (Info-virtual-index, info-apropos):
15647         * lisp/international/kkc.el (kkc-error):
15648         * lisp/international/mule-cmds.el:
15649         (select-safe-coding-system-interactively)
15650         (select-safe-coding-system, describe-input-method):
15651         * lisp/international/mule-conf.el (code-offset):
15652         * lisp/international/mule-diag.el (describe-character-set)
15653         (list-input-methods-1):
15654         * lisp/international/quail.el (quail-error):
15655         * lisp/minibuffer.el (minibuffer-message):
15656         * lisp/mpc.el (mpc--debug):
15657         * lisp/msb.el (msb--choose-menu):
15658         * lisp/net/ange-ftp.el (ange-ftp-message):
15659         * lisp/net/gnutls.el (gnutls-message-maybe):
15660         * lisp/net/newst-backend.el (newsticker--sentinel-work):
15661         * lisp/net/newst-treeview.el (newsticker--treeview-load):
15662         * lisp/net/nsm.el (nsm-query-user):
15663         * lisp/net/rlogin.el (rlogin):
15664         * lisp/net/soap-client.el (soap-warning):
15665         * lisp/net/tramp.el (tramp-debug-message):
15666         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
15667         * lisp/nxml/nxml-parse.el (nxml-parse-error):
15668         * lisp/nxml/rng-cmpct.el (rng-c-error):
15669         * lisp/nxml/rng-match.el (rng-compile-error):
15670         * lisp/nxml/rng-uri.el (rng-uri-error):
15671         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
15672         * lisp/org/org-ctags.el:
15673         (org-ctags-ask-rebuild-tags-file-then-find-tag):
15674         * lisp/proced.el (proced-log):
15675         * lisp/progmodes/ebnf2ps.el (ebnf-log):
15676         * lisp/progmodes/flymake.el (flymake-log):
15677         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
15678         * lisp/replace.el (occur-1):
15679         * lisp/simple.el (execute-extended-command)
15680         (undo-outer-limit-truncate, define-alternatives):
15681         * lisp/startup.el (command-line):
15682         * lisp/subr.el (error, user-error, add-to-list):
15683         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
15684         (tutorial--find-changed-keys):
15685         * src/callint.c (Fcall_interactively):
15686         * src/editfns.c (Fmessage, Fmessage_box):
15687         Restyle the quotes of format strings intended for use as a
15688         diagnostic, when restyling seems appropriate.
15689         * lisp/subr.el (format-message): New function.
15690         * src/doc.c (Finternal__text_restyle): New function.
15691         (syms_of_doc): Define it.
15693 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15695         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
15697 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15699         python.el: Fix python-shell-buffer-substring on indented code
15700         (Bug#21086)
15701         * lisp/progmodes/python.el (python-shell-buffer-substring):
15702         Respect current line indentation when calculating string.
15703         * test/automated/python-tests.el
15704         (python-shell-buffer-substring-10)
15705         (python-shell-buffer-substring-11)
15706         (python-shell-buffer-substring-12): New tests.
15708 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
15710         Fix minor glitches from ‘format’ reversion
15711         * doc/lispref/strings.texi (Formatting Strings):
15712         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
15713         Documentation’, not below.
15714         * src/syntax.c (Finternal_describe_syntax_value):
15715         Prefer AUTO_STRING to build_string where either will do, as
15716         AUTO_STRING is a bit faster.
15718 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15720         python.el: Defer shell setup code until first interactive prompt
15721         * lisp/progmodes/python.el
15722         (python-shell-comint-watch-for-first-prompt-output-filter):
15723         New function.
15724         (inferior-python-mode): Use it.
15725         (python-shell-first-prompt-hook): New hook.
15726         (python-shell-send-setup-code)
15727         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
15728         this hook instead of inferior-python-hook.
15730 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
15732         Remove the calls to `seq-into` from `seq-concatenate`
15733         Since most new types of seq would have to be defined as sequences (cons
15734         cells or CL structs, mostly), there is no need to convert the seqs to
15735         sequences (which can be a fairly expensive operation).
15736         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
15737         sequences.
15739 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15741         python.el: Fix completion for pdb interactions
15742         * lisp/progmodes/python.el (python-shell-completion-setup-code):
15743         Simplify.  Toggle print_mode for native wrapped completer.
15744         (python-shell-completion-native-setup): Ensure process buffer.
15745         Add print_mode attribute to completer wrapper to toggle returning
15746         or printing candidates.
15747         (python-shell-completion-native-get-completions): Cleanup.
15748         (python-shell-completion-get-completions): Cleanup.
15749         (python-shell-completion-at-point): Perform prompt checks.
15750         Force fallback completion in pdb interactions.
15752 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
15754         Make seq.el more extensible by using cl-defmethod
15755         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
15756         make it easier to extend seq.el with new "seq types".
15757         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
15758         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
15759         subseq in cl-extra.el, and use it in seq.el.
15761 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15763         python.el: Fix prompt detection with user overridden interpreter
15764         * lisp/progmodes/python.el (python-shell-prompt-detect):
15765         Honor buffer local python-shell-interpreter and
15766         python-shell-interpreter-interactive-arg.
15768 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
15770         Support exec-directory with non-ASCII characters on Windows
15771         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
15772         in the system's ANSI codepage, when it is used for invoking
15773         cmdproxy.
15775 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
15777         Revert "Extend ‘format’ to translate curved quotes"
15778         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
15780         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
15781         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
15783 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
15785         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
15786         Clarify "invisible window".
15788 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
15790         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
15791         magic-fallback-mode-alist.
15793 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15795         python.el: fallback completion, ffap and eldoc setup enhancements
15796         Setup codes are now sent continuously so that the current frame is
15797         always taken into account.  This allows working within debuggers
15798         and always keeping a fresh version of setup codes that will return
15799         proper results.
15800         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
15801         (python-shell-send-setup-code): Send code only when
15802         python-shell-setup-codes is non-nil.
15803         (python-shell-completion-string-code): Cleanup trailing newline.
15804         (python-shell-completion-get-completions): Always use
15805         python-shell-completion-setup-code.
15806         (python-ffap-setup-code): Work with any object, not only modules.
15807         (python-ffap-string-code): Cleanup trailing newline.
15808         (python-ffap-module-path): Always use python-ffap-setup-code.
15809         (python-eldoc-string-code): Cleanup trailing newline.
15810         (python-eldoc--get-doc-at-point): Always use
15811         python-eldoc-setup-code.  Return non-nil only if docstring is
15812         found.
15814         python.el: Increase native completion robustness
15815         * lisp/progmodes/python.el (python-shell-completion-native-setup):
15816         Make completer print real candidates and just return dummy ones to
15817         avoid input modification.
15818         (python-shell-completion-native-get-completions): Set
15819         comint-redirect-insert-matching-regexp to non-nil and make
15820         comint-redirect-finished-regexp match the last dummy candidate.
15821         Use python-shell-accept-process-output to wait for the full list
15822         of candidates.
15824 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
15826         Fix invocation of programs via cmdproxy.exe
15827         * src/w32proc.c (sys_spawnve): Use exec-directory, not
15828         invocation-directory, for finding cmdproxy.exe.  When Emacs is
15829         run from the source tree, look for cmdproxy.exe in the same source
15830         tree.  (Bug#21323)
15832 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
15834         Handle comments inside unquoted URIs in css-mode
15835         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
15836         (css-syntax-propertize-function): New defconst.
15837         (css--font-lock-keywords): Handle parens around unquoted URIs.
15838         (css-mode): Set `syntax-propertize-function'.
15840 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
15842         Support invocation of Hunspell with multiple dictionaries
15843         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
15844         Support lists of dictionaries of the form "DICT1,DICT2,...".
15845         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
15847         Minor formatting changes in ispell.el
15848         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
15849         (ispell-print-if-debug, ispell-aspell-find-dictionary)
15850         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
15851         (ispell-hunspell-dictionary-alist)
15852         (ispell-hunspell-fill-dictionary-entry)
15853         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
15854         (ispell-buffer-with-debug, ispell-complete-word)
15855         (ispell-current-dictionary, ispell-current-personal-dictionary)
15856         (ispell-accept-output, ispell-minor-mode)
15857         (ispell-personal-dictionary, ispell-dictionary-alist)
15858         (ispell-really-aspell, ispell-really-hunspell)
15859         (ispell-encoding8-command, ispell-aspell-supports-utf8)
15860         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
15861         Fix whitespace, inconsistent capitalization, and arguments in doc
15862         strings.
15864 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
15866         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
15867         function refused to resize a size-preserved window.
15869 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
15871         * doc/lispref/windows.texi (Selecting Windows): Improve
15872         documentation and indexing of 'window-use-time'.
15874 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
15876         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
15877         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
15878         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
15879         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
15880         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
15881         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
15882         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
15883         Fix up commenting style.
15885 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
15887         text-quoting-style in emacs-lisp diagnostics
15888         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
15889         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
15890         (ad-disable-advice, ad-remove-advice, ad-set-argument)
15891         (ad-set-arguments):
15892         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
15893         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
15894         (byte-optimize-while, byte-optimize-apply):
15895         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
15896         (byte-compile-log-file, byte-compile-format-warn)
15897         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
15898         (byte-compile-cl-warn)
15899         (byte-compile-warn-about-unresolved-functions)
15900         (byte-compile-file, byte-compile-fix-header)
15901         (byte-compile--declare-var, byte-compile-file-form-defmumble)
15902         (byte-compile-form, byte-compile-normal-call)
15903         (byte-compile-variable-ref, byte-compile-variable-set)
15904         (byte-compile-subr-wrong-args, byte-compile-setq-default)
15905         (byte-compile-negation-optimizer)
15906         (byte-compile-condition-case--old)
15907         (byte-compile-condition-case--new, byte-compile-save-excursion)
15908         (byte-compile-defvar, byte-compile-autoload)
15909         (byte-compile-lambda-form)
15910         (byte-compile-make-variable-buffer-local, display-call-tree)
15911         (batch-byte-compile):
15912         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
15913         (cconv-analyze-form):
15914         * lisp/emacs-lisp/chart.el (chart-space-usage):
15915         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
15916         (check-declare-warn, check-declare-file)
15917         (check-declare-directory):
15918         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
15919         (checkdoc-message-text-engine):
15920         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
15921         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
15922         (cl-symbol-macrolet):
15923         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
15924         * lisp/emacs-lisp/copyright.el (copyright)
15925         (copyright-update-directory):
15926         * lisp/emacs-lisp/edebug.el (edebug-read-list):
15927         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
15928         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
15929         (eieio-oref, eieio-oset-default):
15930         * lisp/emacs-lisp/eieio-speedbar.el:
15931         (eieio-speedbar-child-make-tag-lines)
15932         (eieio-speedbar-child-description):
15933         * lisp/emacs-lisp/eieio.el (defclass, change-class):
15934         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
15935         (elint-init-form, elint-check-defalias-form)
15936         (elint-check-let-form):
15937         * lisp/emacs-lisp/ert.el (ert-get-test):
15938         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
15939         (find-function-library):
15940         * lisp/emacs-lisp/generator.el (iter-yield):
15941         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
15942         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
15943         * lisp/emacs-lisp/package-x.el (package-upload-file):
15944         * lisp/emacs-lisp/package.el (package-version-join)
15945         (package-disabled-p, package-activate-1, package-activate)
15946         (package--download-one-archive)
15947         (package--download-and-read-archives)
15948         (package-compute-transaction, package-install-from-archive)
15949         (package-install, package-install-selected-packages)
15950         (package-delete, package-autoremove)
15951         (package-install-button-action, package-delete-button-action)
15952         (package-menu-hide-package, package-menu--list-to-prompt)
15953         (package-menu--perform-transaction)
15954         (package-menu--find-and-notify-upgrades):
15955         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
15956         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
15957         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
15958         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
15959         * lisp/emacs-lisp/smie.el (smie-config-save):
15960         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
15961         * lisp/emacs-lisp/testcover.el (testcover-1value):
15962         Use curved quotes in diagnostic format strings.
15964 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15966         python.el: Ensure remote process-environment on non-interactive processes
15967         * lisp/progmodes/python.el
15968         (python-shell-tramp-refresh-process-environment): New function.
15969         (python-shell-with-environment): Use it.
15970         * test/automated/python-tests.el (python-shell-with-environment-2):
15971         Update.
15973         python.el: Enhancements to process environment setup.
15974         * lisp/progmodes/python.el (python-shell-process-environment)
15975         (python-shell-extra-pythonpaths, python-shell-exec-path)
15976         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
15977         (python-shell-setup-codes): Remove :safe.
15978         (python-shell-remote-exec-path): New defcustom.
15979         (python-shell--add-to-path-with-priority): New macro.
15980         (python-shell-calculate-pythonpath): Give priority to
15981         python-shell-extra-pythonpaths.  Update docstring.
15982         (python-shell-calculate-process-environment): Give priority to
15983         python-shell-process-environment.  Update docstring.
15984         (python-shell-calculate-exec-path): Give priority to
15985         python-shell-exec-path and calculated virtualenv bin directory.
15986         Update docstring.
15987         (python-shell-tramp-refresh-remote-path): New function.
15988         (python-shell-with-environment): Use it when working remotely and
15989         do not modify tramp-remote-path.  Allow nesting.
15990         (python-shell-calculate-command): Remove useless
15991         python-shell-with-environment call.
15992         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
15993         (python-shell-calculate-pythonpath-2)
15994         (python-shell-calculate-process-environment-6)
15995         (python-shell-calculate-process-environment-7)
15996         (python-shell-calculate-process-environment-8)
15997         (python-shell-calculate-exec-path-3)
15998         (python-shell-calculate-exec-path-4)
15999         (python-shell-calculate-exec-path-5)
16000         (python-shell-calculate-exec-path-6)
16001         (python-shell-with-environment-3): New tests.
16002         (python-shell-calculate-process-environment-2)
16003         (python-shell-calculate-process-environment-3)
16004         (python-shell-calculate-process-environment-4)
16005         (python-shell-calculate-process-environment-5)
16006         (python-shell-calculate-exec-path-1)
16007         (python-shell-calculate-exec-path-2)
16008         (python-shell-with-environment-1)
16009         (python-shell-with-environment-2): Update and simplify.
16011 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16013         Avoid hard-coding "M-x command" in docstrings
16014         * lisp/calendar/todo-mode.el (todo-mode):
16015         * lisp/desktop.el (desktop-save-mode):
16016         * lisp/edmacro.el (edit-kbd-macro):
16017         * lisp/emacs-lisp/package.el (package-menu-execute):
16018         * lisp/emulation/viper-cmd.el (viper-ask-level):
16019         * lisp/emulation/viper-init.el (viper-expert-level):
16020         * lisp/filesets.el (filesets-add-buffer):
16021         * lisp/follow.el (follow-mode):
16022         * lisp/gnus/auth-source.el (auth-sources):
16023         * lisp/international/ogonek.el (ogonek-informacja)
16024         (ogonek-information):
16025         * lisp/net/tramp.el (tramp-process-actions):
16026         * lisp/org/org-gnus.el (org-gnus-no-new-news):
16027         * lisp/org/org.el (org-ellipsis):
16028         * lisp/progmodes/python.el (python-shell-get-process-or-error):
16029         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
16030         * lisp/server.el (server-start):
16031         * lisp/type-break.el (type-break-noninteractive-query):
16032         * lisp/userlock.el (ask-user-about-supersession-help):
16033         * lisp/whitespace.el (whitespace-report-region):
16034         Prefer (substitute-command-keys "`\\[foo-command]'")
16035         to "`M-x foo-command'" in docstrings and the like.
16037 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
16039         Use add-function for prettify-symbols-compose-predicate
16040         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
16041         prettify-symbols-compose-predicate in terms of add-function.
16042         * etc/NEWS: Mention prettify-symbols-compose-predicate and
16043         prettify-symbols-mode support in tex-mode.
16045 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16047         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
16048         (smie-indent-exps, smie-indent-keyword): Use it.
16049         * test/indent/css-mode.css: Test alignment with leading comment.
16051 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16053         Respect text-quoting-style in (*Finder*) menus
16054         * lisp/info.el (info--prettify-description):
16055         Treat description as a docstring, so that it's requoted as
16056         per text-quoting-style.
16058 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
16060         Document `window-use-time' in Elisp manual
16061         * doc/lispref/windows.texi (Selecting Windows): Document
16062         `window-use-time'.
16064 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16066         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
16067         This is a cleaner fix for Bug#21260 than the previous change.
16069 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16071         Respect text-quoting-style in calc
16072         In calc, tespect text-quoting-style preference in diagnostic
16073         formats and fix a few similar problems in docstrings.
16074         * lisp/calc/calc-aent.el (math-read-factor):
16075         * lisp/calc/calc-embed.el (calc-do-embedded):
16076         * lisp/calc/calc-ext.el (calc-user-function-list)
16077         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
16078         * lisp/calc/calc-help.el (calc-describe-key)
16079         (calc-describe-thing):
16080         * lisp/calc/calc-lang.el (calc-c-language)
16081         (math-parse-fortran-vector-end, math-parse-tex-sum)
16082         (math-parse-eqn-matrix, math-parse-eqn-prime)
16083         (calc-yacas-language, calc-maxima-language, calc-giac-language)
16084         (math-read-big-rec, math-read-big-balance):
16085         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
16086         (calc-auto-recompute):
16087         * lisp/calc/calc-prog.el (calc-user-define-invocation)
16088         (math-do-arg-check):
16089         * lisp/calc/calc-store.el (calc-edit-variable):
16090         * lisp/calc/calc-units.el (math-build-units-table-buffer):
16091         * lisp/calc/calc-vec.el (math-read-brackets):
16092         * lisp/calc/calc-yank.el (calc-edit-mode):
16093         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
16094         Use curved quotes in diagnostic format strings.
16095         * lisp/calc/calc-help.el (calc-describe-thing):
16096         Format docstrings with substitute-command-keys.
16097         * lisp/calc/calc-help.el (calc-j-prefix-help):
16098         * lisp/calc/calc-misc.el (calc-help):
16099         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
16100         Escape a docstring "`".
16102 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16104         Fix documentation of 'menu-set-font' and 'set-frame-font'
16105         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
16106         * doc/lispref/frames.texi (Frame Font): Document that
16107         set-frame-font with the last argument 't' will also make the font
16108         the default for the future GUI frames.
16110         Document '--create-frame' option to emacsclient
16111         * doc/emacs/misc.texi (emacsclient Options): Document the
16112         '--create-frame' option.  (Bug#21308)
16114 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
16116         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
16118 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16120         Document 'get-mru-window' in the ELisp manual
16121         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
16122         'get-mru-window'.  (Bug#21306)
16124         Clarify documentation of 'get-buffer-window-list'
16125         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
16126         current window, if relevant, will be the first in the list
16127         returned by 'get-buffer-window-list'.
16128         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
16130 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
16132         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
16133         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
16134         `switch-to-buffer'.
16136 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
16138         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
16139         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
16140         `display-buffer' instead of `switch-to-buffer'.
16142 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
16144         Follow user preference in calendar diagnostics
16145         Respect text-quoting-style preference in diagnostic formats by
16146         using curved quotes (which are translated as per text-quoting-style)
16147         instead of grave accent and apostrophe (which are not).
16148         * lisp/calendar/appt.el (appt-display-message):
16149         * lisp/calendar/diary-lib.el (diary-check-diary-file)
16150         (diary-mail-entries, diary-from-outlook):
16151         * lisp/calendar/icalendar.el (icalendar-export-region)
16152         (icalendar--convert-float-to-ical)
16153         (icalendar--convert-date-to-ical)
16154         (icalendar--convert-ical-to-diary)
16155         (icalendar--convert-recurring-to-diary)
16156         (icalendar--add-diary-entry):
16157         * lisp/calendar/time-date.el (format-seconds):
16158         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
16159         (timeclock-make-hours-explicit):
16160         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
16161         (todo-item-mark, todo-check-format)
16162         (todo-insert-item--next-param, todo-edit-item--next-key)
16163         (todo-mode):
16164         Use curved quotes in diagnostic format strings.
16165         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
16166         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
16167         Just use straight quoting for simple test case.
16169 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
16171         * src/gfilenotify.c (Fgfile_add_watch):
16172         Handle errors from g_file_monitor.
16174 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
16176         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
16177         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
16178         frame" instead of "non-minibuffer frame".
16180         Fix frame geometry related text
16181         * doc/lispref/frames.texi (Frame Layout):
16182         Rename `x-frame-geometry' to `frame-geometry'.
16183         * doc/lispref/frames.texi (Mouse Position):
16184         * doc/lispref/windows.texi (Coordinates and Windows):
16185         Use `set-mouse-absolute-pixel-position' instead of
16186         `x-set-mouse-absolute-pixel-position'.
16188         Sanitize frame geometry related functions
16189         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
16190         (Fx_frame_edges): Rename to Fns_frame_edges.
16191         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
16192         (Fx_frame_edges): Rename to Fw32_frame_edges.
16193         (Fx_mouse_absolute_pixel_position): Rename to
16194         Fw32_mouse_absolute_pixel_position.
16195         (Fx_set_mouse_absolute_pixel_position): Rename to
16196         Fw32_set_mouse_absolute_pixel_position.
16197         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
16198         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
16199         (ns-frame-edges, w32-mouse-absolute-pixel-position)
16200         (x-mouse-absolute-pixel-position)
16201         (w32-set-mouse-absolute-pixel-position)
16202         (x-set-mouse-absolute-pixel-position): Declare.
16203         (frame-geometry, mouse-absolute-pixel-position)
16204         (set-mouse-absolute-pixel-position): New functions.
16205         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
16207 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
16209         Fix MinGW64 build broken by latest w32uniscribe.c changes
16210         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
16211         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
16212         (Bug#21260)
16214 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
16216         Add TeX defaults for prettify-symbol-mode
16217         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
16218         Rename from tex-prettify-symbols-alist.
16219         (tex--prettify-symbols-compose-p): New function.
16220         (tex-common-initialization): Use them as prettify-symbols-alist
16221         and prettify-symbols-compose-predicate.
16223         Generalize prettify-symbols to arbitrary modes
16224         * lisp/progmodes/prog-mode.el
16225         (prettify-symbols-default-compose-p): New function.
16226         (prettify-symbols-compose-predicate): New variable.
16227         (prettify-symbols--compose-symbol): Use it.
16229 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16231         Don't quote symbols 'like-this' in docstrings etc.
16232         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
16233         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
16234         * lisp/allout.el (allout-add-resumptions, allout-mode):
16235         * lisp/calculator.el (calculator-operators):
16236         * lisp/cedet/data-debug.el (dd-propertize):
16237         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
16238         * lisp/cedet/semantic/analyze/debug.el:
16239         (semantic-analyzer-debug-global-miss-text):
16240         * lisp/cedet/semantic/lex-spp.el:
16241         (semantic-lex-spp-replace-or-symbol-or-keyword):
16242         * lisp/cedet/semantic/symref.el:
16243         (semantic-symref-cleanup-recent-buffers-fcn):
16244         * lisp/cedet/semantic/tag.el (semantic-tag-class):
16245         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
16246         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
16247         * lisp/gnus/pop3.el (pop3-authentication-scheme):
16248         * lisp/help-fns.el (describe-function-orig-buffer):
16249         * lisp/imenu.el (imenu--history-list):
16250         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
16251         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
16252         (feedmail-queue-default-file-slug)
16253         (feedmail-queue-buffer-file-name):
16254         * lisp/net/mairix.el (mairix-searches-mode-map):
16255         * lisp/net/newst-backend.el (newsticker-retrieval-method)
16256         (newsticker-auto-mark-filter-list):
16257         * lisp/obsolete/vi.el (vi-mode):
16258         * lisp/progmodes/cc-engine.el (c-literal-type):
16259         * lisp/progmodes/cpp.el (cpp-face):
16260         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
16261         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
16262         * lisp/progmodes/pascal.el (pascal-auto-lineup):
16263         * lisp/progmodes/prog-mode.el (prog-widen):
16264         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
16265         (verilog-auto-lineup, verilog-auto-reset-widths)
16266         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
16267         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
16268         (flyspell-maybe-correct-doubling):
16269         * lisp/textmodes/table.el (table-justify, table-justify-cell)
16270         (table-justify-row, table-justify-column, table-insert-sequence)
16271         (table--justify-cell-contents):
16272         * lisp/url/url-auth.el (url-get-authentication):
16273         * lisp/window.el (display-buffer-record-window):
16274         * lisp/xml.el (xml-parse-file, xml-parse-region):
16275         * src/gfilenotify.c (Fgfile_add_watch):
16276         Don't quote symbols with apostrophes in doc strings.
16277         Use asymmetric quotes instead.
16278         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
16279         Likewise for symbol in diagnostic.
16280         * lisp/image.el (image-extension-data):
16281         * lisp/register.el (frame-configuration-to-register):
16282         * src/buffer.c (syms_of_buffer):
16283         Remove bogus apostrophes after symbols.
16284         * lisp/thumbs.el (thumbs-conversion-program):
16285         Quote Lisp string values using double-quotes, not apostrophes.
16287 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
16289         Describe frame geometry and related functions in Elisp manual
16290         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
16291         (Showing Images): Update references.
16292         * doc/lispref/elisp.texi (Top): Update node listing.
16293         * doc/lispref/frames.texi (Frame Geometry): New node.
16294         Move `Size and Position' section here.
16295         (Size Parameters): Update references.
16296         (Mouse Position): Update references and nomenclature.
16297         Describe new functions `x-mouse-absolute-pixel-position' and
16298         `x-set-mouse-absolute-pixel-position'.
16299         * doc/lispref/windows.texi (Window Sizes): Update references.
16300         (Resizing Windows): Update references.  Move description of
16301         `fit-frame-to-buffer' here.
16302         (Coordinates and Windows): Update nomenclature and references.
16303         Describe new arguments of `window-edges'.  Comment out
16304         descriptions of `window-left-column', `window-top-line',
16305         `window-pixel-left' and `window-pixel-top'.  Describe
16306         `window-absolute-pixel-position'.
16308 2015-08-20  Alan Mackenzie  <acm@muc.de>
16310         Handling of `c-parse-state'.  Fix low level bug.
16311         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
16312         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
16314 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
16316         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
16317         window instead of deleting it.
16319 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
16321         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
16322         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
16323         determine whether frame has a titlebar.
16324         Suggested by Eli Zaretskii <eliz@gnu.org>
16326 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
16328         Add a prettify-symbols-alist for (La)TeX
16329         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
16330         New variable holding an alist suitable as prettify-symbols-alist in
16331         (La)TeX modes.
16333 2015-08-19  Alan Mackenzie  <acm@muc.de>
16335         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
16336         Fixes debbugs#21275.
16337         In Emacs >= 25, let electric-pair-mode take precedence over
16338         delete-selection-mode.
16339         * lisp/delsel.el (delete-selection-uses-region-p): New function,
16340         previously a lambda expression in a property value for
16341         `self-insert-command'.
16342         (top-level): Set the `delete-selection' property of
16343         `self-insert-command' to `delete-selection-uses-region-p'.
16344         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
16345         property for c-electric-\(brace\|paren\) the value
16346         `delete-selection-uses-region-p' when the latter function exists.
16348 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16350         Fix key binding quoting in tutorial *Help*
16351         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
16352         When generating help for custom key bindings, use the user-preferred
16353         quoting style rather than hardcoding the grave style.
16355 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
16357         Improve and future-proof OTF fonts support in w32uniscribe.c
16358         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
16359         about the expected results and why the new Uniscribe APIs are not
16360         used in this function.
16361         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
16362         (ScriptGetFontFeatureTags_Proc): New function typedefs.
16363         (uniscribe_new_apis): New static variable.
16364         (uniscribe_check_features): New function, implements OTF features
16365         verification while correctly accounting for features in the list
16366         after the nil member, if any.
16367         (uniscribe_check_otf_1): New function, retrieves the features
16368         supported by the font for the requested script and language using
16369         the Uniscribe APIs available from Windows Vista onwards.
16370         (uniscribe_check_otf): If the new Uniscribe APIs are available,
16371         use them in preference to reading the font data directly.  Call
16372         uniscribe_check_features to verify that the requested features are
16373         supported, replacing the original incomplete code.
16374         (syms_of_w32uniscribe): Initialize function pointers for the new
16375         Uniscribe APIs.  (Bug#21260)
16376         (otf_features): Scan the script, langsys, and feature arrays back
16377         to front, so that the result we return has them in alphabetical
16378         order, like ftfont.c does.
16379         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
16380         New variable for debugging w32uniscribe.c code.
16382 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
16384         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
16385         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
16386         clause of `isearch-search-fun-default'.  That lax variable does not
16387         refer to lax-whitespacing.  Related to (bug#21777).
16388         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
16389         * lisp/character-fold.el (character-fold-search): Set to nil.
16390         Default to nil for now, until someone implements proper
16391         lax-whitespacing with char-fold searching.
16393 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
16395         Fix doc-string of `help-mode-finish'.
16396         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
16398         In nsimage.m include coding.h (Bug#21292)
16399         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
16401         Move window edge functions to Elisp.
16402         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
16403         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
16404         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
16405         Move to window.el.
16406         (calc_absolute_offset): Remove.
16407         * lisp/frame.el (frame-edges): New function.
16408         * lisp/window.el (window-edges, window-pixel-edges)
16409         (window-absolute-pixel-edges): Move here from window.c.
16410         (window-body-edges, window-body-pixel-edges)
16411         (window-absolute-body-pixel-edges): Move here from window.c and
16412         rename "inside" to "body".  Keep old names as aliases.
16413         (window-absolute-pixel-position): New function.
16415 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
16417         [Gnus]: Use overlay functions directly
16418         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
16419         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
16420         (gnus-article-highlight-signature, gnus-article-extend-url-button)
16421         (gnus-article-add-button, gnus-insert-prev-page-button)
16422         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
16423         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
16424         (gnus-cite-add-face):
16425         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
16426         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
16427         (gnus-tree-recenter, gnus-highlight-selected-tree):
16428         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
16429         (gnus-summary-show-thread, gnus-summary-hide-thread)
16430         (gnus-highlight-selected-summary):
16431         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
16432         * lisp/gnus/message.el (message-fix-before-sending)
16433         (message-toggle-image-thumbnails):
16434         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
16435         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
16436         Use overlay functions directly instead of using gnus-overlay-*,
16437         message-overlay-*, and sieve-overlay-*.
16438         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
16439         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
16440         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
16441         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
16442         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
16443         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
16444         (message-overlay-get, message-overlay-put, message-overlays-in):
16445         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
16446         (sieve-overlays-at): Remove.
16448 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
16450         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
16451         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
16452         builds can use the declaration from the system headers.
16453         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
16454         definition of TITLEBAR_INFO.
16455         Suggested by Eli Zaretskii  <eliz@gnu.org>
16457 2015-08-19  Glenn Morris  <rgm@gnu.org>
16459         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
16461 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16463         Use new q ‘format’ flag when fixing quotes in C
16464         * src/image.c (image_size_error): New function.  All uses of
16465         image_error with "Invalid image size ..."  changed to use it.
16466         * src/image.c (image_size_error, xbm_load_image, xbm_load)
16467         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
16468         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
16469         (imagemagick_load, svg_load, svg_load_image, gs_load)
16470         (x_kill_gs_process):
16471         * src/lread.c (load_warn_old_style_backquotes):
16472         * src/xfaces.c (load_pixmap):
16473         * src/xselect.c (x_clipboard_manager_error_1):
16474         Use %qs, not uLSQM and uRSQM.
16475         * src/syntax.c (Finternal_describe_syntax_value):
16476         Prefer Fsubstitute_command_keys to Fformat, as this lets
16477         us use AUTO_STRING.
16478         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
16479         as it's now guaranteed to be ASCII.
16480         * src/xselect.c (x_clipboard_manager_error_2):
16481         Avoid grave accent in low-level stderr diagnostic.
16483 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16485         New q flag for ‘format’
16486         * doc/lispref/processes.texi (Sentinels):
16487         Don't hardwire grave quoting style in example.
16488         * doc/lispref/strings.texi (Formatting Strings):
16489         * etc/NEWS:
16490         Document new q flag.
16491         * src/editfns.c (Fformat): Implement it.
16493 2015-08-18  Daiki Ueno  <ueno@gnu.org>
16495         pinentry.el: Add debugging support
16496         * lisp/net/pinentry.el (pinentry-debug): New variable.
16497         (pinentry-debug-buffer): New variable.
16498         (pinentry--process-filter): Send input to the debug buffer, if
16499         `pinentry-debug' is set.
16501         pinentry.el: Improve multiline prompt
16502         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
16503         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
16504         command.
16506 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
16508         Fix multibyte confusion in diagnostics
16509         * src/print.c (print_error_message):
16510         Don't assume that the caller's name is unibyte.
16511         * src/xdisp.c (vadd_to_log):
16512         Don't assume that the formatted diagnostic is unibyte.
16514         Fix file name encodings in diagnostics
16515         Also, close some minor races when opening image files, by opening
16516         them once instead of multiple times.
16517         * src/gtkutil.c (xg_get_image_for_pixmap):
16518         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
16519         (svg_load):
16520         * src/nsimage.m (allocInitFromFile:):
16521         * src/xfns.c (xg_set_icon):
16522         Encode file name, since x_find_image_file no longer does that.
16523         * src/image.c (x_find_image_fd): New function.
16524         (x_find_image_file): Use it.  Do not encode resulting file name,
16525         since callers sometimes need it decoded.
16526         (slurp_file): File arg is now a fd, not a file name.
16527         All callers changed.  This saves us having to open the file twice.
16528         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
16529         (svg_load):
16530         Use x_find_image_fd and fdopen to save a file-open.
16531         Report file name that failed.
16532         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
16534 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
16536         Allow blink-matching-paren to jump off screen
16537         * doc/emacs/programs.texi (Matching): Mention the
16538         `blink-matching-paren' value `jump-offscreen'.
16539         * lisp/simple.el (blink-matching-paren): New possible value.
16540         (blink-matching-paren-on-screen): Clarify the docstring.
16541         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
16543         Refine the previous change
16544         * lisp/simple.el (blink-matching-open): Use minibuffer-message
16545         outside of save-excursion (bug#21286).
16547 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
16549         Rewrite and add frame geometry related functions.
16550         * src/frame.c (Fframe_position): New function.
16551         (Fset_frame_position): Rename parameters and rewrite doc-string.
16552         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
16553         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
16554         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
16555         Qtitle_bar_size.
16556         * src/nsfns.m (frame_geometry): New function.
16557         (Fx_frame_geometry): Call frame_geometry.
16558         (Fx_frame_edges): New function.
16559         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
16560         (GetTitleBarInfo_Proc): Define these so we can use the
16561         GetTitleBarInfo API.
16562         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
16563         (Fx_frame_geometry): Rewrite.
16564         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
16565         (Fx_set_mouse_absolute_pixel_position): New functions.
16566         * src/xfns.c (frame_geometry): New function.
16567         (Fx_frame_geometry): Call frame_geometry.
16568         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
16569         (Fx_set_mouse_absolute_pixel_position): New functions.
16571 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
16573         Improve Tramp's compatibility
16574         * lisp/net/tramp.el (tramp-get-method-parameter):
16575         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
16576         (tramp-adb-get-device):
16577         * lisp/net/trampver.el (tramp-repository-get-version):
16578         Use `tramp-compat-replace-regexp-in-string'.
16580 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
16582         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
16583         Encode/decode string.
16585 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
16587         Clarify what happens to match data on failure
16588         Problem reported by Ernesto Alfonso (Bug#21279).
16589         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
16590         Document more carefully what happens to match data after a failed
16591         search.
16592         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
16593         the return value is undefined if the last search failed.
16594         (Fmatch_data): Simplify doc string line 1.
16596 2015-08-18  Daiki Ueno  <ueno@gnu.org>
16598         Revert "pinentry.el: Support external passphrase cache"
16599         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
16600         pinentry.el shouldn't directly interact with the secrets service,
16601         but ask the caller to cache the passphrase.
16603 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
16605         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
16606         Message mode hooks.
16608 2015-08-17  Daiki Ueno  <ueno@gnu.org>
16610         epg.el: Make gpgconf output parsing future proof
16611         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
16612         --list-options" output.
16614         pinentry.el: Support external passphrase cache
16615         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
16616         (pinentry--allow-external-password-cache): New local variable.
16617         (pinentry--key-info): New local variable.
16618         (secrets-enabled, secrets-search-items, secrets-get-secret):
16619         Declare.
16620         (pinentry--send-passphrase): New function, split from
16621         `pinentry--process-filter'.
16622         (pinentry--process-filter): Use secrets.el to retrieve passphrase
16623         from login keyring.
16625         pinentry.el: Popup window for multiline prompt
16626         * lisp/net/pinentry.el (pinentry): New custom group.
16627         (pinentry-popup-prompt-window): New user option.
16628         (pinentry-prompt-window-height): New user option.
16629         (pinentry--prompt-buffer): New variable.
16630         (pinentry-prompt-mode-map): New variable.
16631         (pinentry-prompt-mode): New function.
16632         (pinentry--prompt): New function.
16633         (pinentry--process-filter): Use `pinentry--prompt' instead of
16634         `read-passwd' and `y-or-n-p'.
16636 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
16638         message.el: Silent the byte compiler
16639         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
16640         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
16641         (message-delete-overlay, message-window-inside-pixel-edges):
16642         Declare before using.
16644         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
16645         (message-window-inside-pixel-edges): XEmacs compatible functions.
16647 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
16649         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
16651 2015-08-17  Noah Friedman  <friedman@splode.com>
16653         * lisp/simple.el (blink-matching-open): Restore point before
16654         calling minibuffer-message.
16656 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
16658         * lisp/play/dunnet.el: Update version number in header (now
16659         matches help).
16661 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16663         Curved quotes in --batch diagnostics in non-UTF-8
16664         When run with --batch, check that curved quotes are compatible with
16665         the system locale before outputting them in diagnostics.
16666         Problem reported by Eli Zaretskii in:
16667         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
16668         * lisp/startup.el (command-line): Set internal--text-quoting-flag
16669         after the standard display table is initialized.
16670         * src/doc.c (default_to_grave_quoting_style): New function.
16671         (text_quoting_style): Use it.
16672         (text_quoting_flag): New static var, visible to Lisp as
16673         internal--text-quoting-flag.
16674         * src/emacs.c: Include <wchar.h> if available.
16675         (using_utf8): New function.
16676         (main): Use it to initialize text_quoting_flag.
16677         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
16678         Don't define, as it's not needed and it clashes with wchar.h.
16680 2015-08-17  Glenn Morris  <rgm@gnu.org>
16682         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
16683         from makeinfo about spurious "Note:" cross-reference, and for grammar.
16685 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
16687         Minor change in variable initialization on MS-Windows
16688         * src/w32fns.c <after_dead_key>: Initialize to -1.
16689         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
16690         non-zero.
16692         Fix a bug with LWindow key remapping on MS-Windows
16693         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
16695 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
16697         Improve fontset support for latest OTF script tags
16698         * lisp/international/fontset.el (otf-script-alist): Add some
16699         missing script tags.
16700         (setup-default-fontset): Include settings for v2 versions of the
16701         script tags used by some modern OTF/TTF fonts.
16703 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16705         Spelling fixes
16707 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
16709         Use curved quotes in core elisp diagnostics
16710         In the core elisp files, use curved quotes in diagnostic formats,
16711         so that they follow user preference as per ‘text-quoting-style’
16712         rather than being hard-coded to quote `like this'.
16713         * lisp/abbrev.el (expand-region-abbrevs):
16714         * lisp/button.el (button-category-symbol, button-put)
16715         (make-text-button):
16716         * lisp/cus-start.el:
16717         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
16718         (custom--sort-vars-1, load-theme):
16719         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
16720         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
16721         (cl-generic-generalizers):
16722         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
16723         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
16724         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
16725         (advice--make, define-advice):
16726         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
16727         * lisp/emacs-lisp/timer.el (timer-event-handler):
16728         * lisp/env.el (setenv):
16729         * lisp/facemenu.el (facemenu-add-new-face)
16730         (facemenu-add-new-color):
16731         * lisp/faces.el (face-documentation, read-face-name)
16732         (face-read-string, read-face-font, face-spec-set-match-display)
16733         (read-color, x-resolve-font-name):
16734         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
16735         (set-auto-mode, hack-local-variables)
16736         (hack-one-local-variable--obsolete)
16737         (dir-locals-set-directory-class, write-file)
16738         (basic-save-buffer, delete-directory, copy-directory)
16739         (recover-session, recover-session-finish, insert-directory)
16740         (file-modes-char-to-who, file-modes-symbolic-to-number)
16741         (move-file-to-trash):
16742         * lisp/font-lock.el (font-lock-fontify-buffer):
16743         * lisp/format.el (format-write-file, format-find-file)
16744         (format-insert-file):
16745         * lisp/frame.el (get-device-terminal, select-frame-by-name):
16746         * lisp/fringe.el (fringe--check-style):
16747         * lisp/help.el (describe-minor-mode-from-indicator):
16748         * lisp/image.el (image-type):
16749         * lisp/international/fontset.el (x-must-resolve-font-name):
16750         * lisp/international/mule-cmds.el (prefer-coding-system)
16751         (select-safe-coding-system-interactively)
16752         (select-safe-coding-system, activate-input-method)
16753         (toggle-input-method, describe-current-input-method):
16754         * lisp/international/mule-conf.el (code-offset):
16755         * lisp/mouse.el (minor-mode-menu-from-indicator):
16756         * lisp/replace.el (query-replace-read-from)
16757         (occur-after-change-function, occur-1):
16758         * lisp/scroll-bar.el (scroll-bar-columns):
16759         * lisp/simple.el (execute-extended-command)
16760         (undo-outer-limit-truncate, compose-mail, set-variable)
16761         (choose-completion-string, define-alternatives):
16762         * lisp/startup.el (site-run-file, tty-handle-args)
16763         (command-line, command-line-1):
16764         * lisp/subr.el (noreturn, define-error, add-to-list)
16765         (read-char-choice):
16766         * lisp/term/common-win.el (x-handle-xrm-switch)
16767         (x-handle-name-switch, x-handle-args):
16768         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
16769         Use curved quotes in diagnostics.
16770         * lisp/international/mule.el (find-auto-coding):
16771         Use " to quote in a diagnostic, to be consistent with the rest of
16772         this file.
16774         Convert lisp/term/x-win.el to UTF-8
16775         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
16776         runtime behavior, and the file is multilingual so compile-time
16777         appearance shouldn't be an issue.
16778         * admin/notes/unicode: Document this.
16780 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
16782         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
16783         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
16784         issues and comments, bug#943.
16785         (verilog-type-font-keywords): Cycle delay operators like ##1 and
16786         ##[0:$] are now highlighted in their entirety similarly to the #
16787         delay-control operator.  Likewise, the followed-by operators #-#
16788         and #=# are no longer partially highlighed.
16789         (verilog-backward-syntactic-ws-quick)
16790         (verilog-skip-backward-comments): Minor performance improvements
16791         to buffer traversal functions for reduced latency.
16792         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
16793         keyword 'final' follows 'assert/assume/cover', then it is part of
16794         a deferred immediate assertion item and should not be treated as a
16795         final construct for indentation.  Reported by Yuri Sugihara.
16796         (verilog-do-indent): Virtual task/function/class definition lines
16797         should not be considered as declarations.  Reported by Enzo Chi.
16798         (verilog-do-indent): Do not falsely indent to '=' of
16799         property/sequence operators on subsequent lines of a multi-line
16800         statement.
16801         (verilog-assignment-operator-re): Fix '!==' operator and add
16802         support for '<->', ':/', '#-#', and '#=#' operators.
16803         (verilog-calculate-indent, verilog-label-be): Enable
16804         case-sensitive regular expression parsing when looking for
16805         keywords.
16806         (verilog-calc-1): Detect 'pure virtual method' declarations which
16807         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
16808         (verilog-backward-ws&directives): When moving back to the start of
16809         a line and the preceeding line ended with an escaped-newline, then
16810         jump up one line.  This properly consumes a multi-line
16811         pre-processor directive.  Reported by Kaushal Modi.
16812         (verilog-dpi-import-export-re, verilog-extended-complete-re)
16813         (verilog-calc-1): Teach verilog-mode to properly indent after a
16814         DPI import/export statement that resides outside of a module.
16815         Reported by Kaushal Modi.
16816         (verilog-extended-complete-re): Update regexp to match both
16817         "DPI-C" and "DPI".  Reported by Kaushal Modi.
16819 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16821         substitute-command-keys a few more doc strings
16822         * lisp/allout.el (outlineify-sticky):
16823         * lisp/files.el (hack-one-local-variable--obsolete):
16824         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
16825         Use substitute-command-keys on some doc strings so that
16826         they don't use hard-coded key bindings or quoting styles.
16828         Fix quoting in Fformat calls
16829         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
16830         (xpm_load, xpm_load_image, pbm_load, png_load_body)
16831         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
16832         (imagemagick_load, svg_load, svg_load_image, gs_load)
16833         (x_kill_gs_process):
16834         * src/lread.c (load_warn_old_style_backquotes):
16835         * src/xfaces.c (load_pixmap):
16836         * src/xselect.c (x_clipboard_manager_error_1):
16837         Quote diagnostics according to user preference when calling
16838         Fformat or its derivatives.
16840 2015-08-15  Glenn Morris  <rgm@gnu.org>
16842         * admin/admin.el (set-version, set-copyright): Remove deleted files.
16844 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
16846         Allow describe-function helpers to access buffer-local values
16847         This will be used by cedet/mode-local.el `describe-mode-local-override'
16848         on `help-fns-describe-function-functions' in upstream CEDET.
16849         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
16850         `describe-function'.
16851         (describe-function): Bind it, save it on the help xref stack.
16853         Handle pulse-background being nil
16854         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
16855         pulse-background, handle it being nil.
16857 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16859         Fix "\`" confusion in Lisp strings
16860         * admin/authors.el (authors-canonical-author-name):
16861         Fix typo by using "\\`" not "\`" in string RE.
16862         * lisp/obsolete/complete.el (PC-complete-as-file-name):
16863         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
16864         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
16865         Use plain "`", not the equivalent-but-confusing "\`", in strings.
16866         * lisp/textmodes/texinfmt.el: Fix comment likewise.
16868 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
16870         * nt/zipdist.bat: Remove -- no longer used.
16872 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
16874         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
16875         rather than "getenforce".
16876         (tramp-sh-handle-set-file-selinux-context): Do not
16877         cache SELinux context if not all context components are given.
16879 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
16881         Add doc strings to 2 help-mode.el functions
16882         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
16883         strings.  (Bug#21263)
16885         Remove files used by the old MS-Windows specific build procedure
16886         * admin/unidata/makefile.w32-in:
16887         * doc/emacs/makefile.w32-in:
16888         * doc/lispintro/makefile.w32-in:
16889         * doc/lispref/makefile.w32-in:
16890         * doc/misc/makefile.w32-in:
16891         * leim/makefile.w32-in:
16892         * lib-src/makefile.w32-in:
16893         * lib/makefile.w32-in:
16894         * lisp/makefile.w32-in:
16895         * nt/INSTALL.OLD:
16896         * nt/config.nt:
16897         * nt/emacs-src.tags:
16898         * nt/envadd.bat:
16899         * nt/gmake.defs:
16900         * nt/makefile.w32-in:
16901         * nt/multi-install-info.bat:
16902         * nt/nmake.defs:
16903         * nt/paths.h:
16904         * src/makefile.w32-in: Files deleted.
16905         * nt/configure.bat: Remove everything except the blurb about the
16906         new build procedure.
16907         * make-dist: Remove references to makefile.w32-in in various
16908         directories, and to files in nt/ that were deleted.
16909         * etc/NEWS: Mention the fact that the files were dropped.
16911 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
16913         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
16914         (Bug#21248)
16916 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
16918         Default to inotify instead of gfile
16919         * configure.ac (with_file_notification): Fix typo that
16920         prevented suppression of file notification if HAVE_NS.
16921         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
16922         with_file_notification is 'yes' (Bug#21241).
16923         * etc/NEWS: Mention this.
16925         Fix broken URLs for ISO-IR
16926         * doc/emacs/mule.texi (Charsets):
16927         * lisp/international/mule-conf.el:
16928         Fix broken URL (Bug#21248).
16930         Low-level diagnostics now use ‘text-quoting-style’
16931         * src/doprnt.c (doprnt):
16932         Format ` and ' as per ‘text-quoting-style’.
16933         * src/xdisp.c (vmessage, message): Mention that the format should
16934         not contain ` or '.
16936         Prefer ‘format’ to ‘substitute-command-keys’
16937         * src/character.h (uLSQM, uRSQM): Move here ...
16938         * src/doc.c (uLSQM, uRSQM): ... from here.
16939         * src/doc.c (Fsubstitute_command_keys):
16940         * src/syntax.c (Finternal_describe_syntax_value):
16941         * lisp/cedet/mode-local.el (mode-local-print-binding)
16942         (mode-local-describe-bindings-2):
16943         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
16944         * lisp/cus-theme.el (describe-theme-1):
16945         * lisp/descr-text.el (describe-text-properties-1, describe-char):
16946         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
16947         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
16948         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
16949         * lisp/emacs-lisp/package.el (describe-package-1):
16950         * lisp/faces.el (describe-face):
16951         * lisp/help-fns.el (help-fns--key-bindings)
16952         (help-fns--compiler-macro, help-fns--parent-mode)
16953         (help-fns--obsolete, help-fns--interactive-only)
16954         (describe-function-1, describe-variable):
16955         * lisp/help.el (describe-mode):
16956         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
16957         to implement quoting style.  This generally makes the code simpler.
16959         Extend ‘format’ to translate curved quotes
16960         This is a followup to the recent doc string change, and deals with
16961         diagnostics and the like.  This patch is more conservative than
16962         the doc string change, in that the behavior of ‘format’ changes
16963         only if its first arg contains curved quotes and the user prefers
16964         straight or grave quotes.  (Come to think of it, perhaps we should
16965         be similarly conservative with doc strings too, but that can wait.)
16966         The upside of this conservatism is that existing usage is almost
16967         surely unaffected.  The downside is that we'll eventually have to
16968         change Emacs's format strings to use curved quotes in places where
16969         the user might want curved quotes, but that's a simple and
16970         mechanical translation that I'm willing to do later.  (Bug#21222)
16971         * doc/lispref/help.texi (Keys in Documentation):
16972         Move description of text-quoting-style from here ...
16973         * doc/lispref/strings.texi (Formatting Strings):
16974         ... to here, and describe new behavior of ‘format’.
16975         * etc/NEWS: Describe new behavior.
16976         * lisp/calc/calc-help.el (calc-describe-thing):
16977         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
16978         * lisp/info.el (Info-find-index-name):
16979         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
16980         of recently-added curved quotes.
16981         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
16982         Move from here ...
16983         * src/lisp.h: ... to here.
16984         * src/doc.c (text_quoting_style): New function.
16985         (Fsubstitute_command_keys): Use it.
16986         * src/editfns.c (Fformat): Implement new behavior.
16987         * src/lisp.h (enum text_quoting_style): New enum.
16989 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16991         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
16992         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
16994 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
16996         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
16997         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
16999 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
17001         Flush file properties in Tramp
17002         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
17003         (tramp-sh-handle-set-file-times):
17004         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
17005         (tramp-adb-handle-set-file-times): Flush the file properties of
17006         the directory.
17008 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
17010         * doc/emacs/misc.text (Amusements): Fixed typo.
17012 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
17014         Don't miss warnings about removing string text properties while dumping
17015         * src/alloc.c (purecopy): Warn about removing a string's text
17016         properties even when the same string was already pure-copied
17017         earlier.
17018         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
17019         (elisp--xref-format-extra): Fix the commentary.
17021 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
17023         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
17025 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
17027         * lisp/progmodes/compile.el: Use lexical-binding.
17028         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
17030 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
17032         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
17033         * lisp/uniquify.el: Remove redundant `:group's.
17035 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
17037         * lisp/net/tramp-adb.el
17038         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
17039         result to prevent modification of the tramp-cache by side effects.
17040         Use the correct cache key.
17042 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17044         Make add_to_log varargs
17045         * src/alloc.c (run_finalizer_handler):
17046         * src/charset.c (load_charset_map_from_vector):
17047         * src/nsimage.m (ns_load_image):
17048         * src/xfaces.c (load_pixmap, load_color2):
17049         Simplify, now that add_to_log has a variable number of args.
17050         * src/image.c (image_error): Take a variable number of args.
17051         Callers simplified.
17052         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
17053         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
17054         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
17055         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
17057         Optional args for holiday-greek-orthodox-easter
17058         * etc/NEWS: Document this.
17059         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
17060         Add optional args N and STRING, mimicking the API and code of
17061         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
17063 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
17065         xref-find-definitions: Exclude more generic function items.
17066         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
17067         Add doc string.
17068         (cl--generic-find-defgeneric-regexp): New.
17069         (find-function-regexp-alist): Add it.
17070         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
17071         elisp-mode.el, change to search for ";;; Code:"
17072         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
17073         (find-function-regexp-alist): Add them.
17074         * lisp/progmodes/elisp-mode.el:
17075         (elisp--xref-format, elisp--xref-format-extra): Change back to
17076         defvar due to bug#21237.
17077         (elisp--xref-find-definitions): Exclude co-located default methods for
17078         generic functions.  Also exclude implicitly declared defgeneric.
17079         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
17080         mode variables defined by 'define-minor-mode'.
17081         * test/automated/elisp-mode-tests.el: Declare generic functions, add
17082         tests for them.
17083         (xref-elisp-test-run): Fix bug.
17084         (emacs-test-dir): Improve initial value.
17085         (find-defs-defun-defvar-el): Don't expect defvar.
17086         (find-defs-feature-el): Match change to find-feature-regexp.
17088 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
17090         Improve warning about purecopy of strings with properties
17091         * src/alloc.c (purecopy): Show the offending string with the
17092         warning about removing its text properties.
17094 2015-08-12  Alan Mackenzie  <acm@muc.de>
17096         Introduce new macros to cover Emacs's new names in cl-lib.el
17097         This also eliminates `mapcan' warnings in XEmacs.
17098         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
17099         characterise [X]Emacs versions.
17100         (top-level): Require either 'cl or 'cl-lib, depending on
17101         c--mapcan-status.
17102         Change this back to cc-external-require from an eval-when-compile
17103         require.
17104         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
17105         (c--delete-duplicates): New macros which expand into either old or new
17106         names.
17107         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
17108         rather than the old names.
17109         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
17110         rather than mapcan.
17111         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
17112         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
17113         depending on c--mapcan-status.
17114         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
17115         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
17116         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
17117         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
17118         (c-decl-block-key, c-keywords, c-keywords-obarray)
17119         (c-regular-keywords-regexp, c-primary-expr-regexp)
17120         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
17121         (c-known-type-key, c-nonlabel-token-key)
17122         (c-make-init-lang-vars-fun): Use the new macros rather than the old
17123         names.
17125 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
17127         loadhist.el (read-feature): Conform to completing-read
17128         * lisp/loadhist.el (read-feature): According to `completing-read'
17129         documentation, if collection is a list, then it must be a list of
17130         strings, not a list of symbols like before.
17132 2015-08-12  David Kastrup  <dak@gnu.org>
17134         Deal gracefully with up-events (Bug#19746)
17135         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
17136         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
17137         those may easily be injected by user-level Lisp code.
17138         (read_key_sequence): Discard unbound up-events like unbound
17139         down-events: they are even more likely only relevant for special
17140         purposes.
17141         While Emacs will not produce up-events on its own currently (those are
17142         converted to drag or click events before being converted to
17143         Lisp-readable structures), the input queue can be made to contain them
17144         by synthesizing events to `unread-command-events'.  Emacs should deal
17145         consistently with such events.
17147 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
17149         Fix display of thin lines whose newline has line-height property of t
17150         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
17151         and descent values of non-empty glyph rows, since they could have
17152         forced low values deliberately.  (Bug#21243)
17154 2015-08-12  Richard Stallman  <rms@gnu.org>
17156         Offer to combine multiple To or CC fields.
17157         * lisp/mail/sendmail.el (mail-combine-fields): New function.
17158         (mail-send): Call 'mail-combine-fields'.
17160         Don't decrypt encrypted files.
17161         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
17163         Handle encrypted mbox files.
17164         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
17165         the mbox file if necessary.
17167         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
17168         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
17169         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
17170         In a mime message, reenable Mime and show the parts that
17171         were shown before.
17172         Add keyword "decrypt" if anything decrypted.
17174         epa-inhibit inhibits auto-recognition of .gpg files
17175         * lisp/epa-file.el (epa-inhibit): New variable.
17176         (epa-file-handler): Check epa-inhibit.
17178 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
17180         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
17182 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17184         Respect python.el imenu when semantic-mode is off
17185         Fixes bug#21220
17186         * lisp/cedet/semantic/wisent/python.el: Do not force
17187         wisent-python-default-setup on python-mode-hook.
17189 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17191         Give names to Unicode code points in C code
17192         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
17193         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
17194         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
17195         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
17196         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
17197         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
17198         (OBJECT_REPLACEMENT_CHARACTER):
17199         New named constants for Unicode code points.
17200         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
17201         * src/composite.c (char_composable_p):
17202         * src/lread.c (readevalloop, read1):
17203         * src/xdisp.c (get_next_display_element):
17204         Use them.
17205         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
17206         Remove; now in character.h.
17208 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
17210         elisp--xref-find-definitions handle cl-defstuct default constructor
17211         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
17212         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
17213         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
17214         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
17215         from xref-elisp-test for ease of debugging.
17216         (xref-elisp-deftest): Rename from xref-elisp-test.
17217         (find-defs-constructor): New test.
17218         (find-defs-defgeneric-el): Match batch test config.
17219         (compile): Required for find-defs compilation-minor-mode test.
17220         (find-defs-defvar-el): Match code change.
17221         (find-defs-face-el): Match code change.
17222         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
17223         Improve doc string.
17225 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
17227         * lisp/replace.el (perform-replace): Document `replacements'.
17228         (perform-replace): Move the description of the format of `replacements'
17229         from the body's comment to the doc string.
17231 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
17233         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
17234         sequence.  Recent adb version send initial escape sequences, even
17235         when terminal type is set to TERM=dumb.
17237 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
17239         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
17240         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
17241         Function deleted.
17242         (elisp--xref-format-cl-defmethod): New defconst.
17243         (find-feature-regexp, find-alias-regexp): New defcustoms.
17244         (elisp--xref-make-xref): New function.
17245         (elisp--xref-find-definitions): Rewrite using the above, handle many
17246         more cases.  Always output all available definitions.
17247         (xref-location-marker): No need for special cases.
17248         * test/automated/elisp-mode-tests.el: Add more tests of
17249         elisp--xref-find-definitions, improve current tests.
17251 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
17253         Fix recording of events pushed onto unread-command-events
17254         * src/keyboard.c (read_char): Make sure events read from
17255         unread-command-events and unread-post-input-method-events are
17256         always recorded by record_char.  Reported by David Kastrup
17257         <dak@gnu.org>, see
17258         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
17260 2015-08-10  Samer Masterson  <samer@samertm.com>
17262         Set file buffer as current for "--file"
17263         * lisp/startup.el (command-line-1): Set file buffer as current before
17264         it is displayed so it can be used with options like "--eval".
17265         (Bug#21095)
17267 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
17269         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
17270         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
17271         after setting LC_ALL to the desired locale, to avoid affecting how
17272         numbers are read and printed.  (Bug#21223)
17274 2015-08-10  Alan Mackenzie  <acm@muc.de>
17276         Fix "Invalid search bound (wrong side of point)" in fontification
17277         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
17278         an initialization expression, check point is not beyond the
17279         fontification limit.
17281 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17283         Fix DPI calculation when Xft/DPI is default
17284         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
17285         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
17286         Remove unnecessary cast while we're in the neighborhood.
17288 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
17290         Add project-vc-search-path and project-vc-ignores
17291         * lisp/progmodes/project.el (project-vc): New group.
17292         (project-vc-search-path, project-vc-ignores): New variables.
17293         (project--value-in-dir): Utility function.
17294         (project-search-path, project-ignores): Use them.
17295         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
17296         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
17298 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17300         Fix some minor quoting issues with grave accent
17301         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
17302         Remove redundant quotes.
17303         * src/doc.c (uLSQM, uRSQM): New macros.
17304         * src/doc.c (Fsubstitute_command_keys):
17305         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
17306         preference for quotes rather than hardcoding the ‘grave’ style.
17307         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
17308         (re_match_2_internal) [DEBUG]: In debugging output, quote C
17309         strings with "...", not `...'.
17311         ChangeLog.2 ignores remote-tracking merges
17312         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
17313         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
17314         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
17316 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
17318         Use kpsewhich in ffap-latex-mode, if available
17319         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
17320         (ffap-latex-mode): Use kpsewhich if available.
17322         ffap: disallow braces in filenames for tex modes
17323         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
17324         braces in tex-related modes.
17326         Remove useless backslashes from ffap-string-at-point-mode-alist
17327         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
17328         misleading backslashes from default value.
17330         Augment docstring of ffap-string-at-point-mode-alist
17331         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
17332         and END are handled.
17334 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17336         * lisp/org/org-src.el (org-edit-src-code)
17337         (org-edit-fixed-width-region):
17338         * lisp/simple.el (completion-setup-function):
17339         Remove calls to substitute-command-keys that always just return
17340         their argument.
17342 2015-08-09  Daiki Ueno  <ueno@gnu.org>
17344         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
17345         (Bug#21210)
17347 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
17349         Fix link to source code in help window
17350         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
17351         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
17352         'No longer include timestamp in header of .elc files'.  Add code
17353         that will return .el source file in load-path.
17355 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
17357         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
17358         Respect `isearch-lax-whitespace' when searching through
17359         `isearch-word'.
17361 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
17363         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
17365         * org.el: Fix up some lexical scoping warnings, and use dolist
17366         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
17367         (org-set-regexps-and-options, org-assign-fast-keys)
17368         (org-contextualize-keys, org-contextualize-validate-key)
17369         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
17370         (org-find-olp, org-find-exact-heading-in-directory)
17371         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
17372         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
17373         (org-replace-escapes): Use dolist.
17374         (org-mode): Optimize away XEmacs-only code.
17375         (org-refile-get-targets): Remove unused var `f'.
17376         (org-fast-todo-selection): Remove unused var `e'.
17377         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
17378         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
17379         (org-format-latex): Use dolist.  Remove unused var `e'.
17380         (org-toggle-heading): Access vars lexically rather than dynamically.
17381         (org-backward-sentence, org-forward-sentence, org-meta-return)
17382         (org-kill-line): Mark arg as unused.
17383         (org-submit-bug-report): Silence compiler warning.
17384         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
17385         (org-get-cursor-date): Remove unused var `tm'.
17386         (org-comment-or-uncomment-region): Use standard name `_'.
17387         (reftex-docstruct-symbol, reftex-cite-format): Declare to
17388         silence byte-compiler.
17389         (org-reftex-citation): Add `org--' prefix to dynamically scoped
17390         `rds' var.
17392 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17394         Electric quote if coding is undecided or no conv
17395         * lisp/electric.el (electric--insertable-p): Also say that a
17396         string is insertable if the buffer file coding system is undecided
17397         or uses no conversion, as curved quotes will work in either case.
17399         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
17401 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
17403         Fix overlay string display regressions introduced in Emacs 24.5
17404         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
17405         buffer position, if we move the iterator to a new position as
17406         result of jumping over text covered by a "replacing" display
17407         property.
17408         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
17410         Support recovery from C stack overflow on MS-Windows
17411         * src/w32fns.c (w32_reset_stack_overflow_guard)
17412         (stack_overflow_handler): New functions for handling C stack
17413         overflow exceptions.
17414         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
17415         specially, and zero out except_addr if we do.
17416         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
17417         mode.
17418         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
17419         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
17420         the MinGW build, but the code guarded by that is for Posix hosts.
17421         * src/keyboard.c (command_loop) [WINDOWSNT]:
17422         Call w32_reset_stack_overflow_guard.
17423         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
17424         (sigsetjmp): New macro.
17425         (w32_reset_stack_overflow_guard): Declare the prototype.
17426         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
17428 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
17430         Improve error signalling for seq-subseq
17431         * lisp/seq.el (seq-subseq): The existing behavior is to error
17432         when indexes are too large, but to silently ignore numbers which
17433         are too negative for lists.  String and vector handling errors in
17434         both cases.  This has been regularized.  Error signaling behavior
17435         has been explicitly added to the doc string.
17437         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
17438         therefore also impacted by this change.  Update the doc string
17439         to reflect this.
17441         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
17442         added for these exceptional cases, as well as one non exceptional
17443         base case.
17445 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
17447         Improve error checking in tramp-adb.el
17448         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
17449         Improve error checking.  "ls -l" on Android in Enforcing mode can
17450         print "lstat './FILENAME failed: Permission denied".
17452 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17454         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
17455         non-struct vectors.
17457 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
17459         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
17460         * lisp/window.el: Fix typo that broke build.
17461         (display-buffer--action-function-custom-type):
17462         Add `display-buffer-use-some-frame'.
17463         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
17465         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
17466         * lisp/window.el (display-buffer-use-some-frame): Add support for
17467         'inhibit-same-window in alist.
17468         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
17469         'inhibit-same-window in alist.
17471 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
17473         Avoid infinite loop in display of invisible text in strings
17474         * src/xdisp.c (handle_invisible_prop): If the next change of
17475         invisibility spec does not mean the beginning of a visible text,
17476         update the string position from which to start the search for the
17477         next invisibility change.  This avoids an infinite loop when we
17478         have more than one invisibility spec that are made inactive by
17479         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
17480         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
17481         for the situation that caused bug #21200.
17483 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
17485         * lisp/emacs-lisp/package.el: Simplify describe-package-1
17486         (package-help-section-name-face): New face.
17487         (package--print-help-section): New function.
17488         (describe-package-1): Refactor section printing.
17489         (package-make-button): Use face instead of font-lock-face, which
17490         doesn't work on buttons.
17492         * lisp/emacs-lisp/package.el: Define custom faces
17493         (package-name-face, package-description-face)
17494         (package-status-built-in-face, package-status-external-face)
17495         (package-status-available-face, package-status-new-face)
17496         (package-status-held-face, package-status-disabled-face)
17497         (package-status-installed-face, package-status-dependency-face)
17498         (package-status-unsigned-face, package-status-incompat-face)
17499         (package-status-avail-obso-face): New faces.
17500         (package-menu--print-info-simple): Use them.
17502 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17504         Fix some confusion with ‘format’
17505         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
17506         (allout-graphics-modification-handler):
17507         Protect arbitrary string in a format context with "%s" format.
17508         * lisp/avoid.el:
17509         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
17510         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
17511         * lisp/erc/erc-button.el (erc-button-beats-to-time):
17512         * lisp/gnus/message.el (message-send-form-letter):
17513         * lisp/org/ob-core.el (org-babel-check-evaluate)
17514         (org-babel-confirm-evaluate):
17515         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
17516         * lisp/org/ox-latex.el (org-latex-compile):
17517         * lisp/org/ox-man.el (org-man-compile):
17518         * lisp/org/ox-odt.el (org-odt-template):
17519         * lisp/org/ox-texinfo.el (org-texinfo-compile):
17520         * lisp/progmodes/prolog.el (prolog-help-info)
17521         (prolog-view-predspec):
17522         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
17523         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
17524         * lisp/textmodes/rst.el (rst-replace-lines):
17525         Change (message (format ...)) to (message ...), and likewise
17526         for ‘error’.  This lessens the probability of confusion when the
17527         output of ‘format’ contains ‘%’.
17529 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
17531         * lisp/replace.el (replace-character-fold): Default to nil.
17533         * lisp/character-fold.el: Fix lax whitespace.
17534         (character-fold-table): Don't make space match other whitespace chars.
17535         (character-fold-to-regexp): Simplify lax behavior.
17537 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
17539         Preserve window point in xref-find-definitions-other-window
17540         Fix the problem reported by Ingo Logmar in
17541         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
17542         * lisp/progmodes/xref.el (xref--goto-char): Extract from
17543         xref--goto-location.
17544         (xref--pop-to-location): Use it.  Replace xref--goto-location with
17545         a direct xref-location-marker call.
17546         (xref--show-location): Likewise.
17547         (xref--display-position): Use xref--goto-char.
17549         * lisp/progmodes/project.el: Add a paragraph to the front matter.
17551 2015-08-04  David Kastrup  <dak@gnu.org>
17553         * lisp/vc/emerge.el (emerge-show-file-name):
17554         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
17555         (vhdl-comment-insert, vhdl-hooked-abbrev):
17556         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
17557         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
17558         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
17559         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
17560         * lisp/obsolete/vip.el (vip-escape-to-emacs)
17561         (vip-prefix-arg-value, vip-prefix-arg-com):
17562         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
17563         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
17564         (quail-tibkey-update-translation):
17565         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
17566         * lisp/leim/quail/lao.el (quail-lao-update-translation):
17567         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
17568         (quail-japanese-self-insert-and-switch-to-alpha):
17569         * lisp/leim/quail/hangul.el (hangul2-input-method)
17570         (hangul3-input-method, hangul390-input-method):
17571         * lisp/language/hanja-util.el (hangul-to-hanja-char):
17572         * lisp/international/robin.el (robin-input-method):
17573         * lisp/international/quail.el (quail-start-translation)
17574         (quail-start-conversion):
17575         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
17576         (gnus-article-describe-key-briefly):
17577         * lisp/eshell/em-hist.el (eshell-list-history):
17578         * lisp/term.el (term-dynamic-list-input-ring)
17579         (term-dynamic-list-completions):
17580         * lisp/subr.el (momentary-string-display):
17581         * lisp/simple.el (read-quoted-char):
17582         * lisp/pcomplete.el (pcomplete-show-completions):
17583         * lisp/kmacro.el (kmacro-repeat-on-last-key):
17584         * lisp/info.el (Info-summary):
17585         * lisp/ehelp.el (electric-help-command-loop):
17586         * lisp/ebuff-menu.el (electric-buffer-list)
17587         (Electric-buffer-menu-exit):
17588         * lisp/double.el (double-translate-key):
17589         * lisp/comint.el (comint-dynamic-list-input-ring)
17590         (comint-dynamic-list-completions): Do not overwrite preexisting
17591         contents of `unread-command-events' when putting new events into it.
17593 2015-08-04  Daniel Colascione  <dancol@dancol.org>
17595         Improve ansi-color filtering of unrecognized escape sequences
17596         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
17597         escape sequences.
17598         (ansi-color-filter-apply, ansi-color-apply): Filter out
17599         unrecognized escape sequences.
17601 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
17603         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
17604         definitions to `easy-menu-define', improve a couple to account for
17605         async, and add a couple of new commands.
17607 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
17609         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
17611 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
17613         Add new 'calendar-weekend-days' option
17614         Make the days receiving the 'calendar-weekend-header' face freely
17615         customizable, as they differ by region/culture.
17616         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
17617         new variable.
17618         * lisp/calendar/calendar.el (calendar-generate-month): New variable
17619         calendar-weekend-days to customize day header fontification.
17621 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17623         Redo text-quoting-style variable
17624         Rename help-quote-translation to text-quoting-style,
17625         and use symbols rather than characters as values.
17626         This follows suggestions along these lines by Alan Mackenzie in:
17627         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
17628         and by Drew Adams in:
17629         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
17630         * doc/lispref/help.texi (Keys in Documentation)
17631         * etc/NEWS:
17632         * lisp/cus-start.el (standard):
17633         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
17634         Document and/or implement the new behavior instead of the old.
17635         (syms_of_doc): New symbols 'grave' and 'straight'.
17637 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
17639         nnimap.el: Use IMAP MOVE extension if available
17640         * lisp/gnus/nnimap.el (nnimap-request-move-article)
17641         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
17642         Use MOVE extension if available.
17644         nnimap.el: Explicitly ask for server capabilities
17645         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
17646         capabilities will be returned in the login-result.
17648 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
17650         Treat help strings like other doc strings
17651         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
17652         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
17653         substitute-command-keys.
17654         * src/keyboard.c (show_help_echo, parse_menu_item): Call
17655         substitute-command-keys on the help string before displaying it.
17657         Also mention "curly quotes"
17658         See Drew Adams's email in:
17659         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
17660         * doc/lispref/help.texi (Keys in Documentation):
17661         Add index entry "curly quotes".
17662         * etc/NEWS: Use the phrase "curly quotes" too.
17664         ede-proj-target-makefile docstring tweaks
17665         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
17666         Consistently use "all:" to describe the all: target,
17667         replacing three different and confusingly-quoted usages.
17669 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
17671         Don't abort emacsclientw when -a was specified
17672         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
17673         out if we are in emacsclientw and -a was specified.
17675 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
17677         Fix handling of 1st keystroke on MS-Windows
17678         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
17679         This is needed to correctly handle the session's first keystroke,
17680         if it has any modifiers.  (Bug#19994)
17682 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
17684         Substitute some customization etc. doc strings
17685         These changes apply substitute-command-keys to some
17686         doc strings that were going through untranslated
17687         when creating customization or other widgets.
17688         * lisp/cus-edit.el (custom-group-value-create):
17689         * lisp/wid-edit.el (widget-default-create):
17690         (widget-push-button-value-create):
17691         Treat the widget tag as a doc string.
17692         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
17693         Treat the :documentation value as a doc string.
17694         * lisp/wid-edit.el (widget-choose):
17695         Treat the choice names as doc strings.
17696         (widget-default-create): Treat the :doc value as a doc string.
17697         (widget-toggle-value-create): Treat the :on and :off values
17698         as doc strings.
17699         (widget-documentation-string-value-create):
17700         Substitute the doc string.
17702 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
17704         Add a second argument to project-ignores
17705         * lisp/progmodes/project.el (project-ignores): Add a second
17706         argument DIR.
17707         * lisp/progmodes/project.el (project-ignores): Only include the VC
17708         ignores if DIR is the VC root.
17709         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
17711 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
17713         Prevent incorrect display when 'line-spacing' variable is set
17714         * src/xdisp.c (try_window_id): Give up this optimization if the
17715         buffer has its 'line-spacing' variable set non-nil.
17717 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
17719         Don't pass NOVISIT to find-file
17720         * lisp/progmodes/etags.el (next-file):
17721         Don't pass NOVISIT to find-file (bug#21175).
17723         Ignore buffer restriction for tags-loop-eval
17724         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
17725         restriction (bug#21167).
17727 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
17729         Fix a thinko in 'ffap-gopher-at-point'
17730         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
17732         Honor 'line-spacing' for empty lines
17733         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
17734         property and 'line-spacing' frame parameter or variable or
17735         property for empty lines, by doing the same processing as in
17736         x_produce_glyph for newline characters.  (Bug#21165)
17738 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
17740         Simplify by assuming C99 integer division
17741         * src/floatfns.c (ceiling2, floor2, truncate2):
17742         Assume C99 (i.e., Fortran) semantics for integer division.
17743         This simplifies the code.
17745 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
17747         Don't overflow if computing approximate percentage
17748         * lisp/align.el (align-region):
17749         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
17750         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
17751         * lisp/cus-edit.el (custom-buffer-create-internal):
17752         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
17753         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
17754         (checkdoc-next-message-error):
17755         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
17756         * lisp/epa.el (epa-progress-callback-function):
17757         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
17758         * lisp/ffap.el (ffap-menu-rescan):
17759         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
17760         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
17761         * lisp/gnus/nneething.el (nneething-retrieve-headers):
17762         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
17763         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
17764         * lisp/gnus/nnml.el (nnml-retrieve-headers):
17765         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
17766         * lisp/gnus/nntp.el (nntp-retrieve-headers)
17767         (nntp-retrieve-articles):
17768         * lisp/imenu.el (imenu--relative-position):
17769         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
17770         (skkdic-convert-okuri-nasi):
17771         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
17772         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
17773         * lisp/org/org-list.el (org-update-checkbox-count):
17774         * lisp/org/org.el (org-table-map-tables)
17775         (org-update-parent-todo-statistics):
17776         * lisp/play/decipher.el (decipher-insert-frequency-counts)
17777         (decipher-analyze-buffer):
17778         * lisp/profiler.el (profiler-format-percent):
17779         * lisp/progmodes/cc-cmds.el (c-progress-update):
17780         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
17781         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
17782         (idlwave-list-load-path-shadows):
17783         * lisp/progmodes/opascal.el (opascal-step-progress):
17784         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
17785         (vhdl-scan-directory-contents):
17786         * lisp/textmodes/bibtex.el (bibtex-progress-message):
17787         * lisp/textmodes/flyspell.el (flyspell-small-region)
17788         (flyspell-external-point-words):
17789         * lisp/textmodes/table.el (table-recognize):
17790         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
17791         progress-report percentages and the like.  This avoids problems
17792         if (* 100 NUMERATOR) would overflow.
17793         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
17794         * lisp/gnus/registry.el (registry-reindex):
17795         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
17796         * lisp/descr-text.el (describe-char):
17797         * lisp/org/org-colview.el (org-nofm-to-completion):
17798         * lisp/ps-print.el (ps-plot):
17799         * lisp/simple.el (what-cursor-position):
17800         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
17801         more-complicated and less-accurate approximation.
17803         Fix some int overflows in profiler.c
17804         * src/profiler.c (make_log): Make args EMACS_INT, not int,
17805         to avoid unwanted behavior on 'int' overflow.
17806         (make_log, evict_lower_half, record_backtrace):
17807         Use ptrdiff_t, not int, for object indexes.
17809         Port to pedantic memcpy
17810         * src/keyboard.c (menu_bar_items, tool_bar_items):
17811         * src/xrdb.c (magic_db):
17812         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
17814         Merge from gnulib
17815         This incorporates:
17816         2015-07-29 time_rz: port to pedantic memcpy
17817         * lib/time_rz.c: Copy from gnulib.
17819 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
17821         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
17822         When updating the very last entry, tabulated-list-print would
17823         erase it and then try to look at the next one (which obviously
17824         isn't there).
17826 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
17828         Allow to use the old key processing code on MS-Windows
17829         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
17830         New variable.
17831         (w32_wnd_proc): Use it to invoke the old code that processed
17832         character keys, as fallback, when this variable is non-nil.
17833         Fix typos in comments.  (Bug#19994)
17835 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
17837         Improve handling of Unicode keyboard input on MS-Windows
17838         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
17839         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
17840         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
17841         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
17842         successful, don't call TranslateMessage.  (Bug#19994)
17844 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
17846         Fix default-directory in changeset diffs after vc-print-log
17847         * lisp/vc/log-view.el (log-view-diff-common): Move the
17848         revision-granularity check back into log-view-diff-changeset.
17849         (log-view-diff-changeset): Bind default-directory to the current
17850         VC root.
17852         Rename project-directories to project-roots
17853         * lisp/progmodes/project.el (project-search-path-function)
17854         (project-search-path): Update the docstring.
17855         (project-directories): Rename to `project-roots', update all
17856         callers and implementations accordingly.
17857         (project-root): Remove.
17858         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
17859         as the default file mask.
17861 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
17863         Support long URLs in w32-shell-execute
17864         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
17865         and filename_to_ansi to convert the DOCUMENT argument, as it could
17866         be a URL that is not limited to MAX_PATH characters.  Instead, use
17867         MultiByteToWideChar directly, and allocate heap storage as
17868         required to accommodate the converted string.  Likewise with
17869         non-Unicode operation.  Ensure OPERATION is null-terminated, even
17870         if it is longer than 32K bytes.  (Bug#21158)
17872 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
17874         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
17876 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
17878         Add docs for display-buffer action display-buffer-use-some-frame
17879         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
17880         * doc/lispref/windows.texi (Display Action Functions):
17881         Add display-buffer-use-some-frame.
17882         * etc/NEWS: Mention display-buffer-use-some-frame.
17884         Add display-buffer action display-buffer-use-some-frame
17885         * lisp/window.el (display-buffer-use-some-frame): New.
17887         Handle vc-mtn error more gently
17888         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
17889         branch is nil.
17891 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
17893         Fix Tramp problems with multihops, and nc
17894         * lisp/net/tramp-cache.el (tramp-get-file-property)
17895         (tramp-set-file-property, tramp-flush-file-property)
17896         (tramp-get-connection-property, tramp-set-connection-property)
17897         (tramp-flush-connection-property): Remove hop from vector.
17898         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
17899         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
17900         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
17901         netstat to 60".
17902         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
17903         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
17904         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
17905         Keep hop in result.
17906         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
17907         Add hop tests.
17909 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
17911         Resurrect highlighting of repeated words by Flyspell Mode
17912         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
17913         characters between point and the doublon candidate, so that
17914         flyspell-word-search-backward finds it.  (Bug#21157)
17916         Fix redisplay of large images on expose events
17917         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
17918         between signed negative values and unsigned values.  This
17919         prevented redisplay on expose events when the window showed a very
17920         large image.
17922 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
17924         Remove unnecessary stack overflow dependency
17925         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
17926         Don't worry about $ac_cv_header_sys_resource_h and
17927         $ac_cv_func_getrlimit, as they're no longer needed for this.
17928         Problem reported by Eli Zaretskii in:
17929         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
17931 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
17933         Pacify compilation -Wincompatible-pointer-types warnings
17934         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
17935         warning.
17936         (CompareStringW_Proc): New typedef.
17937         (w32_compare_strings): Use it, to pacify compiler warnings under
17938         "-Wincompatible-pointer-types".
17939         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
17940         (GetDiskFreeSpaceExA_Proc): New typedefs.
17941         (Ffile_system_info): Use them, to pacify compiler warnings under
17942         "-Wincompatible-pointer-types".
17944 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
17946         Fix subscript error in calculate_direct_scrolling
17947         Use slightly-longer cost vectors.  Without this change,
17948         calculate_direct_scrolling can have a subscript violation when
17949         FRAME_LINES (frame) <= delta.
17950         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
17951         (line_ins_del, do_line_insertion_deletion_costs):
17952         Allocate and use slightly-larger cost vectors, ones based on
17953         FRAME_TOTAL_LINES instead of FRAME_LINES.
17955         Fix uninitalized value in encode_coding_object
17956         * src/coding.c (encode_coding_object): Also initialize
17957         coding->src_pos and coding->src_pos_byte when NILP (src_object).
17958         This avoids later use of uninitialized storage.
17960 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
17962         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
17963         (Bug#21141)
17965 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
17967         Merge from gnulib
17968         This incorporates:
17969         2015-07-27 time_rz: port better to MinGW
17970         2015-07-27 time: port __need_time_t to MinGW
17971         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
17972         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
17973         * lib/time-internal.h: New file, from gnulib.
17975 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
17977         Handle NULL pointers in w32heap.c allocation routines
17978         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
17979         freeable".
17980         (realloc_after_dump, realloc_before_dump, free_before_dump):
17981         Handle NULL pointers gracefully, as Emacs now seems to expect that.
17983         Fix Cairo build without PNG
17984         * src/image.c: Define PNG function when USE_CAIRO is defined, even
17985         if HAVE_PNG is not.  (Bug#21133)
17987         MS-Windows follow-up for recent TZ-related changes
17988         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
17989         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
17990         picking up 'struct timespec' from pthread.h, if it is installed on
17991         the user's system.  We want either the definitions from MinGW
17992         system headers, if available, or the Gnulib replacements if not.
17993         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
17994         lib/time.h.
17995         * lib/time.in.h: Don't let __need_* symbols affect what happens on
17996         MinGW.  These symbols are defined by MinGW system headers, but we
17997         don't want that to affect whether Gnulib portions of the header
17998         are or aren't used.
18000 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
18002         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
18004         New optional ZONE arg for format-time-string etc.
18005         This simplifies time conversions in other time zones.
18006         It also prevents display-time-world tampering with TZ (Bug#21020).
18007         * admin/admin.el (add-release-logs):
18008         Use improved add-log-time-format API.
18009         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
18010         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
18011         * configure.ac (tzalloc): Remove test for this, since
18012         Emacs no longer uses HAVE_TZALLOC directly.
18013         * doc/lispref/os.texi (Time of Day, Time Conversion)
18014         (Time Parsing):
18015         * etc/NEWS: Document the new behavior.
18016         Merge from gnulib, incorporating:
18017         2015-07-25 strftime: fix newly-introduced bug on Solaris
18018         2015-07-23 fprintftime, strftime: use timezone_t args
18019         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
18020         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
18021         * m4/time_h.m4:
18022         Update from gnulib.
18023         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
18024         New files from gnulib.
18025         * lisp/time-stamp.el (time-stamp-string):
18026         * lisp/time.el (display-time-world-list)
18027         (display-time-world-display):
18028         Use new API, with time zone arg.
18029         * lisp/time.el (display-time-world-display):
18030         Fix race when current-time advances while we're running.
18031         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
18032         (add-log-iso8601-time-string): Accept optional time zone arg.
18033         * lisp/vc/add-log.el (add-change-log-entry):
18034         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
18035         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
18036         Add rules for the time module, since they're now needed
18037         for tzalloc etc.
18038         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
18039         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
18040         * src/editfns.c: Include errno.h.
18041         (set_time_zone_rule): Omit unnecessary forward decl.
18042         (initial_tz): Remove, replacing with ...
18043         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
18044         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
18045         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
18046         (tzlookup): New static functions.
18047         (init_editfns): New arg DUMPING.  All uses changed.
18048         (init_editfns): Omit most initialization if dumping, not if
18049         !initialized.  Initialize wall_clock_tz and local_tz.
18050         (emacs_nmemftime, format_time_string): Time zone argument can now
18051         be any time zone, not just a boolean for UTC or local time.  All
18052         callers changed.
18053         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
18054         (Fcurrent_time_zone): New optional arg ZONE.
18055         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
18056         the same form as with the other new additions.
18057         (decode_time_zone): Remove; no longer needed.
18058         (tzvalbuf): Now file-scope.
18059         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
18060         (syms_of_editfns): Define Qwall.
18061         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
18062         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
18063         [!HAVE_TZALLOC]:
18064         Remove; now supplied by gnulib.
18065         * src/emacs.c (main):
18066         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
18068 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
18070         Fix infinite loop in delete-consecutive-dups
18071         * lisp/subr.el (delete-consecutive-dups): Work even if the last
18072         element is nil (Bug#20588).  Avoid rescan of a circular list in
18073         deletion of last element.
18075 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
18077         Have `x-frame-geometry' return nil for terminal and initial
18078         frames (Bug#21132)
18079         * src/nsfns.m (Fx_frame_geometry):
18080         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
18081         terminal frames.
18082         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
18083         (Fx_frame_geometry): Return nil for terminal frames
18085 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
18087         * etc/tutorials/TUTORIAL.ja: Improve translation.
18089 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
18091         Avoid crashes when w32 GUI functions are called in -batch
18092         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
18093         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
18094         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
18096         Fix flyspell-check-previous-highlighted-word
18097         * lisp/textmodes/flyspell.el
18098         (flyspell-check-previous-highlighted-word): Really accept a
18099         numeric argument, as the doc string describes.  Fix an off-by-one
18100         error in looking up overlays, so invocation with point immediately
18101         after a word would check that word.  Clarify the doc string as
18102         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
18104 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
18106         Minor cleanup in tramp-tests.el
18107         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
18108         Implement using the documented interface
18109         `tramp-connection-properties', rather than with internal functions.
18111 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
18113         Pass lambdas to `skeleton-read'
18114         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
18115         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
18116         lambdas to `skeleton-read' (bug#20386).
18118 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
18120         * INSTALL (DETAILED BUILDING AND INSTALLATION):
18121         Mention --without-imagemagick.
18123         Don't require GUI frames and mouse for Flyspell menus
18124         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
18125         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
18126         support, since pop-up menus work with text terminals and can be
18127         controlled via the keyboard.
18129         Improve documentation of Flyspell commands
18130         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
18131         can be invoked via the keyboard.  Mention those commands by name
18132         and add them to the fn index.  (Bug#21125)
18134 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
18136         Fix some Tramp problems with HP-UX
18137         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
18138         Add "tab0" to stty call.
18139         * test/automated/tramp-tests.el (tramp-persistency-file-name):
18140         Set to nil.
18141         (tramp--test-hpux-p): New defun.
18142         (tramp--test-utf8): Use it.
18144 2015-07-22  Glenn Morris  <rgm@gnu.org>
18146         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
18148 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
18150         Fix point positioning in ffap-next-guess
18151         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
18152         as our callers expect.  This was clobbered as part of fixing
18153         bug#5673.  (Bug#21107)
18154         (ffap-gopher-at-point): Set ffap-string-at-point-region.
18156 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
18158         * lisp/window.el (even-window-sizes): Fix customization type.
18160         Optionally even widths of `display-buffer' windows.  (Bug#21100)
18161         * lisp/window.el (quit-restore-window): Restore width if
18162         requested.
18163         (display-buffer-record-window): Record width when window is
18164         reused and horizontally combined.
18165         (even-window-sizes): New option to allow evening window widths.
18166         (even-window-heights): Defalias to `even-window-sizes'.
18167         (window--even-window-heights): Rename to
18168         `window--even-window-sizes'.  Handle side-by-side windows.
18169         (display-buffer-use-some-window): Call `window--even-window-sizes'
18170         instead of `window--even-window-heights'.
18171         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
18172         * doc/lispref/windows.texi (Choosing Window Options): Describe
18173         `even-window-sizes'.
18174         (Coordinates and Windows): Fix typo.
18176 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
18178         Add file name to autoload error messages
18179         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
18180         Add condition-case to add file name to error message.
18182 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
18184         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
18185         Use 0.0.0.1 as test host.
18187 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
18189         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
18190         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
18191         Fix inf-loop (bug#21083).
18193 2015-07-21  Glenn Morris  <rgm@gnu.org>
18195         * test/automated/package-test.el (package-test-signed):
18196         Update for recent changes.
18198         * test/automated/elisp-mode-tests.el
18199         (elisp-xref-finds-both-function-and-variable)
18200         (elisp-xref-finds-only-function-for-minor-mode):
18201         Update for recent xref name changes.
18203 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
18205         Make eldoc timer non-repeatable
18206         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
18207         non-repeatable.  Since it's on post-command hook, that just wasted
18208         CPU cycles.
18210 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
18212         Mention `tramp-connection-properties' in NEWS
18214         Sync with Tramp repository
18215         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
18216         required prior changing its configuration.
18217         (Connection caching, Predefined connection information)
18218         (Remote shell setup): Fix typos.
18219         (Predefined connection information): Describe, how to overwrite
18220         parameters of `tramp-methods'.
18221         (Remote programs, Remote processes, Traces and Profiles):
18222         Simplify example.
18223         (Remote programs): Remove superfluous comment.
18224         * doc/misc/trampver.texi: Update release number.
18225         * lisp/net/tramp-cache.el (tramp-connection-properties):
18226         Adapt docstring.
18227         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
18228         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
18229         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
18230         "gvfs-mkdir -p ..." does not work robust.
18231         (tramp-gvfs-maybe-open-connection):
18232         Adapt `tramp-get-method-parameter' call.
18233         * lisp/net/tramp-sh.el (tramp-methods):
18234         Add `tramp-remote-shell-login' parameter where it fits.
18235         (tramp-get-remote-path): Use it.
18236         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
18237         (all): Adapt `tramp-get-method-parameter' calls.
18238         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
18239         (tramp-get-method-parameter): Replace argument METHOD by VEC.
18240         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
18241         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
18242         (all): Adapt `tramp-get-method-parameter' calls.
18243         * lisp/net/trampver.el Update release number.
18244         * test/automated/tramp-tests.el (tramp--instrument-test-case):
18245         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
18246         (tramp-test13-make-directory, tramp--test-adb-p)
18247         (tramp--test-smb-or-windows-nt-p): Simplify.
18248         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
18249         (tramp--test-special-characters): Fix docstring.  Add gvfs and
18250         ftp tests.
18251         (tramp--test-utf8): Fix docstring.
18253 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
18255         Add new xref-query-replace command
18256         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
18257         New function, extracted from xref-pulse-momentarily.
18258         (xref-query-replace): New command.
18259         (xref--query-replace-1): New helper function.
18260         (xref--xref-buffer-mode-map): Add `r' binding.
18262 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
18264         Simplify icalendar decoding of Z dates
18265         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
18266         Simplify calculation of time strings with trailing "Z".
18268 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
18270         Do not corrupt grep-find-ignored-files
18271         * lisp/progmodes/project.el (project-ignores): Change the order of
18272         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
18274         Add xref-match-item, and use it
18275         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
18276         (xref-file-location): Add reader for the column slot.
18277         (xref-match-item): New class.
18278         (xref-match-bounds): A method implementation for it.
18279         (xref-make-match): New constructor function.
18280         (xref--current-item): New private variable.
18281         (xref-pulse-momentarily): Use it.
18282         (xref--pop-to-location): Change the first argument to an xref
18283         item, instead of location, bind xref--current-item.
18284         Update all callers.
18285         (xref-next-line, xref-prev-line, xref--next-error-function)
18286         (xref--mouse-2): Look for the property `xref-item',
18287         instead of `xref-location'.
18288         (xref--item-at-point): Likewise.  This function replaces
18289         `xref-location-at-point'.  Update all callers.
18290         (xref--insert-xrefs): Add the `xref-item' text property, instead
18291         of `xref-location'.
18292         (xref--collect-match): Use xref-make-match.
18294         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
18295         Update all references.
18297         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
18298         slot to `summary'.
18300         vc-hg: Perform the print-log call asynchronously
18301         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
18302         asynchronously (bug#21067).
18304         Add xref-after-jump-hook and xref-after-return-hook
18305         * lisp/progmodes/xref.el (xref-after-jump-hook)
18306         (xref-after-return-hook): New hooks.
18307         (xref-pulse-on-jump): Remove, in favor of the above.
18308         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
18309         (xref--pop-to-location, xref--display-position)
18310         (xref-pop-marker-stack): Use the new hooks, as requested in
18311         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
18313 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
18315         * lisp/progmodes/js.el (js-mode): Correct the lighter.
18317 2015-07-19  Leo Liu  <sdl.web@gmail.com>
18319         Fix a bug in cfengine3-mode
18320         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
18321         eldoc-documentation-function.
18323 2015-07-18  Julien Danjou  <julien@danjou.info>
18325         sieve-mode: support "body" test command
18326         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
18327         Add missing "body" test command.
18329 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
18331         Fix info-apropos when the default encoding is Latin-N
18332         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
18333         'undecided', so that it is set to the encoding of the Info file we
18334         are about to insert.  Otherwise, 'info-apropos' will fail to find
18335         some index nodes in some UTF-8 encoded files, if the buffer's
18336         previous encoding is Latin-N or some such.
18338 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
18340         * lisp/epg.el (epg--start): Check that gpgconf can be found
18341         before calling it.
18343         Expose more file types to OS X that Emacs understands
18344         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
18345         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
18347 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
18349         Fix visual-order cursor movement when lines are truncated
18350         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
18351         simulate display in a window of infinite width, to allow move_it_*
18352         functions reach positions outside of normal window dimensions.
18353         Remove code that tried to handle a subset of these situations by
18354         manual iteration of buffer text.  (Bug#17777)
18356         Fix following Info cross-references to anchors
18357         * lisp/info.el (Info-read-subfile): Add to the returned value the
18358         length of subfile preamble, after converting it to file's byte
18359         offset, as expected by the caller.  Use bufferpos-to-filepos.
18360         (Info-find-node-2): If searching for a node with a
18361         1000-character slop fails, try again with a 10000-character slop,
18362         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
18363         * lisp/international/mule-util.el (bufferpos-to-filepos): New
18364         function.
18365         * etc/NEWS: Mention bufferpos-to-filepos.
18367         Fix scrolling backwards on TTY frames under scroll-conservatively
18368         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
18369         in moving backwards on TTY frames.  (Bug#21080)
18371 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
18373         Consider a jsdoc tag to be a beginning of a paragraph as well
18374         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
18375         consider a jsdoc tag to be a beginning of a paragraph as well.
18377 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
18379         * lisp/emacs-lisp/package.el: Fix warnings.
18381         * lisp/emacs-lisp/package.el (package-buffer-info):
18382         Add author and maintainers to `package-buffer-info'.
18384         * lisp/emacs-lisp/package.el: Many small changes.
18385         Replace all instances of 'face with 'font-lock-face.
18386         (describe-package-1): Improve some strings and move the summary
18387         up the list.
18388         (package-install-file): Update docstring.
18389         (package-menu-hide-package): Bind to `H'.
18391         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
18392         Fix error handling.
18394 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18396         Fix hang with large yanks This should fix the bug fixed by Mike
18397         Crowe's patch in:
18398         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
18399         A problem in this area has been reported by several users; see
18400         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
18401         This fix differs from Mike Crowe's patch in that it should avoid a
18402         race condition that could lose SIGIO signals.  ignore_sigio dates
18403         back to the 1980s when some platforms couldn't block signals, and
18404         could only ignore them, which led to races when signals arrived
18405         while being ignored.  We shouldn't have to worry about those old
18406         platforms now.
18407         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
18408         * src/emacs.c (shut_down_emacs):
18409         Don't call ignore_sigio; unrequest_sigio should suffice.
18410         * src/keyboard.c (kbd_buffer_store_buffered_event):
18411         Use unrequest_sigio, not ignore_sigio.
18412         (kbd_buffer_get_event):
18413         Call request_sigio when getting the ball rolling again.
18415 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
18417         * lisp/obsolete/longlines.el (longlines-search-function):
18418         Fallback on `isearch-search-fun-default'.
18420 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
18422         Support @-mentions
18423         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
18424         of mentions/messages with @nick instead of just nick.
18426 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
18428         Fix bug#20943
18429         * lisp/autorevert.el (auto-revert-handler): Do not check for
18430         `buffer-modified-p'.
18431         * lisp/files.el (buffer-stale--default-function): Check for
18432         `buffer-modified-p'.
18433         * test/automated/auto-revert-tests.el
18434         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
18436 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
18438         Fix delete-dups bug on long lists
18439         * lisp/subr.el (delete-dups):
18440         Don't mistakenly keep some dups when applied to long lists.
18442 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
18444         Better heuristic for C stack overflow
18445         Improve the heuristic for distinguishing stack overflows from
18446         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
18447         the getrlimit method wasn't portable to Cygwin; see:
18448         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
18449         Corinna suggested pthread_getattr_np but this also has problems.
18450         Instead, replace the low-level system stuff with a simple
18451         heuristic based on known good stack addresses.
18452         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
18453         * src/sysdep.c: Don't include <sys/resource.h>.
18454         (stack_direction): Remove.  All uses removed.
18455         (stack_overflow): New function.
18456         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
18457         Make SEGV fatal in non-main threads.
18459 2015-07-16  Daiki Ueno  <ueno@gnu.org>
18461         epg: Automatically start pinentry server
18462         * lisp/epg-config.el (epg-gpgconf-program): New variable.
18463         * lisp/epg.el (epg--start): Call `pinentry-start' if
18464         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
18466 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
18468         * lisp/gnus/nnimap.el: Fix my last bogus change.
18469         Reinstall Stefan Monnier's change that was made in
18470         <83d824bc4041332f338ad7e5e830f443535aa300>.
18472 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18474         Merge from gnulib
18475         This incorporates:
18476         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
18477         2015-07-05 acl-permissions: Fix on FreeBSD
18478         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
18479         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
18480         * lib/set-permissions.c: Copy from gnulib.
18482         Port to stricter C99
18483         * src/keyboard.h (kbd_buffer_store_event_hold):
18484         Don't return a void expression.
18486 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
18488         * doc/emacs/frames.texi (Creating Frames):
18489         Fix the command `C-x 5 m' runs.
18491 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
18493         New autorevert tests
18494         * test/automated/auto-revert-tests.el: New file.
18496 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
18498         Clear gcprolist etc. after stack overflow
18499         After stack overflow, command_loop calls init_eval, and this needs to
18500         clear gcprolist and byte_stack_list (Bug#20996).
18501         * src/alloc.c (init_alloc):
18502         Move gcprolist and byte_stack_list initialization from here ...
18503         * src/eval.c (init_eval): ... to here.
18505 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
18507         * doc/emacs/windows.texi (Pop Up Window): Fix the description
18508         of `C-x 4 m'.
18510 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
18512         Avoid deprecated enums in mac-ct font backend driver
18513         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
18514         (mac_ctfont_get_advance_width_for_glyph)
18515         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
18517         Cache font family in mac-ct font backend driver
18518         * src/macfont.m (macfont_family_cache): New variable.
18519         (syms_of_macfont): Initialize it.
18520         (macfont_available_families_cache): New variable.
18521         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
18522         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
18523         (macfont_handle_font_change_notification)
18524         (macfont_init_font_change_handler)
18525         (macfont_copy_available_families_cache): New functions.
18526         (macfont_create_family_with_symbol): Use font family caches.
18527         (macfont_list, macfont_list_family):
18528         Use macfont_copy_available_families_cache instead of
18529         mac_font_create_available_families.
18531 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
18533         Show the default value in the prompt
18534         * lisp/progmodes/xref.el: Add `M-?' binding for
18535         xref-find-references.  Declare functions `grep-read-files' and
18536         `grep-expand-template'.
18537         (xref--read-identifier): Show the default value in the prompt.
18539         * lisp/progmodes/xref.el (xref-find-regexp): When called with
18540         prefix argument, ask for file patterns to search as well.  When
18541         prompting for the directory, require an existing one.
18542         (xref-collect-matches): Add a new argument, FILES.  Use it in the
18543         above function.
18545         Add `project-ignores'
18546         * lisp/progmodes/project.el (project-ignores): New generic
18547         function, and an implementation for the VC project type.
18548         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
18549         variant of rgrep-default-command that handles a generic list of
18550         ignores.
18551         (xref-collect-matches): Use it, and pass through to it the value
18552         of the newly added argument.
18553         (xref-find-regexp): Handle ignored paths within the project.
18554         Remove outdated comment.
18555         * lisp/vc/vc.el (vc-default-ignore-completion-table):
18556         Skip the comments and the empty lines.
18558 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
18560         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
18562 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
18564         gnus-registry.el: Correct function argument order
18565         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
18566         Reverse the order of function arguments.
18568 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
18570         Bind grep-highlight-matches to nil
18571         * lisp/progmodes/xref.el (xref-collect-matches):
18572         Bind grep-highlight-matches to nil (bug#20728).
18574 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
18576         nnimap.el: Fix IMAP message size parsing
18577         * lisp/gnus/nnimap.el (nnimap-transform-headers):
18578         Don't assume that UID comes before RFC822.SIZE.
18580 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
18582         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
18583         (auth-source-creation-prompts): Declare.
18584         (nnimap-retrieve-headers, nnimap-status-message)
18585         (nnimap-request-create-group, nnimap-request-delete-group)
18586         (nnimap-close-group, nnimap-request-move-article)
18587         (nnimap-request-accept-article, nnimap-request-newgroups)
18588         (nnimap-request-post, nnimap-dummy-active-number)
18589         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
18590         (nnimap-parse-flags): Remove unused var `p'.
18591         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
18592         (nnimap-flags-to-marks): Remove unused var `totalp'.
18594 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
18596         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
18598 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
18600         * src/macfont.m (macfont_list): Ignore font families lacking
18601         font descriptors.
18603 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
18605         Don't check the exit status, it can be misleading
18606         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
18607         exit status, it can be misleading.
18609         Introduce a Project API
18610         * lisp/progmodes/project.el: New file.
18611         * lisp/cedet/ede.el (project-try-ede): New function.
18612         (project-root): New implementation.
18613         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
18614         Set project-search-path-function.
18615         (elisp--xref-find-references): Delegate some logic to
18616         project-search-path.
18617         (elisp-search-path): New function.
18618         (elisp-xref-find): Don't implement `matches' anymore.
18619         * lisp/progmodes/etags.el: Don't implement `matches'.
18620         Delegate some logic to project-search-path.
18621         (etags-search-path): New function.
18622         * lisp/progmodes/xref.el (xref-find-function):
18623         Remove `matches' from the API.
18624         (xref-find-regexp): Move whatever common logic was in elisp and
18625         etags implementations, and search the directories returned by
18626         project-directories and project-search-path.
18628 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
18630         * test/automated/map-tests.el (test-map-delete-return-value):
18631         Uncomment test.
18633         Add support for gv.el in map.el
18634         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
18635         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
18636         * test/automated/map-tests.el: Update tests to work with the new
18637         implementations of map-elt and map-put.
18639 2015-07-09  Glenn Morris  <rgm@gnu.org>
18641         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
18643 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
18645         Syntax-propertize until the end of the line first
18646         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
18647         until the end of the line first.
18649 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
18651         * doc/emacs/files.texi (File Archives): Add a cross reference.
18653 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
18655         nnimap.el: Handle plain value for nnimap-stream
18656         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
18657         capabilities, so that a 'plain value for the `nnimap-stream' server
18658         variable is handled correctly.
18659         * doc/misc/gnus.texi (Customizing the IMAP Connection):
18660         Document the 'plain option.
18662 2015-07-08  Leo Liu  <sdl.web@gmail.com>
18664         Fix bug in thing-at-point--bounds-of-well-formed-url
18665         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
18666         sure boundary contains current point.
18668 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
18670         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
18671         in the end.
18673         Declare whitespace-line-column a safe file-local
18674         * lisp/whitespace.el (whitespace-line-column): Declare to be a
18675         safe file-local when the value is an integer.
18677 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
18679         gnus-group.el: Check if group names are already strings
18680         * lisp/gnus/gnus-group.el (gnus-group-group-name):
18681         The group name may already be a string.
18682         Specifically, in the group list reached from the *Server* buffer,
18683         the 'gnus-group text property returns a string.  Everywhere else
18684         it returns a symbol.
18686         nnimap.el: Remove unused let variables
18687         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
18689 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
18691         Support "maximized" property of runemacs's shortcut
18692         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
18693         the '--maximized' switch to Emacs.
18695         Support "minimized" property of runemacs's shortcut
18696         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
18697         pass the '--iconic' switch to Emacs.  (Bug#20991)
18699 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
18701         Doc fixes
18702         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
18703         C-w' in Diff mode.
18704         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
18705         Add a cross reference.
18707 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
18709         * lisp/obsolete/landmark.el: Add Obsolete-since header.
18711 2015-07-07  Glenn Morris  <rgm@gnu.org>
18713         * test/automated/ert-tests.el (ert-test-deftest):
18714         Update for recent changes.
18716 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
18718         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
18719         * lisp/emacs-lisp/gv.el (gv-setter): New function.
18720         (gv-invalid-place): New error.
18721         (gv-get): Use them.
18722         (gv-synthetic-place, gv-delay-error): New places.
18723         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
18724         (cl-defgeneric, cl-defmethod): Use gv-setter.
18726 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
18728         Make vc-tests work with MSYS svn program
18729         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
18730         svn is an MSYS program.
18732 2015-07-07  Ken Brown  <kbrown@cornell.edu>
18734         Improve recent change to emacsclient on Cygwin
18735         * lisp/server.el (server-process-filter): Remove redundant check
18736         that 'cygwin-convert-file-name-from-windows' is defined as a
18737         function on Cygwin.  Don't call that function unless its argument
18738         starts with a drive letter.
18740 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
18742         * lisp/emacs-lisp/package.el (package-compute-transaction):
18743         Fix void variable due to `found-something' being in the wrong `let'.
18745 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
18747         * lisp/play/landmark.el: Move to lisp/obsolete/.
18749 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
18751         Have `x-show-tip' handle `right' and `bottom' frame parameters
18752         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
18753         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
18754         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
18755         tooltips also via `right' and `bottom' frame parameters.
18757 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
18759         Add online-help support to describe types
18760         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
18761         (describe-symbol): Improve the selection of default.
18762         * lisp/help-mode.el: Require cl-lib.
18763         (describe-symbol-backends): Move from help-fns.el.
18764         (help-make-xrefs): Use it.
18765         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
18766         for types.
18767         (cl--typedef-regexp): New const.
18768         (find-function-regexp-alist): Add entry for types.
18769         (cl-help-type, cl-type-definition): New buttons.
18770         (cl-find-class): New function.
18771         (cl-describe-type): New command.
18772         (cl--describe-class, cl--describe-class-slot)
18773         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
18774         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
18775         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
18776         New functions.  Moved from eieio-opt.el.
18777         (cl--generic-class-parents): New function, extracted from
18778         cl--generic-struct-specializers.
18779         (cl--generic-struct-specializers): Use it.
18780         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
18781         Improve constructor's docstrings.
18782         (cl-struct-unknown-slot): New error.
18783         (cl-struct-slot-offset): Use it.
18784         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
18785         definition in current-load-list.
18786         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
18787         (eieio--add-new-slot): Set it.
18788         (eieio-defclass-internal): Use new name for current-load-list.
18789         (eieio-oref): Add compiler-macro to warn about unknown slots.
18790         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
18791         as compile-time as well.  Improve constructor docstrings.
18792         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
18793         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
18794         (eieio-class-def): Remove button.
18795         (eieio-help-constructor): Use new name for load-history element.
18796         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
18797         (eieio-method-documentation): Move to cl-generic.el.
18798         (eieio-display-method-list): Use new names.
18799         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
18800         Add "define-linline".
18801         (lisp-fdefs): Remove "defsubst".
18802         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
18803         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
18804         (macroexp--warn-and-return): Use it to avoid inf-loops.
18805         Add `compile-only' argument.
18807 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18809         python.el: Fix local/remote shell environment setup
18810         * lisp/progmodes/python.el (python-shell-with-environment):
18811         Fix remote/local environment setup.
18812         * test/automated/python-tests.el (python-shell-with-environment-1)
18813         (python-shell-with-environment-2): New tests.
18815 2015-07-06  Glenn Morris  <rgm@gnu.org>
18817         * lisp/simple.el (set-variable): Tweak recent doc fix.
18819 2015-07-06  Ken Brown  <kbrown@cornell.edu>
18821         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
18823 2015-07-06  Glenn Morris  <rgm@gnu.org>
18825         * lisp/simple.el (set-variable): Use user-error for type mismatch.
18827 2015-07-06  Ken Brown  <kbrown@cornell.edu>
18829         * src/emacs.c (main): Don't increase the stack size on Cygwin.
18831 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
18833         (describe-symbol): Rewrite describe-function-or-variable
18834         * lisp/help-fns.el (describe-symbol-backends): New var.
18835         (help-xref-stack-item): Declare.
18836         (describe-symbol): Rename from describe-function-or-variable.
18837         Rewrite using describe-symbol-backends instead of help-xref-interned.
18838         * lisp/help.el (help-map): Use it.
18839         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
18840         (help-xref-interned): Make it into an obsolete alias.
18842         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
18843         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
18844         and cl-letf.
18846 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
18848         Fix parsing glitches in dired-mark-sexp (bug#13575)
18849         * lisp/dired-x.el (dired-x--string-to-number): New function.
18850         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
18851         of directory-listing-before-filename-regexp.  Consider
18852         forward-word harmful and replace it.  Add more verbiage in
18853         comments and doc string.
18855 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
18857         python.el: Respect process environment for remote shells
18858         * lisp/progmodes/python.el
18859         (python-shell-calculate-process-environment): Calculate
18860         process-environment or tramp-remote-process-environment depending
18861         whether current file is remote.
18862         (python-shell-calculate-exec-path): Calculate exec-path or
18863         tramp-remote-path depending whether current file is remote.
18864         (python-shell-with-environment): New macro.
18865         (python-shell-prompt-detect, python-shell-calculate-command)
18866         (python-shell-make-comint, python-check): Use it.
18868         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
18869         * lisp/progmodes/python.el (python-shell--interpreter)
18870         (python-shell--interpreter-args): New vars.
18871         (inferior-python-mode, python-shell-make-comint): Use them.
18873         python.el: Fixes for IPython 3.x  (Bug#20580)
18874         * lisp/progmodes/python.el:
18875         (python-shell-completion-native-setup): Fix IPython 3.x setup.
18876         (python-shell-completion-native-get-completions): Fix timeout
18877         logic.
18879         python.el: Fix mark-defun behavior  (Bug#19665)
18880         * lisp/progmodes/python.el (python-mark-defun): New function.
18881         * test/automated/python-tests.el (python-mark-defun-1)
18882         (python-mark-defun-2, python-mark-defun-3): New tests.
18884 2015-07-05  Glenn Morris  <rgm@gnu.org>
18886         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
18887         such as "extends(parent), private".  (Bug#20969)
18888         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
18889         New tests.
18891 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18893         Avoid duplicate calls to current_timespec
18894         * src/process.c (wait_reading_process_output):
18895         Cache current_timespec results as long as we're not waiting.
18897 2015-07-05  Ian Kelling  <ian@iankelling.org>
18899         Avoid returning early reading process output due to SIGIO
18900         * src/process.c (wait_reading_process_output): Extend the behavior of
18901         not breaking due to not finding output when a timer has lowered the
18902         timeout to include when SIGIO lowers the timeout.
18904         Don't return as fast reading any process output
18905         * src/process.c (wait_reading_process_output):
18906         The patch for Bug#17647 returns too fast sometimes when reading
18907         from any processes.  Revert part of it, and limit the timeout more
18908         sensibly (Bug#20978).
18910         Refactor timeouts in wait_reading_process_output
18911         * src/process.c (wait_reading_process_output):
18912         Simplify timeouts with an enum.  Remove a redundant condition.
18913         (Bug#20978)
18915         Remove ADAPTIVE_READ_BUFFERING ifdef
18916         * src/process.c (make-process, make-pipe-process, deactivate_process)
18917         (wait_reading_process_output, read_process_output, send_process)
18918         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
18919         added in case there was an operating system in which it was not
18920         useful.  That was 11 years ago and it hasn't happened.  Make
18921         development easier by not considering the effect of changes on a
18922         theoretical OS where this is disabled (Bug#20978).
18924 2015-07-05  Glenn Morris  <rgm@gnu.org>
18926         * lisp/simple.el (set-variable): Doc fix.
18928         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
18930 2015-07-05  Ian Kelling  <ian@iankelling.org>
18932         accept-process-output fix
18933         This is a followon to the fix for bug#17647 (Bug#20976).
18934         * src/process.c (status_notify): Fix too high return in some cases.
18936 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
18938         * lisp/character-fold.el (character-fold-table):
18939         Only fold decompositions if at least one character is non-spacing.
18940         (Bug#20975)
18942 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18944         Merge from gnulib
18945         This incorporates:
18946         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
18947         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
18948         2015-07-02 update-copyright: fix test failure with perl >= 5.22
18949         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
18950         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
18951         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
18952         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
18954 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
18956         Respect `prog-indentation-context' in python.el
18957         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
18958         (python-indent-context, python-indent--calculate-indentation)
18959         (python-info-current-defun)
18960         (python-info-dedenter-opening-block-message)
18961         (python-info-line-ends-backslash-p)
18962         (python-info-beginning-of-backslash)
18963         (python-info-continuation-line-p): Use `prog-widen'.
18964         (python-indent--calculate-indentation)
18965         (python-indent--calculate-levels)
18966         (python-indent-calculate-indentation): Use `prog-first-column'.
18967         (python-indent--calculate-levels): Simplify.
18968         Ignore also initial empty lines for syntax calculation.
18969         * lisp/progmodes/python.el (python-indent-context): Return
18970         :no-indent for first non-empty line, not just in line 1.
18971         * test/automated/python-tests.el (python-indent-base-case)
18972         (python-indent-inside-paren-1, python-indent-inside-paren-2)
18973         (python-indent-inside-paren-3, python-indent-inside-paren-4)
18974         (python-indent-inside-paren-5, python-indent-inside-paren-6)
18975         (python-indent-after-backslash-1)
18976         (python-indent-after-backslash-2)
18977         (python-indent-after-backslash-3)
18978         (python-indent-after-backslash-4, python-indent-inside-string-1):
18979         Expect :no-indent for first non-empty line.
18981 2015-07-04  Daniel Colascione  <dancol@dancol.org>
18983         Factor isearch word description into new function
18984         * lisp/isearch.el (isearch--describe-word-mode): New function.
18985         (isearch-message-prefix, isearch-query-replace): Use it.
18987 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
18989         Fix mouse pointer on w32 when a menu is active
18990         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
18991         shape while a menu is in use.  This started happening since we now
18992         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
18994 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
18996         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
18997         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
18998         parameter.  (Bug#17344)
19000         Have `compilation-set-window' use right window for getting fringes
19001         (Bug#20829)
19002         * lisp/progmodes/compile.el (compilation-set-window):
19003         Take `window-fringes' from argument window.
19005 2015-07-03  Glenn Morris  <rgm@gnu.org>
19007         Update eieio tests for recent eieio-core change.
19008         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
19009         * test/automated/eieio-tests.el
19010         (eieio-test-32-slot-attribute-override-2):
19011         Replace the deleted eieio--class-v with cl--find-class.
19013 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
19015         Fix some issues with `window-divider-mode'
19016         * lisp/frame.el (window-divider-default-places): New option.
19017         (window-divider-mode): Remove option.
19018         (window-divider-mode): Make it a "regular" minor mode.
19019         (window-divider-width-valid-p): Drop frame- prefix.
19020         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
19021         prefix.  Handle `window-divider-default-places'.
19022         (frame--window-divider-mode-set-and-apply): Remove.
19023         (window-divider-default-bottom-width)
19024         (window-divider-default-right-width): Drop :group entries.
19025         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
19026         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
19027         (menu-bar-no-window-divider): Set `window-divider-default-places'
19028         and call `window-divider-mode'.
19029         * doc/emacs/frames.texi (Window Dividers): Document
19030         `window-divider-default-places'.
19032 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
19034         * doc/emacs/display.texi (Displaying Boundaries):
19035         * doc/emacs/search.texi (Word Search): Add cross references.
19037 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19039         -batch should not affect ‘’ -> `' display
19040         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
19041         -batch (Bug#20926).
19043 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
19045         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
19046         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
19047         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
19048         Use cl--find-class instead.
19050         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
19052 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
19054         Some further fixes in Change Window node (Bug#20183)
19055         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
19056         by "resizing" in section title.  Add some concept indices.
19057         Suggested by N. Jackson (Bug#20183).
19059         * doc/emacs/windows.texi (Change Window): Reference window
19060         dividers.
19062         Document new `window-divider-mode'.
19063         * lisp/frame.el (window-divider-mode): Fix doc-string.
19064         * doc/emacs/frames.texi (Window Dividers): New section.
19066         Improve accessibility of window dividers (Bug#20183)
19067         * lisp/faces.el (window-divider)
19068         (window-divider-first-pixel, window-divider-last-pixel): Change
19069         membership from `frames' to `window-divider' customization group.
19070         * lisp/frame.el (window-divider): New customization group.
19071         (window-divider-mode): New minor mode.
19072         (window-divider-default-bottom-width)
19073         (window-divider-default-right-width): New options.
19074         (frame--window-divider-previous-mode): New variable.
19075         (frame-window-divider-width-valid-p)
19076         (frame--window-divider-mode-apply)
19077         (frame--window-divider-mode-set-and-apply): New functions.
19078         * lisp/menu-bar.el (menu-bar-options-save): Save
19079         window-divider-mode settings.
19080         (menu-bar-window-divider-customize)
19081         (menu-bar-bottom-and-right-window-divider)
19082         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
19083         (menu-bar-no-window-divider): New functions.
19084         (menu-bar-showhide-window-divider-menu): New variable.
19085         (menu-bar-showhide-menu): Show/hide window divider menu.
19086         * lisp/mouse.el (mouse-split-window-vertically)
19087         (mouse-split-window-horizontally): Replace `error' by
19088         `user-error'.  Bind `window-combination-resize' to nil.
19089         (top-level): Add/reorder mouse key bindings on mode- and
19090         vertical-line.
19092 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
19094         Don't display ‘’ as `' under X in en_GB
19095         The curved quote setup code invokes (char-displayable-p ?‘),
19096         but this isn’t reliable until after the X frame replaces the
19097         terminal frame (Bug#20926).
19098         * lisp/international/mule-cmds.el (set-locale-environment):
19099         Move curved quote setup code from here ...
19100         * lisp/startup.el (command-line): ... to here, after creating
19101         the X frame.
19103 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
19105         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
19107         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
19108         to reverse the meaning (Bug#15631).
19110 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
19112         Be more tolerant to fonts named "Foobar-12"
19113         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
19114         don't barf; instead, request a new fontset to be generated.  This
19115         avoids unnecessarily rejecting fonts named against XLFD rules.  See
19116         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
19117         for the description of the original problem.
19118         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
19119         by a hyphen in a font's name.
19121         Fix value of posn-at-pont in R2L lines
19122         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
19123         coordinate of -1, for a newline in a right-to-left line that
19124         overflowed into the left fringe.
19126 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
19128         (cl--copy-slot-descriptor): Copy the `props' alist as well
19129         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
19130         Rename from cl--copy-slot-descriptor.
19131         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
19133 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
19135         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
19136         (xterm-query-timeout): New var.
19137         (xterm--query): Use it.  Fallback on async method if we timeout before
19138         getting the first byte of the reply (bug#12354).
19140 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19142         Spelling fixes
19143         * lisp/character-fold.el (character-fold-search):
19144         * lisp/emacs-lisp/package.el (package-hidden-regexps):
19145         Fix typos.
19147 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
19149         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
19151 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19153         In strings, prefer plain ` and ' to \` and \'
19154         * lisp/allout.el (allout-insert-listified):
19155         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
19156         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
19157         (ls-lisp-string-lessp):
19158         * lisp/menu-bar.el (menu-bar-open):
19159         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
19160         * lisp/progmodes/compile.el (compile):
19161         * lisp/progmodes/etags.el (tags-loop-scan):
19162         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
19163         * lisp/subr.el (posn-actual-col-row):
19164         * lisp/term/pc-win.el (x-list-fonts):
19165         * lisp/textmodes/texinfmt.el (texinfmt-version):
19166         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
19167         * lisp/time.el (display-time-world-list):
19168         * lisp/tmm.el (tmm-menubar):
19169         * src/buffer.c (syms_of_buffer):
19170         * src/fileio.c (syms_of_fileio):
19171         Omit unnecessary and confusing backslash before quote.
19172         * lisp/erc/erc.el (erc-cmd-LASTLOG):
19173         * lisp/progmodes/flymake.el (flymake-fix-file-name):
19174         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
19175         Fix string that was intended to escape a backslash and not a quote.
19177 2015-06-30  Glenn Morris  <rgm@gnu.org>
19179         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
19181         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
19182         Replace hard-coded lists with wildcard + filter-out.
19184         * configure.ac (system-configuration-features): Add X11, NS.
19186         Improve reproducibility of generated loaddefs file
19187         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
19188         Make the return value the modtime of the input file (if no autoloads).
19189         (update-directory-autoloads): In the "no autoloads" section,
19190         use "most recent modtime" rather than "current time".
19192 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
19194         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
19195         (Bug#20930)
19197 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
19199         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
19201         Add seq-min and seq-max
19202         Bump version number.
19203         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
19204         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
19206 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
19208         Make sure sleep-for always delays for as long as it's told
19209         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
19210         a loop, to ensure we always wait exactly the required amount of
19211         time.  (Bug#15990)
19213 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
19215         Fix pointer signedness glitch
19216         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
19218 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
19220         Don't block changes in mouse pointer inside 'track-mouse'
19221         * etc/NEWS:
19222         * doc/lispref/frames.texi (Mouse Tracking): Document the special
19223         effect of setting 'track-mouse' to 'dragging'.
19224         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
19225         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
19226         * lisp/mouse-drag.el (mouse-drag-throw):
19227         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
19228         to avoid changes in the shape of the mouse pointer.
19229         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
19230         pointer shape when do_mouse_tracking has the value of 'dragging',
19231         not just any non-nil value.  (Bug#20934)
19232         (syms_of_xdisp): DEFSYM 'dragging'.
19234 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
19236         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
19238         * lisp/emacs-lisp/package.el (package-compute-transaction):
19239         Don't assume version sorting.
19241         * lisp/emacs-lisp/package.el (package--save-selected-packages):
19242         Don't save before init time, to avoid overwriting configurations.
19243         (Bug#20855)
19245 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
19247         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
19248         references.
19250 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
19252         Update for the upcoming CFEngine 3.7 release: support macros and
19253         quoted context strings; reformat JSON; indent promise attributes 2
19254         units by default; give function parameter descriptions in the eldoc
19255         glue.
19256         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
19257         Autoload `json-pretty-print'.  Support new features in 3.7.
19258         (cfengine-parameters-indent): Set default promise attribute indent to
19259         2 more than the promise itself.
19260         (cfengine3-macro-regex): New variable to match the new macro syntax.
19261         (cfengine3-font-lock-keywords): Use it to highlight macros.
19262         (cfengine3-indent-line): Use it to indent macros to column 0.
19263         (cfengine3-class-selector-regex): Update for the new quoted strings
19264         format.
19265         (cfengine3-reformat-json-string): New function to reformat a JSON
19266         string using `json-pretty-print'.
19267         (cfengine3-format-function-docstring): Use function parameter
19268         description if it's provided by the cf-promises syntax dump.
19270 2015-06-29  Michael R. Mauger  <michael@mauger.com>
19272         Cygwin emacsclient handles w32 file names
19273         * lisp/server.el (server-process-filter): Allow Cygwin's
19274         emacsclient to be used as a file handler on MS-Windows.
19276 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
19278         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
19279         (bug#20925).
19281 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
19283         * doc/lispref/text.texi (Sticky Properties): Improve wording.
19284         (Bug#20924)
19286         Allow font names that end in "-NN", where NN is a number
19287         * src/font.c (font_load_for_lface): If the font-spec didn't match
19288         any available fonts, try again without interpreting trailing "-NN"
19289         as the font size.  For the description of the original problem, see
19290         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
19292         .gdbinit followup to changes in !USE_LSB_TAG
19293         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
19294         !USE_LSB_TAG, as Emacs no longer does.
19296 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
19298         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
19299         Otherwise `s p' of f and F will stomp on each other's value.
19300         (Bug#20916)
19302 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
19304         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
19305         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
19307 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
19309         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
19310         as additional guess.
19312         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
19313         to a string.
19315 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
19317         apropos-library quoting fix
19318         * lisp/apropos.el (apropos-library): Quote library consistently
19319         with the rest of the quoting used by apropos.
19321         Clarify interpreter-mode-alist doc
19322         * lisp/files.el (interpreter-mode-alist):
19323         Reword to avoid confusing quoting that wasn't working anyway.
19325 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
19327         Sync with Tramp 2.2.12
19328         * doc/misc/trampver.texi:
19329         * lisp/net/trampver.el: Update release number.
19330         * test/automated/tramp-tests.el (tramp-test13-make-directory):
19331         Fix cleanup.
19333 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
19335         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
19337 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
19339         Bind grep-highlight-matches around the rgrep call
19340         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
19341         around the rgrep call (bug#20728).
19343         Put "--color" before the other options in grep-command
19344         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
19345         before the other options in grep-command (bug#20912).
19347         Add --color Grep option to the command dynamically
19348         * lisp/progmodes/grep.el (grep-template, grep-find-template):
19349         Update the description for <C>.  (Bug#20728)
19350         (grep-compute-defaults): Don't add the --color option to
19351         grep-options.  Only add it to grep-command.
19352         (grep-expand-keywords): Expand the env value opts into <C>.
19353         (grep-expand-template): Replace cf in the env with the opts list,
19354         that can include -i and --color.
19355         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
19356         "--color=always" from the template, because we don't have to.
19358 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
19360         cl-extra fixes for most-negative-fixnum
19361         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
19362         Don't mishandle an argument equal to most-negative-fixnum,
19363         whose absolute value equals itself.
19364         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
19366         Initialize cl--gensym-counter to 0
19367         Previously it was initialized to a random value, which made it
19368         harder to reproduce earlier Emacs runs.  The need for a random
19369         value went away when Emacs introduced and used the #: syntax for
19370         uninterned symbols (Bug#20862).
19371         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
19372         Document that cl--gensym-counter now starts with 0.
19373         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
19374         (cl--random-time): Move to near only remaining use.
19375         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
19377         Improve docstring for macroexp-let2
19378         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
19379         Improve as per suggestion by RMS in:
19380         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
19381         Also, rename args to match new doc string.
19383 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
19385         Fix VC test suite on MS-Windows
19386         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
19387         always starts with 3 slashes after the colon.
19388         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
19389         'w32-application-type' to invoke CVS on MS-Windows with properly
19390         formatted CVSROOT directory name.
19392         Add a new function w32-application-type
19393         * src/w32proc.c (Fw32_application_type): New function.
19395         Avoid error in TLS connections due to incorrect format
19396         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
19397         the call to 'error', instead of the unsupported %u.  Reported by
19398         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
19400 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
19402         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
19404 2015-06-26  Leo Liu  <sdl.web@gmail.com>
19406         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
19407         `with-output-to-string' in elisp.
19409         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
19410         with-output-to-string".
19411         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
19413 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
19415         Minor corrections in ELisp manual
19416         * doc/lispref/nonascii.texi (Character Properties): Correct
19417         inaccuracies in description of values of the Unicode properties.
19419         Fix invisible mouse pointers on Windows.
19420         * src/w32fns.c: Include windowsx.h.
19421         (w32_wnd_proc): If the mouse moved and the mouse pointer is
19422         invisible, make it visible again even when the main (Lisp)
19423         thread is busy.
19424         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
19425         garbaging the frame have the input thread call SetCursor.
19427 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
19429         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
19430         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
19431         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
19432         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
19433         (w32_toggle_invisible_pointer): New function.
19434         (w32_create_terminal): Add w32_toggle_invisible_pointer as
19435         toggle_invisible_pointer_hook for this terminal.
19437 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
19439         Doc fix for deletion commands
19440         'delete-char' does not respect the value of 'delete-active-region'.
19441         * doc/emacs/killing.texi (Deletion):
19442         Fix documentation for some single-char deletion commands.
19444         * doc/emacs/help.texi (Apropos):
19445         Improve documentation of 'apropos-do-all'.
19447         * doc/emacs/help.texi (Help Summary):
19448         Improve documentation of 'describe-mode'.
19450 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
19452         Fix submake dependency bug with .h files
19453         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
19454         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
19455         before the submake in $(libsrc) would spin off a subsubmake
19456         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
19458 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
19460         * lisp/character-fold.el (character-fold-table): Reuse `table'.
19462 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
19464         Translate undisplayable ‘ to `
19465         * doc/lispref/help.texi (Keys in Documentation):
19466         * lisp/international/mule-cmds.el (set-locale-environment):
19467         * lisp/term/w32console.el (terminal-init-w32console):
19468         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
19469         If ‘ is not displayable, transliterate it to `, not to '.  See:
19470         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
19472         Fix C99 incompatibilities in Cairo code
19473         * src/image.c (xpm_load) [USE_CAIRO]:
19474         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
19475         Fix pointer signedness problem.
19477 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
19479         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
19480         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
19481         `with-output-to-string' should have the same indent as `progn'.
19482         This is in line with the declaration of `with-output-to-string'.
19484 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
19486         Get ‘./configure; make -C src emacs’ to work
19487         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
19488         * lib-src/Makefile.in (../lib/libgnu.a):
19489         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
19491 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19493         Fix GC bugs --with-wide-int and Qnil == 0
19494         Use the same alignment for the !USE_LSB_TAG case as for the
19495         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
19496         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
19497         once we changed the representation of symbols so that Qnil == 0.
19498         Problem reported by Eli Zaretskii (Bug#20862).
19499         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
19500         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
19501         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
19502         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
19503         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
19504         This optimization in the !USE_LSB_TAG case is no longer valid when
19505         symbols are represented via offsets.  Change the only use to
19506         assume that pointers might hide in objects.
19507         * src/lisp.h (alignas) [!USE_LSB_TAG]:
19508         Require support in this case, too.
19509         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
19510         This is OK, because the !USE_LSB_TAG case now applies only when
19511         Lisp_Object is wider than void *, so there's no longer any need
19512         to shift the offset.  Not shifting the offset means that
19513         symbol representations have the same alignment as pointers,
19514         which the GC assumes.
19516 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
19518         * doc/lispintro/emacs-lisp-intro.texi (Data types):
19519         Improve documentation of 'substring'.
19521 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
19523         * lisp/character-fold.el (character-fold-table): Fix table generation.
19525 2015-06-24  Glenn Morris  <rgm@gnu.org>
19527         * nextstep/Makefile.in (all): Make it the first target.
19528         (../src/emacs${EXEEXT}): Add rule for making it.
19530 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
19532         * etc/NEWS: Fix mention to old function name.
19534         * lisp/character-fold.el: New file (Bug#20887)
19535         (character-fold-to-regexp): New function.
19536         * lisp/replace.el (replace-search): Check value of
19537         `character-fold-search'.
19538         * lisp/isearch.el: Move character-folding code to
19539         character-fold.el
19540         (isearch-toggle-character-fold): New command.
19541         (isearch-mode-map): Bind it to "\M-sf".
19542         (isearch-mode): Check value of `character-fold-search'.
19544 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
19546         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
19547         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
19548         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
19550         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
19551         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
19553 2015-06-24  Glenn Morris  <rgm@gnu.org>
19555         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
19557 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
19559         lisp/gnus/nnmaildir.el: Silence lexical warnings
19560         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
19561         functional style.
19562         (nnmaildir--update-nov): Remove unused var `numdir'.
19563         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
19564         (nnmaildir-request-group, nnmaildir-request-create-group)
19565         (nnmaildir-request-post, nnmaildir-request-move-article)
19566         (nnmaildir-request-accept-article, nnmaildir-active-number):
19567         Mark unused args.
19568         (nnmaildir-get-new-mail, nnmaildir-group-alist)
19569         (nnmaildir-active-file): Declare.
19570         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
19571         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
19572         `mark', `end', `new-mark', and `mark-sym'.
19573         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
19574         `nlist2'.
19575         (nnmaildir-request-expire-articles):
19576         Remove unused vars `article', `stop' and `nlist2'.
19577         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
19578         `end'.  Use nnmaildir--article when dyn-binding is needed.
19579         Give the value directly in the `let' for `del-mark', `del-action',
19580         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
19581         (nnmaildir-close-server): Declare those local vars that need to be
19582         dyn-bound.
19584 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
19586         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
19588         Port selection info fix to clang
19589         * src/keyboard.h (kbd_buffer_store_event_hold):
19590         Don't assume C11 semantics for alignof (Bug#20756).
19592         Fix bug that munged selection info
19593         On some optimizing C compilers, copying a structure did not
19594         copy the padding bytes between elements, and the type punning
19595         between struct input_data and struct selection_input_data did
19596         not work.  Change the C code to use a proper union type instead.
19597         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
19598         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
19599         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
19600         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
19601         (mark_kboards):
19602         Use union buffered_input_event, not struct input_event.
19603         (clear_event, deliver_input_available_signal, process_special_events):
19604         Remove unnecessary forward decls.
19605         (kbd_buffer_store_buffered_event): New function, mostly just the
19606         old kbd_buffer_store_event_hold, except its argument is of type
19607         union buffered_input_event, not struct input_event.
19608         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
19609         not needed otherwise.  Argument is now of type
19610         struct selection_input_event *, not struct input_event *.
19611         All callers changed.
19612         (clear_event): Arg is now of type union buffered_input_event *,
19613         not struct input_event *.  All callers changed.
19614         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
19615         (union buffered_input_event): New type.
19616         (kbd_buffer_store_event_hold): Now an inline function,
19617         defined here.
19618         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
19619         (struct input_event): Use it.
19620         * src/xselect.c (struct selection_event_queue):
19621         Make elements be of type struct selection_input_event,
19622         not struct input_event.
19623         (selection_input_event_equal): New static function.
19624         (x_queue_event): Use it.
19625         (x_queue_event, x_decline_selection_request)
19626         (x_selection_current_request, x_reply_selection_request)
19627         (x_handle_selection_request, x_handle_selection_clear)
19628         (x_handle_selection_event): Use struct selection_input_event,
19629         not struct input_event.  All callers changed.
19630         (x_convert_selection): Omit unused first arg.  All callers changed.
19631         (Fx_disown_selection_internal): Omit unnecessary union.
19632         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
19633         rather than rolling our own equivalent.  Prefer sie.kind when
19634         setting up that kind of structure.
19635         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
19636         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
19637         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
19638         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
19639         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
19640         (SELECTION_EVENT_TIME, x_handle_selection_event):
19641         Arg is now of type struct selection_input_event *)
19642         not struct input_event *.  All callers changed.
19644 2015-06-23  Glenn Morris  <rgm@gnu.org>
19646         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
19648 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
19650         * lisp/isearch.el: Fold many unicode characters to ASCII.
19651         (isearch-character-fold-search, isearch--character-fold-extras)
19652         (isearch--character-fold-table): New variable.
19653         (isearch--character-folded-regexp): New function.
19654         (isearch-search-fun-default): Use them.
19655         * lisp/replace.el (replace-character-fold): New variable.
19656         (replace-search): Use it.
19657         * etc/NEWS: Document it.
19659 2015-06-23  Glenn Morris  <rgm@gnu.org>
19661         Check for an input event before showing a dialog box.  (Bug#20813)
19662         * lisp/subr.el (y-or-n-p):
19663         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
19664         as last-nonmenu-event.
19666 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
19668         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
19669         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
19670         (switch-to-prev-buffer, switch-to-next-buffer): Respect
19671         switch-to-visible-buffer independent of the windows history.
19673 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
19675         * src/keyboard.c (last_timer_event): Remove unused var.
19677 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
19679         * test/automated/package-test.el (package-test-update-listing):
19680         Fix test.
19682 2015-06-23  Glenn Morris  <rgm@gnu.org>
19684         Revert 2014-06-25 nextstep/Makefile change.
19685         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
19686         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
19687         not as an order-only prerequisite.
19689         * configure.ac (--with-ns): Enable by default on OS X.
19691 2015-06-23  Leo Liu  <sdl.web@gmail.com>
19693         Fix shell-for/backward-command to exclude spaces
19694         * lisp/shell.el (shell-forward-command, shell-backward-command):
19695           Handle the 'move case from re-search-forward/backward.
19696           fixes debbugs:20873
19698 2015-06-22  Juri Linkov  <juri@linkov.net>
19700         * lisp/replace.el (query-replace-read-from): Add separator to
19701         the local binding of text-property-default-nonsticky.  (Bug#20690)
19703         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
19704         (Bug#20785)
19706 2015-06-22  Ken Brown  <kbrown@cornell.edu>
19708         Enable CPU profiling on Cygwin
19709         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
19710         change that undefined this.
19711         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
19712         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
19713           Cygwin.
19715         Improve diagnostics of profiler-cpu-start
19716         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
19717         return -1 if the sampling interval is invalid.
19718         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
19719         fails.  (Bug#20843)
19721 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
19723         * lisp/emacs-lisp/package.el: Exclude packages by name.
19724         (package-hidden-regexps): New variable.
19725         (package-menu--refresh): Use it.
19726         (package-menu-hide-package): New command.
19728         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
19730 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
19732         Fix debug-timer-check on systems without HAVE_TIMERFD
19733         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
19734         the expired timers, since wait_reading_process_output doesn't.
19735         (debug_timer_callback): Enlarge the tolerance to 20 msec.
19737         Fix RCS crashes in vc-test
19738         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
19739         ports of 'ci' on MS-Windows by always passing the -t- switch.
19741 2015-06-22  Glenn Morris  <rgm@gnu.org>
19743         * doc/emacs/package.texi (Packages):
19744         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
19746         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
19748 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
19750         Port tests to help-quote-translation
19751         * test/automated/ert-x-tests.el (ert-test-describe-test):
19752         * test/automated/package-test.el (package-test-describe-package)
19753         (package-test-signed): Allow straight quotes, too.
19755 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
19757         Make find-function-on-key use the current window
19758         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
19759         Extract from `find-function-on-key', add a second argument.
19760         (find-function-on-key): Use it (bug#19679).
19761         (find-function-on-key-other-window)
19762         (find-function-on-key-other-frame): New commands.
19764 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
19766         Revert "Define `map-elt' as a generalized variable"
19767         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
19769 2015-06-21  Ken Brown  <kbrown@cornell.edu>
19771         Drop support for CPU profiling on Cygwin
19772         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
19773         (Bug#20843)
19775 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
19777         Fix some “nested” quoting confusion in doc strings
19778         * lisp/emacs-lisp/advice.el (ad-map-arglists):
19779         * lisp/kermit.el (kermit-clean-on):
19780         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
19781         * src/keyboard.c (Frecursive_edit):
19782         Use curved quotes when quoting text containing apostrophe,
19783         so that the apostrophe isn't curved in the output.
19785 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
19787         Define `map-elt' as a generalized variable
19788         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
19789         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
19790         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
19791         `setf' with `map-elt'.
19792         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
19794 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
19796         Improve error handling in tramp-adb.el
19797         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
19798         Improve error handling.
19800 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
19802         Reuse `alist-get' in map.el
19803         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
19804         elements.
19806 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
19808         Fix bytecomp-tests--warnings when $TMPDIR has a long name
19809         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
19810         Allow the warning to begin on the 3rd, not only 2nd line, which
19811         happens if temporary-file-directory has a very long name.
19813         Expect 2 icalendar tests to fail on MS-Windows
19814         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
19815         (icalendar-real-world): Make them expected failures on MS-Windows.
19817 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
19819         Improve port of settings UI to older displays
19820         * lisp/cus-start.el (standard): Don't assume curved quotes are
19821         easily distinguishable when users are tinkering with a setting
19822         that affects how curved quotes are generated.
19824         Fix quoting in electric-quote-mode doc string
19825         * lisp/electric.el (electric-quote-mode): Fix quoting.
19826         This is a fallout from the recent change introducing
19827         ‘help-quote-translation’.
19829         Spelling fix
19831         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
19833         * src/doc.c (syms_of_doc): Remove unused symbols.
19835 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
19837         * lisp/window.el (window-state-put): Undedicate target window
19838         before putting STATE into it.  (Bug#20848)
19840 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
19842         Merge from origin/emacs-24
19843         a5e6f33 Fixes: debbugs:20832
19844         b9f02cf Fixes: debbugs:20832
19846 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
19848         Fix file-in-directory-p when the directory is UNC
19849         * lisp/files.el (file-in-directory-p): Support files and
19850         directories that begin with "//".  (Bug#20844)
19852 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
19854         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
19855         in the minibuffer.  (Bug#20832)
19857 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
19859         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
19860         for adding new todo file is empty but modified.  (Bug#20832)
19862 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
19864         (filepos-to-bufferpos): Further tweaks to the utf-16 code
19865         * lisp/international/mule-util.el (filepos-to-bufferpos):
19866         Fix typo.  Move non-exact check to the utf-16 branch (the only one
19867         affected).  Don't use byte-to-position for the utf-16 case.
19869 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
19871         Minor fixes in filepos-to-bufferpos
19872         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
19873         test for utf-8-emacs.  Exempt single-byte encodings from the
19874         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
19875         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
19876         UTF-16 encoded files for CR-LF EOLs.
19878 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
19880         Improve the optional translation of quotes
19881         Fix several problems with the recently-added custom variable
19882         help-quote-translation where the code would quote inconsistently
19883         in help buffers.  Add support for quoting 'like this', which
19884         is common in other GNU programs in ASCII environments.  Change
19885         help-quote-translation to use more mnemonic values: values are now the
19886         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
19887         traditional Emacs help-buffer quoting style `like this'.  Change the
19888         default behavior of substitute-command-keys to match what's done in
19889         set-locale-environment, i.e., quote ‘like this’ if displayable,
19890         'like this' otherwise.
19891         * doc/lispref/help.texi (Keys in Documentation): Document
19892         new behavior of substitute-command-keys, and document
19893         help-quote-translation.
19894         * doc/lispref/tips.texi (Documentation Tips):
19895         Mention the effect of help-quote-translation.
19896         * etc/NEWS: Mention new behavior of substitute-command-keys,
19897         and merge help-quote-translation news into it.
19898         When talking about doc strings, mention new ways to type quotes.
19899         * lisp/cedet/mode-local.el (overload-docstring-extension):
19900         Revert my recent change to this function, which shouldn't be
19901         needed as the result is a doc string.
19902         * lisp/cedet/mode-local.el (mode-local-print-binding)
19903         (mode-local-describe-bindings-2):
19904         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
19905         * lisp/cus-theme.el (describe-theme-1):
19906         * lisp/descr-text.el (describe-text-properties-1, describe-char):
19907         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
19908         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
19909         (eieio-help-constructor):
19910         * lisp/emacs-lisp/package.el (describe-package-1):
19911         * lisp/faces.el (describe-face):
19912         * lisp/help-fns.el (help-fns--key-bindings)
19913         (help-fns--compiler-macro, help-fns--parent-mode)
19914         (help-fns--obsolete, help-fns--interactive-only)
19915         (describe-function-1, describe-variable):
19916         * lisp/help.el (describe-mode):
19917         Use substitute-command-keys to ensure a more-consistent quoting
19918         style in help buffers.
19919         * lisp/cus-start.el (standard):
19920         Document new help-quote-translation behavior.
19921         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
19922         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
19923         (help-xref-url-regexp):
19924         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
19925         * lisp/wid-edit.el (widget-documentation-link-regexp):
19926         Also match 'foo', in case we're in a help buffer generated when
19927         help-quote-translation is ?'.
19928         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
19929         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
19930         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
19931         (Fsubstitute_command_keys): Document and implement new behavior.
19932         (Vhelp_quote_translation): Document new behavior.
19934 2015-06-18  Glenn Morris  <rgm@gnu.org>
19936         * lisp/cus-start.el (help-quote-translation): Add :version.
19938         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
19940 2015-06-18  Alan Mackenzie  <acm@muc.de>
19942         Make translation of quotes to curly in doc strings optional.
19943         * src/doc.c (traditional, prefer-unicode): New symbols.
19944         (help-quote-translation): New variable.
19945         (Fsubstitute_command_keys): Make translation of quotes dependent on
19946         `help-quote-translation'; also translate curly quotes back to ASCII
19947         ones.
19948         * lisp/cus-start.el (top-level): Add a customization entry for
19949         `help-quote-translation'.
19951 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
19953         * lisp/emacs-lisp/package.el: Don't always propagate async errors
19954         (package--with-work-buffer-async): Only propagate the error if the
19955         callback returns non-nil.
19956         (package--download-one-archive): Return nil on the signature
19957         checking callback if we accept unsigned.
19958         (package--download-and-read-archives): Return non-nil on the
19959         archive download callback.
19961 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
19963         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
19964         * src/nsfns.m (Fx_create_frame):
19965         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
19966         image_cache_refcount before first x_default_parameter call.
19968 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
19970         Improve and extend filepos-to-bufferpos
19971         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
19972         Don't barf if F returns nil for some argument.
19973         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
19974         that every encoding of type 'charset' is single-byte.
19976 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
19978         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
19979         Properly delete packages.  (Bug#20836)
19981 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
19983         Update data files from just-released Unicode 8.0
19984         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
19985         status.
19986         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
19987         * admin/unidata/BidiMirroring.txt:
19988         * admin/unidata/BidiBrackets.txt:
19989         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
19991 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
19993         Document curved quotes a bit better
19994         * doc/emacs/basic.texi (Inserting Text):
19995         Mention C-x 8.  Change example to use curved quote rather
19996         than infinity, as this lets us give more ways to do it.
19997         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
19998         and quotation marks.
19999         * doc/emacs/text.texi (Quotation Marks):
20000         * doc/lispref/tips.texi (Documentation Tips):
20001         Add "curly quotes" and "curved quotes" to the index.
20002         * doc/emacs/text.texi (Quotation Marks):
20003         Give the C-x 8 shorthands for curved quotes.
20004         Cross-reference to "Quotation Marks".
20006 2015-06-17  Daiki Ueno  <ueno@gnu.org>
20008         Add pinentry.el for better GnuPG integration
20009         * lisp/pinentry.el: New file.
20010         * etc/NEWS: Add entry about pinentry.el.
20011         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
20012         (Bug#20550)
20014 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
20016         * lisp/emacs-lisp/package.el: Slightly better error reporting.
20018 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
20020         (define-minor-mode): Use setq-default for :global minor modes
20021         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
20022         Use setq-default for :global minor modes (bug#20712).
20024 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
20026         Avoid infloop in redisplay with tall images
20027         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
20028         down near ZV.  (Bug#20808)
20029         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
20030         instead of CHARPOS.
20032 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
20034         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
20035         Fix error reporting.
20037         * lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
20039         * lisp/emacs-lisp/package.el: Revert buffer after any operation
20040         Call `package-menu--post-refresh' after any operation that changes
20041         the package database (`package-install' and `package-delete').  To
20042         avoid performance issues in large transactions, these functions
20043         add `post-refresh' to `post-command-hook' instead of calling it
20044         immediately.
20045         (package-menu--mark-or-notify-upgrades): New function.
20046         (list-packages): Add it to `package--post-download-archives-hook'.
20047         (package-menu--post-refresh): Lose the upgrade-checking code, add
20048         code to remove itself from `post-command-hook'.
20049         (package-install, package-delete): Add it to `post-command-hook'.
20050         (package-menu-execute): Don't call `package-menu--post-refresh'.
20052 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
20054         Add missing function xref-location-group for elisp-mode.
20055         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
20057 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
20059         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
20060         The behavior now matches the description in the manual.  (Bug#20783)
20062 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
20064         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
20066 2015-06-17  Glenn Morris  <rgm@gnu.org>
20068         Generate char-script-table from Unicode source.  (Bug#20789)
20069         * admin/unidata/Makefile.in (AWK): New, set by configure.
20070         (all): Add charscript.el.
20071         (blocks): New variable.
20072         (charscript.el, ${unidir}/charscript.el): New targets.
20073         (extraclean): Also remove generated charscript.el.
20074         * admin/unidata/blocks.awk: New script.
20075         * admin/unidata/Blocks.txt: New data file, from unicode.org.
20076         * lisp/international/characters.el: Load charscript.
20077         * src/Makefile.in (charscript): New variable.
20078         (${charscript}): New target.
20079         (${lispintdir}/characters.elc): Depend on charscript.elc.
20080         (temacs$(EXEEXT)): Depend on charscript.
20082         * lisp/international/characters.el (char-script-table): Tweak
20083         some ranges to better match the source.  (Bug#20789#17)
20085         Remove "no-byte-compile: t" from a few files.
20086         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
20087         * lisp/obsolete/patcomp.el: No reason not to compile these.
20089 2015-06-16  Glenn Morris  <rgm@gnu.org>
20091         Fix some typos in copied Unicode data.  (Bug#20789)
20092         * lisp/international/characters.el (char-script-table):
20093         * lisp/international/fontset.el (script-representative-chars)
20094         (setup-default-fontset): Fix typos.
20096         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
20097         Don't print filename twice (it's in the prefix now).
20099         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
20100         No longer needed.
20102         Address a compilation warning.
20103         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
20104         Replace 't' with '_' in pcase.
20106         Address some check-declare warnings.
20107         * lisp/simple.el (tabulated-list-print):
20108         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
20109         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
20110         (ns-get-selection): Update declarations.
20112         Address some compilation warnings.
20113         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
20114         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
20115         Replace 't' with '_' in pcase.
20117         Address some compilation warnings.
20118         * lisp/face-remap.el (text-scale-adjust):
20119         * lisp/menu-bar.el (popup-menu-normalize-position):
20120         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
20121         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
20122         * lisp/emacs-lisp/generator.el (cps--transform-1):
20123         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
20124         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
20125         * lisp/progmodes/octave.el (octave-goto-function-definition)
20126         (octave-find-definition-default-filename):
20127         Replace 't' with '_' in pcase.
20129         * lisp/emacs-lisp/pcase.el (pcase--u1):
20130         Paper-over today's bootstrap failure.
20132 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
20134         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
20136         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
20138         Better confirmation message in `find-alternate-file' (Bug#20830)
20139         * lisp/files.el (find-alternate-file'): Improve the confirmation
20140         message to show the buffer name.
20142         Better docstring for null.  (Bug#20815)
20143         * src/data.c (null): Improves the docstring, saying what null returns
20144         when OBJECT is non-nil.
20146 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
20148         * lisp/net/newst-treeview.el: Use lexical-binding.
20150         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
20151         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
20152         New auxiliary function, extracted from filepos-to-bufferpos.
20153         Make sure it terminates.
20154         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
20155         Add support for the `exact' quality.
20157 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
20159         Identify feeds in newsticker treeview with :nt-feed property
20160         * lisp/net/newst-treeview.el:
20161         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
20163 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
20165         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
20166         (pcase--self-quoting-p): Floats aren't self-quoting.
20167         (pcase): Tweak docstring.
20168         (pcase--u1): Deprecate the t pattern.  Improve error detection for
20169         the nil pattern.
20170         (\`): Tweak docstring.  Signal an error for unrecognized cases.
20171         (bug#20784)
20173 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
20175         Fix infloop in filepos-to-bufferpos
20176         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
20177         offset calculation, and make it conditional on the eol-type of the
20178         file's encoding.  (Bug#20825)
20180 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
20182         Fix handling of image cache refcounts.  (Bug#20802)
20183         This backports Eli Zaretskii's solution of this problem for W32
20184         to X and NS.
20185         * src/nsfns.m (image_cache_refcount): Define unconditionally.
20186         (unwind_create_frame): If the image cache's reference count
20187         hasn't been updated yet, do that now.
20188         (Fx_create_frame): Set image_cache_refcount unconditionally.
20189         * src/xfns.c (image_cache_refcount): Define unconditionally.
20190         (unwind_create_frame): If the image cache's reference count
20191         hasn't been updated yet, do that now.
20192         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
20193         unconditionally.
20194         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
20195         X and NS.
20197 2015-06-16  Nils Ackermann  <nils@ackermath.info>
20199         Improve reftex-label-regexps default value
20200         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
20201         keyvals label regexp more strict to better cope with unbalanced
20202         brackets common in math documents.
20204 2015-06-16  Glenn Morris  <rgm@gnu.org>
20206         * doc/emacs/calendar.texi (Format of Diary File):
20207         Move "nonmarking" from here...
20208         (Displaying the Diary): ... to here.
20210         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
20211         Swap the order of these nodes.
20212         * doc/emacs/emacs.texi: Update detailed menu for the above change.
20214         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
20215         Update date of examples.
20216         (Diary, Format of Diary File): Move example from former to latter.
20217         Reduce duplication.
20219         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
20220         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
20221         Don't set no-byte-compile in the outputs.
20222         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
20224 2015-06-15  Glenn Morris  <rgm@gnu.org>
20226         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
20227         * doc/emacs/calendar.texi (Diary, Format of Diary File):
20228         Update for above diary-file change.
20230         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
20231         (apply-macro-to-region-lines): Use user-error.
20233         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
20234         (pages-directory-for-addresses): Doc fixes.
20236 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
20238         * lisp/info.el: Cleanup bytepos/charpos issues
20239         * lisp/international/mule-util.el: Use lexical-binding.
20240         (filepos-to-bufferpos): New function.
20241         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
20242         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
20243         (Info-read-subfile, Info-search): Use 0-based file positions.
20245         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
20246         (perl--syntax-exp-intro-keywords): New var.
20247         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
20248         (bug#20800).
20250 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
20252         Fix quoting when making derived mode docstring
20253         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
20254         Nest regexp-quote inside format, not the reverse.
20255         Problem reported by Artur Malabarba in:
20256         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
20258 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
20260         Fix current-iso639-language on MS-Windows
20261         * lisp/international/mule-cmds.el (set-locale-environment):
20262         Downcase the locale name before interning it.  This is so the
20263         'current-iso639-language' on MS-Windows matches the ':lang'
20264         property of font-spec objects.
20266         Limit Symbola usage some more
20267         * lisp/international/fontset.el (setup-default-fontset): Limit
20268         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
20269         (Bug#20727)
20271 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
20273         * lisp/emacs-lisp/map.el (map-let): Better docstring.
20275 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
20277         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
20278         (help-fns-test-funny-names): Spelling fixes.
20280 2015-06-14  Glenn Morris  <rgm@gnu.org>
20282         * lisp/version.el (emacs-repository-version-git): Demote errors.
20283         Check result is a hash.
20285 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
20287         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
20288         Catch errors that happen before going async.  (Bug#20809)
20290 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
20292         Another improvement of documentation of set-fontset-font
20293         * doc/lispref/display.texi (Fontsets): Say explicitly that
20294         CHARACTER can be a single codepoint.
20295         * src/fontset.c (Fset_fontset_font): Doc fix.
20297         Another improvement for symbol and punctuation characters
20298         * lisp/international/fontset.el (setup-default-fontset): Exclude
20299         from Symbola character ranges for symbols and punctuation covered
20300         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
20301         installed and where its coverage of symbols and punctuation is
20302         known to be good.  (Bug#20727)
20304 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
20306         Some generic support for multi-mode indentation.
20307         * lisp/progmodes/prog-mode.el (prog-indentation-context):
20308         New variable.
20309         (prog-first-column, prog-widen): New convenience functions.
20311 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
20313         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
20314         Don't assume that `tabulated-list-printer' will leave point at the
20315         end of the buffer.  (Bug#20810)
20317 2015-06-13  Glenn Morris  <rgm@gnu.org>
20319         Tweaks for getting repository version; a bit more like it was for bzr
20320         * lisp/version.el (emacs-repository-version-git)
20321         (emacs-repository--version-git-1): New functions,
20322         split from emacs-repository-get-version.
20323         (emacs-repository-get-version): Make the second argument meaningful.
20325         * lisp/startup.el (command-line-1): Inform if skipping relative
20326         file names due to deleted PWD.
20328         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
20329         when starup directory is missing.  (Bug#18851)
20330         (errno.h): Include it.
20332 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
20334         Better fix for documenting `X as "`X"
20335         Fix suggested by Stefan Monnier.
20336         * lisp/help-fns.el (help-fns--signature):
20337         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
20338         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
20339         Don't treat `X specially, as help-fns--signature now handles this.
20341 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
20343         Improve the default fontset when Symbola is not installed
20344         * lisp/international/fontset.el (setup-default-fontset): Only
20345         prepend Symbola and FreeMono font specs for symbols and
20346         punctuation; do not replace the default spec for them.  This
20347         should have better results when Symbola/FreeMono are not
20348         installed.  (Bug#20727)
20350         Improve documentation of ':lang' in font specs
20351         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
20352         use of the ':lang' property of the font spec.
20353         * doc/emacs/frames.texi (Fonts): Document the language names that
20354         can be in the STYLE part of XLFD.
20355         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
20356         property.
20358         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
20360         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
20362         Revert last change in fontset.el
20363         * lisp/international/fontset.el (setup-default-fontset): Revert
20364         the change "Configure Symbola font only if installed", since font
20365         search is evidently not yet set up when this function is called.
20366         (Bug#20727)
20368 2015-06-12  Glenn Morris  <rgm@gnu.org>
20370         Ensure early startup warnings are visible at the end.  (Bug#20792)
20371         * lisp/emacs-lisp/warnings.el (display-warning):
20372         If startup isn't complete, delay the warning.
20373         * lisp/startup.el (normal-top-level, command-line):
20374         Let display-warning automatically handle the needed delays.
20375         Run delayed-warnings-hook.
20377         * lisp/version.el (emacs-repository-get-version):
20378         Avoid calling external executable if possible.  (Bug#20799)
20380 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20382         Document `X as "`X", not as "(` X)"
20383         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
20384         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
20386         * src/print.c (print_object): Minor simplification.
20388 2015-06-12  Glenn Morris  <rgm@gnu.org>
20390         * src/buffer.c (init_buffer): Add final newline to message.
20392 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20394         Configure Symbola font only if installed
20395         * lisp/international/fontset.el (setup-default-fontset):
20396         Don't specify the Symbola font if it's not installed.
20397         Likewise for FreeMono.  (Bug#20727)
20399 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
20401         Configure Symbola font only for symbols and punctuation
20402         * lisp/international/fontset.el (setup-default-fontset): Leave
20403         only symbols and punctuation in the fontset setup for Symbola
20404         font; remove "Greek and Coptic" and "Cyrillic Supplement".
20405         (Bug#20798)
20407 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
20409         Fix crash in fontset-info
20410         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
20411         non-nil.
20413 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
20415         Port to Solaris 10 sparc + Sun C 5.13
20416         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
20417         Adjust to process.c change.
20418         * src/process.c (create_process): Declare volatile variables at
20419         top level of this function, so that they're less likely to be
20420         reused later in the function in the code executed by the vforked
20421         child.  Do not declare locals used only in the vforked child, as
20422         they might share memory with locals still live in the parent.
20423         Instead, use the same variables in the child as in the parent.
20424         This works around a subtle bug that causes a garbage collector
20425         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
20427 2015-06-12  Glenn Morris  <rgm@gnu.org>
20429         * lisp/startup.el (normal-top-level): Don't let *Messages* get
20430         a nil default-directory.
20432 2015-06-11  Glenn Morris  <rgm@gnu.org>
20434         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
20436         Some progress towards starting with PWD deleted.  (Bug#18851)
20437         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
20438         * lisp/startup.el (normal-top-level, command-line-1):
20439         * lisp/minibuffer.el (read-file-name-default):
20440         Handle default-directory being nil.
20442 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
20444         Fix "not a tty" bug on Solaris 10
20445         * configure.ac (PTY_OPEN): Define to plain 'open'
20446         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
20447         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
20448         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
20449         hosts that call grantpt which does its work via a setuid subcommand
20450         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
20451         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
20452         seems relevant in that case too.
20454 2015-06-11  Juri Linkov  <juri@linkov.net>
20456         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
20457         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
20458         (Bug#20785)
20460 2015-06-11  Glenn Morris  <rgm@gnu.org>
20462         * lisp/international/characters.el (char-script-table): Fix typo.
20464 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
20466         Fix quoting of help for functions with odd names
20467         While investigating Bug#20759, I discovered other quoting problems:
20468         C-h f mishandled characters like backslash and quote in function names.
20469         This fix changes the behavior so that 'C-h f pcase RET' now
20470         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
20471         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
20472         in src/lread.c's read1 function says that the backslash will be
20473         needed starting in Emacs 25, which implies that 'format' is
20474         correct and the old pcase documention was wrong to omit the backslash.
20475         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
20476         * lisp/help-fns.el (help-fns--signature):
20477         * lisp/help.el (help-add-fundoc-usage):
20478         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
20479         Use help--make-usage-docstring rather than formatting
20480         help-make-usage.
20481         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
20482         Return raw docstring.
20483         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
20484         raw docstring.  Take more care to distinguish raw from cooked dstrings.
20485         (describe-function-1): Let help-fns--signature substitute
20486         command keys.
20487         * lisp/help.el (help--docstring-quote): New function.
20488         (help-split-fundoc): Use it, to quote funny characters more
20489         systematically.
20490         (help--make-usage): Rename from help-make-usage, since this
20491         should be private.  Leave an obsolete alias for the old name.
20492         (help--make-usage-docstring): New function.
20493         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
20495 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
20497         * lisp/thingatpt.el (in-string-p): Revert last change,
20498         since in-string-p is not used in thingatpt.el but only from outside.
20499         Also, use lexical binding.
20501 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
20503         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
20504         * test/automated/let-alist.el (let-alist-cons): Test it.
20506 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
20508         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
20510 2015-06-10  Glenn Morris  <rgm@gnu.org>
20512         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
20514         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
20515         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
20516         * admin/gitmerge.el (gitmerge-commit-message):
20517         Exclude "skipped" messages from ChangeLog once again.
20519         Slight namespace cleanup for thingatpt.el.
20520         * lisp/thingatpt.el (thing-at-point--in-string-p)
20521         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
20522         (thing-at-point--read-from-whole-string): Rename from
20523         old versions without "thing-at-point--" prefix.
20524         Keep old versions as obsolete aliases.  Update all uses.
20526         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
20527         Move requiring of finder from here...
20528         (checkdoc-package-keywords): ... to here.
20530         Use 'user-error' in a few calendar files.
20531         * lisp/calendar/appt.el (appt-add):
20532         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
20533         (calendar-generate):
20534         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
20535         Replace 'error' with 'user-error'.
20537         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
20539         * lisp/files-x.el (add-file-local-variable):
20540         Special-case 'lexical-binding'.  (Bug#20641)
20542         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
20543         No longer autoload.
20544         * doc/misc/autotype.texi (Executables):
20545         Undocument executable-self-display.
20547         * lisp/progmodes/executable.el (executable-self-display):
20548         Use non-obsolete tail syntax.  (Bug#20779)
20549         (executable-self-display): Doc update.
20551 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
20553         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
20554         (finder-known-keywords): Silence byte-compiler.
20556 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
20558         * lisp/simple.el (eval-expression): Macroexpand before evaluating
20559         (bug#20730).
20561         * lisp/progmodes/sh-script.el: Better handle nested quotes.
20562         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
20563         (sh-font-lock-quoted-subshell): Make sure double quotes within single
20564         quotes don't mistakenly end prematurely the surrounding string.
20566         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
20568 2015-06-09  Glenn Morris  <rgm@gnu.org>
20570         * test/automated/Makefile.in (ELFILES): Sort.
20572         * Makefile.in (SUBDIR_MAKEFILES):
20573         * lwlib/Makefile.in (WARN_CFLAGS):
20574         Use built-in Make functions rather than echo+sed.
20576 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
20578         Update char-script-table
20579         * lisp/international/characters.el (char-script-table): Update
20580         from Unicode 8.0 Draft.
20582         Improve font selection for punctuation and other symbols
20583         * src/fontset.c (face_for_char): If the character's script is
20584         'symbol', and the font used for ASCII face has a glyph for it, use
20585         the font for the ASCII face instead of searching the fontsets.
20586         This comes instead of NS-specific code that used the current
20587         face's font instead, which is now disabled due to undesirable
20588         consequences.  (Bug#20727)
20590 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
20592         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
20593         Skip past `#' to find BEG (bug#20771).
20594         * test/automated/elisp-mode-tests.el
20595         (elisp-completes-functions-after-hash-quote): New test.
20597 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
20599         Fix compilation warning/error in --without-x builds
20600         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
20601         code on HAVE_WINDOW_SYSTEM.
20603         Improve the default fontset wrt symbols
20604         * lisp/international/fontset.el (setup-default-fontset): Better
20605         setup of fontset-default for symbols: use Symbola and FreeMono.
20606         (Bug#20727)
20608 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
20610         Add new command checkdoc-package-keywords
20611         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
20612         New defcustom.
20613         (checkdoc-list-of-strings-p): Add doc.
20614         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
20615         non-nil, call `checkdoc-package-keywords'.
20616         (checkdoc-get-keywords): New defun.
20617         (checkdoc-package-keywords): New command.  Warns if the current file
20618         has package.el-style keywords that aren't in `finder-known-keywords'.
20619         * etc/NEWS: Add entry.
20621 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
20623         Avoid crashes when key-binding is called from a timer
20624         * src/keymap.c (Fkey_binding): Don't segfault if called with an
20625         empty vector as KEY.  (Bug#20705)
20627         Fix a thinko in arc-mode.el
20628         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
20629         non-Zip64 case.  (Bug#20769)
20631 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
20633         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
20635 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
20637         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
20638         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
20639         "*warn*", print the warning to the standard output.  (bug#20754)
20641 2015-06-07  Glenn Morris  <rgm@gnu.org>
20643         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
20645         * src/font.c (syms_of_font) <font-log>: Doc fix.
20647         Remove the obsolete leading "*" from some C doc strings.
20648         * src/coding.c (syms_of_coding):
20649         * src/font.c (syms_of_font): Remove leading "*" from docs.
20650         * lisp/cus-start.el (enable-character-translation): Add it.
20652 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
20654         Move gen_origin from program to data
20655         That way, 'make change-history' needs to change only ChangeLog.2,
20656         instead of having to change two files.
20657         * ChangeLog.2: Add commit info for range that this file covers.
20658         * Makefile.in (new_commit_regexp): New macro.
20659         (change-history-nocommit): Simplify, by putting what used to be
20660         the gen_origin value into the data (ChangeLog.2) rather than
20661         into the program (gitlog-to-emacslog).
20662         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
20663         the input file (e.g., ChangeLog.2) rather than by having a
20664         constant in the program.  Substitute it into the output.
20666 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
20668         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
20669         function name (bug#20759).
20671 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
20673         Adapt 'struct timespec' to next release of MinGW runtime
20674         * nt/inc/ms-w32.h (struct timespec): Don't declare if
20675         __struct_timespec_defined is defined.
20677 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
20679         Merge from gnulib
20680         This incorporates:
20681         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
20682         2015-06-05 stdio: Don't redefine gets when using C++
20683         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
20684         2015-06-02 file-has-acl: fix build on Mac OS X 10
20685         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
20686         2015-06-01 pthread_sigmask: discount system version if a simple macro
20687         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
20688         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
20689         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
20690         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
20691         * lib/gnulib.mk: Regenerate.
20693 2015-06-06  Juri Linkov  <juri@linkov.net>
20695         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
20696         before calling grep-compute-defaults because now it affects the
20697         command lines computed in grep-compute-defaults.  (Bug#20728)
20699 2015-06-06  Glenn Morris  <rgm@gnu.org>
20701         Address some compilation warnings.
20702         * lisp/international/mule-cmds.el (w32-get-console-codepage)
20703         (w32-get-console-output-codepage):
20704         * lisp/progmodes/elisp-mode.el (xref-collect-references):
20705         * lisp/version.el (cairo-version-string): Declare.
20706         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
20708 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
20710         Fix display when a font claims large values of ascent and descent
20711         This fixes bug#20628.
20712         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
20713         coordinate of a hollow cursor glyph when the original glyph's
20714         ascent is too small.
20715         (get_font_ascent_descent, normal_char_ascent_descent)
20716         (normal_char_height): New functions.
20717         (handle_single_display_spec, append_space_for_newline)
20718         (calc_pixel_width_or_height, produce_stretch_glyph)
20719         (calc_line_height_property): Use normal_char_ascent_descent and
20720         normal_char_height.
20721         (x_produce_glyphs): When font-global values of ascent and descent
20722         are too large, use per-character glyph metrics instead, if
20723         possible.  But don't allow the glyph row's ascent and descent
20724         values become smaller than the values from the metrics of the
20725         font's "normal" character.
20726         * src/xftfont.c (xftfont_draw):
20727         * src/w32font.c (w32font_draw): Correct the values of ascent and
20728         descent used to draw glyphless characters' hex code in a box.
20729         * src/xterm.c (x_draw_glyph_string_background):
20730         * src/xdisp.c (x_produce_glyphs):
20731         * src/w32term.c (x_draw_glyph_string_background):
20732         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
20733         to detect fonts whose global ascent and descent values are too
20734         large to be used in layout decision, and redraw the background
20735         when that happens.
20736         * src/dispextern.h (FONT_TOO_HIGH): New macro.
20737         (get_font_ascent_descent): Add prototype.
20738         * src/xterm.c (x_new_font):
20739         * src/w32term.c (x_new_font):
20740         * src/nsterm.m (x_new_font):
20741         * src/font.c (font_open_entity):
20742         * src/composite.c (composition_gstring_width):
20743         Use get_font_ascent_descent to obtain reasonable values for ascent
20744         and descent of a font.
20746 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
20748         Add assertion in adjust_point_for_property
20749         * src/keyboard.c (adjust_point_for_property): Add eassert for
20750         current buffer being shown in selected window.
20752 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
20754         Replace uses of in-string-p; make it obsolete
20755         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
20756         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
20758 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
20760         Fix Dired display of an explicit list of files by ls-lisp.el
20761         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
20762         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
20763         correct for when displaying individual files separately, not as
20764         part of listing a directory, in which case these values are not
20765         recomputed by 'ls-lisp-insert-directory', but used verbatim.
20767         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
20769 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
20771         Do not adjust point in a non-selected window
20772         * src/keyboard.c (command_loop_1): Do not adjust point when
20773         current buffer is not shown in selected window (Bug#20590).
20775         * etc/DEBUG: Mention 'maybe_call_debugger'
20777 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
20779         Fix a unit test for map.el
20780         * test/automated/map-tests.el (test-map-let): Fix the test to work
20781         with the new syntax of `map-let'.
20783         * lisp/emacs-lisp/map.el (map-let): Better docstring.
20785         Better syntax for the map pcase pattern
20786         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
20787         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
20789         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
20791         Fix a byte-compiler error in map-put and map-delete
20792         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
20793         called with a symbol.
20795 2015-06-05  Glenn Morris  <rgm@gnu.org>
20797         * admin/gitmerge.el (gitmerge-commit-message):
20798         Revert to including "skipped" messages in ChangeLog once again.
20800 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
20802         Use string> instead of equiv lambda with string<
20803         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
20804         lambda with string<.
20806 2015-06-05  Glenn Morris  <rgm@gnu.org>
20808         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
20809         (map--delete-array): Fix typo.
20811         * test/automated/map-tests.el: Replace "assert" with "should".
20813         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
20814         (SUBDIRS_REL): Derive from SUBDIRS.
20816         Tweak some build messages.
20817         * lisp/Makefile.in ($(lisp)/loaddefs.el):
20818         * lisp/cus-dep.el (custom-make-dependencies):
20819         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
20820         * lisp/international/titdic-cnv.el (batch-titdic-convert):
20821         Don't say how to compile.
20823 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
20825         Omit U+0332 COMBINING LOW LINE in previous change
20826         It turns out that it does not work on Ubuntu 15.04.
20828         Fix transliteration of Bahá'í months
20829         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
20830         Improve quality of Latin transliteration of Bahá'í month names.
20832         Fix curved quotes in a few places
20833         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
20834         The strings in question are not doc strings, so this partially
20835         undoes the recent change that assumed they were doc strings.
20836         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
20837         * lisp/info.el (Info-finder-find-node):
20838         Use curved quotes.
20839         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
20840         Also allow curved quotes in doc strings.
20842 2015-06-04  Glenn Morris  <rgm@gnu.org>
20844         * lisp/Makefile.in (AM_V_at): Add missing definition.
20846         * lisp/Makefile.in: Quieten output a bit.
20847         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
20848         Don't echo directories, since the commands we invoke print them.
20850         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
20851         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
20852         (SUBDIRS_SUBDIRS): New variables.
20853         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
20854         Remove.
20855         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
20856         (update-subdirs, compile-main, compile-clean):
20857         Replace "setwins" usage with new "SUBDIRS" variables.
20859         * lisp/vc/compare-w.el (compare-windows-get-window-function):
20860         Fix :version tag.
20862 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
20864         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
20866         Undo removal of x_clear_area call on expose for GTK3 or cairo
20867         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
20868         Clear exposed area.  (Bug#20677)
20870 2015-06-04  Glenn Morris  <rgm@gnu.org>
20872         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
20874         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
20876         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
20877         Rename from quail-lao-update-translation, since lao.el defines that.
20879 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
20881         Handle new-style advice in find-funct
20882         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
20883         Handle new-style advice.  Return the symbol's function definition.
20884         (Bug#20718)
20885         (find-function-library): Update accordingly.
20887 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
20889         Merge branch 'map'
20891         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
20893         Add new function string-greaterp
20894         * lisp/subr.el (string-greaterp): New function.  Also aliased to
20895         `string>'.
20896         * test/automated/subr-tests.el (string-comparison-test): Add unit
20897         tests for `string>'and `string<'.
20898         * src/fns.c (string-lessp): Better docstring.
20900 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
20902         Fix timezone-related functions on MS-Windows
20903         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
20904         'xputenv', even if no reallocation of tzvalbuf was necessary.
20905         This fixes a bug in timezone-related functions on MS-Windows.
20906         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
20908 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
20910         Don't pass raw directory name to 'error'
20911         * lisp/files.el (basic-save-buffer-2): Avoid format error if
20912         a directory name contains a string like "%s".
20914 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
20916         Override 'grep --color=always'
20917         * lisp/progmodes/xref.el (xref-collect-matches):
20918         Override --color=always in grep-find-template.
20920 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
20922         Fix error introduced recently in file-notify-tests.el
20923         * test/automated/file-notify-tests.el
20924         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
20925         (file-notify--deftest-remote): Revert previous patch, not
20926         necessary anymore.
20928 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
20930         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
20931         Starting from a display string after a newline, point went to the
20932         previous line.  Also, fix an inadvertent use of a buffer position
20933         with FETCH_BYTE.  (Bug#20701)
20935 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
20937         Instrument file-notify-test.el in order to catch hydra error
20938         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
20939         Wrap body by `ignore-case', in order to trap non-local errors.
20941 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
20943         Undo previous changes in non-toolkit scroll bar drawing
20944         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
20945         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
20947 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
20949         * .gitignore: Also ignore doc/*/*/*.html and .ps.
20951         Support quotes 'like this' in info files
20952         This is possible when 'makeinfo --disable-encoding' is used
20953         in Texinfo 5.
20954         * lisp/calc/calc-help.el (calc-describe-thing):
20955         * lisp/gnus/gnus-art.el (gnus-button-alist):
20956         * lisp/info.el (Info-find-index-name):
20957         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
20958         Also support quotes 'like this'.
20959         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
20960         * lisp/finder.el (finder-font-lock-keywords): Remove var that
20961         hasn't been used in years, instead of bothering to fix its quoting.
20963 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20965         * .gitignore: Remove !test/etags/html-src/*.html.
20966         It's no longer needed, since *.html was removed.  Sort.
20968 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
20970         Restore <D> instead of '.' in grep-find-template
20971         * lisp/cedet/semantic/symref/grep.el
20972         (semantic-symref-grep-use-template): Update a comment.
20973         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
20974         instead of '.' in grep-find-template (bug#20719).
20975         (rgrep): Pass nil as the directory to rgrep-default-command.
20976         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
20977         default value for DIR.
20978         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
20979         workaround.
20981 2015-06-02  Glenn Morris  <rgm@gnu.org>
20983         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
20985         * configure.ac (emacs_config_features): Add Cairo.
20987         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
20989 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
20991         Ensure that autorevert works for remote files in file-notify-tests.el
20992         * test/automated/file-notify-tests.el (file-notify--test-desc):
20993         New defvar.
20994         (file-notify--test-remote-enabled)
20995         (file-notify-test00-availability, file-notify-test01-add-watch)
20996         (file-notify-test02-events): Use it.
20997         (file-notify--test-event-test): Check proper descriptor.
20998         (file-notify-test03-autorevert): Ensure that
20999         `visited-file-modtime' has changed.  (Bug#20392)
21001 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
21003         Add a pcase pattern for maps and `map-let' based on it
21004         * lisp/emacs-lisp/map.el (map-let): New macro.
21005         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
21006         * test/automated/map-tests.el: New test for `map-let'.
21008 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
21010         Reuse rgrep mechanics in xref-find-regexp
21011         * lisp/progmodes/grep.el (rgrep-default-command):
21012         Extract from `rgrep'.
21013         * lisp/progmodes/xref.el (xref-collect-references): Split from
21014         `xref-collect-matches'.  Only handle the case of symbol search.
21015         (xref-collect-matches): Instead of Semantic Symref, use
21016         `rgrep-default-command', to take advantage of its directory and
21017         file ignore settings.
21018         (xref--collect-match): Remove the last argument, leaving the
21019         regexp construction up to the caller.
21020         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
21021         Change to take the xref-collect- function to use as an argument.
21022         (elisp-xref-find): Update accordingly.
21023         * lisp/progmodes/etags.el (etags--xref-find-matches)
21024         (etags-xref-find): Same.
21026         Move xref-elisp-location to elisp-mode.el
21027         * lisp/progmodes/xref.el (xref-elisp-location)
21028         (xref-make-elisp-location, xref-location-marker): Remove here.
21029         (xref--xref): Don't limit the type of the location slot.
21030         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
21031         Define as a cl-struct here.
21032         (xref-location-marker): Move here.
21034 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
21036         Minor tweaks for .gitignore
21037         * .gitignore: Don't ignore versioned *.html and *.ps files.
21038         Don't ignore admin/notes/tags that might be ignored as TAGS
21039         on case-insensitive filesystems.  (Bug#20710)
21041 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
21043         Generate curved quotes in ert doc
21044         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
21045         (ert-results-mode-menu)
21046         (ert-results-pop-to-backtrace-for-test-at-point)
21047         (ert-results-pop-to-messages-for-test-at-point)
21048         (ert-results-pop-to-should-forms-for-test-at-point)
21049         (ert-describe-test):
21050         Quote ‘like this’, not `like this', when generating doc strings
21051         and the like.
21052         * test/automated/ert-x-tests.el (ert-test-describe-test):
21053         Allow quoting ‘like this’.
21055 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
21057         Add test for previous commit
21058         * test/automated/replace-tests.el: New file.
21059         (query-replace--split-string-tests): Add test for previous commit.
21061         Avoid confusion in query-replace history when replacing NUL chars
21062         * lisp/replace.el (query-replace--split-string): New function.
21063         (query-replace-read-from): Rely on the 'separator' property
21064         instead of searching for the NUL character (Bug#20690).
21066 2015-06-02  Glenn Morris  <rgm@gnu.org>
21068         Merge from origin/emacs-24
21069         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
21071         * admin/gitmerge.el (gitmerge-commit-message):
21072         Exclude "skipped" messages from ChangeLog.
21074 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
21076         Sync with Tramp repository
21077         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
21078         messages.
21079         (tramp-handle-make-auto-save-file-name): When calling
21080         `make-auto-save-file-name' internally, make sure it uses Unix-like
21081         behavior, not Windows-like behavior.
21082         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
21083         the local case, because "chown" might fail on w32.
21084         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
21085         for XEmacs.
21087 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
21089         MS-Windows followup for batch stdout/stderr output changes
21090         * lisp/international/mule-cmds.el (set-locale-environment):
21091         In batch mode, use console codepages for keyboard and terminal
21092         encoding.  (Bug#20545)
21094         Update .gitattributes for DOS EOL files
21095         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
21096         CRLF end-of-line format.
21098         NS equivalents of xterm.c and w32term.c changes
21099         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
21100         glyph string background also when the font in use claims
21101         preposterously large global height value.  Helps to remove
21102         artifacts left from previous displays when glyphless characters
21103         are displayed as hex code in a box.
21104         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
21105         value for FRAME_LINE_HEIGHT, even when a font claims very large
21106         value for its height.
21108 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
21110         Avoid grave accent quoting in stderr diagnostics
21111         A few Emacs diagnostics go directly to stderr, and so can't easily
21112         contain curved quotes (as non-UTF-8 locales might mishandle them).
21113         Instead of bothering to add support for this rarity, reword the
21114         diagnostics so that they don't use grave accent to quote.
21115         * src/alloc.c (mark_memory): Fix comment.
21116         * src/buffer.c (init_buffer):
21117         * src/dispnew.c (init_display):
21118         * src/emacs.c (main, sort_args):
21119         * src/lread.c (dir_warning):
21120         * src/term.c (init_tty):
21121         * src/unexmacosx.c (unexec):
21122         * src/xfns.c (select_visual):
21123         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
21124         Reword stderr diagnostics to avoid quoting `like this'.
21125         * src/unexmacosx.c: Include errno.h.
21126         * src/xfns.c (select_visual): Encode value for locale.
21128 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
21130         Treat batch stdout/stderr like standard display
21131         Calls like (print FOO) could generate improperly encoded or
21132         hard-to-read output if FOO contains characters outside the system
21133         locale.  Fix this by treating batch stdout and stderr like
21134         interactive standard display, when it comes to transliterating and
21135         encoding characters (Bug#20545).
21136         * doc/emacs/mule.texi (Communication Coding):
21137         * doc/lispref/display.texi (Active Display Table):
21138         * doc/lispref/nonascii.texi (Locales):
21139         * etc/NEWS:
21140         * src/coding.c (syms_of_coding):
21141         * src/dispnew.c (syms_of_display):
21142         Document this.
21143         * src/print.c: Include disptab.h.
21144         (printchar_to_stream): New function, with much of the guts of the
21145         old Fexternal_debugging_output, except this one also uses the
21146         standard display table.
21147         (printchar, strout, Fexternal_debugging_output): Use it.
21149 2015-05-31  Glenn Morris  <rgm@gnu.org>
21151         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
21153 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
21155         Remove DEFSYMs that aren't used at the C level.  Also:
21156         * src/decompress.c (Qzlib_dll):
21157         * src/font.c (Qunicode_sip):
21158         * src/frame.c (Qtip_frame):
21159         * src/ftfont.c (Qserif):
21160         * src/gnutls.c (Qgnutls_dll):
21161         * src/xml.c (Qlibxml2_dll):
21162         Move from here ...
21163         * src/w32fns.c (syms_of_w32fns): ... to here,
21164         as these are used only on MS-Windows.
21166 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
21168         Use another default value for tramp-histfile-override
21169         * lisp/net/tramp-sh.el (tramp-histfile-override):
21170         Use ".tramp_history" as default.
21171         Fixes bug#20446
21173 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
21175         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
21177 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
21179         * etc/NEWS: Add an entry about map.el.
21181         Improve the docstring of functions in map.el
21182         Since a map is not a data structure but a concept, adding information
21183         about the possible types of maps can be useful information.
21184         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
21185         each public function.
21187 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
21189         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
21190         specific tests depending on the type of the map.
21192         * lisp/emacs-lisp/map.el: Better docstrings.
21194 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
21196         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
21198 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
21200         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
21202         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
21204         Fix a false negative in `map-elt' with alists and values being nil
21205         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
21206         found but its associated value is nil, do not return the default
21207         value.
21208         * test/automated/map-tests.el: Add a regression test.
21210 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
21212         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
21214         Do not signal an error when trying to delete a key from an array
21215         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
21216         the key is present to avoid signaling an error.
21217         * test/automated/map-tests.el: Add a test for deleting non-existing
21218         keys from maps.
21220         * lisp/emacs-lisp/map.el: Better docstring.
21222         Minor improvement in map-elt
21223         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
21224         doing a lookup in arrays, but check the boundaries of the array
21225         instead.
21226         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
21227         and a negative integer as key.
21229 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
21231         * test/automated/map-tests.el: Refactoring of test methods.
21233         * test/automated/map-tests.el: Renamed from map-test.el.
21235 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
21237         * lisp/emacs-lisp/map.el (map-into): Better error message.
21239         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
21241         Throw an error when converting a map into an unknown map type
21242         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
21243         not valid.
21244         * test/automated/map-test.el: Add a regression test.
21246         New library map.el similar to seq.el but for mapping data structures.
21247         * test/automated/map-test.el: New file.
21248         * lisp/emacs-lisp/map.el: New file.
21250 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
21252         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
21253         there's no explicit tag name (bug#20629).
21255 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21257         Remove format2
21258         * src/editfns.c, src/lisp.h (format2): Remove.
21259         It is more trouble than it's worth, now that we have CALLN.
21260         This is just a minor refactoring.
21261         * src/buffer.c (Fkill_buffer):
21262         * src/dbusbind.c (XD_OBJECT_TO_STRING):
21263         * src/fileio.c (barf_or_query_if_file_exists):
21264         Adjust to format2 going away.
21266         Don't misencode C-generated messages
21267         Also, be more consistent about calls to 'Fmessage' vs 'message'.
21268         * src/alloc.c (Fgc_status):
21269         Prefer AUTO_STRING to build_string for Fmessage call.
21270         * src/data.c (Fmake_variable_buffer_local)
21271         (Fmake_local_variable, Fmake_variable_frame_local):
21272         * src/doc.c (store_function_docstring):
21273         Use Fmessage, not message, since the argument can contain
21274         non-ASCII characters, and this can cause the resulting message
21275         to be incorrectly encoded for the current environment.
21276         * src/fns.c (maybe_resize_hash_table):
21277         * src/xselect.c (x_clipboard_manager_save_all):
21278         Use message, not Fmessage, since Fmessage's power isn't needed here.
21279         * src/process.c (Fmake_network_process): Reword message to avoid %s.
21280         * src/xdisp.c (vmessage): Document restrictions on message contents.
21281         (message_nolog) [false]: Remove unused code.
21283         Use \r rather than ^M in string literals
21284         This is less likely to cause problems on platforms that
21285         use CRLF (or CR!) termination for lines.
21287         Update .gitattributes to match current sources
21288         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
21289         * .gitattributes: Accommodate tests that insist on DOS format.
21290         Remove test/automated/data/decompress/foo-gzipped.
21291         Add etc/e/eterm-color.
21293 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
21295         * doc/emacs/mule.texi (Modifying Fontsets):
21296         Document face-ignored-fonts.  (Bug#20628)
21298         Add etags test for the new -Q option
21299         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
21300         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
21301         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
21302         test-case changes below.
21303         * test/etags/ETAGS.good_6: New file.
21304         * test/etags/cp-src/x.cc: New file.
21305         * test/etags/Makefile (CPSRC): Add x.cc.
21306         (check): Add one more test, for -Q.
21308 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
21310         Use list for the tags completion table, not obarray
21311         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
21312         list instead of an obarray
21313         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
21314         (tags-completion-table): Combine those lists.
21315         (tags-completion-table): Update the docstring.
21317 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
21319         Restore EOL format testing in etags
21320         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
21321         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
21322         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
21323         test-case changes below.
21324         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
21325         * test/etags/cp-src/c.C (B): Add back stray CR character.
21326         * test/etags/c-src/dostorture.c: Add back.
21327         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
21329 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
21331         Declare Emacs on MS-Windows to be DPI-aware
21332         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
21333         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
21334         This avoids Windows entering compatibility mode for Emacs,
21335         which causes fonts to look less nice.
21337 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
21339         Improve Tramp traces
21340         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
21341         * lisp/net/tramp.el (tramp-debug-message): Use it.
21343 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
21345         backup-buffer minor reworking of internals
21346         * lisp/files.el (backup-buffer): Rework to avoid a couple of
21347         unused locals inadvertently introduced in the previous change.
21349         backup-buffer now reports .emacs.d/%backup% ills
21350         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
21351         fails due to disk space exhaustion or whatever, do not pretend
21352         that it succeeded.  More generally, do a better job of checking
21353         for I/O failures, and limit the scope of the condition-case to
21354         just the operations where file errors should be caught and ignored
21355         (Bug#20595).  Also, don't bother trying to delete later backups if
21356         an earlier deletion fails, as this is a sign of trouble and it's
21357         better to stop when there's trouble.
21359         copy-file now truncates output after writing
21360         * src/fileio.c (Fcopy_file): Truncate output after writing rather
21361         than before.  This is more likely to work than truncation before
21362         writing, if the file system is out of space or the user is over
21363         disk quota (Bug#20595).  Also, check for read errors.
21365 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
21367         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
21368         Don't load descriptors from directories above the package directories.
21370 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
21372         Merge from gnulib
21373         This incorporates the following (Bug#20681):
21374         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
21375         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
21376         * lib/set-permissions.c: Copy from gnulib.
21378 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
21380         Improve Tramp traces
21381         * lisp/net/tramp.el (tramp-call-process-region): New defun.
21382         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
21384 2015-05-29  Glenn Morris  <rgm@gnu.org>
21386         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
21388 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
21390         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
21391         The signature was changed in the cairo branch, merged on 2015-05-23.
21392         This oversight broke compiling only the non-toolkit X version.
21394 2015-05-29  Samer Masterson  <samer@samertm.com>
21396         * doc/lispref/os.texi: Update initial-buffer-choice docs.
21398 2015-05-29  Glenn Morris  <rgm@gnu.org>
21400         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
21401         Mark as an expected failure.
21403 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
21405         Change package test to look for curved quotes
21406         * test/automated/package-test.el (package-test-describe-package)
21407         (package-test-signed): Search for curved single quotes as well as
21408         for grave accent and apostrophe.
21410 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
21412         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
21413         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
21415 2015-05-28  Samer Masterson  <samer@samertm.com>
21417         Show files when `initial-buffer-choice' is non-nil
21418         * lisp/startup.el (command-line-1): When Emacs is given a file as an
21419         argument and `initial-buffer-choice' is non-nil, display both the file
21420         and `initial-buffer-choice'.  For more than one file, show
21421         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
21422         commands out of the command line arg parser.
21423         (initial-buffer-choice): Clarify docstring.
21425 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
21427         Fix last commit
21428         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
21429         (gnulib module qcopy-acl): Add back, as it is harmless.  This
21430         minimizes differences wrt lib/gnulib.mk.
21432         Fix the MS-Windows build as followup to gnulib update
21433         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
21434         set-permissions.c, as they don't compile on MinGW.
21435         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
21437 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
21439         Revert my change to gnus-art.el
21440         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
21441         It wasn't that important, and it caused a Gnus build to fail.  See:
21442         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
21444         New minor mode Electric Quote
21445         This lets you easily insert quotes ‘like this’ by typing
21446         quotes `like this', and similarly you can easily insert
21447         quotes “like this” by typing quotes ``like this'' (Bug#20545).
21448         * doc/emacs/basic.texi (Inserting Text):
21449         * doc/emacs/modes.texi (Minor Modes):
21450         * etc/NEWS: Document it.
21451         * doc/emacs/text.texi (Quotation Marks): New section.
21452         * lisp/electric.el (electric-quote-comment)
21453         (electric-quote-string, electric-quote-paragraph):
21454         New custom vars.
21455         (electric--insertable-p)
21456         (electric-quote-post-self-insert-function): New functions.
21457         (electric-quote-mode, electric-quote-local-mode): New minor modes.
21458         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
21459         Add curved single quotes to electric-pair-text-pairs.
21460         Set electric-quote-string in this buffer.
21462         A few more doc string fixes (Bug#20385)
21464         Accept curved quotes in doc strings
21465         * lisp/info-look.el (info-lookup-guess-custom-symbol):
21466         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
21468         Generate curved quotes in pseudo-info nodes
21469         * lisp/info.el (Info-virtual-index-find-node)
21470         (Info-virtual-index, Info-apropos-find-node, info-apropos):
21471         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
21473         Fix minor quoting problems in doc strings
21474         Most of these fixes involve escaping grave accents that are
21475         actually intended to be grave accents, not left quotes.
21476         (Bug#20385)
21478         Support curved quotes in doc strings
21479         Emacs's traditional doc string style has been to quote symbols
21480         `like this'.  This worked well on now-obsolete terminals where
21481         ` and ' were symmetric quotes, but nowadays curved quotes
21482         ‘like this’ look better.  Support quoting the new way too.
21483         (Bug#20385)
21484         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
21485         ‘like-this’ as well as `like-this'.
21486         * etc/NEWS: Mention this.
21487         * lisp/cedet/mode-local.el (overload-docstring-extension)
21488         (mode-local-print-binding, mode-local-describe-bindings-2):
21489         * lisp/cus-theme.el (describe-theme-1):
21490         * lisp/descr-text.el (describe-text-properties-1, describe-char):
21491         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
21492         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
21493         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
21494         (eieio-help-constructor):
21495         * lisp/emacs-lisp/package.el (describe-package-1):
21496         * lisp/faces.el (describe-face):
21497         * lisp/help-fns.el (help-fns--key-bindings)
21498         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
21499         (help-fns--interactive-only, describe-function-1):
21500         (describe-variable):
21501         * lisp/help.el (describe-mode):
21502         * lisp/international/mule-cmds.el (describe-input-method)
21503         (describe-language-environment):
21504         * lisp/international/mule-diag.el (describe-character-set)
21505         (print-coding-system-briefly, list-input-methods)
21506         (list-input-methods-1):
21507         Insert curved quotes rather than grave accent and apostrophe.
21508         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
21509         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
21510         (checkdoc-proper-noun-region-engine):
21511         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
21512         (lisp-cl-font-lock-keywords-2):
21513         * lisp/finder.el (finder-font-lock-keywords):
21514         * lisp/gnus/gnus-art.el (gnus-button-alist):
21515         * lisp/help-fns.el (help-do-arg-highlight)
21516         (describe-function-1, describe-variable):
21517         * lisp/help-mode.el (help-xref-symbol-regexp)
21518         (help-xref-info-regexp, help-xref-url-regexp):
21519         * lisp/help.el (describe-mode):
21520         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
21521         * lisp/wid-edit.el (widget-documentation-link-regexp):
21522         Parse symbols quoted ‘like-this’ as well as `like-this'.
21523         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
21524         Add "‘" and "’" to electric-pair-text-pairs.
21525         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
21526         (elisp-completion-at-point, elisp--preceding-sexp):
21527         Also treat "‘" and "’" as quoting chars.
21529         substitute-command-keys now curves quotes
21530         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
21531         * doc/lispref/help.texi (Keys in Documentation):
21532         * etc/NEWS: Document this.
21533         * src/doc.c (Fsubstitute_command_keys): Implement it.
21535 2015-05-28  Glenn Morris  <rgm@gnu.org>
21537         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
21538         (rmail-summary-by-topic, rmail-summary-by-senders):
21539         No longer strip leading/trailing whitespace.
21541         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
21542         (f90-no-block-limit): Add "enum".  (Bug#20680)
21543         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
21544         New tests.
21546 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21548         * lisp/isearch.el (isearch--current-buffer): Give a default value.
21549         Un-revert changes mistakenly dropped by f9fabb2b.
21551 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
21553         Merge from gnulib
21554         This incorporates:
21555         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
21556         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
21557         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
21558         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
21559         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
21560         2015-05-26 stdio: fix probe on mingw under gcc 5.1
21561         * admin/merge-gnulib (GNULIB_MODULES):
21562         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
21563         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
21564         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
21565         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
21566         Get latest versions from gnulib.
21567         * lib/get-permissions.c, lib/set-permissions.c: New files.
21568         * lib/gnulib.mk, m4/gnulib-comp.m4:
21569         Regenerate.
21570         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
21572 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
21574         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
21575         process here.
21576         (vc-do-command): Rather than here (bug#20608).
21578 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
21580         Avoid gratuitous delete-dups in face-at-point
21581         * lisp/faces.el (face-at-point): Do not compute the properly
21582         ordered, duplicate-free list if only a single value is
21583         requested anyway.  (Bug#20519)
21585         Show the exact C-x 8 RET invocation in describe-char
21586         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
21587         invocation instead of a template.  (Bug#20522)
21589 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
21591         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
21592         (package-menu--post-refresh): Call `tabulated-list-print' with the
21593         UPDATE argument.  This only affects the refresh action, the revert
21594         action still erases tags.
21595         (package-menu-get-status): Change `assq' to `assoc'.
21596         (package-menu--mark-upgrades-1): New function.
21597         (package-menu--mark-upgrades-pending): New variable.
21598         (package-menu-mark-upgrades): Use them to delay marking until
21599         after refresh is done.
21600         (package-menu--post-refresh): Call mark-upgrades-1 if
21601         mark-upgrades-pending is non-nil.
21603 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
21605         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
21606         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
21607         (commit 3953c4be2816537be95520605d45b866dc731f4b).
21609 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21611         * lisp/isearch.el (isearch--current-buffer): New var.
21612         (isearch-update): Set cursor-sensor-inhibit here.
21613         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
21614         (bug#20532).
21616         Change inhibit-point-motion-hooks to t
21617         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
21618         to t and document it as obsolete.
21620 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
21622         Support ZIP files that use Zip64 extensions
21623         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
21624         format of central directory offsets used by Zip64 extensions.
21625         (Bug#20665)
21627 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
21629         New test tramp-test30-make-auto-save-file-name
21630         * test/automated/tramp-tests.el
21631         (tramp-test30-make-auto-save-file-name): New test.
21632         (tramp-test31-special-characters)
21633         (tramp-test31-special-characters-with-stat)
21634         (tramp-test31-special-characters-with-perl)
21635         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
21636         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
21637         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
21638         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
21640         Improve tramp-handle-make-auto-save-file-name
21641         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
21642         (tramp-handle-make-auto-save-file-name): Let native
21643         `make-auto-save-file-name' use `auto-save-file-name-transforms',
21644         if `tramp-auto-save-directory' is not set.
21646 2015-05-27  Glenn Morris  <rgm@gnu.org>
21648         No longer set dired-directory in eshell.  (Bug#16477)
21649         * lisp/eshell/esh-mode.el (eshell-mode):
21650         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
21652         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
21654         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
21655         * lisp/progmodes/cc-mode.el (c-mode-help-address):
21656         Change to submit@debbugs.
21657         (c-mode-bug-package): New constant.
21658         (mail-position-on-field): Declare.
21659         (c-submit-bug-report): Insert X-Debbugs-Package header.
21660         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
21661         Mention debbugs.gnu.org.
21663 2015-05-26  Glenn Morris  <rgm@gnu.org>
21665         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
21666         (rmail-summary-by-recipients, rmail-summary-by-topic)
21667         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
21668         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
21670 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
21672         Handle curved quotes in info files
21673         * lisp/calc/calc-help.el (calc-describe-thing):
21674         * lisp/info.el (Info-find-index-name)
21675         (Info-try-follow-nearest-node, Info-fontify-node):
21676         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
21677         In info files, process quotes ‘like this’ the same way we process
21678         quotes `like this'.  This catches a few places we missed earlier.
21680 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
21682         xref-prompt-for-identifier: Use a list value
21683         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
21684         value, to be interpreted as a list of commands.
21685         (xref--prompt-p): New function.
21686         (xref--read-identifier): Use it.
21688 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
21690         Teach MS-Windows font back-end return per-glyph ascent/descent
21691         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
21692         values.
21693         * src/w32font.c (w32font_text_extents): Compute, cache, and
21694         accumulate per-glyph ascent and descent values, instead of copying
21695         global values from the font.  If the values are not available from
21696         the font data, i.e., non-TTF fonts, fall back on font-global values.
21697         (compute_metrics): Compute and return per-glyph ascent and descent
21698         values, if returned by GetGlyphOutlineW, falling back on
21699         font-global values.  (Bug#20628)
21700         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
21701         height of rectangle to be drawn, to be compatible with
21702         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
21703         box, when per-glyph ascent/descent values are used.
21705 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
21707         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
21708         Don't sort if sorter is nil.
21710 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
21712         Fix Bug#20621
21713         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
21714         are major modes which set `auto-save-mode' on their own rules;
21715         Tramp shall not overwrite such settings.
21717 2015-05-26  Glenn Morris  <rgm@gnu.org>
21719         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
21720         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
21721         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
21722         Doc updates.
21723         (vc-dir-mode): Remove unnecessary autoload.
21725 2015-05-25  Philipp Stephani  <phst@google.com>
21727         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
21728         (xterm--extra-capabilities-type): Add `getSelection'.
21729         (xterm--query): Add `no-async' argument.
21730         (xterm--init-activate-get-selection): New function.
21731         (terminal-init-xterm): Use it.
21732         (xterm--init-modify-other-keys): Rename from
21733         terminal-init-xterm-modify-other-keys.
21734         (xterm--init-bracketed-paste-mode): Rename from
21735         terminal-init-xterm-bracketed-paste-mode.
21736         (xterm--init-activate-set-selection): Rename from
21737         terminal-init-xterm-activate-set-selection.
21738         (xterm--selection-char): New function.
21739         (gui-backend-set-selection): Use it.  Use the &context to only apply
21740         this method in terminals where we enabled the feature.
21741         (gui-backend-get-selection): New method.
21743 2015-05-25  Daniel Colascione  <dancol@dancol.org>
21745         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
21746         keyword constants to C++.
21748 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
21750         Make TAGS files more portable to MS-Windows
21751         * etc/NEWS: Document this.
21752         * lib-src/etags.c (readline_internal) [DOS_NT]:
21753         Don't treat CRs differently from GNUish hosts.
21754         * lisp/progmodes/etags.el (etags-goto-tag-location):
21755         Adjust STARTPOS to account for the skipped CRs in dos-style files.
21757 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
21759         Improve fix of bug#20634 in tramp-sh.el
21761 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
21763         Fix a typo in last commit
21764         * lib-src/etags.c (C_entries): Fix a typo.
21765         * test/etags/ETAGS.good_1:
21766         * test/etags/ETAGS.good_2:
21767         * test/etags/ETAGS.good_3:
21768         * test/etags/ETAGS.good_4:
21769         * test/etags/ETAGS.good_5:
21770         * test/etags/CTAGS.good: Update due to the change in etags.c.
21772         Fix tagging of class members in C-like OO languages
21773         * lib-src/etags.c (longopts): Add new option --class-qualify and
21774         its shorthand -Q.
21775         (print_help): Add help text for --class-qualify.
21776         (main): Add handling of -Q.
21777         (consider_token, C_entries) <omethodparm>: Append argument types
21778         to Objective C methods only if --class-qualify was specified.
21779         Qualify C++, Objective C, and Java class members with their class
21780         names only if --class-qualify was specified.
21781         (C_entries): If --class-qualify was not specified, remove the
21782         namespace and class qualifiers from tag names of C++ methods.
21783         This allows to use etags.el as xref back-end without the
21784         tag-symbol-match-p method, which greatly increases the number of
21785         potentially false positives.  (Bug#20629)
21786         * doc/man/etags.1: Update to document the new --class-qualify
21787         option.
21788         * test/etags/ETAGS.good_1:
21789         * test/etags/ETAGS.good_2:
21790         * test/etags/ETAGS.good_3:
21791         * test/etags/ETAGS.good_4:
21792         * test/etags/ETAGS.good_5:
21793         * test/etags/CTAGS.good: Update due to changes in etags.c.
21795 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
21797         (cl-generic-define-method): Side effects are evil (bug#20644)
21798         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
21799         cons-cells that might be used as keys in an `equal' hash-table.
21801 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
21803         Make erc timestamps visible again
21804         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
21805         Make timestamps visible again (if requested).
21807 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
21809         Fix last change in etags.c that broke tagging compresed files
21810         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
21811         quoting of decompression shell command for MS-Windows/MS-DOS.
21813 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
21815         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
21816         (Bug#20639)
21818 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
21820         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
21821         Fix typo in "Inhibit `epa-file-handler' in Tramp"
21822         (commit 89035e247591c8d688fce922b7079881aa110f33).
21824 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
21826         Fix IPv6 addresses in Tramp
21827         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
21828         Add square brackets around host name.
21830 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
21832         Inhibit `epa-file-handler' in Tramp (Bug#20634)
21833         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
21834         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
21835         `epa-file-handler'.
21837 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21839         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
21840         (pcase-let): Document the behavior in case the pattern doesn't match.
21842 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
21844         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
21845         (tabulated-list-print): New optional argument, UPDATE.  If
21846         non-nil, the list is printed by only adding and deleting the
21847         changed entries, instead of erasing the whole buffer.  This method
21848         is much faster when few or no entries have changed.
21849         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
21850         * etc/NEWS: Document it.
21852         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
21853         (tabulated-list--get-sorter): New function.
21854         (tabulated-list-print): Restore window-line when remember-pos is
21855         passed and optimize away the `nreverse'.
21857 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
21859         Simpilify etags TEX mode scanning
21860         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
21861         Remove static vars.
21862         (TeX_commands): Deduce escapes here instead.
21863         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
21864         This removes the need for a reset_input call.
21866         Improve etags I/O error reporting
21867         * lib-src/etags.c:
21868         Don't include sys/types.h and sys/stat.h; no longer needed.
21869         (infilename): New static var.
21870         (process_file_name): Don't call 'stat'.  Instead, just open the
21871         file for reading and report any errors.  Don't bother making
21872         a copy of the file argument; it's not needed.  Be more careful to
21873         use the failing errno when reporting an error.
21874         Quote the real name better (though no perfectly)
21875         when passing it to the shell.
21876         (reset_input): New function, which reports I/O errors.
21877         All uses of 'rewind' changed to use this function.
21878         (perhaps_more_input): New function, which also checks for
21879         I/O errors.  All uses of 'feof' changed to use this function.
21880         (analyze_regex): Report an error if fclose fails.
21881         (readline_internal): Report an error if getc fails.
21882         (etags_mktmp): Return an error if close fails.
21884         etags.c: avoid side effects in 'if'
21885         * lib-src/etags.c (process_file_name, Perl_functions)
21886         (TEX_decode_env): Hoist side effects into previous statement.
21888         .gitignore tweaks
21889         * .gitignore: Ignore all *.stamp files.  Sort.
21890         Ignore [0-9]*.txt (commonly used name for git patches)
21891         and /vc-dwim-log-* (vc-dwim temporary).
21893 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
21895         Fix last change in etags.c, which failed the test suite
21896         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
21897         before the last change.
21899 2015-05-23  Glenn Morris  <rgm@gnu.org>
21901         Remove charset map files from repository, generate in first bootstrap
21902         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
21903         (all): Create the stamp file.
21904         (extraclean): Delete the stamp file.
21905         * src/Makefile.in (lispintdir, charsets): New variables.
21906         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
21907         New rules.
21908         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
21909         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
21910         * etc/charsets/*.map: Remove from repository.
21912 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21914         Cleanup etags.c to use locale-independent code
21915         Although this doesn't alter behavior (as etags doesn't use
21916         setlocale), the new version is more clearly locale-independent and
21917         the executable is a bit smaller on my platform.
21918         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
21919         Include <c-ctype.h> instead of <ctype.h>.
21920         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
21921         (begtk, midtk):
21922         Remove; no longer needed.
21923         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
21924         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
21925         c_islower, c_tolower, respectively.
21926         (notinname, begtoken, intoken, endtoken): Rewrite as functions
21927         instead of macros, and initialize the tables at compile-time
21928         rather than at run-time.
21930         Put default action first in src/Makefile
21931         * src/Makefile.in (all): Put this rule before lisp.mk.
21932         That way, plain 'make' works in the src directory again.
21934 2015-05-23  Glenn Morris  <rgm@gnu.org>
21936         * Makefile.in: Fix extraclean rule.
21937         (extraclean_dirs): New.
21938         (extraclean): Use it.
21940 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
21942         Avoid compiler warning in image.c on MS-Windows
21943         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
21944         warning in image.c.
21946 2015-05-23  Glenn Morris  <rgm@gnu.org>
21948         Fix --without-toolkit-scroll-bars builds.
21949         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
21950         Add new argument to x_clear_area1.
21951         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
21952         Update x_clear_area arguments.
21954         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
21955         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
21956         Change to included version.
21957         (LOCAL, local, totalclean): Remove.
21958         (extraclean): Delete all generated files.
21960 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21962         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
21963         CVS/Entries exists.
21965         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
21967         * lisp/progmodes/etags.el (tags-completion-at-point-function):
21968         Don't trust the find-tag function.
21970 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
21972         Pacify --enable-gcc-warnings
21973         * src/frame.h (x_query_color): Remove redundant extern decl.
21974         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
21975         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
21976         (ftcrfont_text_extents, ftcrfont_draw):
21977         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
21978         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
21979         (x_ins_del_lines, frame_highlight, frame_unhighlight)
21980         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
21981         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
21982         (x_update_window_begin, x_connection_closed)
21983         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
21984         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
21985         (*x_gc_get_ext_data, x_extension_initialize)
21986         (x_cr_accumulate_data):
21987         Remove redundant static decl.  Many of these GCC doesn't complain
21988         about, but we might as well clean out the duplication while we're
21989         in the neighborhood.
21990         * src/xterm.c (x_fill_trapezoid_for_relief):
21991         Remove decl of nonexistent function.
21993 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
21995         Replace gui-method macros with cl-generic with &context
21996         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
21997         (gui-method-declare, gui-call): Remove.
21998         (frame-creation-function): Use cl-defgeneric.
21999         (make-frame): Adjust callers.
22000         * lisp/menu-bar.el (menu-bar-edit-menu):
22001         Use gui-backend-selection-exists-p.
22002         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
22003         (gui-backend-get-selection): New cl-generic to replace
22004         gui-get-selection method.
22005         (gui-backend-set-selection): New cl-generic to replace
22006         gui-set-selection method.
22007         (gui-selection-owner-p): New cl-generic to replace
22008         gui-selection-owner-p method.
22009         (gui-backend-selection-exists-p): New cl-generic to replace
22010         gui-selection-exists-p method.  Adjust all callers.
22011         * lisp/server.el (server-create-window-system-frame): Don't ignore
22012         window-system spec even when unsupported.
22013         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
22014         * lisp/startup.el (handle-args-function, window-system-initialization):
22015         Use cl-defgeneric.
22016         (command-line): Adjust calls accordingly.
22017         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
22018         a window-system-initialization method.
22019         (handle-args-function, frame-creation-function): Use cl-defmethod.
22020         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22021         (gui-get-selection): Use cl-defmethod on the new functions instead.
22022         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
22023         a gui-backend-get-selection method.
22024         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
22025         Use cl-defmethod on the new functions instead.
22026         (msdos-window-system-initialization): Turn into
22027         a window-system-initialization method.
22028         (frame-creation-function, handle-args-function): Use cl-defmethod.
22029         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
22030         a window-system-initialization method.
22031         (handle-args-function, frame-creation-function): Use cl-defmethod.
22032         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22033         (gui-get-selection): Use cl-defmethod on the new functions instead.
22034         * lisp/term/x-win.el (x-window-system-initialization): Turn into
22035         a window-system-initialization method.
22036         (handle-args-function, frame-creation-function): Use cl-defmethod.
22037         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
22038         (gui-get-selection): Use cl-defmethod on the new functions instead.
22039         * lisp/term/xterm.el (xterm--set-selection): Turn into
22040         a gui-backend-set-selection method.
22041         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
22042         (Fns_selection_owner_p): Remove unused arg `terminal'.
22043         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
22045 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
22047         Revert "Fix etags Bug#20629 that broke C++ support"
22048         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
22050 2015-05-23  Jan D  <jan.h.d@swipnet.se>
22052         Fix etags Bug#20629 that broke C++ support
22053         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
22054         Revert commit from Sun May 10 (Bug#20629).
22056         Merge branch 'cairo'.
22057         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
22058         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
22060         Merge branch 'master' into cairo
22062         Fixes to compile cairo branch without cairo
22063         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
22064         first argument.
22065         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
22066         USE_CAIRO.
22068 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
22070         * lisp/emacs-lisp/package.el: Always update selected-packages.
22071         (package--update-selected-packages): New function.
22072         (package-menu-execute): Use it before starting the transaction,
22073         this way the list of selected packages is updated even when the
22074         transaction fails.
22075         (package-menu--perform-transaction): Don't edit selected-packages.
22077 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
22079         Fix etags reading of compressed files
22080         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
22081         Include fcntl.h, for O_CLOEXEC.
22082         (process_file_name): Don't use 'popen', whose streams cannot be
22083         rewound.  Instead, uncompress the file to a temporary file,
22084         created by 'etags_mktmp', and read from that as usual.
22085         (etags_mktmp): New function.
22086         * test/etags/ETAGS.good_1:
22087         * test/etags/ETAGS.good_2:
22088         * test/etags/ETAGS.good_3:
22089         * test/etags/ETAGS.good_4:
22090         * test/etags/ETAGS.good_5: Update to be consistent with latest
22091         changes in etags.c regarding reading compressed files.
22093         Improve documentation of 'set-fontset-font'
22094         * doc/lispref/display.texi (Fontsets): Document the value of nil
22095         for the 3rd argument of 'set-fontset-font'.
22097         Fix documentation of forward-line
22098         * src/cmds.c (Fforward_line): Clarify the return value if the line
22099         at end of accessible portion of the buffer has no newline.
22100         * doc/lispref/positions.texi (Text Lines): Document what happens
22101         if the line at end of accessible portion of buffer has no newline.
22102         (Bug#20587)
22104 2015-05-22  Glenn Morris  <rgm@gnu.org>
22106         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
22108         * admin/charsets/mapconv (LC_ALL): Set to C.
22110         * Makefile.in: Add admin/charsets into top-level clean rules.
22111         (clean): Add admin/charsets.
22112         (maybeclean_dirs): New variable.
22113         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
22115         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
22117 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
22119         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
22121 2015-05-22  Glenn Morris  <rgm@gnu.org>
22123         Generate admin/charsets Makefile via configure, and make more portable
22124         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
22125         (admin/charsets/Makefile): Generate it.
22126         * admin/charsets/Makefile.in: Rename from Makefile.
22127         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
22128         New variables, set by configure.
22129         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
22130         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
22131         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
22132         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
22133         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
22134         (all): Declare PHONY.
22135         (local): New PHONY target.
22136         (map_template): New template.  Use to define short PHONY aliases.
22137         (*.map): Add directory prefixes to targets and prerequisites.
22138         Respect make verbosity.
22139         (JISC6226.map): Replace non-portable sed append without newline.
22140         (install): Remove rule.
22141         (clean): Only delete temporary sedscript.
22142         (bootstrap-clean, distclean, maintainer-clean, extraclean)
22143         (totalclean): New PHONY rules.
22144         * admin/charsets/mapconv (BASE): Replace basename with expr.
22145         (FILE): Add "mapfiles" subdirectory.
22146         (AWK): New variable.  Use throughout in place of "awk".
22147         (main): Use "gunzip -c" in place of "zcat".
22148         Don't leave whitespace before "p", for older sed.
22149         * admin/charsets/mapfiles/PTCP154: Add final newline,
22150         to make older sed versions happy.
22152 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
22154         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
22155         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
22156         (auto-revert-notify-watch-descriptor): Use defvar-local.
22157         (find-file-hook, auto-revert-tail-mode)
22158         (auto-revert-notify-add-watch): Use setq-local.
22159         (auto-revert-notify-add-watch): Don't call make-local-variable on
22160         kill-buffer-hook (bug#20601).
22162 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
22164         Change defgeneric so it doesn't completely redefine the function
22165         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
22166         previously defined methods.
22167         (cl-generic-define-method): Let-bind purify-flag instead of
22168         using `fset'.
22169         (cl--generic-prefill-dispatchers): Only define during compilation.
22170         (cl-method-qualifiers): Remove redundant alias.
22171         (help-fns-short-filename): Silence byte-compiler.
22172         * test/automated/cl-generic-tests.el:
22173         Adjust to new defgeneric semantics.
22175 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
22177         * lisp/emacs-lisp/package.el (package-menu-execute):
22178         Remove reference to remove-dups.
22180 2015-05-21  kwhite  <kwhite@gnu.org>
22182         * lisp/erc/erc.el: Hide network/channel messages.
22183         (erc-network-hide-list, erc-channel-hide-list): New lists to define
22184         message types per network/channel.
22185         (erc-add-targets): New function to parse list of targets.
22186         (erc-hide-current-message-p): Modify to check for new targets.
22188 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22190         Don't quote nil and t in doc strings
22191         This is as per "Tips for Documentation Strings" in the elisp manual.
22192         For consistency, do the same in diagnostics and comments.
22194 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
22196         Fix a minor problem with mouse-face on mode line
22197         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
22198         mouse face also if the mouse pointer hovers above mode-line glyphs
22199         that don't come from any Lisp string.  (Bug#20620)
22201 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
22203         * lisp/emacs-lisp/package.el: Fix selected-package logic.
22204         (package-menu-execute): Mark as selected all non-upgrade packages
22205         being installed.
22206         (package-menu--perform-transaction): Don't mark anything.
22208         * lisp/emacs-lisp/package.el: Mode-line progress report.
22209         (package-menu--transaction-status): New variable.
22210         (package-menu-mode, package-menu--perform-transaction): Use it.
22212         * lisp/emacs-lisp/package.el: Better transaction messages.
22213         (package-menu--partition-transaction): New function.
22214         (package-menu--prompt-transaction-p, package-menu-execute):
22215         Use it.
22216         (package-menu--perform-transaction): Don't do any messaging.
22218         * lisp/emacs-lisp/package.el: Revert async package transactions.
22219         (package-menu-async): Update doc.
22220         (package-install-from-archive, package-download-transaction)
22221         (package-install, package-menu--perform-transaction)
22222         (package-menu-execute): Remove asynchronous functionality.
22224 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
22226         Revert doc string changes to f90.el
22227         Problem reported by Glenn Morris in:
22228         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
22229         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
22230         Revert recent changes to doc strings, as it's intended that they
22231         use grave accent, not quote.
22233 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
22235         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
22236         Improve parameter name.
22238         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
22240 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
22242         Don't require help-fns when not needed
22243         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
22244         * lisp/emacs-lisp/elint.el:
22245         Don't require help-fns at the top level
22246         * lisp/emacs-lisp/advice.el (ad-arglist):
22247         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
22248         Don't require help-fns.  (Bug#17001)
22250 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
22252         Fix slash collapsing in etags on MS-Windows
22253         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
22254         MS-Windows code from the Posix code, and support collapsing both
22255         forward- and back-slashes on MS-Windows.  Fixes a regression found
22256         by the test suite.
22258         Improve documentation of glyphless-char-display
22259         * doc/lispref/display.texi (Glyphless Chars): Improve
22260         documentation of glyphless character display.
22262         Fix "acronym" display of glyphless characters on w32
22263         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
22264         ignore "acronym" substitutes of 1 character for glyphless characters.
22266 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
22268         Add an automated test for let-when-compile
22269         * test/automated/subr-tests.el (let-when-compile): New test.
22271         Add let-when-compile macro instead of using pcase-let
22272         * lisp/subr.el (let-when-compile): New let-like macro that makes its
22273         bindings known to macros like `eval-when-compile' in the body.
22274         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
22275         a `let-when-compile'.  Also comment out the unused lexical var
22276         `el-kws-re'.
22277         The change greatly improves readability, while providing almost the
22278         same (even shorter) byte code: instead of pre-evaluating 10 variables,
22279         tossing them into a list, and destructuring that list a full screen
22280         page later, the variables are simply bound as they are evaluated,
22281         wrapped individually in `eval-when-compile'.
22283 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
22285         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
22286         (package-delete-button-action): New function.
22287         (describe-package-1): Add Delete button.
22289         * lisp/emacs-lisp/package.el: Better dependency description.
22290         (package--used-elsewhere-p): New optional arg, ALL, and return
22291         package-desc objects instead of names.
22292         (package-delete): Update accordingly.
22293         (describe-package-1): Describe which packages require the package.
22295 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
22297         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
22298         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
22299         Fix doc-string.
22301         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
22302         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
22303         (switch-to-buffer): If the selected window is strongly dedicated
22304         to its buffer, signal error before prompting for buffer name.
22305         Handle `switch-to-buffer-in-dedicated-window'.
22306         * doc/lispref/windows.texi (Switching Buffers):
22307         Document `switch-to-buffer-in-dedicated-window'.
22309 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22311         Prefer "this" to “this” in doc strings
22312         This mostly just straightens quotes introduced in my previous patch.
22313         Suggested by Dmitry Gutov in:
22314         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
22315         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
22316         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
22317         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
22318         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
22319         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
22320         Prefer straight double quotes to curved double quotes in doc strings.
22322         Fix minor quoting problems in doc strings
22323         These were glitches regardless of how or whether we tackle the
22324         problem of grave accent in doc strings.
22325         * lisp/calc/calc-aent.el (math-restore-placeholders):
22326         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
22327         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
22328         * lisp/leim/quail/hebrew.el ("hebrew-new")
22329         ("hebrew-biblical-sil"):
22330         * lisp/leim/quail/thai.el ("thai-kesmanee"):
22331         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
22332         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
22333         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
22334         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
22335         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
22336         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
22337         (semantic-tag-components):
22338         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
22339         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
22340         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
22341         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
22342         * lisp/emacs-lisp/generator.el (iter-next):
22343         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
22344         (gnus-article-mode-syntax-table):
22345         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
22346         * lisp/net/soap-client.el (soap-wsdl-get):
22347         * lisp/net/telnet.el (telnet-mode):
22348         * lisp/org/org-compat.el (org-number-sequence):
22349         * lisp/org/org.el (org-remove-highlights-with-change)
22350         (org-structure-template-alist):
22351         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
22352         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
22353         (handwrite-12pt, handwrite-13pt):
22354         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
22355         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
22356         * lisp/progmodes/verilog-mode.el (verilog-tool)
22357         (verilog-string-replace-matches, verilog-preprocess)
22358         (verilog-auto-insert-lisp, verilog-auto-insert-last):
22359         * lisp/textmodes/makeinfo.el (makeinfo-options):
22360         * src/font.c (Ffont_spec):
22361         Fix minor quoting problems in doc strings, e.g., missing quote,
22362         ``x'' where `x' was meant, etc.
22363         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
22364         Fix minor quoting problem in other string.
22365         * lisp/leim/quail/ethiopic.el ("ethiopic"):
22366         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
22367         Omit unnecessary quotes.
22368         * lisp/faces.el (set-face-attribute, set-face-underline)
22369         (set-face-inverse-video, x-create-frame-with-faces):
22370         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
22371         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
22372         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
22373         * lisp/net/tramp.el (tramp-methods):
22374         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
22375         * lisp/textmodes/artist.el (artist-ellipse-right-char)
22376         (artist-ellipse-left-char, artist-vaporize-fuzziness)
22377         (artist-spray-chars, artist-mode, artist-replace-string)
22378         (artist-put-pixel, artist-text-see-thru):
22379         * lisp/vc/ediff-util.el (ediff-submit-report):
22380         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
22381         Use double-quotes rather than TeX markup in doc strings.
22382         * lisp/skeleton.el (skeleton-pair-insert-maybe):
22383         Reword to avoid the need for grave accent and apostrophe.
22384         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
22385         Don't use grave and acute accents to quote.
22387 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
22389         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
22390         Silence compiler.
22392 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22394         Try to port new etags tests to MS-Windows
22395         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
22396         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
22397         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
22398         Adjust to test-case changes below.
22399         * test/etags/Makefile (CSRC): Remove dostorture.c.
22400         Whatever it was trying to test, wasn't working portably.
22401         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
22402         just a line-ending problem.
22403         * test/etags/c-src/dostorture.c: Remove.
22404         * test/etags/cp-src/c.C: Remove stray CR.
22405         * test/etags/html-src/algrthms.html: Remove trailing CRs.
22406         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
22407         but if someone edits it later it should stay UTF-8-compatible.
22409 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
22411         Fix display of overlapping window-specific overlays
22412         * src/keyboard.c (adjust_point_for_property): When adjusting point
22413         due to display strings, ignore overlays that are specific to
22414         windows other than the currently selected one.
22415         * src/xdisp.c (handle_single_display_spec): If the display
22416         property comes from an overlay, arrange for buffer iteration to
22417         resume only after the end of that overlay.  (Bug#20607)
22419 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
22421         New command icomplete-force-complete-and-exit
22422         * lisp/icomplete.el (icomplete-force-complete-and-exit):
22423         New command
22424         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
22425         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
22426         (icomplete-minibuffer-map): Bind C-j to it.
22427         (icomplete-forward-completions, icomplete-backward-completions):
22428         Mention the new command in the docstring.
22429         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
22430         Revert the previous fix for bug#17545.
22432 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
22434         Fix last commit
22436         In Elisp manual explain how to override window manager positioning
22437         (Bug#20552)
22438         * doc/lispref/frames.texi (Position Parameters): Give example of
22439         how to override a window manager positioning decision.
22441         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
22442         * src/frame.c (Fdelete_frame): In doc-string mention that frame
22443         can't be deleted if it has a surrogate minibuffer.
22444         * doc/lispref/frames.texi (Minibuffers and Frames)
22445         (Deleting Frames): Explain "surrogate minibuffer frames".
22447         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
22449 2015-05-18  Glenn Morris  <rgm@gnu.org>
22451         Add option to ignore commit lines matching a pattern in ChangeLog
22452         * build-aux/gitlog-to-changelog: Add --ignore-line option.
22453         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
22455 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22457         Don't skip new etags tests on non-UTF-8 hosts
22458         Problem reported by Eli Zaretskii for MS-Windows.
22459         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
22460         (LC_ALL): Set to C if the current locale isn't UTF-8.
22461         (.PHONY): Remove ediff_1 thru ediff_5.
22462         (check): Always run.
22464 2015-05-18  Glenn Morris  <rgm@gnu.org>
22466         * lisp/calculator.el (calculator-funcall):
22467         * lisp/textmodes/artist.el (artist-spray-random-points):
22468         Use standard degree/radian conversion utilities.
22470         Further lisp-complete-symbol related cleanup.
22471         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
22472         Unadvertise non-functional argument.  Replace obsolete alias.
22474 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
22476         Add a test case for Maven warning ouput
22477         * test/automated/compile-tests.el
22478         (compile-tests--test-regexps-data): Add a case for Maven warning
22479         ouput.
22480         (compile--test-error-line): Check the compilation message type, if
22481         it's specified in the test data.
22483 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
22485         Update Maven compilation-mode entry to distinguish warnings
22486         * lisp/progmodes/compile.el
22487         (compilation-error-regexp-alist-alist): Update Maven entry to
22488         distinguish warnings (bug#20556).
22490 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
22492         * test/automated/sgml-mode-tests.el: New file.
22494 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
22496         Improve handling of the first Git revision
22497         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
22498         there's no next entry, delete until the end of the buffer.
22499         (log-view-end-of-defun-1): Stop at eob.
22500         * lisp/vc/vc-annotate.el
22501         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
22502         when previous-revision is nil.
22503         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
22504         with `--' to avoid ambiguity.
22505         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
22506         returned revision string.
22507         (vc-git-annotate-time): Expect `^' before the first revision.
22508         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
22509         REV1 is nil, and REV2 is not.
22510         * lisp/vc/vc.el: Update the description of the `diff' function.
22512 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
22514         Allow checkdoc to be called in batch
22515         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
22516         is non-nil, echo the error with `warn'.
22517         How it can be used in -batch:
22518         (with-current-buffer (find-file "checkdoc.el")
22519           (checkdoc-current-buffer t))
22521 2015-05-18  Glenn Morris  <rgm@gnu.org>
22523         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
22525 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
22527         * admin/notes/unicode: New section "binary files".
22529         Change new etags test to use UTF-8 encoding
22530         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
22531         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
22532         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
22533         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
22534         * test/etags/html-src/softwarelibero.html:
22535         Switch to UTF-8 encoding.
22536         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
22537         Remove Makefile, as it's too incestuous to have the test input
22538         include the build procedure.
22539         (UTF8_LOCALE, UTF_ENCODING): New macros.
22540         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
22541         (check): Skip if not UTF-8.
22542         (.PHONY): New rule.
22543         (FRC): Remove, as superseded by .PHONY.  All uses removed.
22544         (regexfile): Prefer printf to echo when outputting oddball chars.
22545         (.PRECIOUS): Remove, as these files are not built.
22547         Rename 'foo-gzipped' to 'foo.gz'
22548         * test/automated/data/decompress/foo.gz:
22549         Rename from test/automated/data/decompress/foo-gzipped,
22550         to make it easier for other tools to tell that it's compressed.
22551         * test/automated/zlib-tests.el (zlib--decompress):
22552         Adjust to renamed file.
22554 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
22556         Set up default-directory
22557         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
22558         binding for `v'.
22559         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
22560         appropriate value for default-directory.
22562 2015-05-17  Samer Masterson  <samer@samertm.com>
22564         * lisp/eshell/em-term.el (eshell-term-sentinel):
22565         No-op by default, only kills term buffer if
22566         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
22567         (eshell-destroy-buffer-when-process-dies): New custom to preserve
22568         previous behavior.
22570         eshell: Introduce new buffer syntax
22571         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
22572         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
22573         needed (Bug#19319).
22574         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
22575         (eshell-get-target): Remove shorthand-specific code.
22576         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
22577         '#<buffer-name>'.
22579 2015-05-17  Jan D  <jan.h.d@swipnet.se>
22581         Merge branch 'master' into cairo
22583 2015-04-26  Jan D  <jan.h.d@swipnet.se>
22585         Merge branch 'master' into cairo
22587         Add PBM support for cairo
22588         * src/image.c (xcolor_to_argb32): New function.
22589         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
22590         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
22591         XImagePtr if ! USE_CAIRO.
22592         (pbm_load): Add cairo support.
22594 2015-04-12  Jan D  <jan.h.d@swipnet.se>
22596         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
22597         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
22598         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
22599         x_free_cr_resources.
22601         Handle specified bg in images.  Use generic libpng code for PNGs.
22602         * src/image.c (get_spec_bg_or_alpha_as_argb)
22603         (create_cairo_image_surface): New functions when USE_CAIRO.
22604         (xpm_load): Call the above functions.  Handle XPM without mask
22605         when USE_CAIRO.
22606         (png_load_body): Handle USE_CAIRO case.
22607         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
22608         instead.
22609         (jpeg_load_body): Call create_cairo_image_surface.
22610         (gif_load, svg_load_image): Handle specified background, call
22611         create_cairo_image_surface.
22612         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
22614 2015-04-11  Jan D  <jan.h.d@swipnet.se>
22616         Support GIF and TIFF with cairo
22617         * configure.ac: Allow jpeg with cairo.
22618         Allow tiff and gif with cairo.
22619         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
22620         (tiff_load): Create cairo image surface if USE_CAIRO.
22621         (gif_load): Ditto.
22623         Support JPEG with USE_CAIRO
22624         * configure.ac: Allow jpeg with cairo.
22625         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
22627 2015-04-05  Jan D  <jan.h.d@swipnet.se>
22629         Support RSVG and cairo
22630         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
22631         * src/dispextern.h (struct image): Add cr_data2 if cairo.
22632         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
22633         (x_clear_image): Free cr_data and cr_data2 if set.
22634         (xpm_load): Assign data to cr_data2.
22635         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
22637 2015-04-03  Jan D  <jan.h.d@swipnet.se>
22639         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
22640         * configure.ac (HAVE_RSVG): Move after cairo.
22641         (USE_CAIRO): Disable rsvg, don't disable Xpm.
22642         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
22643         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
22644         don't return early.
22645         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
22646         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
22647         and create a surface.
22649         Tool tips for menus did not show any text.
22650         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
22651         tip frames, the geometry may be wrong.
22653         Merge branch 'master' into cairo, fixes tooltips not shown.
22655         Merge branch 'master' into cairo
22657         Add CAIRO_CFLAGS to lwlib/Makefile.in
22658         * Makefile.in (CAIRO_CFLAGS): Add.
22660 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22662         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
22664 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22666         Draw outermost line using black relief and erase corners also for cairo.
22667         * src/xterm.c [USE_CAIRO]: Include math.h.
22668         (enum corners) [USE_CAIRO]: New enum.
22669         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
22670         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
22671         than 1, draw the outermost line using the black relief.
22673         * src/xterm.c (x_fill_trapezoid_for_relief):
22674         Remove unnecessary cairo_close_path.
22676 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22678         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
22680         * src/xterm.c (x_draw_stretch_glyph_string):
22681         Call x_reset_clip_rectangles instead of XSetClipMask.
22683         Use int instead of unsigned int for width and height args.
22684         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
22685         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
22686         width and height args.
22688         Modernize k&r cairo-related function declarations.
22689         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
22690         (xg_print_frames_dialog): Modernize k&r declarations.
22691         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
22692         (Fx_print_frames_dialog): Modernize k&r declarations.
22693         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
22694         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
22695         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
22696         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
22697         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
22698         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
22699         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
22700         (x_clear_area): Modernize k&r declarations.
22702         Implement wave-style variant of underlining for cairo.
22703         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
22704         (x_draw_underwave) [USE_CAIRO]: Use it.
22706         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
22707         instead of XFillRectangle.
22709 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
22711         Fix fringe bitmap initialization for cairo
22712         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
22713         data for cairo image surface.
22714         * src/xterm.c (x_cr_define_fringe_bitmap):
22715         Call cairo_surface_mark_dirty.
22717 2015-02-11  Jan D  <jan.h.d@swipnet.se>
22719         Add cairo drawing
22720         * configure.ac (with-cairo): New option.
22721         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
22722         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
22723         Output "Does Emacs use cairo?".
22724         * lisp/version.el (emacs-version): Add cairo version.
22725         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
22726         (FONT_OBJ): Add comment about ftcrfont.
22727         (ALL_CFLAGS): Add CAIRO_CFLAGS.
22728         (LIBES): Add CAIRO_LIBS.
22729         * src/dispextern.h (struct image): Add cr_data for cairo.
22730         (x_cr_init_fringe): Declare.
22731         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
22732         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
22733         * src/fringe.c (x_cr_init_fringe): New function name that shares code
22734         with w32_init_fringe.
22735         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
22736         * src/ftfont.c (ftfont_info_size); New global variable.
22737         (ftfont_open2): New extern function almost the same as old ftfont_open,
22738         but takes the font_object as argument.
22739         (ftfont_open): Build font object and call ftfont_open2.
22740         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
22741         * src/gtkutil.c (xg_clear_under_internal_border)
22742         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
22743         Only queue_draw if not cairo.  Change args to x_clear_area.
22744         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
22745         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
22746         (xg_print_frames_dialog): New functions for printing.
22747         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
22748         (xg_print_frames_dialog): Declare.
22749         * src/image.c: Add defined (USE_CAIRO) for PNG.
22750         Add !defined USE_CAIRO for W32 PNG code.
22751         (x_clear_image): If cairo, destroy the surface in cr_data.
22752         (png_load): Add new cairo compatible implementation.
22753         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
22754         * src/xfns.c: New section Printing.
22755         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
22756         (x-print-frames-dialog): New printing functions.
22757         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
22758         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
22759         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
22760         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
22761         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
22762         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
22763         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
22764         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
22765         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
22766         Declare.
22767         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
22768         (max_fringe_bmp, fringe_bmp): New variables.
22769         (x_gc_get_ext_data, x_extension_initialize)
22770         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
22771         (x_set_cr_source_with_gc_foreground)
22772         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
22773         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
22774         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
22775         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
22776         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
22777         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
22778         (x_update_begin): Create cairo surface if needed.
22779         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
22780         (x_update_end): Paint cairo drawing surface to xlib surface.
22781         (x_clear_under_internal_border, x_after_update_window_line): Adjust
22782         arguments to x_clear_area.
22783         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
22784         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
22785         of XSetClipMask.
22786         (x_set_glyph_string_clipping)
22787         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
22788         instead of XSetClipRectangles.
22789         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
22790         Use x_fill_rectangle instead of XFillRectangle.
22791         (x_draw_glyph_string_foreground)
22792         (x_draw_composite_glyph_string_foreground)
22793         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
22794         instead of XDrawRectangle.
22795         (x_draw_relief_rect): Add code for USE_CAIRO.
22796         Call x_reset_clip_rectangles instead of XSetClipMask.
22797         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
22798         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
22799         instead of XSetClipMask.
22800         (x_draw_image_foreground, x_draw_image_foreground_1):
22801         x_draw_rectangle instead of XDrawRectangle.
22802         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
22803         XFillRectangle.
22804         (x_draw_image_glyph_string): If img has cr_data, use it as
22805         a cairo surface.
22806         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
22807         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
22808         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
22809         x_reset_clip_rectangles instead of XSetClipMask.
22810         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
22811         (x_clear_area1): New function that calls XClearArea.
22812         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
22813         non-cairo.
22814         (x_clear_frame): x_clear_window instead of XClearWindow.
22815         (x_scroll_run): Set frame garbaged if cairo.
22816         (XTmouse_position): Initialize *part to 0.
22817         (x_scroll_bar_create): Adjust arguments to x_clear_area.
22818         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
22819         x_fill_rectangle instead of XFillRectangle.
22820         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
22821         arguments to x_clear_area.
22822         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
22823         (handle_one_xevent): Adjust arguments to x_clear_area.
22824         Destroy cairo surface for frame if ConfigureNotify.
22825         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
22826         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
22827         x_reset_clip_rectangles instead of XSetClipMask.
22828         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
22829         x_reset_clip_rectangles instead of XSetClipMask.
22830         (x_clear_frame_area): Adjust arguments to x_clear_area.
22831         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
22832         (x_term_init): Call x_extension_initialize if cairo.
22833         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
22834         x_cr_destroy_fringe_bitmap for cairo.
22835         (x_initialize): Call x_cr_init_fringe for cairo.
22836         * src/xterm.h: Add include of cairo header files.
22837         (x_bitmap_record): Add img if cairo.
22838         (x_gc_ext_data): New struct for cairo.
22839         (x_display_info): Add ext_codes for cairo.
22840         (x_output): Add cr_context and cr_surface for cairo.
22841         (x_clear_area): Change arguments from Display*/Window to frame pointer.
22842         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
22843         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
22844         (x_cr_draw_frame, x_cr_export_frames): Declare.
22846 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
22848         Fix integer-valued `mouse-highlight' (Bug#20590)
22849         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
22851 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
22853         MS-Windows followup for ASCIIfication of curved quotes
22854         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
22855         test for curved quotes being displayable, after switching the
22856         terminal encoding.  (Bug#20545)
22858 2015-05-17  Jan D  <jan.h.d@swipnet.se>
22860         Add comment that x_shift_glyphs_for_insert is never called
22861         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
22862         Add comment that this function is never called.
22864 2015-05-16  Glenn Morris  <rgm@gnu.org>
22866         * src/lisp.mk: Remove from repository and generate at build-time.
22867         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
22868         (shortlisp_filter): New variable.
22869         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
22870         (distclean): Remove lisp.mk.
22871         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
22872         * lisp/loadup.el: Tweak layout to make it easier to parse.
22873         * make-dist: Do not distribute src/lisp.mk.
22875 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
22877         Display shorter dates in Git annotate output
22878         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
22879         format (when not overridden with vc-git-annotate-switches).
22880         (vc-git-annotate-time): Support the short format, as well as ISO
22881         8601 that has been used until now (bug#5428).
22883 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22885         ASCIIfy curved quotes on displays lacking them
22886         * lisp/international/mule-cmds.el (set-locale-environment):
22887         If curved quotes don't work, display straight ASCII approximations
22888         (Bug#20545).
22890 2015-05-16  Glenn Morris  <rgm@gnu.org>
22892         Small src/Makefile simplification
22893         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
22894         * src/Makefile.in (lisp): Derive from shortlisp.
22895         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
22897 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
22899         * lisp/help-mode.el (help-go-forward): Doc fix.
22900         (Bug#20577)
22902         * doc/lispref/debugging.texi (Profiling): Improve indexing.
22903         (Bug#20576)
22905 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
22907         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
22908         have one fewer `not'.
22910         * lisp/vc/vc-git.el (vc-git-diff-switches)
22911         (vc-git-annotate-switches, vc-git-resolve-conflicts)
22912         (vc-git-program, vc-git-root-log-format): Remove the redundant
22913         :group declarations.
22915 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
22917         Removes the predicate from lisp-complete-symbol (Bug#20456)
22918         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
22919         and remove it from the docstring.
22921 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
22923         Add new option vc-git-resolve-conflicts
22924         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
22925         (vc-git-find-file-hook): Add to after-save-hook only when the
22926         above is non-nil.
22927         (vc-git-resolve-when-done): Update to honor the new variable.
22928         (Bug#20292)
22930 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
22932         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
22933         (tabulated-list-init-header): Document new behavior.
22934         (tabulated-list-print-fake-header): Do nothing if
22935         `tabulated-list--header-string' is nil.
22936         (tabulated-list--header-string): Add a docstring.
22937         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
22938         * etc/NEWS: Document it.
22940 2015-05-15  Leo Liu  <sdl.web@gmail.com>
22942         Revert "Fix cps--gensym"
22943         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
22944         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
22946 2015-05-15  Glenn Morris  <rgm@gnu.org>
22948         Replace AC_SUBST_FILE in configure with include in Makefiles
22949         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
22950         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
22951         (AUTO_DEPEND): New output variable.
22952         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
22953         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
22954         (lwlib_deps_frag): Replace by conditional include.
22955         * lwlib/autodeps.mk: Remove file.
22956         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
22957         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
22958         (oldxmenu_deps_frag): Replace by conditional include.
22959         * oldXMenu/autodeps.mk: Remove file.
22960         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
22961         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
22962         (lisp_frag): Replace by an include.
22963         (deps_frag): Replace by conditional include.
22964         * src/autodeps.mk: Remove file.
22966         Tweak japanese.el's loading of dependencies
22967         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
22968         * lisp/language/japanese.el: Use require rather than load.
22969         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
22970         Provide a feature.
22971         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
22972         Provide a feature in the generated file.
22974 2015-05-15  Jan D  <jan.h.d@swipnet.se>
22976         Fix NS warnings
22977         * src/nsmenu.m (ns_popup_dialog)
22978         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
22979         * src/nsfns.m (Fx_create_frame): Remove unused variables.
22980         (Fns_read_file_name): Initialize fname, remove ret.
22981         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
22982         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
22983         Remove unused variable.
22984         (init): Add parantesis in if.
22985         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
22987 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
22989         Fix a enum conversion warning in macfont.m
22990         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
22991         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
22993 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
22995         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
22996         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
22998 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
23000         * lisp/cus-start.el: Add ns-confirm-quit.
23002         Fix warnings on OSX 10.10
23003         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
23004         OSX versions.
23005         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
23006         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
23007         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
23008         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
23009         setScalesWhenResized for OSX < 10.6.
23010         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
23011         * src/nsterm.m (ns_copy_bits): New function that does not use
23012         deprecated NSCopyBits.
23013         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
23014         (runAlertPanel): New function.
23015         (applicationShouldTerminate:): Call runAlertPanel.
23016         (initFrameFromEmacs, toggleFullScreen:): Only call
23017         useOptimizedDrawing for OSX < 10.10.
23018         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
23019         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
23020         (draggingEntered:): Returns NSDragOperation.
23021         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
23023 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
23025         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
23026         (package--init-file-ensured): New variable.
23027         (package-initialize, package--ensure-init-file): Use it.
23029 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
23031         Honor :fore/background for XBM on NS (Bug#14969)
23032         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
23033         initFromXBM takes bg, fg args, remove flip arg.
23034         (ns_image_from_XBM): Add bg, fg args.
23035         * src/image.c (x_create_bitmap_from_data)
23036         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
23037         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
23038         initFromXBM.  Remove flip arg.
23039         (initFromSkipXBM): Move code to initFromXBM.
23040         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
23041         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
23042         always false.
23043         Remove bit flipping (bitPat, swt), generated incorrect images when
23044         width/height wasn't a multiple of 8.
23045         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
23046         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
23047         remove flip arg.
23049 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
23051         * lisp/emacs-lisp/package.el: Be more careful with the init file.
23052         (package--ensure-init-file): Check that user-init-file is set,
23053         exists, is readable, and is writable.  (Bug#20584)
23054         Also expand the docstring.
23056 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
23058         Sync with upstream verilog-mode revision 6232468
23059         * lisp/progmodes/verilog-mode.el
23060         (verilog-font-lock-grouping-keywords-face)
23061         (verilog-highlight-grouping-keywords): Fix use of face when
23062         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
23063         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
23064         parent is reset, bug906.  Reported by Ken Schmidt.
23065         (verilog-auto-inout-module): Add fourth regexp argument to
23066         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
23067         Reported by John Tillema.
23068         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
23069         modport if signal attachment is itself a modport.  Reported by
23070         Matthew Lovell.
23071         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
23072         always_comb and always_latch, bug844.  Reported by Greg Hilton.
23073         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
23074         with many curly-bracket pairs, bug663.
23075         (verilog-set-auto-endcomments): Fix end comments for functions of
23076         type void, etc.  Reported by Alex Reed.
23077         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
23078         caused by indent-line-to deleting tabls pre 24.5.
23079         (verilog-nameable-item-re): Fix nameable items that can have an
23080         end-identifier to include endchecker, endgroup, endprogram,
23081         endproperty, and endsequence.  Reported by Alex Reed.
23082         (verilog-label-be): When auto-commenting a buffer, consider
23083         auto-comments on all known keywords (not just a subset thereof).
23084         Reported by Alex Reed.
23085         (verilog-auto-end-comment-lines-re)
23086         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
23087         Automatically comment property/endproperty blocks to match other
23088         similar blocks like sequence/endsequence, function/endfunction, etc.
23089         Reported by Alex Reed.
23090         (verilog-set-auto-endcomments): Detect the function- or task-name
23091         when auto-commenting blocks that lack an explicit portlist.
23092         Reported by Alex Reed.
23093         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
23094         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
23095         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
23096         is nil, fix indenting initial/final to match always statements,
23097         bug825.  Reported by Tim Clapp.
23098         (verilog-extended-complete-re): Fix indentation of DPI-C imports
23099         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
23100         Mao and Jason Forkey.
23101         (verilog-read-decls): Fix parsing typed interfaces.  Fix
23102         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
23103         Fix localparam not being ignored in AUTOINSTPARAM,
23104         bug889.  Reported by Shannon Hill.
23105         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
23106         bug793.  Reported by Pierre-David Pfister.
23107         (verilog-auto-arg-format, verilog-auto-arg-ports):
23108         Add verilog-auto-arg-format to support newlines in AUTOARG.
23109         Reported by Jie Xiao.
23110         (verilog-batch-execute-func): Do not batch re-auto files loaded by
23111         Local Variables.  Fix printing "no changes to be saved" with
23112         verilog-batch.  Reported by Dan Dever.
23113         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
23114         interface-only modules, bug721.  Reported by Dean Hoyt.
23115         Author: Alex Reed <acreed4@gmail.com>
23116         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
23117         Don't treat '<keyword>:<identifier>' as the start of a labeled
23118         statement, bug905.  Reported by Enzo Chi.
23119         (verilog-directive-re, verilog-compiler-directives)
23120         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
23121         directives (plus some extras) when determining indentation, bug
23122         901.  Reported by Bernd Beuster.
23123         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
23124         iff expression doesn't start with word-character, bug900.
23125         (verilog-optional-signed-range-re, verilog-optional-signed-re):
23126         Fix incorrect indentation/alignment of unsigned declarations,
23127         bug897.
23128         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
23129         always constructs, bug895.
23130         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
23131         Reported by Eric Mastromarchi.
23132         (verilog-beg-of-statement): Fix indenting for some forms of
23133         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
23134         continued assignment incorrect if first line ends with ']', bug437.
23135         Reported by Dan Dever.  Fix indention of cover inside an
23136         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
23137         blocks, bug842.
23138         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
23139         Reported by Kaushal Modi.
23140         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
23141         (verilog-backward-token): Fix indenting sensitivity lists with
23142         named events, bug840.  Reed.
23143         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
23144         nil not honoring 'forever', 'foreach', and 'do' keywords.
23146 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23148         Check for invalid GTK+ monitor scales
23149         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
23150         INT_MAX for too-large scales.  All callers changed to assume the
23151         result is valid (Bug#20432).
23152         (xg_frame_set_char_size, xg_update_scrollbar_pos):
23153         Calculate scale only if needed.
23154         Show ASCII approximations instead.
23156 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
23158         Fix daemon crashes when linum-mode is turned on early on
23159         * src/window.c (Fwindow_end): Don't try calling display engine
23160         functions on initial-frame frame.  (Bug#20565)
23162         Fix selective diff browsing in Ediff
23163         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
23164         Go to the beginning of the region before searching for the
23165         ediff-regexp-focus-* regexps.  (Bug#20568)
23167 2015-05-14  Jan D  <jan.h.d@swipnet.se>
23169         Fixes bug#20142
23170         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
23171         arrive in the main loop, even for Gtk 3 (Bug#20142).
23173         Don't access display after i/o error (Bug#19147).
23174         * src/xterm.c (x_connection_closed): Add third arg ioerror.
23175         If ioerror, set display to 0 (Bug#19147).
23176         (x_error_quitter): Call x_connection_closed with third arg false.
23177         (x_io_error_quitter): Call x_connection_closed with third arg true.
23179         Handle GTK_SCALE, fixes Bug#20432.
23180         * src/gtkutil.c (xg_get_gdk_scale): New function.
23181         (xg_frame_set_char_size)
23182         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
23183         (xg_get_default_scrollbar_height)
23184         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
23185         when setting sizes (Bug#20432).
23187 2015-05-13  Leo Liu  <sdl.web@gmail.com>
23189         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
23191 2015-05-13  Glenn Morris  <rgm@gnu.org>
23193         Fix bootstrap (void function cl-member).
23194         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
23195         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
23197 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
23199         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
23200         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
23201         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
23202         Avoid defalias for closures which are not immutable.
23203         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
23204         the dispatchers table with various entries.
23205         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
23206         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
23208 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
23210         Improve tagging of C bindings in DEFVAR_*
23211         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
23212         from DEFVAR_*.
23214 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
23216         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
23218 2015-05-12  Glenn Morris  <rgm@gnu.org>
23220         * lisp/progmodes/tcl.el (tcl-filter):
23221         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
23223         Add basic VC push support
23224         * lisp/vc/vc.el (vc-push): New autoloaded command.
23225         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
23226         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
23227         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
23228         (vc-bzr-push): New.
23229         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
23230         (vc-git-pull): Reimplement using vc-git--pushpull.
23231         (vc-git-push): New.
23232         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
23233         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
23234         * doc/emacs/maintaining.texi (Pulling / Pushing):
23235         Rename from "VC Pull".  Mention pushing.
23236         (VC With A Merging VCS, VC Change Log): Update xrefs.
23237         (Branches): Update menu.
23238         * doc/emacs/emacs.texi: Update menu.
23239         * etc/NEWS: Mention this.
23241 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
23243         Improve the seq pcase pattern and the `seq-let' macro
23244         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
23245         object is a sequence, and binds each element of ARGS to the
23246         corresponding element of the sequence.
23248 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
23250         Fix tags created from DEFVAR_* declarations in C
23251         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
23252         to make tags extracted from DEFVAR_* declarations more accurate.
23254         Add a test suite for etags
23255         * test/etags/: New test suite, adapted from
23256         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
23257         whose original author is Francesco Potortì <pot@gnu.org>.
23259         Fix tagging of symbols in C enumerations
23260         * lib-src/etags.c (consider_token): Don't tag symbols in
23261         expressions that assign values to enum constants.  See
23262         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
23263         for details.
23264         (C_entries): Reset fvdef to fvnone after processing a preprocessor
23265         conditional and after a comma outside of parentheses.
23267 2015-05-12  Glenn Morris  <rgm@gnu.org>
23269         * lisp/url/url-handlers.el (url-file-name-completion)
23270         (url-file-name-all-completions): Silence compiler.
23272         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
23274         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
23276 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
23278         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
23279         (cl--generic-mandatory-args): Remove.
23280         (cl--generic-split-args): New function.
23281         (cl-generic-define, cl--generic-lambda): Use it.
23282         (cl-generic-define-method): Use it as well, and add support for
23283         context args.
23284         (cl--generic-get-dispatcher): Handle &context dispatch.
23285         (cl--generic-cache-miss): `dispatch-arg' can now be a
23286         context expression.
23287         (cl--generic-dispatchers): Pre-fill.
23288         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
23289         New test.
23291 2015-05-11  Glenn Morris  <rgm@gnu.org>
23293         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
23295 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
23297         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
23298         * lisp/term/rxvt.el: Require term/xterm.
23299         (rxvt-function-map): Use xterm-rxvt-function-map.
23300         (rxvt-standard-colors): Move before first use.
23301         (terminal-init-rxvt): Use xterm--push-map and
23302         xterm-register-default-colors.
23303         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
23304         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
23305         Move shared bindings between rxvt and xterm to it.
23306         (xterm-function-map): Use it.  Move the xterm-paste binding to
23307         xterm-rxvt-function-map (bug#20444).
23308         (xterm-standard-colors): Move before first use.
23309         (xterm--push-map): New function.
23310         (xterm-register-default-colors): Take standard colors as argument.
23311         (terminal-init-xterm): Use it.  Adjust call to
23312         xterm-register-default-colors.
23314 2015-05-11  Glenn Morris  <rgm@gnu.org>
23316         * lisp/term/x-win.el: Quieten --without-x compilation.
23317         (x-own-selection-internal, x-disown-selection-internal)
23318         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
23319         Declare.
23321         * Makefile.in (emacslog): Remove srcdir.
23322         (ChangeLog): Update for the above.
23324 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
23326         python.el: better limit for looking-back calls
23327         * lisp/progmodes/python.el (python-shell-accept-process-output):
23328         Use last comint prompt start as limit for looking-back.
23330 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
23332         CEDET (srecode-insert-fcn): Fix use of oref on a class
23333         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
23334         on a class.  Reported by Pierre Lorenzon.
23335         (srecode-template-inserter-point): Remove declaration.
23337         CEDET (srecode-create-dictionary): Avoid obsolete object name
23338         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
23339         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
23341 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
23343         C-x 8 shorthands for curved quotes, Euro, etc.
23344         Although C-x 8 lets you insert arbitrary Unicode characters,
23345         it's awkward to use this to insert commonly used symbols such as curved
23346         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
23347         characters commonly found in English text and in basic math.
23348         For example, assuming the Alt key works on your keyboard and iso-transl
23349         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
23350         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
23351         (Bug#20499)
23352         * doc/emacs/mule.texi (Unibyte Mode):
23353         A few other printing characters now work too.
23354         * etc/NEWS: Document this.
23355         * lisp/international/iso-transl.el (iso-transl-char-map):
23356         Also support the following characters:
23357         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
23359 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
23361         Add xref-find-regexp
23362         * lisp/progmodes/xref.el (xref-find-function): Describe the
23363         `matches' action.
23364         (xref-find-regexp): New command, using it.
23365         (xref-collect-references): Rename to xref-collect-matches.
23366         (xref--collect-reference): Rename to xref--collect-match.
23367         (xref-collect-matches, xref--collect-match): Accept new argument,
23368         KIND.  Update accordingly.
23369         (xref--regexp-to-extended): New function.
23370         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
23371         `matches' action.
23372         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
23373         * lisp/progmodes/etags.el (etags-xref-find):
23374         Support the `matches' action.
23375         (etags--xref-find-matches): New function.
23377 2015-05-10  Glenn Morris  <rgm@gnu.org>
23379         * Makefile.in: Fixes for recent change-history changes.
23380         (change-history-nocommit): Update footer regexp.
23381         Ensure output script stays executable.
23383 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
23385         New version of `seq-let' based on a pcase pattern
23386         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
23387         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
23389 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
23391         Add basic HTML5 tags and a template
23392         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
23393         (html-tag-alist): Add HTML5 tags.
23394         (html-tag-help): Add new tags descriptions.
23395         (html-navigational-links): Template for nav links.
23396         (html-html5-template): Template for a HTML5 page.
23398 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
23400         semantic/symref/grep: Don't use word boundaries
23401         * lisp/cedet/semantic/symref/grep.el
23402         (semantic-symref-perform-search): Instead of wrapping input in
23403         word boundaries, check that the characters before and after are
23404         not word constituents.
23406         semantic/symref/grep: Support regexp search
23407         * lisp/cedet/semantic/symref.el
23408         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
23409         the search type is regexp.
23410         * lisp/cedet/semantic/symref/grep.el
23411         (semantic-symref-perform-search): Support the regexp search type.
23412         Pass -E to Grep when it's used.
23414         semantic-symref-regexp: Allow to input an arbitrary string
23415         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
23416         Allow to input an arbitrary string interactively.
23418         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
23419         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
23420         Remove tag-symbol-match-p from the default value
23421         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
23423         Declare find-tag obsolete
23424         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
23425         xref-find-definitions.
23427 2015-05-10  Jan D  <jan.h.d@swipnet.se>
23429         Draw composite string correctly (Bug#20537)
23430         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
23431         New function.
23432         (ns_draw_glyph_string): Call it.
23434 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
23436         Avoid infloop in ERC
23437         * lisp/simple.el (line-move-to-column): Ignore field boundaries
23438         while computing line beginning position.  (Bug#20498)
23440 2015-05-08  Glenn Morris  <rgm@gnu.org>
23442         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
23443         * build-aux/gitlog-to-emacslog: Check called from right directory.
23444         (srcprefix): Remove.
23446         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
23447         * Makefile.in (ChangeLog): No longer pass "distprefix".
23448         * make-dist: Update "make ChangeLog" syntax for the above change.
23450         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
23451         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
23453         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
23455         Add command-line option-parsing to gitlog-to-emacslog
23456         * build-aux/gitlog-to-emacslog: Add command-line options.
23457         By default, refuse to remove an existing output file.
23458         * Makefile.in (CHANGELOG): Update default.
23459         (ChangeLog): Do not test for existing file.
23460         (change-history-nocommit): Ensure temp file does not exist.
23462         Quieten --without-x compilation
23463         * lisp/term/common-win.el: Provide a feature.
23464         * lisp/term/x-win.el (term/common-win): Require it.
23466         * lisp/dired-aux.el (dired-do-print): Require lpr.
23468         Quieten compilation, eg in --without-x builds
23469         * lisp/dired-aux.el (lpr-printer-switch):
23470         * lisp/frame.el (tool-bar-height):
23471         * lisp/linum.el (font-info):
23472         * lisp/window.el (font-info, overflow-newline-into-fringe)
23473         (tool-bar-height):
23474         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
23475         * lisp/gnus/gnus-util.el (iswitchb-mode):
23476         * lisp/mail/rmailmm.el (libxml-parse-html-region):
23477         * lisp/net/nsm.el (gnutls-peer-status)
23478         (gnutls-peer-status-warning-describe):
23479         * lisp/net/shr.el (libxml-parse-xml-region):
23480         * lisp/url/url-http.el (gnutls-peer-status): Declare.
23482 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
23484         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
23485         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
23486         `subclass' since they're never called with a class.
23487         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
23488         srecode-dictionary-child-p.
23490 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
23492         * lisp/help.el (help--binding-locus): Document argument POSITION.
23493         (Bug#20530)
23495 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
23497         Merge from gnulib
23498         * doc/misc/texinfo.tex: Get latest version.
23500 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
23502         ffap.el (ffap-read-file-or-url): Fix completing-read call
23503         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
23504         `completing-read' should be a symbol.
23506 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
23508         Verify file modifications by other programs
23509         * src/filelock.c (lock_file): Check whether the file was modified
23510         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
23512         Fix keyboard macros that include function keys
23513         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
23514         keys in the macro before returning.  (Bug#20454)
23516 2015-05-08  Glenn Morris  <rgm@gnu.org>
23518         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
23519         "Copyright-paperwork-exempt".  (Bug#20324)
23521         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
23522         (log-edit-rewrite-tiny-change): New variable.
23523         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
23524         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
23525         * etc/NEWS: Mention this.
23527         * lisp/calc/calc.el (math-zerop): Declare.
23529         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
23531 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
23533         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
23534         Support the case when BINDINGS is a single tuple.  (Bug#20525)
23536         * etc/NEWS: Fix typo in previous commit
23537         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
23539 2015-05-07  Jan D  <jan.h.d@swipnet.se>
23541         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
23542         Output URL to Gtk+ bug (Bug#20452).
23544         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
23546 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
23548         * lisp/emacs-lisp/package.el: New "external" package status.
23549         An external package is any installed package that's not built-in
23550         and not from `package-user-dir', which usually means it's from an
23551         entry in `package-directory-list'.  They are treated much like
23552         built-in packages, in that they cannot be through the Package Menu
23553         deleted and are not considered for upgrades.
23554         (package-desc-status): Identify if a package is installed outside
23555         `package-user-dir'.
23556         (package-menu--print-info-simple)
23557         (package-menu--status-predicate): Add support for it.
23558         * etc/NEWS: Document it.
23560 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
23562         * lisp/mail/rmail.el: Use lexical-binding.
23563         (rmail-bury): Remove unused var `buffer-to-bury'.
23564         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
23565         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
23566         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
23567         (rmail-insert-inbox-text): Remove unused var `movemail'.
23568         (rmail-add-mbox-headers): Remove unused var `limit'.
23569         (rmail-undelete-previous-message): Remove unused var `value'.
23570         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
23571         `resent-reply-to'.
23572         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
23573         (rmail-restore-desktop-buffer): Rename arguments.
23575 2015-05-06  Glenn Morris  <rgm@gnu.org>
23577         * Makefile.in (change-history-commit): Add missing piece of previous.
23579         Avoid unnecessary bumping of Makefile.in's timestamp
23580         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
23581         (emacslog): New variable.
23582         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
23583         (unchanged-history-files): Use $emacslog rather than Makefile.in.
23584         (change-history-nocommit): Store hash in $emacslog.
23585         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
23586         * admin/update_autogen (changelog_files): Update for the above.
23588         * Makefile.in: Don't always insist on removing existing "ChangeLog".
23589         (CHANGELOG): New variable.
23590         (no-ChangeLog): Remove.
23591         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
23592         (change-history-nocommit): Use a temp file rather than insisting
23593         on deletion of any existing "ChangeLog".
23595         * build-aux/gitlog-to-emacslog: Allow specification of output.
23597         * admin/update_autogen: Add option to update ChangeLog.
23598         (usage): Mention -H.
23599         (changelog_flag, changelog_n, changelog_files): New variables.
23600         (main): Check for -H, and maybe run change-history-nocommit.
23602 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
23604         * lisp/subr.el (delete-dups): Pre-size the hashtable.
23606         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
23607         cl--arglist-args is defined (bug#20517).
23609 2015-05-06  Glenn Morris  <rgm@gnu.org>
23611         * Makefile.in (change-history-nocommit): New.
23613 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
23615         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
23616         timer when it is non-nil
23617         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
23619 2015-05-06  Glenn Morris  <rgm@gnu.org>
23621         Quieten CEDET compilation
23622         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
23623         Invert fboundp test to quieten on current Emacs.
23624         * lisp/cedet/ede/config.el (ede-shell-run-something)
23625         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
23626         (semanticdb-refresh-table): Declare.
23627         (ede-preprocessor-map): Require semantic/db.
23629         Quieten cc-mode compilation
23630         * lisp/progmodes/cc-awk.el (c-forward-sws):
23631         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
23632         Declare.
23634 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
23636         * lisp/subr.el (delete-dups): Avoid nreverse.
23638 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
23640         * lisp/subr.el (delete-dups): Make it destructive again.
23642 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23644         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
23646 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
23648         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
23649         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
23650         (testcover--read): Rename from testcover-read.  Change calling
23651         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
23652         is gone.
23653         (testcover-start): Use add-function.  Move edebug-all-defs binding to
23654         testcover--read.
23655         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
23656         (testcover-mark): Remove unused var `item'.
23657         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
23659 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
23661         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
23662           use a hash table.  This can result in ~500 times speed-up for typical
23663           collections of size 5000, like that of `load-library'.
23665 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
23667         CEDET: Avoid `oref' on classes in a few more cases
23668         * lisp/cedet/ede/generic.el (ede-find-target):
23669         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
23670         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
23671         var `prefix'.
23673         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
23674         (grepflags, greppattern): Declare.
23675         (semantic-symref-perform-search): Remove unused var `pat'.
23677         CEDET (srecode-compile-inserter): Avoid `oref' on classes
23678         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
23679         Avoid `oref' on classes (bug#20491).
23680         (srecode-compile-split-code): Remove unused var `key'.
23682 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
23684         Clean up pulse.el a little
23685         * lisp/cedet/pulse.el (pulse): Remove.
23686         (pulse-momentary-timer): Save instead of the stop time.
23687         (pulse-momentary-highlight-overlay):
23688         Call pulse-momentary-unhighlight first thing.
23689         Treat pulse-momentary-overlay as a single value, not a list.
23690         Save the created timer.  Only pass the stop time to the timer.
23691         (pulse-tick): Update accordingly.
23692         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
23693         single value.  Cancel the timer.
23695 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
23697         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
23698         Support the biblatex journaltitle field.
23700 2015-05-05  Glenn Morris  <rgm@gnu.org>
23702         Minor declare-function improvement
23703         * lisp/emacs-lisp/bytecomp.el
23704         (byte-compile-macroexpand-declare-function):
23705         Handle declarations after calls.  (Bug#20509)
23707         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
23709         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
23711 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
23713         Pulse using a timer
23714         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
23715         (pulse-momentary-highlight-overlay): Set up the timer instead of
23716         calling `pulse'
23717         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
23718         (pulse-tick): New function.
23719         (pulse-momentary-unhighlight): Cut off the stop time.
23720         (pulse-delay): Update the docstring WRT to not using sit-for.
23722         Add semantic/symref/grep file patterns for ruby-mode
23723         * lisp/cedet/semantic/symref/grep.el
23724         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
23725         Clarify the docstring.
23727         Don't require match
23728         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
23729         match.  That doesn't work for every command, and some identifier
23730         completion tables are bound to be imperfect anyway.
23732 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23734         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
23735         (semantic-grammar--template-expand): New function.
23736         (semantic-grammar-header, semantic-grammar-footer): Use it.
23737         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
23738         (semantic-grammar-file-regexp): Refine regexp.
23739         (semantic-grammar-eldoc-get-macro-docstring):
23740         Use elisp-get-fnsym-args-string when available.
23741         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
23742         instead of the old eldoc-* names.
23743         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
23744         from elisp-mode.el.  Tweak calling convention.
23745         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
23746         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
23747         elisp--get-fnsym-args-string.
23748         (elisp--highlight-function-argument): Add `prefix' arg.
23749         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
23750         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
23752 2015-05-05  Glenn Morris  <rgm@gnu.org>
23754         * lisp/help-fns.el (describe-function-1):
23755         Handle builtins with advertised calling conventions.  (Bug#20479)
23757 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
23759         Merge branch 'seq-let'
23761         Update `seq-let' documentation
23762         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
23763         with the support of  `&rest'.
23765         Add support for &rest in `seq-let'
23766         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
23767         in the argument list.
23768         * test/automated/seq-tests.el: Add a test for parsing and binding
23769         `&rest' in `seq-let'.
23771 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
23773         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
23774         Add missing increment (Bug#20467).
23775         (eieio-object-value-create): Adjust to new slots representation
23776         (Bug#20467).
23777         (eieio-object-value-create): Fix missed adjustment to new
23778         representation of slots metadata.
23780 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
23782         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
23784 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
23786         Work around "Attempt to modify read-only object"
23787         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
23788         elisp--xref-find-definitions, to work around "Attempt to modify
23789         read-only object" error.
23791         Only skip some variables that have function counterparts
23792         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
23793         Only skip minor-mode-named variable if it's defined in a Lisp
23794         file, and it's in minor-mode-list (bug#20506).
23795         * test/automated/elisp-mode-tests.el
23796         (elisp-xref-finds-both-function-and-variable)
23797         (elisp-xref-finds-only-function-for-minor-mode): New tests.
23799 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
23801         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
23802         previous change.
23803         (xref--insert-xrefs): Buttonize the whole line, including the
23804         number at the beginning.
23806         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
23807         Make sure we're inside the let bindings.
23808         * test/automated/elisp-mode-tests.el
23809         (elisp-completes-functions-after-let-bindings): New test.
23811 2015-05-04  Glenn Morris  <rgm@gnu.org>
23813         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
23814         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
23815         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
23816         Remove outdated declarations.
23818         Replace instances of "(eval-when-compile (autoload ...))"
23819         * lisp/gnus/gnus-art.el (nneething-get-file-name):
23820         Declare rather than autoload.
23821         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
23822         Remove pointless autoload.
23823         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
23824         (gnus-topic-create-topic, gnus-topic-enter-dribble):
23825         Declare rather than autoload.
23826         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
23827         (mailcap-extension-to-mime): Autoload at run-time.
23828         * lisp/gnus/mm-util.el (latin-unity-massage-name)
23829         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
23830         (latin-unity-representations-present-region):
23831         Declare rather than autoload.
23832         * lisp/gnus/mml-smime.el (epg-make-context)
23833         (epg-passphrase-callback-function): Autoload at run-time.
23834         (epg-context-set-signers, epg-context-result-for)
23835         (epg-new-signature-digest-algorithm)
23836         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
23837         (epg-sign-string, epg-encrypt-string)
23838         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
23839         (epg-configuration, epg-expand-group, epa-select-keys):
23840         Declare rather than autoload.
23841         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
23842         Autoload at run-time.
23843         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
23844         (gnus-registry-get-id-key, gnus-registry-action):
23845         Declare rather than autoload.
23846         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
23847         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
23848         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
23849         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
23850         (spam-stat-split-fancy): Remove pointless autoloads.
23851         * lisp/net/mairix.el: Load gnus-util when compiling.
23852         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
23853         (message-field-value): Declare rather than autoload.
23854         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
23855         Check gnus-alive-p is fbound.
23856         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
23857         (vm-check-for-killed-summary, vm-error-if-folder-empty)
23858         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
23859         Declare rather than autoload.
23861         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
23863         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
23864         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
23866         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
23868         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
23870         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
23871         * lisp/emacs-lisp/package.el (epg-signature-status):
23872         Fix declarations.
23874         * lisp/play/gametree.el (gametree-show-children-and-entry)
23875         (gametree-apply-layout, gametree-mouse-show-subtree)
23876         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
23878         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
23879         Handle cl-defgeneric, cl-defmethod.
23881 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
23883         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
23884         Highlight both type and symbol name.
23886         Insert, highlight and align line numbers in xref output
23887         * lisp/progmodes/etags.el (xref-location-line): Specialize for
23888         xref-etags-location.
23889         * lisp/progmodes/xref.el (xref-location-line): New generic method.
23890         (xref-file-location): Add reader for the line slot.
23891         (xref--location-at-point): Skip to the `xref-location' property.
23892         (xref--collect-reference): Drop the line number from description.
23893         (xref--insert-xrefs): Insert, highlight and align line numbers.
23895 2015-05-04  Daniel Colascione  <dancol@dancol.org>
23897         * lisp/simple.el (save-mark-and-excursion--save)
23898         (save-mark-and-excursion--restore): Fix previous commit
23899         (255a011f0ecf004b31c59945b10154b10fac3af1).
23901 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
23903         Don't pulse the indentation, or the newline
23904         * lisp/cedet/pulse.el (pulse-lighten-highlight)
23905         (pulse-reset-face): Fall back to the inherited background
23906         attribute in FACE.
23907         (pulse-momentary-highlight-region): Add autoload cookie.
23908         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
23909         indentation, or the newline, if the line's non-empty
23910         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
23912 2015-05-04  Daniel Colascione  <dancol@dancol.org>
23914         Add `save-mark-and-excursion', which has the old
23915         `save-excursion' behavior
23916         * doc/lispref/positions.texi (Excursions):
23917         Document `save-mark-and-excursion'.
23918         * lisp/font-lock.el (font-lock-fontify-block):
23919         Use `save-mark-and-excursion' instead of `save-excursion',
23920         restoring Emacs 24 behavior.
23921         * lisp/simple.el (save-mark-and-excursion--save)
23922         (save-mark-and-excursion--restore): New functions.
23923         (save-mark-and-excursion): New user macro.
23924         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
23925         in `save-excursion' documentation.
23927 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
23929         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
23930         Classify lone symbol inside let varlist as variable.
23931         * test/automated/elisp-mode-tests.el
23932         (completest-variables-in-let-bindings): New test.
23934         Add xref-pulse-on-jump
23935         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
23936         Add autoload cookie.
23937         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
23938         (xref--maybe-pulse): New function.
23939         (xref-pop-marker-stack, xref--pop-to-location)
23940         (xref--display-position): Use it.
23941         (xref--location-at-point): Use back-to-indentation.
23943 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
23945         lisp/org/org-{macs,list}.el: Fix lexical warnings
23946         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
23947         (org-list-get-next-item, org-list-get-prev-item)
23948         (org-list-get-children): Mark unused arg `struct'.
23949         (org-list-use-alpha-bul-p): Remove unused var `bul'.
23950         (org-toggle-checkbox): Mark unused var.
23951         (org-update-checkbox-count): Remove unused var `box-num'.
23952         (org-adapt-indentation): Declare.
23953         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
23954         (org-list-send-list): Remove unused var `txt'.
23955         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
23956         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
23957         * lisp/org/org-macs.el: Use `declare'.
23958         (org-with-limited-levels): Declare dyn-bound vars.
23960 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
23962         Fix minor issues with CEDET on MS-Windows
23963         * lisp/cedet/semantic/symref/idutils.el
23964         (semantic-symref-parse-tool-output-one-line): Fix the search
23965         regexp to match MS-Windows file names with drive letters.
23966         (Bug#19468)
23967         * lisp/cedet/semantic/symref/grep.el
23968         (semantic-symref-grep-use-template): Remove "--color=always" from
23969         Grep switches on MS-Windows.
23970         (semantic-symref-grep-shell): Use shell-file-name as the default
23971         value, so this works not only on Posix platforms.
23972         (semantic-symref-perform-search): Use shell-quote-argument instead
23973         of literal '..' for portable quoting of Grep command-line
23974         argument.  Use shell-command-switch instead of a literal "-c".
23975         * lisp/cedet/semantic/bovine/gcc.el
23976         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
23977         for an absolute file name in a portable way.
23979 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
23981         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
23982         (package-import-keyring, package-refresh-contents)
23983         (package-compute-transaction, package--save-selected-packages)
23984         (package-install-from-archive, package-delete)
23985         (package-menu--perform-transaction): Use `inhibit-message' instead.
23986         (package--compile): Set `warning-minimum-level' to :error.
23988 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
23990         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
23991         (terminal-init-screen): Use it (bug#20356).
23992         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
23993         (xterm--extra-capabilities-type): New const.
23994         (xterm-extra-capabilities): Use it.
23995         (xterm--version-handler): Lower the pseudo-version for `screen'.
23997 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
23999         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
24000         Always insert a newline at the end (to avoid mouse-face background
24001         tail at the last line).
24003         elisp-completion-at-point: Prioritize being quoted over funpos
24004         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
24005         Only consider function position when not inside quoted form
24006         (bug#20425).
24007         * test/automated/elisp-mode-tests.el: New file.
24009         Stop vc-print-log from jumping to the top
24010         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
24011         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
24012         is not specified.
24013         (vc-incoming-outgoing-internal): Always pass nil.
24014         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
24015         call it, and don't set vc-sentinel-movepoint (bug#15322).
24016         (vc-print-root-log): Don't fetch the root working revision, nor
24017         pass it to vc-print-log-internal.
24019 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
24021         Fix display of keyboard layouts for right-to-left scripts
24022         * lisp/international/quail.el (quail-insert-kbd-layout):
24023         Force left-to-right paragraph direction.
24025 2015-05-02  K. Handa  <handa@gnu.org>
24027         * src/cmds.c (internal_self_insert): When we insert spaces for
24028         padding, set point before the padding spaces, not after them.
24030 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
24032         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
24034 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
24036         Fix etags-xref-find for references
24037         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
24038         Use `cl-mapcan'.
24039         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
24040         directory if no tags tables are loaded (bug#19468).
24042 2015-05-02  Philipp Stephani  <phst@google.com>
24044         Update the options in whitespace-style defcustom
24045         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
24046         `repeat' because the option is really set-like.  Add missing
24047         options.  Reorder options to match the order in the
24048         documentation.  (Bug#20346)
24050 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
24052         Fix error diagnostics of c-macro-expand
24053         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
24054         too early if no start-marker string was found -- that generally
24055         means cpp exited abnormally, and we still want to show its error
24056         messages to the user.
24058         Don't require Texinfo 5.0 for Emacs documentation
24059         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
24060         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
24061         "@codequoteundirected on", respectively, to avoid requiring
24062         Texinfo 5.x for Emacs documentation.
24064 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
24066         * lisp/files.el (pwd):
24067         When called with a prefix argument, insert the current default
24068         directory at point.
24070 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
24072         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
24073         * lisp/isearch.el (isearch-mode-map): Don't inhibit
24074         function-key-map remapping for backspace (bug#20466).
24076 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
24078         Implement xref-find-references in etags and elisp-mode
24079         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
24080         (elisp-xref-find): Use it.
24081         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
24082         * lisp/progmodes/xref.el (xref-collect-references):
24083         (xref--collect-reference): New functions.
24085 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
24087         Prefer plain characters to Texinfo circumlocutions
24088         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
24089         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
24091         Fix single-quoting style in PDF manuals
24092         The PDF versions of the GNU manuals used curved single quotes to
24093         represent grave accent and apostrophe, which made it a pain to cut
24094         and paste code examples from them.  Fix the PDF versions to use
24095         grave accent and apostrophe for Lisp source code, keystrokes, etc.
24096         This change does not affect the info files, nor does it affect
24097         ordinary uses of curved single quotes in PDF.
24098         * doc/emacs/docstyle.texi: New file, which specifies treatment for
24099         grave accent and apostrophe, as well as the document encoding.
24100         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
24101         * doc/lispintro/emacs-lisp-intro.texi:
24102         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
24103         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
24104         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
24105         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
24106         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
24107         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
24108         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
24109         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
24110         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
24111         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
24112         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
24113         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
24114         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
24115         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
24116         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
24117         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
24118         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
24119         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
24120         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
24121         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
24122         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
24123         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
24124         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
24125         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
24126         * doc/misc/woman.texi:
24127         Use it instead of '@documentencoding UTF-8', to lessen the need for
24128         global changes like this in the future.
24129         * doc/emacs/Makefile.in (EMACS_XTRA):
24130         * doc/lispintro/Makefile.in (srcs):
24131         * doc/lispref/Makefile.in (srcs):
24132         Add dependency on docstyle.texi.
24133         * doc/misc/Makefile.in (style): New macro.
24134         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
24135         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
24136         Use it.
24138 2015-05-01  Glenn Morris  <rgm@gnu.org>
24140         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
24142         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
24143         (help-fns--signature): Declare.
24145         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
24147 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
24149         New macro seq-let, providing destructuring support to seq.el
24150         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
24151         to `cl-destructuring-bind' but works on all sequence types supported
24152         by `seq.el'.  Bump version number to 1.6.
24153         * test/automated/seq-tests.el: Add tests for seq-let.
24154         * doc/lispref/sequences.texi: Add documentation for seq-let.
24156 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
24158         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
24160 2015-05-01  Glenn Morris  <rgm@gnu.org>
24162         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
24164 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
24166         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
24167         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
24168         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
24169         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
24170         (Bug#20445).
24172 2015-05-01  K. Handa  <handa@gnu.org>
24174         * lisp/international/mule-cmds.el (input-method-use-echo-area):
24175         Change :type to 'boolean.
24177 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
24179         Start using proportional fonts in eww by default
24180         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
24181         it seems to work well.
24183         Fix links in tables in shr
24184         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
24185         makes (some) links in tables not work.
24187 2015-05-01  Jan D  <jan.h.d@swipnet.se>
24189         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
24191 2015-04-30  Glenn Morris  <rgm@gnu.org>
24193         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
24194         Update for 2015-02-08 change to indirect-function.
24196         * lisp/term/ns-win.el (ns-get-selection-internal):
24197         Remove declaration for function deleted 2014-10-21.
24199         * lisp/dom.el: Load subr-x when compiling, for when-let.
24201         Silence some compilation warnings
24202         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
24203         * lisp/emulation/cua-base.el (delete-active-region):
24204         * lisp/net/net-utils.el (w32-get-console-output-codepage):
24205         * lisp/term/ns-win.el (ns-own-selection-internal)
24206         (ns-disown-selection-internal, ns-selection-owner-p)
24207         (ns-selection-exists-p, ns-get-selection):
24208         Declare for compiler.
24210         Function declaration updates prompted by 'make check-declare'
24211         * lisp/emacs-lisp/package.el (lm-homepage):
24212         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
24213         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
24214         * lisp/gnus/mml.el (libxml-parse-html-region):
24215         * lisp/gnus/nnrss.el (libxml-parse-html-region):
24216         * lisp/net/eww.el (libxml-parse-html-region):
24217         * lisp/net/shr.el (libxml-parse-html-region):
24218         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
24219         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
24220         * lisp/vc/vc-git.el (vc-annotate-convert-time):
24221         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
24222         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
24223         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
24224         Update declaration.
24226         Remove compatibility code for 20-year old function renaming
24227         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
24228         Make it an obsolete alias.
24229         (idlwave-shell-filter): Change all uses to comint-output-filter.
24231 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
24233         Add ace-window face config
24234         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
24235         configuration.
24237 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
24239         Unclutter 'make doc' output a bit
24240         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
24241         Use make subst rather than sh IFS to split target string apart.
24242         This makes 'make' output easier to follow.
24244         Merge from gnulib
24245         * doc/misc/texinfo.tex: Update from gnulib.
24247 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
24249         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
24250         (package-menu--print-info): Obsolete.
24251         (package-menu--print-info-simple): New function.
24252         (package-menu--refresh): Use it, simplify code, and improve
24253         performance.
24254         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
24255         Tiny performance improvement.
24257         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
24259 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
24261         Omit -Wstrict-overflow workaround in GCC 5
24262         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
24263         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
24265         Merge from gnulib
24266         This incorporates:
24267         2015-04-29 extern-inline: no need for workaround in GCC 5.1
24268         2015-04-26 file-has-acl: port to CentOS 6
24269         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
24271 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
24273         Set next-error-* in xref--xref-buffer-mode
24274         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
24275         Set `next-error-function' and `next-error-last-buffer'.
24276         (xref--next-error-function): New function.
24277         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
24279 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
24281         python.el: Fix warnings on looking-back calls missing LIMIT
24282         * lisp/progmodes/python.el (python-shell-accept-process-output):
24283         Pass LIMIT arg to looking-back.
24285 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
24287         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
24288         (package--download-and-read-archives): Use pushnew instead of
24289         append.  If something terrible happened during a previous
24290         download, simply refreshing should now make things work again.
24292 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
24294         Introduce etags-xref-find-definitions-tag-order
24295         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
24296         New variable.
24297         (etags--xref-find-definitions): Use it (bug#19468).
24299 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
24301         PATH- and completion-related fixes in Eshell on MS-Windows
24302         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
24303         MS-Windows, prepend "." to list of directories produced from PATH,
24304         as Windows always implicitly searches the current directory first.
24305         (eshell-force-execution): Make it have a non-nil default value on
24306         MS-Windows and MS-DOS.
24307         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
24308         eshell-force-execution is non-nil, complete on readable files and
24309         directories, not only executables.  When running on MS-Windows,
24310         prepend "." to list of directories produced from PATH, as Windows
24311         always implicitly searches the current directory first.
24313 2015-04-29  Sam Steingold  <sds@gnu.org>
24315         Bury RCIRC buffers when there is no activity
24316         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
24317         (rcirc-bury-buffers): New function.
24318         (rcirc-next-active-buffer): When there is no new activity, use
24319         `rcirc-bury-buffers' to hide all RCIRC buffers.
24321 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
24323         Fix DBUS query result parsing for secrets-search-items
24324         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
24325         parsing.  The function assumed that return value of the
24326         SearchItems method called on a collection is a list of two lists,
24327         however this is true only when no collection is specified.  GNOME
24328         had used to incorrectly return a list of two lists in both cases,
24329         but this was already fixed:
24330         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
24331         incorrect information in the secrets-search-items’ docstring.
24332         (Bug#20449)
24334 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
24336         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
24337         Use `inhibit-message' instead of hiding the previous message
24338         with (message nil).
24340 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
24342         Remove the deprecated INTERNAL_FIELD macro by expanding it
24343         * src/lisp.h (INTERNAL_FIELD): Remove.
24344         (DEFVAR_KBOARD): Modify accordingly.
24345         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
24346         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
24347         * src/buffer.c (compact_buffer): Use BVAR.
24349 2015-04-29  Glenn Morris  <rgm@gnu.org>
24351         Replace an obsolete function alias
24352         * lisp/isearch.el (isearch-yank-x-selection):
24353         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
24354         (mouse-drag-secondary-moving):
24355         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
24356         Replace obsolete alias x-get-selection with gui-get-selection.
24358 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
24360         * lisp/mail/rmailsum.el: Use lexical-binding.
24362 2015-04-29  Glenn Morris  <rgm@gnu.org>
24364         * test/automated/package-test.el (package-test-update-archives-async):
24365         Skip test on hydra.nixos.org.
24367 2015-04-28  Glenn Morris  <rgm@gnu.org>
24369         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
24370         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
24371         (foldout-mouse-hide-or-exit): Use new names for outline functions.
24373         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
24374         Update for 2014-06-26 hideif.el change.
24376         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
24377         (rmail--decode-and-apply): New function.
24378         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
24380         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
24382 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
24384         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
24385         (package-menu--refresh): Delegate obsolete-hiding to
24386         `package--remove-hidden'.
24387         (package--remove-hidden): Disregard high-priority package if it is
24388         older than the installed one.
24390 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
24392         Update source file encoding list
24393         Update admin/notes/unicode, along with coding system cookies in
24394         other files, so that the two match each other better.
24395         * admin/notes/unicode: lisp/language/ethio-util.el and
24396         lisp/language/ethiopic.el also use utf-8-emacs.
24397         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
24398         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
24399         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
24400         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
24401         * etc/refcards/sk-survival.tex:
24402         Add "coding: utf-8" so that this file is not mishandled in a
24403         Latin-1 or Big-5 locale.
24404         * lisp/international/robin.el, lisp/org/ox-ascii.el:
24405         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
24406         * lisp/language/ethio-util.el: Fix trailer.
24408 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
24410         Fix synchronous invocation of Ispell
24411         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
24412         value to ispell-process-directory before calling ispell-init-process.
24413         Don't call set-process-coding-system if ispell-async-processp is nil.
24414         (Bug#20448)
24416 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
24418         * lisp/emacs-lisp/package.el: Skip space and comments in init file
24419         (package--ensure-init-file): Insert snippet at first
24420         non-whitespace non-comments line.  Respects local-vars at the top
24421         of the file.
24423 2015-04-28  Glenn Morris  <rgm@gnu.org>
24425         * lisp/mail/rmail.el (rmail-copy-headers):
24426         Handle rmail-nonignored-headers being nil.  (Bug#18878)
24428         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
24430         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
24431         Don't get confused by a bzrlib version mismatch warning.
24433 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24435         Change default location of EUDC options file
24436         * etc/NEWS: Document change to EUDC options file's default location.
24437         * lisp/net/eudc-vars.el (eudc-options-file): Use
24438         `locate-user-emacs-file' to change default options file location.
24440 2015-04-27  Glenn Morris  <rgm@gnu.org>
24442         * test/automated/package-test.el (package-test-update-archives-async):
24443         Try to handle the test server script dying.
24445 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24447         * lisp/saveplace.el (save-place-mode): New minor mode.
24448         (save-place): Redefine as an obsolete alias.
24450         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
24451         * lisp/midnight.el: Use lexical-binding.
24452         (midnight-mode): Make it a proper minor mode.
24453         (midnight-buffer-display-time): Make arg non-optional.
24454         (midnight-find): Remove.
24455         (clean-buffer-list-kill-never-regexps)
24456         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
24457         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
24458         contain functions.
24459         (clean-buffer-list): Use cl-find.
24460         Allow clean-buffer-list-kill-never-regexps to contain functions.
24462 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
24464         Bump version of seq.el to 1.5
24465         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
24466         from seq-doseq.  Bump version number of seq.el.
24468 2015-04-27  Glenn Morris  <rgm@gnu.org>
24470         * lisp/mail/rmail.el (rmail-reply):
24471         Decode subject before matching "Re:" prefix.  (Bug#20396)
24473 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
24475         * lisp/emacs-lisp/package.el: Small improvements
24476         (package--with-work-buffer-async): More informative error.
24477         (package-install-user-selected-packages): Rename to
24478         `package-install-selected-packages'.
24480 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24482         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
24483         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
24484         (eieio--class-make): Remove leftover `tag'.
24486 2015-04-27  Glenn Morris  <rgm@gnu.org>
24488         * lisp/gnus/message.el (gnus-extract-address-components):
24489         Remove bogus declaration that was masking previous problem.
24491 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
24493         * lisp/gnus/message.el (message-insert-formatted-citation-line):
24494         Fix typo.  (Bug#20318)
24496 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24498         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
24500         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
24501         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
24502         the buffer in yet another frame.
24503         (reftex-toc-visit-location): Make sure toc-window has focus at the end
24504         when `final' is nil.
24505         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
24506         silence warnings.  Use `--' to clarify that it's internal.
24507         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
24508         (reftex-toc-promote): Clarify unused argument.
24509         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
24510         Add `reftex--' prefix.  Fix all users.
24511         (reftex-toc-promote-prepare): Use _ for dummy variable.
24512         (reftex-toc-restore-region): Rename `m.
24514 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
24516         Fix a typo in bibtex.el
24517         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
24518         last change.  (Bug#20429)
24520         Fix redisplay of frame after loading new fonts
24521         * src/xdisp.c (redisplay_internal): When retrying redisplay of
24522         a frame because new fonts were loaded, disable all redisplay
24523         optimizations on that frame by calling SET_FRAME_GARBAGED.
24524         (Bug#20410)
24526 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
24528         * lisp/info.el (Info-menu): Properly provide the `default'
24529         (Bug#20391)
24531         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
24532         Catch errors from documentation (bug#20418).
24533         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
24535 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24537         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
24538         Remove redundant ":group 'package".
24540 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
24542         Fix a typo in rmail.el
24543         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
24544         last commit.  (Bug#20429)
24546 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
24548         Introduce xref-prompt-for-identifier
24549         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
24550         (xref--read-identifier): Use it
24551         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
24553 2015-04-26  João Távora  <joaotavora@gmail.com>
24555         `tex-insert-quote' after single `'' opens quotes instead of closing
24556         Without this, it's very hard to precede double quotes with the
24557         apostrophe character, i.e. insert the sequence '``
24558         (quote-backquote-backquote), commonly useful in portuguese, for
24559         instance.
24560         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
24561         preceding chars making `tex-insert-quote' be in the "opening" context.
24563 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
24565         Pass `id' to `completing-read' as def instead of initial input
24566         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
24567         `completing-read' as the default value instead of initial input
24568         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
24570 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
24572         Don't freeze with unreadable processes
24573         Don't freeze if an exiting process can't be read from.  (Bug#19860).
24574         This fixes a bug I introduced in
24575         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
24576         "* process.c: Add sanity checks for file descriptors."
24577         Dmitry Gutov did most of the legwork in finding the problem.
24578         * src/process.c (wait_reading_process_output):
24579         Treat non-running processes that can't be read from
24580         the same as other non-running processes.
24582 2015-04-25  Alan Mackenzie  <acm@muc.de>
24584         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
24585         * lisp/subr.el (remove-yank-excluded-properties): Put
24586         `with-silent-modifications' around only the last three lines of code.
24588 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
24590         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
24591         (package--all-keywords): Deleted variable.
24593         * etc/NEWS: Document package-hiding functionality.
24595 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
24597         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
24599         Clarify the doc string of 'replace-regexp-in-string'
24600         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
24602         Improve doc string of 'insert-buffer-substring'
24603         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
24605         MS-Windows followup for the recent gnulib update
24606         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
24607         acl-internal.c.
24609 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
24611         Spelling fixes
24613         Merge from gnulib
24614         This incorporates:
24615         2015-04-24 file-has-acl: new module, split from acl
24616         2015-04-24 manywarnings: add GCC 5.1 warnings
24617         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
24618         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
24619         2015-04-15 acl: On Linux, check for acls without libacl
24620         2015-04-14 tempname: avoid unused parameter warnings (trivial)
24621         * lib/acl-internal.c: New file, from gnulib.
24622         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
24623         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
24624         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
24625         Update from gnulib.
24627         Port --enable-gcc-warnings to GCC 5.1 x86-64
24628         * lib-src/ebrowse.c (dump_sym):
24629         * lib-src/hexl.c (main):
24630         * src/ccl.c (ccl_driver):
24631         * src/character.c (string_escape_byte8):
24632         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
24633         * src/gnutls.c (Fgnutls_boot):
24634         * src/gtkutil.c (xg_check_special_colors):
24635         * src/image.c (x_build_heuristic_mask):
24636         * src/print.c (safe_debug_print, print_object):
24637         * src/term.c (produce_glyphless_glyph):
24638         * src/xdisp.c (get_next_display_element)
24639         (produce_glyphless_glyph):
24640         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
24641         Don't use a signed format to print an unsigned integer, or vice
24642         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
24643         * src/image.c (png_load_body, jpeg_load_body):
24644         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
24646 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
24648         Add new faces to tsdh-light-theme
24649         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
24650         definitions for Info-quoted, ace-jump-face-foreground,
24651         hl-paren-face, show-paren-match, and show-paren-mismatch.
24653 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
24655         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
24657 2015-04-24  Glenn Morris  <rgm@gnu.org>
24659         * build-aux/gitlog-to-emacslog:
24660         Use raw log format rather than wrapped one.
24662 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
24664         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
24665         (seq-doseq): Fix out-of-scope binding.
24666         Don't call `seq-length at every iteration.
24667         Reduce `if's from 3 to 2 per iteration.
24668         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
24670 2015-04-24  Glenn Morris  <rgm@gnu.org>
24672         * lisp/textmodes/text-mode.el (text-mode-hook):
24673         Move text-mode-hook-identify to default.
24675         * lisp/mouse.el (minor-mode-menu-from-indicator):
24676         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
24678         * lisp/help-fns.el (describe-function): More type checking.
24679         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
24681         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
24682         (Bug#20325)
24684 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
24686         shr: strip leading whitespace when expanding URLs
24687         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
24689 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
24691         Clarify "co-authored" some more
24693         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
24695         Clarify doc strings of functions that search for properties
24696         * src/textprop.c (Fnext_char_property_change)
24697         (Fprevious_char_property_change)
24698         (Fnext_single_char_property_change)
24699         (Fprevious_single_char_property_change, Fnext_property_change)
24700         (Fnext_single_property_change, Fprevious_property_change)
24701         (Fprevious_single_property_change): Clarify doc strings wrt return
24702         value and the optional LIMIT argument.  (Bug#20411)
24704 2015-04-24  Glenn Morris  <rgm@gnu.org>
24706         * test/automated/message-mode-tests.el (message-mode-propertize):
24707         Handle non-writable HOME; eg on hydra.nixos.org.
24709 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
24711         Avoid starting threads by w32-shell-execute
24712         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
24713         local file names, before invoking ShellExecute.  (Bug#20220)
24715 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
24717         Fix following doc-links in `widget-documentation-link-action'
24718         * lisp/wid-edit.el (widget-documentation-link-action): Make
24719         following doc-links less simplistic (Bug#20398).
24721 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24723         Improve EUDC manual
24724         * doc/misc/eudc.texi (Troubleshooting):
24725         New LDAP troubleshooting subsection.
24727 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24729         Omit needless "\ " after multibyte then newline
24730         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
24731         (print_object): When print-escape-multibyte is non-nil and a
24732         multibyte character is followed by a newline or formfeed, followed
24733         by a hex digit, don't output a needless "\ " before the hex digit.
24734         * test/automated/print-tests.el (print-hex-backslash): New test.
24736 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
24738         Add a new `inhibit-message' variable
24739         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
24740         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
24741         `inhibit_message' is non-zero.
24742         * etc/NEWS: Add an entry.
24743         * doc/lispref/display.texi: Add an entry for `inhibit-message',
24744         mention it in `message'.
24746 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
24748         Fix last fix in `display-buffer-record-window'.
24749         * lisp/window.el (display-buffer-record-window): Fix last fix.
24751 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
24753         Minor edits in CONTRIBUTE
24754         * CONTRIBUTE: Rearrange instructions about log messages.
24755         Use "Git" capitalized all over.
24756         Use 2 spaces between sentences.
24758 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
24760         * lisp/files.el (basic-save-buffer): Fix argument.
24762         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
24763         In case `(and (null custom-file) init-file-had-error)' do the same
24764         thing we'd do if `(null user-init-file)', which is to either error out
24765         or return nil.  This is in line with `custom-save-all' which would
24766         throw an error in that situation.  (Bug#20355)
24768         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
24769         (package-menu-hide-low-priority): New variable, see its doc.
24770         (package-archive-priorities): Update doc.
24771         (package-desc-priority): New function.
24772         (package-desc-priority-version): Use it.
24773         (package--remove-hidden): New function.
24774         (package-menu--refresh): Use it.
24776         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
24777         (package-menu--hide-obsolete): New variable.
24778         (package--remove-hidden): Use it.
24779         (package-menu-hide-obsolete): New interactive function to toggle
24780         the variable.
24781         (package--quick-help-keys): Document it.
24782         (package-menu-async): Add :version tag.
24783         (package-menu-mode-map): Bind package-menu-hide-obsolete.
24784         (package-desc-status): Indicate non-installed obsolete packages as
24785         avail-obso.
24786         (package-menu-mark-install): Allow installation of avail-obso.
24787         (package-menu--status-predicate): Sort avail-obso with available.
24789 2015-04-22  Alan Mackenzie  <acm@muc.de>
24791         On C-y, stop some text property entries being written into buffer-undo-list
24792         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
24793         `with-silent-modifications'.
24795 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
24797         In display-buffer-record-window record selected window if necessary
24798         * lisp/window.el (display-buffer-record-window): Store selected window
24799         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
24801 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
24803         Fix reftex-citation bug
24804         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
24805         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
24806         integration is enabled and there are no citations in the document
24807         so far.
24809 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
24811         Add or reset based on the presence of MERGE_HEAD
24812         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
24813         `vc-git-resolve-when-done' to `after-save-hook' in either case.
24814         (vc-git-conflicted-files): Add a TODO.
24815         (vc-git-resolve-when-done): Depending on the presence of
24816         MERGE_HEAD, either update the resolved file in the index, or
24817         remove it from there.  (Bug#20292)
24819 2015-04-21  Glenn Morris  <rgm@gnu.org>
24821         * lisp/custom.el (custom-declare-group): No need to purecopy
24822         custom-current-group-alist members following recent change to set
24823         it to nil before dumping.
24825         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
24826         (Bug#20399)
24828 2015-04-21  Daniel Colascione  <dancol@dancol.org>
24830         Unbreak no-op buffer save message
24831         * lisp/files.el (basic-save-buffer): Accept called-interactively as
24832         an argument instead of directly invoking called-interactively-p,
24833         which will always yield nil in that context.
24835 2015-04-21  Alan Mackenzie  <acm@muc.de>
24837         CC Mode: Do nothing in before/after-change-functions for text
24838         property changes
24839         Fixes bug#20266.
24840         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
24841         yank-handled-properties buffer local, and remove 'category from it.
24842         (c-called-from-text-property-change-p): New function.
24843         (c-before-change): Don't do anything if a call of the new function
24844         returns non-nil.
24845         (c-after-change): Don't do much if a call of the new function returns
24846         non-nil.
24847         (c-extend-after-change-region): Put changes to text property 'fontified
24848         inside c-save-buffer-state.
24850 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
24852         Fix byte-compiler warnings about looking-back
24853         * lisp/vc/log-view.el (log-view-end-of-defun-1):
24854         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
24855         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
24856         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
24857         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
24858         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
24859         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
24860         * lisp/org/org.el (org-insert-heading, org-sort-entries):
24861         * lisp/org/org-mouse.el (org-mouse-end-headline)
24862         (org-mouse-context-menu):
24863         * lisp/org/org-clock.el (org-clock-cancel):
24864         * lisp/man.el (Man-default-man-entry):
24865         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
24866         (rmail-ensure-blank-line):
24867         * lisp/mail/footnote.el (Footnote-delete-footnote):
24868         * lisp/mail/emacsbug.el (report-emacs-bug):
24869         * lisp/info.el (Info-follow-reference, Info-fontify-node):
24870         * lisp/info-look.el (info-lookup-guess-custom-symbol):
24871         * lisp/help-fns.el (help-fns--key-bindings):
24872         * lisp/files.el (hack-local-variables):
24873         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
24874         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
24875         (viper-complete-filename-or-exit):
24876         * lisp/emulation/viper-cmd.el (viper-backward-indent):
24877         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
24878         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
24879         * lisp/cus-edit.el (custom-face-edit-value-create):
24880         * lisp/calendar/todo-mode.el (todo-set-item-priority)
24881         (todo-filter-items-1, todo-convert-legacy-files)
24882         (todo-prefix-overlays): Add explicit second arg to looking-back.
24884 2015-04-20  Glenn Morris  <rgm@gnu.org>
24886         Avoid non-nil current-load-list at startup
24887         * src/process.c (init_process_emacs): Move Fprovide statement...
24888         (syms_of_process): ... to here.
24890         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
24892         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
24893         in emacs -Q.
24895 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
24897         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
24898         (Bug#20330)
24900 2015-04-20  Glenn Morris  <rgm@gnu.org>
24902         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
24904         Tweak exec-path in uninstalled case
24905         * src/callproc.c (init_callproc): If running uninstalled, do not
24906         include eventual installation libexec directory in exec-path.
24908 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
24910         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
24911         cache keywords.
24912         (package-menu-filter): Accept a list of keywords.
24913         (package--all-keywords): New variable to cache known keywords.
24914         (package-all-keywords): Populate it if necessary.
24915         (package-refresh-contents): Reset it.
24917         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
24918         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
24919         as special keywords which match agains package archive and status
24920         respectively.
24921         * etc/NEWS: Document it.
24923 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
24925         Describe and index "empty overlays".
24926         * doc/lispref/display.texi (Overlays): Improve indexing.
24927         (Managing Overlays): Describe "empty" overlays.
24928         (Overlay Properties, Finding Overlays): Add cross-reference to
24929         where empty overlays are described.
24931 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
24933         Spelling fixes
24935         Quote 'like this' in top-level files
24936         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
24937         Prefer to single-quote 'like this' (instead of the older style
24938         `like this').
24939         * configure.ac: Fix some space-before-tab problems that 'git commit'
24940         complained about.
24942         Use bool for boolean in textprop.c, undo.c
24943         * src/textprop.c (soft, hard): Now constants instead of macros.
24944         (validate_plist): Rewrite to avoid need for boolean local.
24945         (interval_has_all_properties, interval_has_some_properties)
24946         (interval_has_some_properties_list, add_properties)
24947         (remove_properties, get_char_property_and_overlay)
24948         (Fnext_single_char_property_change)
24949         (Fprevious_single_char_property_change, add_text_properties_1)
24950         (Fremove_text_properties, Fremove_list_of_text_properties)
24951         (copy_text_properties):
24952         * src/tparam.c (tparam1):
24953         * src/undo.c (record_change, record_property_change)
24954         (syms_of_undo):
24955         Use 'true' and 'false' for booleans.
24957 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
24959         * lisp/vc/vc-git.el (vc-git-find-file-hook):
24960         Call `smerge-start-session' even when dealing with a stash
24961         conflict (bug#20292).
24963 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
24965         Add option to eshell/clear to clear scrollback.
24966         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
24967         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
24968         scrollback contents are cleared.
24969         * etc/NEWS: Describe change.
24970         * doc/misc/eshell.texi: Add entry for `clear'.
24972 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
24974         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
24975         where either will do.
24977 2015-04-19  Steve Purcell  <steve@sanityinc.com>
24979         Assume package archive-contents are UTF8-encoded
24980         * lisp/emacs-lisp/package.el (package--read-archive-file):
24981         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
24982         downloaded and cached archive-contents files, so that non-ASCII
24983         characters in package descriptions are displayed correctly in the
24984         `list-packages' menu.  (Bug#20231)
24986 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
24988         Abort when looking at stashed changes
24989         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
24990         stashed changes (bug#20292).
24992 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
24994         Refactor low-level printing for simplicity
24995         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
24996         PRINTPREPARE; doable now that we assume C99.  All callers changed.
24997         (PRINTCHAR): Remove, as it adds more mystery than clarity.
24998         All callers changed.
24999         (strout): Assume that caller computes length.  All callers changed.
25000         (print_c_string): New function.
25001         (write_string, write_string_1): Compute length instead of asking
25002         the caller to compute it.  All callers changed.
25003         (write_string): Simplify by using write_string_1.
25004         (write_string_1): Simplify by using print_c_string.
25005         (Fterpri): Compute default val more clearly.
25006         (Fprin1_to_string, print_object):
25007         Assume C99 to avoid unnecessary nesting.
25008         (print_object): Prefer print_c_string to multiple printchar, or
25009         to calling strout with -1 length.  Coalesce into sprintf when
25010         this is easy.
25012 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
25014         Prefer "Bug#1234" in commit messages (Bug#20325)
25015         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
25016         as this isn't useful for Git.
25017         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
25019 2015-04-18  Glenn Morris  <rgm@gnu.org>
25021         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
25022         (Bug#19506)
25024 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
25026         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
25027         Do not use `chomp' as a function.  (Bug#19505)
25029 2015-04-18  Glenn Morris  <rgm@gnu.org>
25031         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
25033         * doc/emacs/misc.texi (Sorting): Small edit.
25034         (Bug#19896)
25036         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
25038 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
25040         css-mode.el: Support multi-line comment filling
25041         (Bug#20256)
25042         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
25043         comment filling.
25044         (css-adaptive-fill): New function.
25045         (css-mode): Set `adaptive-fill-function'.
25046         (scss-mode): Set `comment-continue'.
25048 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
25050         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
25051         Better error messages.
25053 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
25055         Minor improvements in Bulgarian input methods
25056         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
25057         Replace U+042C with U+045D, as the former character is not used in
25058         the modern Bulgarian language.
25059         (Bug#20350)
25061 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25063         Improve EUDC manual
25064         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
25065         authentication schemes.  Add index items.  Shorten example server
25066         name.
25068 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
25070         Don't show both feature and function with the same name
25071         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
25072         Don't show both feature and function with the same name.
25074         (elisp--xref-identifier-location): Skip variable, if it's also
25075         a function
25076         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
25077         Avoid returning both the variable and the function for the same
25078         minor mode.
25080 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
25082         Fix fontification of keywords clobbered by the prompt
25083         * lisp/comint.el (comint-output-filter): Remove the uses of
25084         with-silent-modifications I introduced as part of the last change.
25085         This fixes, e.g., erratically missing highlighting when running
25086         ./configure --help; ./configure in a shell-mode buffer with
25087         compilation-shell-minor-mode turned on.
25089 2015-04-17  Glenn Morris  <rgm@gnu.org>
25091         * admin/authors.el (authors-valid-file-names)
25092         (authors-renamed-files-alist): Additions.
25094 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
25096         * lisp/indent.el (indent-region): Don't deactivate the mark.
25097         (Bug#20357)
25099 2015-04-17  Sam Steingold  <sds@gnu.org>
25101         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
25103 2015-04-16  Leo Liu  <sdl.web@gmail.com>
25105         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
25107 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
25109         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
25110         Don't use `pcomplete' any more.
25112 2015-04-16  Glenn Morris  <rgm@gnu.org>
25114         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
25116 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
25118         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
25119         * configure.ac (LIBJPEG): Leave it empty for MinGW.
25121 2015-04-16  Glenn Morris  <rgm@gnu.org>
25123         * lisp/replace.el (query-replace-from-to-separator):
25124         Delay initialization to avoid rogue setting after startup.
25126 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
25128         Pre-4.6 GCC succeeds with unknown option
25129         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
25130         (Bug#20338)
25132 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
25134         '[:graph:]' now excludes whitespace, not just ' '
25135         * doc/lispref/searching.texi (Char Classes):
25136         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
25137         sans whitespace (not sans space).
25138         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
25139         not just space.
25140         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
25142 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25144         * lisp/subr.el (substitute-key-definition-key, special-form-p)
25145         (macrop): Drop deprecated second arg to indirect-function.
25146         (looking-back): Make the second arg non-optional.
25148         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
25149         command is actually sent to the shell.
25151 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
25153         Port jpeg configuration to Solaris 10 with Sun C
25154         * configure.ac: Check for jpeglib 6b by trying to link it, instead
25155         of relying on cpp magic that has problems in practice.  Check for
25156         both jpeglib.h and jerror.h features.  Remove special case for
25157         mingw32, which should no longer be needed (and if it were needed,
25158         should now be addressable by hotwiring emacs_cv_jpeglib).
25159         (Bug#20332)
25161 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25163         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
25164         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
25165         Move to elisp-mode.el.
25166         (lisp-mode-variables): (Re)move elisp-specific settings.
25167         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
25168         from lisp-mode-variables.
25169         (elisp--font-lock-flush-elisp-buffers): New function, moved from
25170         lisp-mode.el.
25172         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
25173         Avoid pathological slowdown at top-level in large file.
25175 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
25177         Standardize names of ChangeLog history files
25178         Suggested by Glenn Morris in:
25179         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
25180         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
25181         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
25182         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
25183         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
25184         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
25185         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
25186         Remove.
25188         Split top-level entries into pre- and post-April 7
25189         This more clearly distingiushes pre-April-7 ChangeLog entries (which
25190         are for top-level files only) from post-April-7 entries (which are
25191         about files at all levels.  Problem reported by Glenn Morris in:
25192         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
25193         * ChangeLog.1: Move post-April-7 entries from here ...
25194         * ChangeLog.2: ... to this new file.
25195         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
25197 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25199         Fix recent cus-start changes that added customize-rogues
25200         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
25201         vars early.
25202         * lisp/loadup.el ("cus-start"): Move to the end to reduce
25203         customize-rogue.
25205 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
25207         Define cl-concatenate as an alias to seq-concatenate
25208         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
25209           code by making cl-concatenate an alias to seq-concatenate.
25211 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
25213         * src/lread.c (intern_1): Make sure we'd find the symbol we add
25214         (Bug#20334)
25215         * src/xfaces.c (resolve_face_name): Don't use `intern' with
25216         Lisp_Strings.
25218 2015-04-15  Glenn Morris  <rgm@gnu.org>
25220         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
25222 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
25224         Clean up gnus-uu saving code slightly
25225         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
25226         save-restriction/widen calls make more sense.
25228 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
25230         Make [:graph:] act like [:print:] sans space
25231         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
25232         [:graph:] so that it matches everything that [:print:] does,
25233         except for space.
25234         * doc/lispref/searching.texi (Char Classes):
25235         * etc/NEWS:
25236         * lisp/emacs-lisp/rx.el (rx):
25237         Document [:graph:] to be [:print:] sans ' '.
25238         * src/character.c, src/character.h (graphicp): New function.
25239         * src/regex.c (ISGRAPH) [emacs]: Use it.
25240         (BIT_GRAPH): New macro.
25241         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
25242         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
25243         Return BIT_GRAPH for RECC_GRAPH.
25244         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
25245         and ISPRINT if BIT_PRINT.
25247 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
25249         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
25250         Don't use call-next-method in a cl-defmethod.
25252         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
25253         (eieio--class-p): Remove, provided by cl-defstruct.
25255 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
25257         Add seq-intersection and seq-difference to the seq library
25258         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
25259         New functions.
25260         * test/automated/seq-tests.el: Add tests for seq-intersection and
25261         seq-difference.
25262         * doc/lispref/sequences.texi: Add documentation for seq-intersection
25263         and seq-difference.
25265 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
25267         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
25268         to avoid leaking internals.
25270 2015-04-14  Sam Steingold  <sds@gnu.org>
25272         package--ensure-init-file: widen requires save-restriction
25274 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
25276         Improve the commit-msg Git hook for unibyte environments
25277         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
25278         in unibyte environments.  (Suggested by Paul Eggert
25279         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
25280         [:print:], based on UTF-8 sequences of the unprintable characters.
25282         Describe problems with cursor caused by Windows Magnifier
25283         * etc/PROBLEMS: Describe the problem with cursor shape on
25284         MS-Windows due to Windows Magnifier.
25285         (Bug#20271)
25287         Make [:print:] support non-ASCII characters correctly
25288         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
25289         (BIT_PRINT): New bit mask.
25290         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
25291         * src/character.c (printablep): New function.
25292         * src/character.h (printablep): Add prototype.
25293         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
25294         of 'print', 'alnum', and 'alphabetic'.
25295         * doc/lispref/searching.texi (Char Classes): Document the new
25296         behavior of [:print:].
25297         * etc/NEWS: Mention the new behavior of [:print:].
25299         Assign correct general-category and names to surrogates
25300         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
25301         surrogates.  This avoids assigning them the default
25302         general-category of 'Cn', i.e. unassigned codepoints.
25303         (unidata-get-name): Give surrogates synthetic names.
25305 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
25307         Assume C89 offsetof in xterm.c, xlwmenu.c
25308         * lwlib/xlwmenu.c (offset):
25309         * src/xterm.c (cvt_string_to_pixel_args):
25310         Use offsetof, not XtOffset.
25312 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
25314         Assume C89 offsetof in widget.c
25315         * src/widget.c (XtOffset): Remove; no longer needed.
25316         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
25318         Fix think-o in previous patch
25319         * src/window.c (count_windows, get_leaf_windows):
25320         Don't optimize count_windows incorrectly.
25322 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
25324         Avoid some int overflows in window.c
25325         * src/print.c (print_object):
25326         * src/window.c (sequence_number):
25327         * src/window.h (struct window.sequence_number):
25328         Don't assume window sequence number fits in int.
25329         * src/window.c (window_select_count):
25330         * src/window.h (struct window.use_time, window_select_count):
25331         Don't assume window use time fits in int.
25332         * src/window.c (Fsplit_window_internal):
25333         Don't assume user-supplied integer, or sum, fits in int.
25334         (Fset_window_configuration, count_windows, get_leaf_windows)
25335         (save_window_save, Fcurrent_window_configuration):
25336         Use ptrdiff_t for object counts.
25337         (Fset_window_configuration): Omit unused local 'n'.
25338         (count_windows): Simplify by writing in terms of get_leaf_windows.
25339         (get_leaf_windows): Don't store through FLAT if it's null.
25340         (extract_dimension): New static function.
25341         (set_window_margins, set_window_fringes, set_window_scroll_bars):
25342         Use it to avoid undefined behavior when converting user-supplied
25343         integer to 'int'.
25345 2015-04-13  Glenn Morris  <rgm@gnu.org>
25347         Minor doc copyedits
25348         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
25349         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
25351 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
25353         [Gnus] Catch the invalid-operation that idna.el will issue
25354         * lisp/gnus/gnus-art.el (gnus-use-idna):
25355         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
25356         * lisp/gnus/message.el (message-use-idna):
25357         Catch the invalid-operation that idna.el will issue.
25359 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
25361         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
25363 2015-04-13  Sam Steingold  <sds@gnu.org>
25365         package--ensure-init-file: widen before looking for
25366         "(package-initialize)"
25368 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
25370         Change diff-switches default to `-u' (Bug#20290)
25371         * doc/emacs/files.texi (Comparing Files): Document the new default
25372         value of `diff-switches'.
25373         * doc/emacs/trouble.texi (Sending Patches): Document the preference
25374         for unified diff format.  Escape the plus in the suggested `-F' regexp
25375         value.
25376         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
25378 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25380         (gnus-group--setup-tool-bar-update): Fix last change
25381         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
25382         cursor-sensor-functions should be a list of functions.
25384 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
25386         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
25387         Use gmm-called-interactively-p.
25389 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25391         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
25392         (Bug#20321)
25393         * lisp/cus-start.el (read-buffer-function): Don't advertise
25394         iswitchb-read-buffer any more.
25395         (iswitchb): Don't tweak this obsolete group any more.
25397 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
25399         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
25401         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
25402         Adding a string after a constructor's argument list will use
25403         that string as the constructor function docstring.  If this string
25404         is absent but the struct itself was given a docstring, use that as
25405         the constructor's docstring.
25406         Fixes bug#17284.
25408 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25410         Deprecate `intangible' and `point-entered' properties
25411         * lisp/emacs-lisp/cursor-sensor.el: New file.
25412         * lisp/simple.el (pre-redisplay-functions): New hook.
25413         (redisplay--pre-redisplay-functions): New function.
25414         (pre-redisplay-function): Use it.
25415         (minibuffer-avoid-prompt): Mark obsolete.
25416         (redisplay--update-region-highlight): Adapt it to work as a function on
25417         pre-redisplay-functions.
25418         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
25419         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
25420         than point-entered to make the prompt intangible.
25421         * lisp/forms.el: Move `provide' calls to the end.
25422         (forms-mode): Don't use `run-hooks' on a local var.
25423         (forms--make-format, forms--make-format-elt-using-text-properties):
25424         Use cursor-intangible rather than `intangible'.
25425         (forms-mode): Enable cursor-intangible-mode.
25426         * lisp/isearch.el (isearch-mode): Use defvar-local.
25427         (cursor-sensor-inhibit): Declare.
25428         (isearch-mode): Set cursor-sensor-inhibit.
25429         (isearch-done): Set it back.
25430         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
25431         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
25432         any more.
25433         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
25434         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
25435         Add Edebug spec.
25436         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
25437         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
25438         inhibit-point-motion-hooks any more.
25439         (ses--cell-at-pos, ses--curcell): New functions, extracted from
25440         ses-set-curcell.
25441         (ses-set-curcell): Use them.
25442         (ses-print-cell, ses-setup): Use cursor-intangible instead of
25443         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
25444         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
25445         Use ses--cell-at-pos.
25446         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
25447         extracted from ses-command-hook.  Make them work with multiple windows
25448         displaying the same buffer.
25449         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
25450         Enable cursor-intangible-mode.
25451         (ses-command-hook): Remove cell highlight and mode-line update code.
25452         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
25453         Update for new name of text-property holding the cell name.
25454         (ses-rename-cell): Don't mess with mode-line-process.
25455         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
25456         cursor-sensor-functions property instead of point-entered.
25457         (erc-insert-timestamp-right, erc-format-timestamp):
25458         Use cursor-intangible rather than `intangible'.
25459         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
25460         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
25461         cursor-sensor-mode if needed.
25462         (erc-echo-timestamp): Adapt to calling convention of
25463         cursor-sensor-functions.
25464         (erc-insert-timestamp-right): Remove unused vars `current-window' and
25465         `indent'.
25466         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
25467         (gnus-update-group-mark-positions): Remove unused `topic' var.
25468         (gnus-group-insert-group-line): Remove unused var `header'.
25469         (gnus-group--setup-tool-bar-update): New function.
25470         (gnus-group-insert-group-line): Use it.
25471         (gnus-group-update-eval-form): Declare local
25472         dynamically-bound variables.
25473         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
25474         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
25475         (gnus-group-prepare-topics, gnus-topic-update-topic)
25476         (gnus-topic-change-level, gnus-topic-catchup-articles)
25477         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
25478         Use inhibit-read-only.
25479         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
25480         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
25481         * lisp/textmodes/reftex-index.el (reftex-display-index):
25482         Use cursor-intangible-mode if available.
25483         (reftex-index-post-command-hook): Check cursor-intangible.
25484         * lisp/textmodes/reftex-toc.el (reftex-toc):
25485         Use cursor-intangible-mode if available.
25486         (reftex-toc-recenter, reftex-toc-post-command-hook):
25487         Check cursor-intangible.
25488         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
25489         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
25490         (sgml-tags-invisible): Use with-silent-modifications and
25491         inhibit-read-only.  Enable cursor-sensor-mode.
25492         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
25493         calling convention of cursor-sensor-functions.
25494         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
25495         (table-point-entered-cell-hook, table-point-left-cell-hook):
25496         Don't autoload.
25497         (table-cell-entered-state): Remove var.
25498         (table--put-cell-point-entered/left-property)
25499         (table--remove-cell-properties):
25500         Use cursor-sensor-functions rather than point-entered/left.
25501         (table--point-entered/left-cell-function): Merge
25502         table--point-entered-cell-function and table--point-left-cell-function
25503         and adjust to calling convention of cursor-sensor-functions.
25505         Update ldef-boots.el
25507         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
25509         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
25511         Collapse successive char deletions in the undo log
25512         * src/cmds.c (remove_excessive_undo_boundaries): New function,
25513         extracted from Fself_insert_command.
25514         (Fdelete_char, Fself_insert_command): Use it.
25515         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
25516         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
25518         xterm and OSC 52: Add NEWS entry, and tweak the code
25519         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
25520         to top-level.
25521         (terminal-init-xterm-activate-set-selection): Set a terminal property.
25522         (xterm--set-selection): Use it instead of checking the value of
25523         `terminal-initted'.  Don't use string-bytes.
25525 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
25527         xterm.el: Implement OSC-52 functionality for setting the X selection
25528         * lisp/term/xterm.el (xterm-max-cut-length): New var.
25529         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
25530         New funs.
25531         (terminal-init-xterm, xterm--version-handler): Use them.
25533 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
25535         Remove left over code from when we used an obsolete/loaddefs.el file
25536         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
25537         when we used an obsolete/loaddefs.el file.
25539         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
25540         (semanticdb-without-unloaded-file-searches): Use declare.
25541         (semantic-fw-add-edebug-spec): Remove.
25543         * lisp/completion.el (completion-lisp-mode-hook):
25544         Use completion-separator-chars rather than local key binding.
25546         * src/*.c: Set deactivate_mark buffer-locally
25547         (Bug#20260)
25548         * src/insdel.c (prepare_to_modify_buffer_1):
25549         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
25550         buffer-locally.
25552 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
25554         python.el: Keep symmetry on sexp navigation with parens
25555         (Bug#19954)
25556         * lisp/progmodes/python.el
25557         (python-nav--forward-sexp): Add argument skip-parens-p.
25558         (python-nav-forward-sexp, python-nav-backward-sexp)
25559         (python-nav-forward-sexp-safe)
25560         (python-nav-backward-sexp-safe): Use it.
25561         * test/automated/python-tests.el
25562         (python-nav-forward-sexp-1): Fix test.
25564 2015-04-12  João Távora  <joaotavora@gmail.com>
25566         Don't use `setq-local' in Gnus code
25567         This might break upstream builds with older Emacsen
25568         * lisp/gnus/message.el (message-mode): Use `set' and
25569         `make-local-variable' instead of `setq-local'.
25571 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
25573         Update Makefile.in's .PHONY dependencies
25574         * Makefile.in (change-history-commit, master-branch-is-current)
25575         (no-ChangeLog): Now phony.
25577         Remove configure's --with-mmdf option
25578         * configure.ac (MAIL_USE_MMDF): Remove.
25579         * etc/NEWS: Document this.
25580         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
25581         (Bug#20308)
25583         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
25584         That way, 'make install' won't think it's a man page.
25585         Reported by Ashish SHUKLA in:
25586         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
25588         Improve 'make change-history' prereq tests
25589         * Makefile.in (gen_origin): Fix to match what's in the master branch.
25590         (no-ChangeLog, master-branch-is-current): New rules.
25591         (change-history): Depend on them, to avoid similar future problems.
25592         Escape the local-variables string to pacify Emacs when editing
25593         Makefile.in.
25595 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
25597         * test/automated/package-test.el (with-package-test):
25598         Kill Packages buffer.
25600         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
25601         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
25602         "Upgrade" last, and use capitalized instead of all-caps.
25604         * lisp/emacs-lisp/package.el: Completely silence async operations.
25605         (package--make-autoloads-and-stuff): Silence autoloads.
25606         (package--save-selected-packages): New function, silences
25607         `customize-save-variable'.
25608         (package--user-selected-p, package-install-from-buffer)
25609         (package-delete, package-install): Use it.
25610         (package-install-from-archive)
25611         (package-menu--perform-transaction): Silence.
25612         (package-menu-execute): Feedback when operation starts.
25614         Use delay-mode-hooks when visiting the init-file
25615         * lisp/emacs-lisp/package.el (package--ensure-init-file):
25616         delay-mode-hooks.
25617         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
25619         * lisp/files.el: Only message when saving if save-silently is nil.
25620         (save-silently): New variable.
25621         (files--message): New function.
25622         (find-file-noselect, save-buffer, basic-save-buffer)
25623         (basic-save-buffer-2, save-some-buffers, not-modified)
25624         (append-to-file): Use them.
25626 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
25628         Support debug declarations in pcase macros
25629         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
25630         (pcase-UPAT): Use it.  Remove "`".
25631         (pcase--edebug-match-macro): New function.
25632         (pcase-defmacro): Support debug declarations.
25633         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
25634         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
25635         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
25636         Add debug declaration.
25638         pcase.el: Edebug support for `app' and vector patterns
25639         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
25640         (pcase-UPAT): Use it.  Support `app' patterns.
25641         (pcase-QPAT): Support vector patterns.
25643         edebug.el: Disambiguate vector specifications
25644         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
25645         `(vector ...)' as a vector specification, not as a sublist.
25647         (gnus-summary-refer-thread): Don't clobber unread articles
25648         This fixes a bug where `A T' causes "random" articles to become marked
25649         as read.
25650         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
25651         gnus-newsgroup-unreads remains sorted.
25653         mouse-sel.el: Fix mouse-sel-get-selection-function
25654         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
25655         Use gui--last-selected-text-primary instead of no longer existing
25656         gui-last-selected-text.
25658         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
25660         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
25662 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
25664         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
25666         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
25667         right buffer.
25669         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
25670         (byte-compile--interactive): New var.
25671         (byte-compile--message): New function.
25672         (byte-compile-log-1, byte-force-recompile)
25673         (byte-recompile-directory, byte-recompile-file)
25674         (byte-compile-file, compile-defun)
25675         (byte-compile-file-form-defmumble, byte-compile)
25676         (byte-compile-file-form-defalias, display-call-tree): Use it.
25678         * lisp/files.el: Don't message when nothing happened.
25679         (save-some-buffers, basic-save-buffer): Before messaging to say
25680         "nothing was saved" check if (called-interactively-p 'any).
25682 2015-04-12  João Távora  <joaotavora@gmail.com>
25684         Summary: Improve sexp-based movement in message-mode
25685         Works by giving citations and smileys a different syntax.  This helps
25686         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
25687         sexp-based movement.
25688         * lisp/gnus/message.el (message--syntax-propertize): New function.
25689         (message-mode): Set syntax-related vars.
25690         (message-smileys): New variable.
25691         * test/automated/message-mode-tests.el: New file
25693 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
25695         Use bool for boolean in window.c
25696         * src/window.c: Omit unnecessary static function decls.
25697         (adjust_window_count, select_window, Fselect_window)
25698         (window_body_width, Fwindow_body_height, Fwindow_body_width)
25699         (set_window_hscroll, check_window_containing, Fwindow_at)
25700         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
25701         (unshow_buffer, replace_window, recombine_windows)
25702         (add_window_to_list, candidate_window_p, next_window)
25703         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
25704         (Fget_buffer_window, Fdelete_other_windows_internal)
25705         (replace_buffer_in_windows_safely, set_window_buffer)
25706         (Fset_window_buffer, Fforce_window_update)
25707         (temp_output_buffer_show, make_parent_window)
25708         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
25709         (resize_frame_windows, Fsplit_window_internal)
25710         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
25711         (Fresize_mini_window_internal, mark_window_cursors_off)
25712         (window_scroll, window_scroll_pixel_based)
25713         (window_scroll_line_based, scroll_command, Fscroll_other_window)
25714         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
25715         (Fmove_to_window_line, Fset_window_configuration)
25716         (delete_all_child_windows, apply_window_adjustment)
25717         (set_window_fringes, set_window_scroll_bars)
25718         (Fset_window_vscroll, foreach_window, foreach_window_1)
25719         (compare_window_configurations, Fcompare_window_configurations):
25720         Prefer 'bool', 'true', and 'false' for booleans.
25721         * src/window.h (WINDOW_MODE_LINE_LINES)
25722         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
25724 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
25726         Speed up byte-compilation and autoload generation by avoiding mode-hooks
25727         This prevents emacs-lisp-mode-hook from being run everytime an
25728         autoload file is generated, which can account for a fraction of
25729         package installation time depending on the hooks the user has
25730         configured.
25731         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
25732         * lisp/emacs-lisp/autoload.el (autoload-find-file)
25733         (autoload-find-generated-file): Use delay-mode-hooks.
25735         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
25736         (package-menu-refresh): Respect async and do new package checking.
25737         (list-packages): Use `package-menu-refresh' instead of repeating code.
25739         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
25740         (package--quick-help-keys): New variable.
25741         (package--prettify-quick-help-key): New function.
25742         (package-menu-quick-help): Use it.
25744         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
25745         (package--build-compatibility-table): Require finder.
25747         * test/automated/package-test.el: Fix new test.
25749         * lisp/emacs-lisp/package.el: Silence async operations.
25750         (package--silence): New variable.
25751         (package--message): New function.
25752         (package-import-keyring, package-refresh-contents)
25753         (package-compute-transaction, package-install, package-delete)
25754         (package-menu--perform-transaction, package-menu-execute): Use it.
25756         * test/automated/package-test.el: Test async functionality.
25757         (package-test-update-archives-async): New test.
25759 2015-04-11  Daiki Ueno  <ueno@gnu.org>
25761         Utilize `make-process' in epg.el
25762         * lisp/epg.el (epg-error-output): Abolish.
25763         (epg-context): New slot `error-buffer'.
25764         (epg--start): Use `make-process' and `make-pipe-process'.
25765         (epg--process-filter): Remove code separating stderr from stdout.
25766         (epg-wait-for-completion): Simplify `error-output' handling.
25767         (epg-reset): Dispose error buffer.
25769 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
25771         * .gitignore: Ignore doc temps and outputs.
25773         Port commit-msg to MSYS Bash+Gawk
25774         See Eli Zaretskii in:
25775         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
25776         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
25777         (cent_sign, print_at_sign, at_sign): Revert previous change.
25778         (print_at_sign): Prepend "BEGIN".
25779         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
25781         Port commit-msg to broken MS-Windows shell
25782         * build-aux/git-hooks/commit-msg (cent_sign):
25783         Just use UTF-8 here rather than ASCII + printf, as the latter fails
25784         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
25785         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
25787 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
25789         Support GnuTLS v3.4 and later on MS-Windows
25790         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
25791         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
25792         GnuTLS DLL to load according to value of libgnutls-version.
25793         (Bug#20294)
25795 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
25797         Minor quoting etc. fixes to misc manuals
25798         Fix some minor quoting and spacing issues.  Distinguish more
25799         clearly among grave accent and apostrophe (which are ASCII) and
25800         single quote (which is not).  Prefer the standard terms
25801         "apostrophe" and "grave accent" to alternative names that can be
25802         confusing.  Use apostrophes to single-quote ASCII text.
25803         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
25804         rather than approximating it in ASCII with grave accent.
25806 2015-04-11  Daiki Ueno  <ueno@gnu.org>
25808         Respect more keyword args in `make-process'
25809         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
25810         keywords as documented.
25812 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
25814         Extract ChangeLog entries when committing a directory
25815         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
25816         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
25817         Add a FIXME comment.
25818         (log-edit-changelog-entries): Extract from
25819         `log-edit-changelog-entries', handle FILE being a directory
25820         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
25822 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
25824         Fix problems found by --enable-gcc-warnings
25825         * src/process.c (create_process, Fmake_pipe_process)
25826         (Fmake_network_process): Omit unused locals.
25828         Fix commit-msg to handle scissors lines
25829         * build-aux/git-hooks/commit-msg:
25830         Ignore every line after a scissors line, such as a line generated
25831         by 'git commit -v'.  Problem reported by Johan Bockgård in:
25832         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
25834         port commit-msg to Gawk 3.0.4 (1999)
25835         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
25836         (print_at_sign, at_sign): New vars.  Use them to avoid problems
25837         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
25838         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
25840         Have commit-msg report commit failure
25841         * build-aux/git-hooks/commit-msg: If the commit is aborted,
25842         say so.  Simplify by doing this at the end.  Problem reported
25843         by Eli Zaretskii in:
25844         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
25846 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25848         Clean up LDAP Configuration section of EUDC manual
25849         * doc/misc/eudc.texi: Combine indices.
25850         (LDAP Configuration): Use command markup.  Add index entries.
25851         Change formatting.  Wrap long lines.  Add noindent markup.
25853 2015-04-10  Daiki Ueno  <ueno@gnu.org>
25855         Add facility to collect stderr of async subprocess
25856         * src/w32.h (register_aux_fd): New function declaration.
25857         * src/w32.c (register_aux_fd): New function.
25858         * src/process.h (struct Lisp_Process): New member stderrproc.
25859         * src/process.c (PIPECONN_P): New macro.
25860         (PIPECONN1_P): New macro.
25861         (Fdelete_process, Fprocess_status, Fset_process_buffer)
25862         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
25863         (Fcontinue_process): Handle pipe process specially.
25864         (create_process): Respect p->stderrproc.
25865         (Fmake_pipe_process): New function.
25866         (Fmake_process): Add new keyword argument :stderr.
25867         (wait_reading_process_output): Specially handle a pipe process when
25868         it gets an EOF.
25869         (syms_of_process): Register Qpipe and Smake_pipe_process.
25870         * doc/lispref/processes.texi (Asynchronous Processes): Document
25871         `make-pipe-process' and `:stderr' keyword of `make-process'.
25872         * lisp/subr.el (start-process): Suggest to use `make-process' handle
25873         standard error separately.
25874         * test/automated/process-tests.el (process-test-stderr-buffer)
25875         (process-test-stderr-filter): New tests.
25876         * etc/NEWS: Mention new process type `pipe' and its usage with the
25877         `:stderr' keyword of `make-process'.
25879 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
25881         Minor quoting etc. fixes to lispref manual
25882         * doc/lispref/tips.texi (Documentation Tips):
25883         Distinguish more clearly among grave accent, apostrophe,
25884         and single quote.
25885         * doc/lispref/README, doc/lispref/buffers.texi:
25886         * doc/lispref/commands.texi, doc/lispref/control.texi:
25887         * doc/lispref/customize.texi, doc/lispref/display.texi:
25888         * doc/lispref/elisp.texi, doc/lispref/files.texi:
25889         * doc/lispref/frames.texi, doc/lispref/hash.texi:
25890         * doc/lispref/help.texi, doc/lispref/internals.texi:
25891         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
25892         * doc/lispref/markers.texi, doc/lispref/modes.texi:
25893         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
25894         * doc/lispref/os.texi, doc/lispref/positions.texi:
25895         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
25896         * doc/lispref/text.texi, doc/lispref/tips.texi:
25897         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
25898         Use American-style double quoting in ordinary text,
25899         and quote 'like this' when single-quoting in ASCII text.
25900         Also, fix some minor spacing issues.
25902 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
25904         Handle symlinked test directory in tramp-tests.el
25905         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
25906         (tramp--test-check-files): Use `file-truename' for directories.
25908 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
25910         Fix 'recenter' when visual-line-mode is turned on
25911         * src/window.c (Frecenter): Use the same code for GUI and TTY
25912         frames alike; use vmotion only for "initial" frames.  This is
25913         because vmotion doesn't support visual-line-mode.  Rewrite the
25914         'iarg >= 0' case to use move_it_* functions instead of using
25915         vmotion, for the same reason.  Fix the clipping of the argument
25916         value to support scroll-margin in all cases and avoid unwarranted
25917         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
25918         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
25919         which see.
25921 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
25923         * lisp/abbrev.el (define-abbrev-table): Refine last change.
25925         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
25926         use of c[ad]+r", so as to keep the "cl-" prefix on all
25927         cl-lib definitions.
25929         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
25930         Use inhibit-point-motion-hooks.
25932         * lisp/cedet/semantic: Remove some dead code.
25933         * lisp/cedet/semantic/util-modes.el
25934         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
25935         any more.
25936         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
25937         not supported any more.
25938         (semantic-safe): Use `declare'.
25939         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
25940         (semantic-tag-intangible-p): Remove unused functions.
25941         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
25942         Remove unused function.
25944         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
25945         (gnus-article-hide-text, gnus-article-unhide-text)
25946         (gnus-article-unhide-text-type): Remove special handling of
25947         `intangible' since that property is not used any more.
25948         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
25950 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
25952         Use the VC root in `log-edit-listfun'
25953         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
25954         `log-edit-listfun'.
25956 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
25958         Fix description of Unix time, mention new function.
25959         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
25960         Unix time.
25961         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
25962         (Basic Operations on Units): Mention `calc-convert-exact-units'.
25964 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
25966         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
25968 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
25970         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
25971         Don't add newline after the last entry.
25973 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
25975         css-mode.el: Add "not" pseudo-class
25976         (Bug#20267)
25977         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
25978         list of CSS pseudo-classes.
25980 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
25982         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
25984 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
25986         Stop messing with the EMACS env var
25987         * doc/emacs/misc.texi (Interactive Shell): Remove description of
25988         EMACS env var.
25990 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
25992         Adapt 'make change-history' to coding cookie
25993         * Makefile.in (change-history): Adjust to change of format of
25994         ChangeLog file, which now has a coding cookie before an indented
25995         copyright notice.
25997 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
25999         Adapt 'make change-history' to coding cookie
26000         * Makefile.in (change-history): Adjust to change of format of
26001         ChangeLog file, which now has a coding cookie before an indented
26002         copyright notice.
26004         gitlog-to-changelog coding cookie and mv -i
26005         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
26006         for copyright notice prototype, so that we get a proper "coding:"
26007         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
26008         existing ChangeLog.  Problems reported by Eli Zaretskii in:
26009         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
26011         Merge from gnulib
26012         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
26013         2015-04-09 gitlog-to-changelog: port to MS-Windows
26015 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
26017         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
26018         (Bug#20212)
26020 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
26022         Stop messing with the EMACS env var
26023         (Bug#20202)
26024         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
26025         * lisp/comint.el (comint-exec-1):
26026         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
26027         * lisp/progmodes/compile.el (compilation-start): Same and bring
26028         INSIDE_EMACS's format in line with other users.
26030         css-mode.el (css-smie-rules): Fix indentation after complex selectors
26031         (Bug#20282)
26032         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
26033         inner structure of selectors.
26035 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
26037         python.el: Indent docstring lines to base-indent
26038         (Bug#19595)
26039         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
26040         an initial patch.
26041         * lisp/progmodes/python.el
26042         (python-indent-context): Add :inside-docstring context.
26043         (python-indent--calculate-indentation): Handle :inside-docstring.
26044         (python-indent-region): Re-indent docstrings.
26045         * test/automated/python-tests.el (python-indent-region-5)
26046         (python-indent-inside-string-2): Fix tests.
26048         python.el: Increase native completion robustness
26049         (Bug#19755)
26050         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
26051         this and providing useful ideas.
26052         * lisp/progmodes/python.el
26053         (python-shell-completion-native-output-timeout): Increase value.
26054         (python-shell-completion-native-try-output-timeout): New var.
26055         (python-shell-completion-native-try): Use it.
26056         (python-shell-completion-native-setup): New readline setup avoids
26057         polluting current context, ensures output when no-completions are
26058         available and includes output end marker.
26059         (python-shell-completion-native-get-completions): Trigger with one
26060         tab only.  Call accept-process-output until output end is found or
26061         python-shell-completion-native-output-timeout is exceeded.
26063 2015-04-08  Samer Masterson  <samer@samertm.com>
26065         * lisp/eshell: Make backslash a no-op in front of normal chars
26066         (Bug#8531)
26067         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
26068         (eshell-parse-backslash): Return escaped character after backslash
26069         if it is special.  Otherwise, if the backslash is not in a quoted
26070         string, ignore the backslash and return the character after; if
26071         the backslash is in a quoted string, return the backslash and the
26072         character after.
26073         * test/automated/eshell.el (eshell-test/escape-nonspecial)
26074         (eshell-test/escape-nonspecial-unicode)
26075         (eshell-test/escape-nonspecial-quoted)
26076         (eshell-test/escape-special-quoted): Add tests for new
26077         `eshell-parse-backslash' behavior.
26079 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
26081         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
26082         after the file name.
26083         (Bug#20276)
26085 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
26087         Minor quoting etc. fixes to Emacs manual
26088         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
26089         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
26090         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
26091         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
26092         * doc/emacs/indent.texi, doc/emacs/macos.texi:
26093         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
26094         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
26095         * doc/emacs/search.texi, doc/emacs/trouble.texi:
26096         * doc/emacs/vc1-xtra.texi:
26097         Use American-style double quoting in ordinary text,
26098         and quote 'like this' when single-quoting in ASCII text.
26099         Also, fix some minor spacing issues.
26101         Minor quoting etc. fixes to elisp intro
26102         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
26103         American-style double quoting in ordinary text.  In ASCII text,
26104         consistently quote 'like this' instead of `like this', unless
26105         Emacs requires the latter.
26107 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
26109         * CONTRIBUTE: Mention log-edit-insert-changelog.
26111         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
26113 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
26115         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
26117 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
26119         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
26120         Fix inheritance of initargs.  (Bug#20270)
26122 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
26124         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
26125         while dowloading information.
26127         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
26128         (package--ensure-init-file): Check file contents before visiting.
26129         (package-initialize): Call it.
26130         (package-install-from-buffer, package-install): Don't call it.
26132 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
26134         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
26135         (Bug#17517)
26137 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
26139         * lisp/net/tramp-cache.el (tramp-flush-file-property):
26140         Fix nasty scoping bug.
26142 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
26144         Add notice to visual commands section
26145         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
26146         such as git call less with its -F option which omits pagination if
26147         the contents is less than one page long.  This interferes with
26148         eshell's visual (sub-)commands.
26150 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
26152         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
26153         environment variable expansion in file names.  (Bug#19839)
26155 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26157         Prefer double-quote to accent-grave in man pages
26159 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
26161         (Bug#20257)
26162         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
26164 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
26166         Update etc/PROBLEMS.
26167         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
26168         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
26169         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
26170         respectively); other minor updates and tweaks.  (Bug#20011)
26172 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26174         Add doc strings for some Isearch state vars
26175         * lisp/misearch.el (multi-isearch-buffer-list)
26176         (multi-isearch-file-list): Add doc strings.
26177         (Bug#20232)
26179 2015-04-07  Alan Mackenzie  <acm@muc.de>
26181         Always mark "<" and ">" in #include directives with text properties.
26182         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock
26183         "anchored matcher" with an invocation of
26184         c-make-font-lock-search-function to allow fontification when there's
26185         no trailing space on an "#include <..>" line.
26187 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
26189         Generate a ChangeLog file from commit logs
26190         * .gitignore: Add 'ChangeLog'.
26191         * build-aux/gitlog-to-changelog: New file, from Gnulib.
26192         * build-aux/gitlog-to-emacslog: New file.
26193         * CONTRIBUTE: Document the revised workflow.
26194         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
26195         instead of just special cases.
26196         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
26197         (ChangeLog, unchanged-history-files, change-history)
26198         (change-history-commit): New rules.
26199         * admin/admin.el (make-manuals-dist--1):
26200         Don't worry about doc/ChangeLog.
26201         * admin/authors.el: Add a FIXME.
26202         * admin/make-tarball.txt:
26203         * lisp/calendar/icalendar.el:
26204         * lisp/gnus/deuglify.el:
26205         * lisp/obsolete/gulp.el:
26206         * lwlib/README:
26207         Adjust to renamed ChangeLog history files.
26208         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
26209         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
26210         Remove obsolete discussion of merging ChangeLog files.
26211         New section "Maintaining ChangeLog history".
26212         * build-aux/git-hooks/pre-commit:
26213         Reject attempts to commit files named 'ChangeLog'.
26214         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
26215         * make-dist: Make and distribute top-level ChangeLog if there's a
26216         .git directory.  Distribute the new ChangeLog history files
26217         instead of scattered ChangeLog files.  Distribute the new files
26218         gitlog-to-changelog and gitlog-to-emacslog.
26219         (Bug#19113)
26221         Rename ChangeLogs for gitlog-to-changelog
26222         This patch was implemented via the following shell commands:
26223         find * -name ChangeLog |
26224         sed 's,.*,git mv & &.1,
26225         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
26226         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
26227         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
26228         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
26229         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
26230         sh
26231         git commit -am"[this commit message]"
26233 This file records repository revisions from
26234 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
26235 commit 8dafacd0419ea890af461c9d42d4642155681eec (inclusive).
26236 See ChangeLog.1 for earlier changes.
26238 ;; Local Variables:
26239 ;; coding: utf-8
26240 ;; End:
26242   Copyright (C) 2015-2016 Free Software Foundation, Inc.
26244   This file is part of GNU Emacs.
26246   GNU Emacs is free software: you can redistribute it and/or modify
26247   it under the terms of the GNU General Public License as published by
26248   the Free Software Foundation, either version 3 of the License, or
26249   (at your option) any later version.
26251   GNU Emacs is distributed in the hope that it will be useful,
26252   but WITHOUT ANY WARRANTY; without even the implied warranty of
26253   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26254   GNU General Public License for more details.
26256   You should have received a copy of the GNU General Public License
26257   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.