1 2017-10-11 Michael Albinus <michael.albinus@gmx.de>
3 Format shell commands in tramp.texi
5 * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
6 Format shell commands better.
8 2017-10-10 João Távora <joaotavora@gmail.com>
10 Unbreak the button in the Flymake diagnostics buffer again
12 Adding the 'keymap' property enabled RET but broke the mouse-action.
14 * lisp/progmodes/flymake.el
15 (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
17 2017-10-10 Mark Oteiza <mvoteiza@udel.edu>
19 Add mode map to Flymake diagnostic button
21 * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
24 2017-10-10 João Távora <joaotavora@gmail.com>
26 Tweak the Flymake diagnostics buffer again
28 * lisp/progmodes/flymake.el
29 (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
30 (flymake-show-diagnostic): Rename from
31 flymake-show-diagnostic-at-point. Really use another window.
32 (flymake-goto-diagnostic): Rename from
33 flymake-goto-diagnostic-at-point.
34 (flymake--diagnostics-buffer-entries): Use a button just for
37 2017-10-10 Mark Oteiza <mvoteiza@udel.edu>
39 Simplify Flymake diagnostics buffer UX
41 Don't create text-buttons unnecessarily, just bind RET and SPC in the
42 diagnostics buffer to a command that figures out which diagnostic it
45 * lisp/progmodes/flymake.el
46 (flymake--diagnostics-buffer-mode-keymap): Renamed from
47 flymake--diagnostics-buffer-button-keymap.
48 (flymake-show-diagnostic-at-point): Don't take a button.
49 (flymake-goto-diagnostic-at-point): Don't pass button to
50 flymake-show-diagnostic-at-point.
51 (flymake--diagnostics-buffer-entries): Simplify.
53 2017-10-10 João Távora <joaotavora@gmail.com>
55 First stab at a Flymake diagnostics buffer
57 The diagnostics buffer summarizes the diagnostics of a buffer in a
58 tabulated list and is permanently updated after each Flymake check.
60 * lisp/progmodes/flymake.el (flymake--handle-report): Call
61 flymake-show-diagnostics-buffer under certain conditions.
62 (flymake-menu, flymake--diagnostics-buffer-source)
63 (flymake--diagnostics-buffer-button-keymap)
64 (flymake-show-diagnostic-at-point)
65 (flymake-goto-diagnostic-at-point)
66 (flymake--diagnostics-buffer-entries)
67 (flymake-diagnostics-buffer-mode)
68 (flymake--diagnostics-buffer-name)
69 (flymake-show-diagnostics-buffer): New definitions.
71 2017-10-10 João Távora <joaotavora@gmail.com>
73 * etc/NEWS (Flymake): Rewrite entry.
75 2017-10-10 Eli Zaretskii <eliz@gnu.org>
77 Improve the Flymake manual
79 * doc/misc/flymake.texi: Add a 'coding' cookie. Add a
80 @syncodeindex directive for @vindex. Use 2 spaces between
81 sentences. Lower-case @cindex entries.
82 (Overview of Flymake): Fix use of @itemize and @pxref. Fix
83 punctuation and markup.
84 (Backend exceptions): Use @emph instead of @dfn. Add more
86 (Customizable variables, Extending Flymake): Improve wording.
87 (Flymake error types): Fix usage of @itemize. Improve wording.
88 (Backend functions): Fix punctuation. Fix markup. Add a
89 cross-reference to ELisp manual.
90 (Flymake utility functions): Add a cross-reference to ELisp manual.
91 (An annotated example backend): Fix punctuation and typos.
92 (Flymake mode, Running the syntax check)
93 (Navigating to error lines, Backend exceptions)
94 (Customizable variables, Flymake error types, Backend functions)
95 (Flymake utility functions, Proc customization variables)
96 (Locating a master file, Locating the buildfile)
97 (Starting the syntax check process, Parsing the output)
98 (Interaction with other modes): Fix indexing. Add index entries
99 for functions, variables, and concepts.
101 2017-10-10 João Távora <joaotavora@gmail.com>
105 * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
107 (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
108 in their own windows.
110 2017-10-10 João Távora <joaotavora@gmail.com>
112 Don't log "emergencies" in the Flymake legacy backend
114 * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
115 (flymake-proc-legacy-flymake): Don't log "emergencies"
117 2017-10-10 João Távora <joaotavora@gmail.com>
119 Add full documentation on new Flymake API
121 Also, as a minor addition to this API, set flymake-text
122 on the diagnostic overlay. This enables a good example in
123 the section "Customization Flymake annotations".
125 * doc/misc/flymake.texi (Overview of Flymake)
126 (Syntax check statuses): Rework.
127 (Backend exceptions): Rename from "Troubleshooting"
128 (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
129 (Extending Flymake): Write chapter.
130 (Customizing Flymake annotations, Flymake backends)
131 (Flymake utility functions, An annotated example backend):
132 New sections and subsections
134 * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
135 (flymake-diagnostic-types-alist): Rework docstring.
136 (flymake--highlight-line): Set and use flymake-text property in overlay.
137 (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
139 2017-10-10 João Távora <joaotavora@gmail.com>
141 Fix some Flymake docstrings and messages
143 * lisp/progmodes/flymake.el
144 (flymake-start-on-flymake-mode): fix typo.
145 (flymake-mode): Add docstring.
146 (flymake-mode-line-format): Fix help-echo indications. mouse-2
147 describes flymake-mode.
149 2017-10-10 João Távora <joaotavora@gmail.com>
151 Make three new Flymake commands for debugging common problems
153 * lisp/progmodes/flymake.el (flymake-running-backends)
154 (flymake-disabled-backends)
155 (flymake-reporting-backends): Make interactive.
156 (flymake--collect): Take optional arg.
158 2017-10-09 Nicolas Petton <nicolas@petton.fr>
160 * admin/authors.el (authors-renamed-files-alist): addition.
162 2017-10-09 Paul Eggert <eggert@cs.ucla.edu>
164 Fix PWD check on DOS_NT
166 * src/sysdep.c (get_current_dir_name_or_unreachable):
167 Do not consider a file name like "a:b" to be absolute on DOS_NT.
169 2017-10-09 Paul Eggert <eggert@cs.ucla.edu>
171 Fix unlikely overflows with wd length
173 * src/sysdep.c (get_current_dir_name_or_unreachable):
174 Avoid integer overflow if working directory name is absurdly long.
175 When allocating memory for getcwd, do not exceed MAXPATHLEN.
177 2017-10-09 Stefan Monnier <monnier@iro.umontreal.ca>
179 * lisp/gnus/message.el: Improve last commit
181 (message-clone-locals): Don't mistakenly match other variables whose
182 name happens to include "message-default-charset".
184 2017-10-09 Ken Olum <kdo@cosmos.phy.tufts.edu>
186 Fix problems when editing raw undecoded message (Bug#28671)
188 * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
189 is set, meaning that we are editing the raw message, do not
190 encode it again. Delete old body after, not before, inserting
191 new, to avoid moving marker at beginning of next message.
193 2017-10-09 Eli Zaretskii <eliz@gnu.org>
195 Avoid encoding errors in message.el
197 * lisp/gnus/message.el (message-clone-locals): Don't clone
198 message-default-charset. (Bug#25645)
200 2017-10-09 Eli Zaretskii <eliz@gnu.org>
202 Improve doc string and prompt of 'grep-read-files'
204 * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
205 string and in the prompt that shell wildcards can be used.
206 Suggested by Allen Li <vianchielfaura@gmail.com>. (Bug#28615)
208 2017-10-09 Eli Zaretskii <eliz@gnu.org>
210 Avoid assertion violations when line numbers are displayed
212 * src/xdisp.c (redisplay_window): Clear the window's desired glyph
213 matrix before calling try_window with the same starting point.
214 This avoids assertion violations when switching from a buffer
215 without line numbers to a buffer with line numbers. (Bug28710)
217 2017-10-09 João Távora <joaotavora@gmail.com>
219 Be lazy when starting Flymake checks
221 Don't start the check immediately if the buffer is not being
222 displayed. Wait until it is, using window-configuration-change-hook.
224 This enables the user to batch-enable flymake-mode on many buffers and
225 not have that operation exhaust system resources for checking each
226 one. Likewise, an editing or save operation in a currently
227 non-displayed buffer does not immediately start a check.
229 * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
230 Rename from flymake-start-syntax-check-on-find-file.
231 (flymake-start-syntax-check-on-find-file): Obsolete alias for
232 flymake-start-on-flymake-mode.
233 (flymake-start): Redesign. Affect the global post-command-hook
234 and local window-configuraiton-change-hook.
235 (flymake--schedule-timer-maybe)
236 (flymake-after-change-function, flymake-after-save-hook): Pass
239 * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
240 (dummy-backends, recurrent-backend): Start flymake check
241 explicitly and immediately.
243 2017-10-09 Eli Zaretskii <eliz@gnu.org>
245 Fix last change in frameset.el
247 * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
248 filtering the 'font' parameter. (Bug#17352)
250 2017-10-09 Martin Rudalics <rudalics@gmx.at>
252 Describe how window dividers can replicate vertical borders (Bug#27830)
254 * doc/emacs/frames.texi (Scroll Bars): Describe how window
255 dividers can be used to replicate vertical borders when scroll
256 bars are disabled (Bug#27830).
257 * doc/emacs/frames.texi (Window Dividers): Mention their use
258 in replicating vertical borders.
260 2017-10-09 Alexander Gramiak <agrambot@gmail.com>
262 Add line-number faces to the display-line-numbers group
264 See https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00151.html
265 and its resulting thread.
267 * lisp/display-line-numbers.el (display-line-numbers): Add to the
269 * lisp/faces.el (line-number):
270 (line-number-current-line): Add to the display-line-numbers group.
272 2017-10-09 Alexander Gramiak <agrambot@gmail.com>
274 Increase xterm click count only within double-click-fuzz
276 * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
277 and check it against the current click's position. (Bug#28658)
279 2017-10-08 Alan Third <alan@idiocy.org>
281 Change pause in fullscreen toggling for NS port (bug#28496)
283 * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
284 sleep-for, and reduce time.
286 2017-10-08 Michael Albinus <michael.albinus@gmx.de>
288 Handle PARENTS properly in tramp-*-handle-make-directory
290 * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
291 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
292 Handle PARENTS properly.
294 * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
297 2017-10-08 Paul Eggert <eggert@cs.ucla.edu>
299 Improve test for unreachable dirs
301 * src/sysdep.c (get_current_dir_name_or_unreachable):
302 New function, with most of the old contents of
303 emacs_get_current_dir_name.
304 (emacs_get_current_dir_name): Use it. Use a simpler
305 test for unreachable directory strings, and also apply
306 it to getcwd etc. (Bug#27871)
308 2017-10-08 Paul Eggert <eggert@cs.ucla.edu>
310 * src/xsmfns.c (x_session_initialize): Fix memory leak.
312 2017-10-08 K. Handa <handa@gnu.org>
314 New option for handling ZWNJ in Arabic text rendering
316 Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
317 to display ZWNJ in Arabic text rendering (Bug#28339).
318 * lisp/language/misc-lang.el: Register arabic-shape-gstring in
319 composition-function-table.
320 (arabic-shaper-ZWNJ-handling): New variable.
321 (arabic-shape-log): New variable.
322 (arabic-shape-gstring): New function.
323 * lisp/composite.el (lgstring-remove-glyph): New function.
325 2017-10-08 Noam Postavsky <npostavs@gmail.com>
327 Make python prettify symbols into a defvar (Bug#28713)
329 * lisp/progmodes/python.el (python-prettify-symbols-alist): New
331 (python--prettify-symbols-alist): Make into obsolete alias for
332 `python-prettify-symbols-alist'.
334 2017-10-07 Alan Third <alan@idiocy.org>
336 Fix fullscreen crash on macOS (bug#28496)
338 * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
341 2017-10-07 Alan Third <alan@idiocy.org>
343 Fix crash when closing fullscreen frame on macOS (bug#28661)
345 * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
346 unmodified if the frame isn't live.
348 2017-10-07 Michael Albinus <michael.albinus@gmx.de>
350 Support gio tool in Tramp
352 "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1. We
353 must use "gio <command>" tool instead.
355 * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
356 (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
357 (tramp-gvfs-gio-tool-p): New defun.
358 (tramp-gvfs-send-command): Use it. Call gio tool if available.
360 2017-10-07 João Távora <joaotavora@gmail.com>
362 Fix flymake-goto-next-error when message has %-constructs
364 * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
365 message call. Add missing period in docstring.
367 2017-10-07 Piotr Trojanek <piotr.trojanek@gmail.com>
369 * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
371 2017-10-07 Eli Zaretskii <eliz@gnu.org>
373 Move the entry about 'format' into Incompatible Lisp Changes
375 * etc/NEWS: Move the entry about 'format' refraining from allocating
376 new strings into Incompatible Lisp Changes. (Bug#28625)
378 2017-10-07 Eli Zaretskii <eliz@gnu.org>
380 Fix glitches in displaying TTY menus
382 * src/dispnew.c (update_frame_line): Accept an additional argument
383 UPDATING_MENU_P; if non-zero, home the cursor before updating a
384 frame's line. All callers changed.
385 (update_frame_1): Accept an additional argument UPDATING_MENU_P,
386 and pass it to update_frame_line. All callers changed.
387 (update_frame_with_menu): Call update_frame_1 with last argument
388 non-zero. (Bug#17497)
390 2017-10-06 Gemini Lasswell <gazally@runbox.com>
392 Create new Edebug spec for docstrings and use it in closures
394 Since (:documentation FORM) can be used to create a docstring
395 when lexical-binding is on, allow for that possibility in Edebug
397 * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
398 called lambda-doc and modify the Edebug specs for defun and
400 (edebug-instrument-function): Check for generic functions first,
401 to fix bug where edebug-step-in didn't work on methods now that
402 cl-defgeneric has an Edebug spec.
403 * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
404 * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
406 (cl-defmethod): Use lambda-doc in Edebug spec.
407 * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
408 cl-declarations-or-string to use lambda-doc, and modify Edebug
409 spec for cl-lambda-expr to use cl-declarations-or-string.
410 * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
411 use lambda-doc, as well as &define and def-body which are
412 necessary for using Edebug on code wrapped by lambda.
413 * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
416 2017-10-06 Eli Zaretskii <eliz@gnu.org>
418 Avoid byte-compilation warnings in message.el
420 * lisp/gnus/message.el: Require 'subr-x' when compiling, to
421 avoid compiler warnings.
423 2017-10-06 Paul Eggert <eggert@cs.ucla.edu>
425 Fix bug in recent styled_format change
427 Problem reported by Kaushal Modi in:
428 http://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00141.html
429 * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
430 not always followed by SAFE_FREE. This bug was introduced in my
431 patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
432 unnecessary copying in Fformat etc."
434 2017-10-06 João Távora <joaotavora@gmail.com>
436 Cleanup emacs-lisp-mode's use of Flymake
438 * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
440 (elisp-flymake-checkdoc): Incorporate old
441 elisp-flymake--checkdoc-1.
442 (elisp-flymake--byte-compile-done): Simplify. Don't cleanup
444 (elisp-flymake-byte-compile): Remove spurious interactive spec.
445 Simplify. Cleanup on every possible exit.
447 2017-10-06 João Távora <joaotavora@gmail.com>
449 Fix @include directive in Flymake doc
451 * doc/misc/flymake.texi: Don't @include a relative path.
453 2017-10-06 Mark Oteiza <mvoteiza@udel.edu>
455 Move read-multiple-choice to its own library
457 * lisp/emacs-lisp/rmc.el: New file.
458 * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
459 * lisp/gnus/message.el:
460 * lisp/net/nsm.el: Change required library.
462 2017-10-06 Piotr Trojanek <piotr.trojanek@gmail.com>
464 * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
468 2017-10-06 Lele Gaifax <lele@metapensiero.it>
470 Fix typos in Flymake documentation
472 * doc/misc/flymake.texi (Syntax check statuses)
473 (Adding support for a new syntax check tool)
474 (Implementation overview, Locating the buildfile): Fix typos.
476 * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
477 (flymake-proc--find-possible-master-files):Fix typos.
478 (flymake-proc--panic)
479 (flymake-proc-legacy-flymake): Fix function reference in doc.
481 * lisp/progmodes/flymake.el (flymake-error)
482 (flymake-diagnostic-functions): Fix typos.
483 (flymake-diagnostic-types-alist): Rephrase and fix typos.
484 (flymake--backend-state): Fix typos and rephrase.
485 (flymake--handle-report): Delete empty line.
486 (flymake--disable-backend)
487 (flymake--run-backend): Fix typos.
488 (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
490 2017-10-06 Eli Zaretskii <eliz@gnu.org>
492 Revert last change in 'shr-descend'
494 * lisp/net/shr.el (shr-descend): Revert the part of the last
495 change which introduced calls to shr-indirect-call into this
496 function. Add a comment explaining the rationale for that.
499 2017-10-06 João Távora <joaotavora@gmail.com>
501 Don't error when turning on Flymake with no known backends
503 Leave it to the mode line indicator to inform the user that there
504 is still some configuration to do.
506 * lisp/progmodes/flymake.el (flymake-mode): Simplify.
508 2017-10-06 João Távora <joaotavora@gmail.com>
510 Delete a Flymake obsolete alias that can't possibly work
512 The function `flymake-ler-make-ler' can't possibly work as an backward
513 compatible interface to existing extensinos (even purely hypothetical
514 ones, since none are known). This is because every diagnostic
515 considered by Flymake has to passed to a report-fn function.
517 * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
519 2017-10-06 Paul Eggert <eggert@cs.ucla.edu>
521 Fix bug with unmounted directory on GNU/Linux
523 * src/sysdep.c (emacs_get_current_dir_name): Do not use
524 get_current_dir_name result unless it is absolute (Bug#27871).
527 2017-10-05 Nicolas Petton <nicolas@petton.fr>
531 * admin/authors.el (authors-renamed-files-alist)
532 (authors-valid-file-names): Additions.
534 2017-10-05 Gemini Lasswell <gazally@runbox.com>
536 Fix dynamic binding wrapper in iter-lambda (bug#25965)
538 * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
539 Remove extra evaluation of form.
540 * test/lisp/emacs-lisp/generator-tests.el
541 (cps-iter-lambda-with-dynamic-binding): New test.
543 2017-10-05 Rasmus <rasmus@gmx.us>
547 Please note this is a bugfix release. See etc/ORG-NEWS for details.
549 2017-10-05 Alan Mackenzie <acm@muc.de>
551 Fix irregularities with CC Mode fontification, particularly with "known types"
553 * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
554 optional parameter, template-class. In "class <X = Y>", fontify "Y" as a
556 (c-font-lock-single-decl): New variable template-class, set to non-nil when we
557 have a construct like the above. Pass this as argument to
558 c-font-lock-declarators.
559 (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
560 being processed starts before the function's starting position.
561 (c-complex-decl-matchers): Remove the redundant clause which fontified "types
562 preceded by, e.g., "struct"".
564 * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
565 (c-template-typename-key): New lang defconsts and defvar.
567 2017-10-05 Eli Zaretskii <eliz@gnu.org>
569 Fix breakage due to recent change in tabulated-list-print-entry
571 * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
572 Update the doc string.
573 (tabulated-list-print-entry): Revert to using only 2 arguments.
574 Update the doc string.
575 (tabulated-list-entry-lnum-width): New defvar.
576 (tabulated-list-print): Compute the width of line-number display
577 once, then store that value in tabulated-list-entry-lnum-width,
578 for tabulated-list-printer to use. (Bug#28704)
580 2017-10-05 Gemini Lasswell <gazally@runbox.com>
582 * lisp/ses.el (ses-print-cell): Fix alignment of text cells. (Bug#27653)
584 2017-10-05 Alexander Gramiak <agrambot@gmail.com>
586 Set xterm click count to 1 even with no last click
588 * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
589 the last click so that click-count is initialized properly.
590 Handle the value of t for double-click-time.
593 2017-10-05 Vasilij Schneidermann <mail@vasilij.de>
595 Support indirection for all shr-tag-* calls
597 The 'shr-external-rendering-functions' variable was previously only
598 honored in the shr-descend function, now all direct calls to the
599 shr-tag-* functions have been replaced by a call to
600 'shr-indirect-call' which tries using an alternative rendering
603 * lisp/net/shr.el (shr-indirect-call): New helper function.
604 (shr-descend, shr-tag-object, shr-tag-video):
605 (shr-collect-extra-strings-in-table): Fix callers to call via
606 shr-indirect-call. (Bug#28402)
608 2017-10-05 Eli Zaretskii <eliz@gnu.org>
610 Speed up list-packages when 'visual' line numbers are displayed
612 * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
613 Update the doc string.
614 (tabulated-list-print-entry): Accept an additional optional
615 argument INDENT. Update the doc string.
616 (tabulated-list-print): Compute the width of line-number display
617 once, then call tabulated-list-printer with that value as 3rd
618 argument. (Bug#28704)
620 2017-10-05 João Távora <joaotavora@gmail.com>
622 Misc. minor adjustments to Flymake
624 - Add a half-decent minor-mode menu;
625 - Fix "waiting for backends" mode line message;
626 - Adjust the flymake-diag-region API;
627 - Autoload the flymake-log macro;
628 - Auto-disable the legacy backend in more situations;
629 - Fix a couple of warnings in legacy backend.
631 * lisp/progmodes/flymake-proc.el
632 (flymake-proc--diagnostics-for-pattern): Use new
635 * lisp/progmodes/flymake-proc.el
636 (flymake-proc-legacy-flymake): Do error when no
637 buffer-file-name or not writable.
638 (flymake-proc-legacy-flymake)
639 (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
641 * lisp/progmodes/flymake.el (flymake-diag-region):
642 Autoload. Take buffer as first argument.
644 * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
646 (flymake-menu): Add a simple menu.
647 (flymake--mode-line-format): Use menu. Fix message. Switch to
648 log buffer when clicking exceptional warnings.
650 2017-10-05 Johan Bockgård <bojohan@gnu.org>
652 Fix search for ~/.Xdefaults-HOSTNAME
654 * src/xrdb.c (get_environ_db): Fix typo when handling
655 ~/.Xdefaults-HOSTNAME (Bug#28708).
657 2017-10-04 Paul Eggert <eggert@cs.ucla.edu>
659 Speed up (format "%s" STRING) and the like
661 Although the Lisp manual said that ‘format’ returns a
662 newly-allocated string, this was not true for a few cases like
663 (format "%s" ""), and fixing the documentation to allow reuse of
664 arguments lets us improve performance in common cases like
665 (format "foo") and (format "%s" "foo") (Bug#28625).
666 * doc/lispref/strings.texi (Formatting Strings):
668 Say that the result of ‘format’ might not be newly allocated.
669 * src/callint.c (Fcall_interactively):
670 * src/dbusbind.c (XD_OBJECT_TO_STRING):
671 * src/editfns.c (Fmessage, Fmessage_box):
672 * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
673 Just use Fformat or Fformat_message, as that’s simpler and no
674 longer makes unnecessary copies.
675 * src/editfns.c (styled_format): Remove last argument, as it
676 is no longer needed: all callers now want it to behave as if it
677 were true. All remaining callers changed. Make this function
678 static again. Simplify the function now that we no longer
679 need to worry about whether the optimization is allowed.
681 2017-10-04 Alan Mackenzie <acm@muc.de>
683 Fontify untyped function declarations in C Mode correctly.
685 Also correct two bugs where deleting WS at a BOL could leave an untyped
686 function declaration unfontified.
688 * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
689 "top-level" when we're in a macro.
690 (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
691 Mode as a implicitly typed function declaration.
692 (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
693 macro. It's not a function plus arglist.
695 * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
698 * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
699 over any following parenthesis expression (i.e. parameter list).
700 (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
701 the returned region, to cope with deletions at column 0.
703 2017-10-04 Michael Albinus <michael.albinus@gmx.de>
705 * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
707 Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
709 2017-10-04 Eli Zaretskii <eliz@gnu.org>
711 Avoid crashes on C-g when several threads wait for input
713 * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
714 (getcjmp): Define to current thread's 'm_getcjmp'.
715 * src/thread.c (maybe_reacquire_global_lock): Switch to main
716 thread, since this is called from a SIGINT handler, which always
717 runs in the context of the main thread.
718 * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
719 definitions before thread.h is included, as thread.h now uses
721 * src/keyboard.c (getcjmp): Remove declaration.
722 (read_char): Don't call maybe_reacquire_global_lock here.
723 (handle_interrupt): Call maybe_reacquire_global_lock here, if
724 invoked from the SIGINT handler, to make sure
725 quit_throw_to_read_char runs with main thread's Lisp bindings and
726 uses the main thread's jmp_buf buffer. (Bug#28630)
728 2017-10-04 Paul Eggert <eggert@cs.ucla.edu>
730 Warn if --without-pop is now the default
732 * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
733 Warn about the change if defaulting to "no". Update URLs.
735 2017-10-04 Paul Eggert <eggert@cs.ucla.edu>
737 --with-pop is now the default only on MS-Windows
739 Problem reported by N. Jackson (Bug#28597).
740 This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
741 * INSTALL, configure.ac, etc/NEWS:
742 Make --with-pop the default only on native MS-Windows.
744 2017-10-03 Michael Albinus <michael.albinus@gmx.de>
746 Add support for `file-system-info' in Tramp
748 * lisp/net/tramp.el (tramp-file-name-for-operation):
749 Add `file-system-info'.
751 * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
752 (tramp-adb-file-name-handler-alist): Use it.
754 * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
755 (tramp-gvfs-file-system-attributes-regexp): New defconst.
756 (tramp-gvfs-handle-file-system-info): New defun.
757 (tramp-gvfs-file-name-handler-alist): Use it.
758 (tramp-gvfs-get-directory-attributes): Fix property name.
759 (tramp-gvfs-get-root-attributes): Support also file system attributes.
761 * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
762 (tramp-sh-file-name-handler-alist): Use it.
763 (tramp-sh-handle-insert-directory): Insert size information.
764 (tramp-get-remote-df): New defun.
766 * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
767 (tramp-smb-file-name-handler-alist): Use it.
768 (tramp-smb-handle-insert-directory): Insert size information.
770 * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
772 (tramp-test38-asynchronous-requests)
773 (tramp-test39-recursive-load, tramp-test40-remote-load-path)
774 (tramp-test41-unload): Rename.
776 2017-10-03 João Távora <joaotavora@gmail.com>
778 Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
780 2017-10-03 João Távora <joaotavora@gmail.com>
782 Start rewriting Flymake manual
784 Missing the parts pertaining to the new customization API.
786 * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
787 (Installing Flymake): Delete most of this.
788 (Running the syntax check): Mention flymake-start.
789 (Navigating to error lines): Rewrite.
790 (Viewing error messages): Commente out.
791 (Syntax check statuses, Troubleshooting): Rewrite a bit.
792 (Customizable variables): New section under "Using
793 Flymake". Don't mention any proc variables here.
794 (Configuring Flymake): Delete
795 (Proc backend): New chapter
796 (Proc customization variables): New chapter.
798 * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
799 (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
800 (Running the syntax check): Simplify.
801 (Viewing error messages): Dekete,
802 (Syntax check statuses): Rewrite.
803 (Troubleshooting): Simplify.
804 (Customizable variables): Rewrite.
805 (Extending Flymake): New chapter, empty for now.
806 (The legacy Proc backend): New chapter.
807 (Proc customizable variables)
808 (Adding support for a new syntax check tool)
809 (Implementation overview)
810 (Making a temporary copy)
811 (Locating a master file)
812 (Getting the include directories)
813 (Locating the buildfile)
814 (Starting the syntax check process)
816 (Interaction with other modes)
817 (Example---Configuring a tool called via make)
818 (Example---Configuring a tool called directly): Rewrite a bit.
820 2017-10-03 João Távora <joaotavora@gmail.com>
822 Minimal tweak as an attempt to future-proof Flymake API
824 Discussed with Stefan that this should allow Flymake to request more
825 from backends in the future, while also allowing backends to report
828 * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
829 (elisp-flymake-byte-compile): Adjust to new API.
831 * lisp/progmodes/flymake-proc.el ()
832 (flymake-proc-legacy-flymake): Adjust to new API.
834 * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
836 (flymake--handle-report): Allow other keys. Change ACTION to
839 2017-10-03 João Távora <joaotavora@gmail.com>
841 Integrate Flymake elisp checkers into elisp-mode.el directly
843 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
844 elisp-flymake-checkdoc and elisp-flymake-byte-compile.
845 (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
846 (elisp-flymake--byte-compile-done)
847 (elisp-flymake--byte-compile-process)
848 (elisp-flymake-byte-compile): Rename from flymake-elisp
849 counterparts in deleted flymake-elisp.el
850 (elisp-flymake--batch-compile-for-flymake): New helper.
851 (checkdoc-create-error-function)
852 (checkdoc-autofix-flag)
853 (checkdoc-generate-compile-warnings-flag)
854 (checkdoc-diagnostic-buffer): Forward declare.
856 * lisp/progmodes/flymake-elisp.el: Delete.
858 2017-10-03 João Távora <joaotavora@gmail.com>
860 Hook Flymake onto proper checkdoc and byte-compile interfaces
862 The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
863 with little knowledge of actual internals or thought given to the
864 usefulness of said interfaces in contexts other than Flymake's.
866 * lisp/emacs-lisp/bytecomp.el
867 (byte-compile-log-warning-function): New variable.
868 (byte-compile-log-warning): Use it.
869 (byte-compile--log-warning-for-byte-compile): New function.
871 * lisp/emacs-lisp/checkdoc.el
872 (checkdoc-create-error-function): New variable.
873 (checkdoc-create-error): Use it.
874 (checkdoc--create-error-for-checkdoc): New function.xo
876 * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
877 Use checkdoc-create-error-function.
878 (flymake-elisp--batch-byte-compile): Use
879 byte-compile-log-warning-function.
881 2017-10-03 João Távora <joaotavora@gmail.com>
883 Tweak Flymake autoloads and dependencies
885 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
886 flymake-diagnostic-functions here.
888 * lisp/progmodes/flymake-elisp.el[top]: Don't add to
889 emacs-lisp-mode-hook. Don't call flymake-elisp-setup-backends in
890 every buffer. (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
891 Autoload. (flymake-elisp-setup-backends): Remove.
893 * lisp/progmodes/flymake.el: Add some top-level comments.
894 (flymake-make-diagnostic)
895 (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
897 Where to fixup this shit?
899 2017-10-03 João Távora <joaotavora@gmail.com>
901 Capitalize "Flymake" in docstrings and comments
903 * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
904 (flymake-elisp-setup-backends): Capitalize "Flymake"
906 * lisp/progmodes/flymake-proc.el:
907 (flymake-proc-reformat-err-line-patterns-from-compile-el)
908 (flymake-proc--panic, flymake-proc-legacy-flymake)
909 (flymake-start-syntax-check, flymake-proc-compile)
910 (define-obsolete-variable-alias): Capitalize "Flymake"
912 * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
913 (flymake-make-diagnostic, flymake-delete-own-overlays)
914 (flymake-diagnostic-functions)
915 (flymake-diagnostic-types-alist, flymake-is-running)
916 (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
917 (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
919 2017-10-03 João Távora <joaotavora@gmail.com>
921 Flymake backends can report multiple times per check
923 Rewrote a significant part of the Flymake backend API. Flymake now
924 ignores the return value of backend functions: a function can either
925 returns or errors. If it doesn't error, a backend is no longer
926 constrained to call REPORT-FN exactly once. It may do so any number
927 of times, cumulatively reporting diagnostics. Flymake keeps track of
928 outdated REPORT-FN instances and disconsiders obsolete reports.
929 Backends should avoid reporting obsolete data by cancelling any
930 ongoing processing at every renewed call to the backend function.
932 Consolidated flymake.el internal data structures to require less
933 buffer-local variables. Adjusted Flymake's mode-line indicator to the
936 Adapted and simplified the implementation of elisp and legacy
937 backends, fixing potential race conditions when calling backends in
940 Added a new test for a backend that calls REPORT-FN multiple
941 times. Simplify test infrastructure.
943 * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
944 (flymake-elisp-byte-compile): Error instead of returning nil
945 if not in emacs-lisp-mode.
946 (flymake-elisp--byte-compile-process): New buffer-local variable.
947 (flymake-elisp-byte-compile): Mark (and kill) previous process
948 obsolete process before starting a new one. Don't report if
951 * lisp/progmodes/flymake-proc.el
952 (flymake-proc--current-process): New buffer-local variable.
953 (flymake-proc--processes): Remove.
954 (flymake-proc--process-filter): Don't bind
955 flymake-proc--report-fn.
956 (flymake-proc--process-sentinel): Rewrite. Don't report if
958 (flymake-proc-legacy-flymake): Rewrite. Mark (and kill)
959 previous process obsolete process before starting a new
960 one. Integrate flymake-proc--start-syntax-check-process
962 (flymake-proc--start-syntax-check-process): Delete.
963 (flymake-proc-stop-all-syntax-checks): Don't use
964 flymake-proc--processes, iterate buffers.
965 (flymake-proc-compile):
967 * lisp/progmodes/flymake.el (subr-x): Require it
969 (flymake-diagnostic-functions): Reword docstring.
970 (flymake--running-backends, flymake--disabled-backends)
971 (flymake--diagnostics-table): Delete.
972 (flymake--backend-state): New buffer-local variable and new defstruct.
973 (flymake--with-backend-state, flymake--collect)
974 (flymake-running-backends, flymake-disabled-backends)
975 (flymake-reporting-backends): New helpers.
976 (flymake-is-running): Use flymake-running-backends.
977 (flymake--handle-report): Rewrite.
978 (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
979 buffer or not at all.
980 (flymake--disable-backend, flymake--run-backend): Rewrite.
981 (flymake-start): Rewrite.
982 (flymake-mode): Set flymake--backend-state.
983 (flymake--mode-line-format): Rewrite.
985 * test/lisp/progmodes/flymake-tests.el
986 (flymake-tests--wait-for-backends): New helper.
987 (flymake-tests--call-with-fixture): Use it.
988 (included-c-header-files): Fix whitespace.
989 (flymake-tests--diagnose-words): New helper.
990 (dummy-backends): Rewrite for new semantics. Use cl-letf.
991 (flymake-tests--assert-set): Use quote.
992 (recurrent-backend): New test.
994 2017-10-03 João Távora <joaotavora@gmail.com>
996 Flymake uses proper idle timers
998 Also, flymake-no-changes-timeout can be set to nil to disable
999 automatic periodic checks. But even in that situation the idle timer
1000 still runs at a reduced rate to detect changes in the variable and
1001 revert that decision.
1003 * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
1004 (flymake-last-change-time): Delete.
1005 (flymake--schedule-timer-maybe): New helper.
1006 (flymake-after-change-function): Use it.
1007 (flymake-on-timer-event): Delete
1008 (flymake-mode): Don't scheduler timer.
1010 2017-10-03 João Távora <joaotavora@gmail.com>
1012 Flymake variable flymake-diagnostic-functions now a special hook
1014 * lisp/progmodes/flymake-proc.el: Use add-hook to affect
1015 flymake-diagnostic-functions.
1017 * lisp/progmodes/flymake-elisp.el
1018 (flymake-elisp-setup-backends): Use add-hook.
1020 * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
1022 (flymake-start): Use run-hook-wrapped.
1024 2017-10-03 João Távora <joaotavora@gmail.com>
1026 Batch of minor Flymake cleanup actions agreed to with Stefan
1028 Discussed with Stefan, in no particular order
1030 - Remove aliases for symbols thought to be internal to flymake-proc.el
1031 - Don’t need :group in defcustom and defface in flymake.el
1032 - Fix docstring of flymake-make-diagnostic
1033 - Fix docstring of flymake-diagnostic-functions to clarify keywords.
1034 - Mark overlays with just the property ’flymake, not ’flymake-overlay
1035 - Tune flymake-overlays for performance
1036 - Make flymake-mode-on and flymake-mode-off obsolete
1037 - Don’t use hash-table-keys unless necessary.
1038 - Copyright notice in flymake-elisp.
1042 - Clarify docstring of flymake-goto-next-error
1043 - Clarify a comment in flymake--run-backend complaining about ert-deftest.
1044 - Prevent compilation warnings in flymake-proc.el
1045 - Remove doctring from obsolete aliases
1049 * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
1051 * lisp/progmodes/flymake-proc.el (flymake-warning-re)
1052 (flymake-proc-diagnostic-type-pred)
1053 (flymake-proc-default-guess)
1054 (flymake-proc--get-file-name-mode-and-masks): Move up to
1055 beginning of file to shoosh compiler warnings
1056 (define-obsolete-variable-alias): Delete many obsolete aliases.
1058 * lisp/progmodes/flymake.el (flymake-error-bitmap)
1059 (flymake-warning-bitmap, flymake-note-bitmap)
1060 (flymake-fringe-indicator-position)
1061 (flymake-start-syntax-check-on-newline)
1062 (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
1063 (flymake-start-syntax-check-on-find-file, flymake-log-level)
1064 (flymake-wrap-around, flymake-error, flymake-warning)
1065 (flymake-note): Don't need :group in these defcustom and defface.
1066 (flymake--run-backend): Clarify comment
1067 (flymake-mode-map): Remove.
1068 (flymake-make-diagnostic): Fix docstring.
1069 (flymake--highlight-line, flymake--overlays): Identify flymake
1070 overlays with just ’flymake.
1071 (flymake--overlays): Reverse order of invocation for
1072 cl-remove-if-not and cl-sort.
1074 (flymake-mode-off): Make obsolete.
1075 (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
1076 (flymake-diagnostic-functions): Clarify keyword arguments in
1079 Maybe squash in that one where I remove many obsoletes
1081 2017-10-03 João Távora <joaotavora@gmail.com>
1083 Explicitly add a(n empty) keymap for Flymake
1085 Too early to decide what will be in it, if anything. Though "M-n" and
1086 "M-p" would be great.
1088 * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
1090 2017-10-03 João Távora <joaotavora@gmail.com>
1092 Flymake uses some new fringe bitmaps
1094 Also fix behaviour whereby flymake wouldn't react to a change in the
1097 * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
1098 (flymake-warning-bitmap): Update bitmaps.
1099 (flymake-note-bitmap): New defcustom.
1100 (flymake-double-exclamation-mark): New bitmap.
1101 (flymake-error, flymake-warning, flymake-note)
1102 (flymake--highlight-line): 'bitmap property must be a symbol.
1103 Also set default face to flymake-error.
1104 (flymake--fringe-overlay-spec): Bitmap property can be a
1107 2017-10-03 João Távora <joaotavora@gmail.com>
1109 Remove old flymake-display-err-menu-for-current-line, it's useless
1111 See https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00949.html
1113 * lisp/progmodes/flymake-ui.el
1114 (flymake-popup-current-error-menu): Remove.
1116 2017-10-03 João Távora <joaotavora@gmail.com>
1118 Treat Flymake errors as just another type of diagnostic
1120 * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
1121 (flymake--handle-report, flymake-popup-current-error-menu):
1124 2017-10-03 João Távora <joaotavora@gmail.com>
1126 Fix three Flymake bugs when checking C header files
1128 The first of these problems is longstanding: if an error-less B.h is
1129 included from error-ridden A.h, flymake's legacy parser will panic
1130 (and disable itself) since it sees a non-zero exit for a clean file.
1131 To fix this, recommend returning 'true' in the documentation for the
1132 check-syntax target.
1134 Another problem was introduced by the parser rewrite. For error
1135 patterns spanning more than one line, point may be left in the middle
1136 of a line and thus render other patterns useless. Those patterns were
1137 written for the old line-by-line parser. To make them useful again,
1138 move to the beginning of line in those situations.
1140 The third problem was also longstanding and happened on newer GCC's:
1141 The "In file included from" prefix confused
1142 flymake-proc-get-real-file-name. Fix this.
1144 Also updated flymake--diag-region to fallback to highlighting a full
1147 Add automatic tests to check this.
1149 * lisp/progmodes/flymake-proc.el
1150 (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
1151 accidentally spans more than one line. Don't create
1152 diagnostics without error messages.
1153 (flymake-proc-real-file-name-considering-includes): New
1155 (flymake-proc-allowed-file-name-masks): Use it.
1157 * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
1158 argument explicitly optional. Only fall back to full line in extreme
1161 * test/lisp/progmodes/flymake-tests.el
1162 (included-c-header-files): New test.
1163 (different-diagnostic-types): Update.
1165 * test/lisp/progmodes/flymake-resources/Makefile
1166 (check-syntax): Always return success (0) error code.
1167 (CC_OPTS): Add -Wextra
1169 * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
1170 (main): Rewrite comments.
1172 * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
1173 Include some dummy header files.
1175 * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
1177 * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
1179 * doc/misc/flymake.texi (Example---Configuring a tool called
1180 via make): Recommend adding "|| true" to the check-syntax target.
1182 2017-10-03 João Távora <joaotavora@gmail.com>
1184 Add interactive flymake-start function
1186 * lisp/progmodes/flymake.el (flymake-on-timer-event)
1187 (flymake-after-change-function, flymake-mode): Call
1189 (flymake-start): Rename from flymake--start-syntax-check.
1191 2017-10-03 João Távora <joaotavora@gmail.com>
1193 A couple of Flymake backends for emacs-lisp-mode
1195 Loading flymake-elisp.el doesn't setup flymake-mode to turn on
1196 automatically, but it affects emacs-lisp-mode-hook so that
1197 flymake-diagnostic-functions is setup with a suitable buffer-local
1198 value. The variable flymake-diagnostic-funtions in every live
1199 emacs-lisp-mode buffer is also adjusted.
1201 * lisp/progmodes/flymake.el (top): Require flymake-elisp.
1203 * lisp/progmodes/flymake-elisp.el: New file.
1205 2017-10-03 João Távora <joaotavora@gmail.com>
1207 Fancy Flymake mode-line construct displays status
1209 Imitates compilation-mode's mode-line a bit, and uses its faces.
1211 * lisp/progmodes/flymake.el
1212 (flymake-error, flymake-warning, flymake-note): Add
1213 mode-line-face to these flymake error types.
1214 (flymake-note): Notes don't need a noisy fringe bitmap.
1215 (flymake-lighter): Delete.
1216 (flymake--update-lighter): Delete.
1217 (flymake--mode-line-format): New function and variable.
1218 (flymake--diagnostics-table): New buffer-local variable.
1219 (flymake--handle-report): Don't update "lighters". Affect
1220 flymake--diagnostics-table.
1221 (flymake--run-backend): Init flymake--diagnostics-table for backend.
1222 (flymake-mode): Use flymake--mode-line-format.
1223 (flymake-mode): Don't update lighter.
1224 (flymake--highlight-line): Be more careful when overriding a
1225 nil default overlay property.
1227 2017-10-03 João Távora <joaotavora@gmail.com>
1229 Tweak Flymake commands flymake-goto-[next/prev]-error
1231 Add filters, useful for backends like the upcoming
1232 flymake-elisp-checkdoc backend, for example, which litters everything
1233 with low-priority notes.
1235 Also re-implement wraparound for flymake-goto-next-error. Manual
1236 mentions this, so it's probably a good idea to keep it. Added a new
1237 customization variable flymake-wrap-around to control it.
1239 * lisp/progmodes/flymake.el (flymake-goto-prev-error)
1240 (flymake-goto-next-error): Accept FILTER argument.
1241 (flymake-wrap-around): New variable.
1242 (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
1244 * test/lisp/progmodes/flymake-tests.el
1245 (different-diagnostic-types, dummy-backends): Pass FILTER to
1246 flymake-goto-prev-error.
1247 (different-diagnostic-types)
1248 (dummy-backends): Use flymake-wrap-around.
1250 2017-10-03 João Távora <joaotavora@gmail.com>
1252 Flymake's flymake-proc.el backend slightly easier to debug
1254 Misc cleanup in flymake-proc.el
1256 Improve description of what this file contains.
1258 Better name for the backend function. Fix the case where it is run
1261 Keep the output buffer alive iff the external process panics.
1263 * lisp/progmodes/flymake-proc.el
1264 (flymake-proc-legacy-flymake): Rename from
1265 flymake-proc-start-syntax-check. Allow running interactively.
1266 (flymake-start-syntax-check): Obsolete alias for
1267 flymake-proc-legacy-flymake.
1268 (flymake-proc-start-syntax-check): Delete.
1269 (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
1270 (flymake-proc--process-sentinel): Keep output buffer alive.
1271 Clarify with comments.
1272 (flymake-proc--diagnostics-for-pattern)
1273 (flymake-proc--process-sentinel)
1274 (flymake-proc--safe-delete-directory)
1275 (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
1277 2017-10-03 João Távora <joaotavora@gmail.com>
1279 Simplify Flymake logging and erroring
1281 Use display-warning and a dedicated *Flymake log* buffer.
1283 To ease readability, flymake log messages are now prefixed with a
1284 common prefix and the buffer that originated them.
1286 Some situations of over-zealous logging are fixed.
1288 Use byte-compiler info, if available, to determine whence the
1289 flymake-related log message is coming.
1291 * lisp/progmodes/flymake-proc.el
1292 (flymake-proc--diagnostics-for-pattern): Improve log message.
1293 (flymake-proc--panic): Always flymake-log an error
1294 (flymake-proc--safe-delete-file)
1295 (flymake-proc--safe-delete-directory):
1297 (flymake-proc-start-syntax-check): Simplify slightly.
1298 (flymake-proc--start-syntax-check-process): Simplify.
1299 (flymake-proc--init-find-buildfile-dir)
1300 (flymake-proc--init-create-temp-source-and-master-buffer-copy):
1301 No need to warn twice.
1303 * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
1304 (flymake--log-1): New helper.
1305 (flymake-log-level): Deprecate.
1306 (flymake-error): New helper.
1307 (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
1309 (flymake-on-timer-event)
1310 (flymake--handle-report, flymake--disable-backend)
1311 (flymake--run-backend, flymake-start, flymake-mode-on)
1312 (flymake-mode-off, flymake-after-change-function)
1313 (flymake-after-save-hook, flymake-find-file-hook): Adjust
1316 * test/lisp/progmodes/flymake-tests.el
1317 (flymake-tests--call-with-fixture): Only log errors.
1319 2017-10-03 Philipp Stephani <phst@google.com>
1321 Work around deprecation of gtk_style_context_get_background_color
1323 * src/gtkutil.c (xg_check_special_colors): Replace call to
1324 gtk_style_context_get_background_color with its definition.
1326 2017-10-03 João Távora <joaotavora@gmail.com>
1328 New Flymake API variable flymake-diagnostic-functions
1330 Lay groundwork for multiple active backends in the same buffer.
1332 Backends are lisp functions called when flymake-mode sees fit. They
1333 are responsible for examining the current buffer and telling
1334 flymake.el, via return value, if they can syntax check it.
1335 Backends should return quickly and inexpensively, but they are also
1336 passed a REPORT-FN argument which they may or may not call
1337 asynchronously after performing more expensive work.
1339 REPORT-FN's calling convention stipulates that a backend calls it with
1340 a list of diagnostics as argument, or, alternatively, with a symbol
1341 denoting an exceptional situation, usually some panic resulting from a
1342 misconfigured backend. In keeping with legacy behaviour,
1343 flymake.el's response to a panic is to disable the issuing backend.
1345 The flymake--diag object representing a diagnostic now also keeps
1346 information about its source backend. Among other uses, this allows
1347 flymake to selectively cleanup overlays based on which backend is
1348 updating its diagnostics.
1350 * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
1351 New dynamic variable.
1352 (flymake-proc--process): New variable.
1353 (flymake-can-syntax-check-buffer): Remove.
1354 (flymake-proc--process-sentinel): Simplify. Use
1355 unwind-protect. Affect flymake-proc--processes here.
1356 Bind flymake-proc--report-fn.
1357 (flymake-proc--process-filter): Bind flymake-proc--report-fn.
1358 (flymake-proc--post-syntax-check): Delete
1359 (flymake-proc-start-syntax-check): Take mandatory
1360 report-fn. Rewrite. Bind flymake-proc--report-fn.
1361 (flymake-proc--process-sentinel): Rewrite and simplify.
1362 (flymake-proc--panic): New helper.
1363 (flymake-proc--start-syntax-check-process): Record report-fn
1364 in process. Use flymake-proc--panic.
1365 (flymake-proc-stop-all-syntax-checks): Use mapc. Don't affect
1366 flymake-proc--processes here. Record interruption reason.
1367 (flymake-proc--init-find-buildfile-dir)
1368 (flymake-proc--init-create-temp-source-and-master-buffer-copy):
1369 Use flymake-proc--panic.
1370 (flymake-diagnostic-functions): Add
1371 flymake-proc-start-syntax-check.
1372 (flymake-proc-compile): Call
1373 flymake-proc-stop-all-syntax-checks with a reason.
1375 * lisp/progmodes/flymake.el (flymake-backends): Delete.
1376 (flymake-check-was-interrupted): Delete.
1377 (flymake--diag): Add backend slot.
1378 (flymake-delete-own-overlays): Take optional filter arg.
1379 (flymake-diagnostic-functions): New user-visible variable.
1380 (flymake--running-backends, flymake--disabled-backends): New
1381 buffer-local variables.
1382 (flymake-is-running): Now a function, not a variable.
1383 (flymake-mode-line, flymake-mode-line-e-w)
1384 (flymake-mode-line-status): Delete.
1385 (flymake-lighter): flymake's minor-mode "lighter".
1386 (flymake-report): Delete.
1387 (flymake--backend): Delete.
1388 (flymake--can-syntax-check-buffer): Delete.
1389 (flymake--handle-report, flymake--disable-backend)
1390 (flymake--run-backend, flymake--run-backend): New helpers.
1391 (flymake-make-report-fn): Make a lambda.
1392 (flymake--start-syntax-check): Iterate
1393 flymake-diagnostic-functions.
1394 (flymake-mode): Use flymake-lighter. Simplify. Initialize
1395 flymake--running-backends and flymake--disabled-backends.
1396 (flymake-find-file-hook): Simplify.
1398 * test/lisp/progmodes/flymake-tests.el
1399 (flymake-tests--call-with-fixture): Use flymake-is-running the
1400 function. Check if flymake-mode already active before activating it.
1401 Add a thorough test for flymake multiple backends
1403 * lisp/progmodes/flymake.el (flymake--start-syntax-check):
1404 Don't use condition-case-unless-debug, use condition-case
1406 * test/lisp/progmodes/flymake-tests.el
1407 (flymake-tests--assert-set): New helper macro.
1408 (dummy-backends): New test.
1410 2017-10-03 João Távora <joaotavora@gmail.com>
1412 More Flymake cleanup before advancing to backend redesign
1414 Diagnostics are reported for buffers, not necessarily files. It’s the
1415 backend’s responsibility to compute the buffer where the diagnostic is
1416 applicable. For now, this has to match the buffer where flymake-mode
1417 is active and which is at the origin of the backend call.
1419 flymake.el knows nothing about line/column diagnostics (except for
1420 backward-compatible flymake-ler-make-ler, which must yet be tested).
1421 It’s also the backend’s reponsibility to compute a BEG and END
1422 positions for the diagnostic in the relevant buffer.
1424 * lisp/progmodes/flymake-proc.el
1425 (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
1426 region here. Check file buffer here.
1427 (flymake-proc--process-sentinel): Don’t kill output buffer if
1428 high enough log level.
1430 * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
1431 function. (flymake--highlight-line): Diagnostic has region now.
1432 (flymake-popup-current-error-menu): Don’t add file and line numbers to
1433 already this silly menu. (flymake--fix-line-numbers): Remove.
1434 (flymake-report): No need to fix diagnostics here.
1436 2017-10-03 João Távora <joaotavora@gmail.com>
1438 Protect Flymake's eager checks against commands like fill-paragraph
1440 If flymake-start-syntax-check-on-newline is t, check should start as
1441 soon as a newline is seen by after-change-functions. But don't rush
1442 it: since the buffer state might not be final, we might end up with
1443 invalid diagnostic regions after some commands silently insert and
1444 delete newlines (looking at you, fill-paragraph).
1446 * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
1447 `deferred' to flymake--start-syntax-check.
1448 (flymake--start-syntax-check): Take optional `deferred' arg.
1450 2017-10-03 João Távora <joaotavora@gmail.com>
1452 Flymake highlights GCC info/notes as detected by flymake-proc.el
1454 * lisp/progmodes/flymake-proc.el
1455 (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
1456 honour more sophisticated flymake-proc-diagnostic-type-pred.
1457 (flymake-warning-re): Is now an obsolete alias for
1458 flymake-proc-diagnostic-type-pred.
1459 (flymake-proc-diagnostic-type-pred): Rename and augment from
1460 flymake-proc-warning-predicate. (flymake-proc-warning-predicate):
1463 * lisp/progmodes/flymake.el (flymake-note): New face.
1464 (flymake-diagnostic-types-alist): Simplify.
1465 (flymake-note): New overlay category.
1466 (flymake--lookup-type-property): Only lookup single keys, not lists.
1467 (flymake--diag-errorp): Rewrite.
1468 (flymake--highlight-line): Use flymake--lookup-type-property.
1470 * test/lisp/progmodes/flymake-tests.el
1471 (different-diagnostic-types): Rename from errors-and-warnings.
1473 (flymake-tests--call-with-fixture): Use
1474 flymake-proc-diagnostic-type-pred.
1476 2017-10-03 João Távora <joaotavora@gmail.com>
1478 Flymake checks file names before considering diagnostics
1480 The error patterns for gcc picked up errors for the Makefile itself,
1481 for example. These shouldn't count as actual errors.
1483 * lisp/progmodes/flymake.el (flymake-report): Check
1484 matching file names.
1486 2017-10-03 João Távora <joaotavora@gmail.com>
1488 Echo Flymake error messages when navigating errors interactively
1490 Perhaps binding M-n and M-p to flymake-goto-next-error and
1491 flymake-goto-prev-error also wouldn't be a bad idea.
1493 * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
1494 target overlay's help-echo.
1496 2017-10-03 João Távora <joaotavora@gmail.com>
1498 Add a new Flymake test for multiple errors and warnings
1500 * test/lisp/progmodes/flymake-tests.el
1501 (flymake-tests--call-with-fixture): Save excursion.
1502 (errors-and-warnings): New test.
1504 * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
1507 2017-10-03 João Távora <joaotavora@gmail.com>
1509 Flymake warning face easier to distinguish
1511 A orange wavy underline is very hard to tell from a red wavy
1514 * lisp/progmodes/flymake.el (flymake-warning): Change color to
1517 2017-10-03 João Távora <joaotavora@gmail.com>
1519 Flymake's flymake-proc.el parses column numbers from gcc/javac errors
1521 Column numbers are not a great way of marking diagnostic regions, but
1522 that's probably all that can be expected from the flymake-proc.el
1523 backend. For now, try (end-of-thing 'sexp) to discover the
1524 diagnostic's end position.
1526 * lisp/progmodes/flymake-proc.el ()
1527 (flymake-proc-err-line-patterns): Also parse column numbers,
1528 if available, for gcc/javac warnings.
1530 2017-10-03 João Távora <joaotavora@gmail.com>
1532 New Flymake variable flymake-diagnostic-types-alist and much cleanup
1534 A new user-visible variable is introduced where different diagnostic
1535 types can be categorized. Flymake backends can also contribute to
1536 this variable. Anything that doesn’t match an existing error type
1539 The variable’s alists are used to propertize the overlays pertaining
1540 to each error type. The user can override the built-in properties by
1541 either by modifying the alist, or by modifying the properties of a
1542 special "category" symbol, named by the `flymake-category' entry in
1545 The `flymake-category' entry is especially useful for, say, the author
1546 of foo-flymake-backend, who issues diagnostics of type :foo-note, that
1547 should behave like notes, except with no fringe bitmap:
1549 (add-to-list 'flymake-diagnostic-types-alist
1551 . ((flymake-category . flymake-note)
1554 For essential properties like `severity', `priority', etc, a default
1555 value is produced. Some properties like `evaporate' cannot be
1558 * lisp/progmodes/flymake.el (flymake--diag): Rename from
1560 (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
1561 (flymake-ler-errorp): Rewrite using flymake--severity.
1562 (flymake--place-overlay): Delete.
1563 (flymake--overlays): Now a cl-defun with &key args. Document.
1564 Use `overlays-at' if BEG is non-nil and END is nil.
1565 (flymake--lookup-type-property): New helper.
1566 (flymake--highlight-line): Rewrite.
1567 (flymake-diagnostic-types-alist): New API variable.
1568 (flymake--diag-region)
1569 (flymake--severity, flymake--face)
1570 (flymake--fringe-overlay-spec): New helper.
1571 (flymake-popup-current-error-menu): Use new flymake-overlays.
1572 (flymake-popup-current-error-menu, flymake-report): Use
1573 flymake--diag-errorp.
1574 (flymake--fix-line-numbers): Use flymake--diag-line.
1575 (flymake-goto-next-error): Pass :key to flymake-overlays
1577 * lisp/progmodes/flymake-proc.el
1578 (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
1580 2017-10-03 João Távora <joaotavora@gmail.com>
1582 Refactor Flymake tests in preparation for more tests
1584 Introduce a slightly more generic fixture macro.
1586 Also make flymake-tests.el friendlier to interactive runs, by not
1587 killing buffers visited by the user.
1589 * test/lisp/progmodes/flymake-tests.el
1590 (flymake-tests--call-with-fixture): New helper from
1591 flymake-tests--current-face. Don't kill file buffers already
1592 being visited before the test starts.
1593 (flymake-tests--with-flymake): New macro.
1594 (flymake-tests--current-face): Delete.
1595 (warning-predicate-rx-gcc, warning-predicate-function-gcc)
1596 (warning-predicate-rx-perl, warning-predicate-function-perl):
1597 Use flymake-test--with-flymake.
1599 2017-10-03 João Távora <joaotavora@gmail.com>
1601 Allow running Flymake tests from interactive sessions
1603 * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
1604 Expand to reasonable value if no
1605 EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
1606 "weirdness" of bug 17647 with read-event.
1608 2017-10-03 João Távora <joaotavora@gmail.com>
1610 Flymake diagnostics now apply to arbitrary buffer regions
1612 Make Flymake UI some 150 lines lighter
1614 Strip away much of the original implementation's complexity in
1615 manipulating objects representing diagnostics as well as creating and
1616 navigating overlays.
1618 Lay some groundwork for a more flexible approach that allows for
1619 different classes of diagnostics, not necessarily line-based.
1620 Importantly, one overlay per diagnostic is created, whereas the
1621 original implementation had one per line, and on it it concatenated
1622 the results of errors and warnings.
1624 This means that currently, an error and warning on the same line are
1625 problematic and the warning might be overlooked but this will soon be
1626 fixed by setting appropriate priorities.
1628 Since diagnostics can highlight arbitrary regions, not just lines, the
1631 Tests pass and backward compatibility with interactive functions is
1632 maintained, but probably any third-party extension or customization
1633 relying on more than a trivial set of flymake.el internals has stopped
1636 * lisp/progmodes/flymake-proc.el
1637 (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
1640 * lisp/progmodes/flymake.el (flymake-ins-after)
1641 (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
1642 (flymake-er-get-line-err-info-list, flymake-ler-set-file)
1643 (flymake-ler-set-full-file, flymake-ler-set-line)
1644 (flymake-get-line-err-count, flymake-get-err-count)
1645 (flymake-highlight-err-lines, flymake-overlay-p)
1646 (flymake-make-overlay, flymake-region-has-flymake-overlays)
1647 (flymake-find-err-info)
1648 (flymake-line-err-info-is-less-or-equal)
1649 (flymake-add-line-err-info, flymake-add-err-info)
1650 (flymake-get-first-err-line-no)
1651 (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
1652 (flymake-get-prev-err-line-no, flymake-skip-whitespace)
1653 (flymake-goto-line, flymake-goto-next-error)
1654 (flymake-goto-prev-error, flymake-patch-err-text): Delete
1655 functions no longer used.
1656 (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
1657 (flymake-report): Rewrite.
1658 (flymake-popup-current-error-menu): Rewrite.
1659 (flymake--highlight-line): Rename from
1660 flymake-highlight-line. Call `flymake--place-overlay.
1661 (flymake--place-overlay): New function.
1662 (flymake-ler-errorp): New predicate.
1663 (flymake-ler): Simplify.
1664 (flymake-error): Rename from
1666 (flymake-warning): Rename from flymake-warnline.
1667 (flymake-warnline, flymake-errline): Obsoletion aliases.
1669 * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
1670 (warning-predicate-function-gcc, warning-predicate-rx-perl)
1671 (warning-predicate-function-perl): Use face `flymake-warning'.
1673 2017-10-03 João Távora <joaotavora@gmail.com>
1675 Move symbols in flymake-proc.el to separate namespace
1677 Every symbol in this flymake now starts with the prefix flymake-proc-.
1679 Make obsolete aliases for (almost?) every symbol.
1681 Furthermore, many flymake-proc.el symbols are prefixed with
1682 "flymake-proc--", that is they were considered internal.
1684 Some customization variables, interactive functions, and other symbols
1685 considered useful to user customizations or third-party libraries are
1686 considered "public" or "external" and so use a "flymake-proc-" prefix.
1688 * lisp/progmodes/flymake-proc.el: Every symbol renamed.
1690 * test/lisp/progmodes/flymake-tests.el
1691 (flymake-tests--current-face): Use
1692 flymake-proc-warning-predicate, not flymake-warning-predicate.
1694 * lisp/progmodes/flymake-proc.el
1695 (flymake-proc--get-project-include-dirs-function)
1696 (flymake-proc--get-project-include-dirs-imp)
1697 (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
1698 (flymake-proc--find-make-buildfile)
1699 (flymake-proc--get-syntax-check-program-args)
1700 (flymake-proc--init-create-temp-source-and-master-buffer-copy)
1701 (flymake-proc--init-find-buildfile-dir)
1702 (flymake-proc--get-full-nonpatched-file-name)
1703 (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
1704 flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
1705 (flymake-proc--temp-source-file-name)
1706 (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
1707 (flymake-proc--start-syntax-check-process)
1708 (flymake-proc--compilation-is-running)
1709 (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
1710 (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
1711 (flymake-proc--clear-project-include-dirs-cache)
1712 (flymake-proc--project-include-dirs-cache)
1713 (flymake-proc--get-system-include-dirs)
1714 (flymake-proc--get-project-include-dirs)
1715 (flymake-proc--add-project-include-dirs-to-cache)
1716 (flymake-proc--get-project-include-dirs-from-cache)
1717 (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
1718 (flymake-proc--process-filter) (flymake-proc--create-master-file)
1719 (flymake-proc--find-buffer-for-file)
1720 (flymake-proc--copy-buffer-to-temp-buffer)
1721 (flymake-proc--read-file-to-temp-buffer)
1722 (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
1723 flymake-proc--check-include)
1724 (flymake-proc--check-patch-master-file-buffer)
1725 (flymake-proc--master-file-compare)
1726 (flymake-proc--find-possible-master-files)
1727 (flymake-proc--included-file-name, flymake-proc--same-files)
1728 (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
1729 (flymake-proc--clear-buildfile-cache)
1730 (flymake-proc--add-buildfile-to-cache)
1731 (flymake-proc--get-buildfile-from-cache)
1732 (flymake-proc--find-buildfile-cache)
1733 (flymake-proc--get-real-file-name-function)
1734 (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
1735 (flymake-proc--get-file-name-mode-and-masks)
1736 (flymake-proc--processes): Rename to internal symbol from
1737 flymake-proc- version.
1739 2017-10-03 João Távora <joaotavora@gmail.com>
1741 Completely rewrite Flymake's subprocess output processing
1743 Instead of parsing and matching regexps line-by-line, insert
1744 subprocess output in a separate buffer and parse using
1745 `search-forward-regexp'. This eventually enables multi-line error
1746 patterns and simplifies code all around. Store per-check information
1747 in the subprocess using `process-get' and `process-put'. Treat error
1748 messages, warnings, etc. more generically as "diagnostics". Create
1749 these objects as soon as possible, reusing existing `flymake-ler'
1750 structure. Fix some whitespace.
1752 * lisp/progmodes/flymake.el (cl-lib): Require also when
1754 (flymake--fix-line-numbers): Rename from
1755 flymake-fix-line-numbers. Simplify.
1756 (flymake-report): Call flymake--fix-line-numbers. Rearrange
1757 plain diagnostics list into alist format expected by
1758 flymake-highlight-err-lines.
1760 * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
1761 process output and parse in dedicated output buffer.
1762 (flymake-proc--diagnostics-for-pattern): New helper function.
1763 (flymake-process-sentinel): Call flymake-post-syntax-check with
1764 collected diagnostics. Kill output buffer.
1765 (flymake-post-syntax-check): Receive diagnostics as third argument.
1766 (flymake-parse-output-and-residual, flymake-new-err-info)
1767 (flymake-parse-residual, flymake-parse-err-lines)
1768 (flymake-split-output, flymake-proc-parse-line)
1769 (flymake-output-residual): Delete.
1770 (flymake-start-syntax-check-process): Use make-process. Setup
1771 dedicated an output buffer
1773 2017-10-03 João Távora <joaotavora@gmail.com>
1775 Flymake provides flymake-report re-entry point for backends
1777 * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
1778 Simplify. Call flymake-report.
1780 * lisp/progmodes/flymake.el (flymake-report): New function.
1782 2017-10-03 João Távora <joaotavora@gmail.com>
1784 Split Flymake into flymake.el into flymake-proc.el (again!)
1786 After deciding that this work would continue on master only, which
1787 caused two commits named
1789 Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
1793 Revert "Add flymake-backends defcustom"
1795 to be added to the emacs-26 branch, further discussion reversed that
1800 https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg01020.html
1801 https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg01030.html
1803 This means that those two commits MUST be merged to master AFTER ALL.
1805 flymke-proc.el contains the main syntax-checking backend, while
1806 flymake.el keeps mostly the UI part.
1808 * lisp/progmodes/flymake-proc.el: New file. Require flymake.
1810 * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
1812 2017-10-03 Nicolas Petton <nicolas@petton.fr>
1816 * admin/authors.el (authors-ignored-files, authors-valid-file-names)
1817 (authors-renamed-files-alist): Additions.
1819 2017-10-03 Noam Postavsky <npostavs@gmail.com>
1821 Give more helpful messages for python completion setup failures
1823 * lisp/progmodes/python.el (python-shell-completion-native-setup): In
1824 case the completion setup failed with some exception, print out the
1825 exception type and message. If libedit is detected, raise an
1826 exception, since this is known to fail.
1828 2017-10-02 Eli Zaretskii <eliz@gnu.org>
1830 Fix the --without-x build
1832 * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
1833 frame_parent only in GUI builds to avoid compilation errors in
1834 --without-x builds. (Bug#28611)
1836 2017-10-02 Paul Eggert <eggert@day>
1838 Fix customization of zoneinfo-style-world-list
1840 A customizable variable's initial value cannot depend on that of
1841 another customizable variable, since the variables are initialized
1842 in other than textual order. Problem reported by N. Jackson
1844 * lisp/time.el (display-time-world-list): Default to t,
1845 a special value that expands to zoneinfo-style-word-list
1846 if that works, and to legacy-style-word-list otherwise.
1847 (time--display-world-list): New function.
1848 (display-time-world, display-time-world-timer): Use it.
1850 2017-10-02 Alan Mackenzie <acm@muc.de>
1852 Fix a CC Mode brace stack cache bug.
1854 * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
1855 c-beginning-of-current-token after a failing search operation, to ensure we
1856 don't cache a point inside a token.
1858 2017-10-02 Paul Eggert <eggert@cs.ucla.edu>
1860 * etc/PROBLEMS: Document Bug#26638.
1862 2017-10-02 Paul Eggert <eggert@cs.ucla.edu>
1864 Prefer HTTPS to HTTP for gnu.org
1866 This fixes some URLs I omitted from my previous pass,
1867 notably those in lists.gnu.org. Although lists.gnu.org
1868 does not yet support TLS 1.1, TLS 1.0 is better than nothing.
1869 * lisp/erc/erc.el (erc-official-location):
1870 * lisp/mail/emacsbug.el (report-emacs-bug):
1871 Use https:, not http:.
1873 2017-10-02 Paul Eggert <eggert@cs.ucla.edu>
1877 This is mostly to change http: to https: in licenses.
1878 * COPYING, build-aux/config.guess, build-aux/config.sub:
1879 * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
1880 * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
1881 * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
1882 * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
1883 * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
1884 * msdos/COPYING, nt/COPYING, src/COPYING:
1887 2017-10-01 Simen Heggestøyl <simenheg@gmail.com>
1889 Keep eww buffer current when looking up CSS on MDN
1891 * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
1892 current when looking up CSS documentation on MDN. This fixes a bug
1893 where the eww buffer's content sometimes get mangled when switching
1896 2017-10-01 Charles A. Roelli <charles@aurox.ch>
1898 Workaround for faulty localtime() under macOS 10.6
1900 * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
1901 'decode-time' on times later than year -2**31 under macOS 10.6.
1904 2017-10-01 Alan Mackenzie <acm@muc.de>
1906 Doc amendment for syntax-ppss.
1908 * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
1909 equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
1910 buffer. Final part of the fix for bug #22983.
1912 2017-10-01 Charles A. Roelli <charles@aurox.ch>
1914 Remove incorrect NEWS entry about 'find-library'
1916 * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
1917 'find-library' taking a prefix argument to pop to a different
1918 window. This behavior was added in "Allow a prefix argument to
1919 find-library to pop to a different window" (commit e1f2d14a), and
1920 then removed in "New commands: find-library-other-window,
1921 find-library-other-frame" (commit 021430f4).
1923 2017-10-01 Alan Mackenzie <acm@muc.de>
1925 Remove inadvertent changes to syntax.texi in last commit.
1927 * doc/lispref/syntax.texi (Position Parse): revert changes.
1929 2017-10-01 Alan Mackenzie <acm@muc.de>
1931 Amend documentation for text-quoting-style becoming a user option.
1933 * doc/lispref/control.texi (Signaling Errors):
1934 * doc/lispref/display.texi (Displaying Messages):
1935 * doc/lispref/strings.texi (Formatting Strings):
1936 Edit for brevity, farming out the details to the new
1937 Text Quoting Style node.
1938 * doc/lispref/help.texi (Text Quoting Style): New section.
1939 Move detailed discussion of text-quoting-style here.
1940 Add discussion about how to output grave accent and apostrophe in
1941 documentation and messages. Adjust xrefs to point to this section
1943 * etc/NEWS: text-quoting-style semantics have not changed.
1945 2017-10-01 Alan Mackenzie <acm@muc.de>
1947 Make the value nil in text-quoting-style mean what it does in Emacs 25.
1949 This is a partial reversion of yesterday's commit by the same author, which
1950 changed the meaning of nil and introduced the new value t.
1952 * src/doc.c (text_quoting_style, text-quoting-style)
1953 (internal--text-quoting-flag): Revert yesterday's changes.
1955 * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
1957 * etc/NEWS: Amend the entry for text-quoting-style.
1959 * doc/lispref/control.texi (Signalling Errors)
1960 * doc/lispref/display.texi (Displaying Messages)
1961 * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
1962 grave rather than nil to inhibit translation of quotes.
1964 * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
1965 proposed new default, t.
1967 2017-10-01 Alan Mackenzie <acm@muc.de>
1969 Make text-quoting-style customizable. Introduce t and new meaning for nil.
1971 A value of nil for text-quoting-style now means "no translation". t means
1972 "Use curved quotes if displayable".
1974 * src/doc.c (text-quoting-style (function)): modify for new semantics.
1975 (text-quoting-style (variable)): Amend the doc string, set the default value
1978 * lisp/cus-start.el: (top level): Create a customize entry for
1979 text-quoting-style in group display.
1981 * etc/NEWS: Amend the entry for text-quoting-style.
1983 * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
1984 quotes to curved quotes, and how to influence or inhibit it.
1986 * doc/lispref/control.texi (Signalling Errors)
1987 * doc/lispref/display.texi (Displaying Messages)
1988 * doc/lispref/strings.texi (Formatting Strings): Describe binding
1989 text-quoting-style to nil to inhibit unwanted quote translation.
1991 * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
1992 from a variable to a user option. Describe its changed set of values. State
1993 that it can be customized freely.
1995 2017-10-01 Michael Albinus <michael.albinus@gmx.de>
1997 eshell.texi improvements
1999 * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
2000 Lisp function in `em-tramp.el'. Mention also $*, $1, $2, ...
2001 (Aliases): Add $*, $1, $2, ... to the variable index.
2003 2017-08-15 Alan Third <alan@breton-build.holly.idiocy.org>
2005 Fix ns-win.el on GNUstep
2007 * lisp/term/ns-win.el: Appkit version check only works on macOS, so
2008 don't try it when not using Cocoa.
2010 2017-10-01 Martin Rudalics <rudalics@gmx.at>
2012 Fix reference style in org.texi
2014 * doc/misc/org.texi (A Texinfo example): Fix reference style.
2016 2017-10-01 Martin Rudalics <rudalics@gmx.at>
2018 Improve handling of iconification of child frames (Bug#28611)
2020 * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
2021 (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
2022 (iconify_child_frame): New option.
2023 * lisp/cus-start.el (iconify-child-frame): Add customization
2025 * doc/lispref/frames.texi (Child Frames): Describe new option
2026 `iconify-child-frame'. Don't index "top-level frame" twice.
2028 2017-10-01 Noam Postavsky <npostavs@gmail.com>
2030 Revert "Don't lose arguments to eshell aliases (Bug#27954)"
2032 It broke the established argument handling methods provided by eshell
2033 aliases (Bug#28568).
2034 * doc/misc/eshell.texi (Aliases): Fix example, call out use of
2035 arguments in aliases.
2036 * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
2039 2017-10-01 Noam Postavsky <npostavs@gmail.com>
2041 Make "unsafe directory" error message more informative (Bug#865)
2043 * lisp/server.el (server-ensure-safe-dir): Produce a description for
2044 each "unsafe" condition.
2046 2017-10-01 Eric Abrahamsen <eric@ericabrahamsen.net>
2048 Fix slot typecheck in eieio-persistent
2050 * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
2051 An `or' form can specify multiple potential classes (or null) as
2052 valid types for a slot, but previously only the final element of the
2053 `or' was actually checked. Now returns all valid classes in the `or'
2055 (eieio-persistent-validate/fix-slot-value): Check if proposed value
2056 matches any of the valid classes.
2057 * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
2058 (eieio-test-multiple-class-slot): Test this behavior.
2060 2017-09-30 Dmitry Gutov <dgutov@yandex.ru>
2062 Fix semantic-ia-fast-jump
2064 * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
2065 Use `pop-to-buffer-same-window' (bug#28645).
2067 2017-09-30 Kaushal Modi <kaushal.modi@gmail.com>
2069 Bind vc-region-history
2071 * lisp/vc/vc-hooks.el (vc-prefix-map):
2072 Bind `vc-region-history' to 'C-x v h', which was earlier bound to
2073 `vc-insert-headers' (Bug#27644).
2074 * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
2075 * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
2076 'C-x v h' with `vc-insert-headers'.
2077 (http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00957.html)
2079 2017-09-30 Allen Li <vianchielfaura@gmail.com> (tiny change)
2081 Exit macro definition on undefined keys
2083 * lisp/subr.el (undefined): Error out of kmacro definition, if any.
2086 2017-09-30 Tim Landscheidt <tim@tim-landscheidt.de> (tiny change)
2088 Reset bidi-paragraph-direction on article rendering
2090 * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
2091 bidi-paragraph-direction on article rendering. (Bug#28454)
2093 2017-09-30 Eli Zaretskii <eliz@gnu.org>
2095 Fix url-http use of url-current-object
2097 * lisp/url/url-http.el (url-http): Bind url-current-object before
2098 calling url-http-find-free-connection. (Bug#28515)
2100 2017-09-30 Andy Moreton <andrewjmoreton@gmail.com>
2102 Avoid assertions in vc-hg.el on MS-Windows
2104 * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
2105 (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
2106 (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
2107 instead of relying on Unix file-name syntax. This avoids
2108 assertion violations on MS-Windows.
2110 2017-09-30 Eli Zaretskii <eliz@gnu.org>
2112 Improve documentation of 'copy-sequence'
2114 * src/fns.c (Fcopy_sequence):
2115 * doc/lispref/sequences.texi (Sequence Functions): Mention the
2116 exception when copying an empty sequence. (Bug#28627)
2118 2017-09-30 Eli Zaretskii <eliz@gnu.org>
2120 Minor update of ack.texi
2122 * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
2125 2017-09-30 N. Jackson <nljlistbox2@gmail.com> (tiny change)
2127 * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
2129 2017-09-30 Eli Zaretskii <eliz@gnu.org>
2131 Improve indexing of multi-file/buffer Isearch commands
2133 * doc/emacs/maintaining.texi (Identifier Search): Change wording
2134 of index entries to make them different from those for multi-file
2135 isearch commands. (Bug#28584)
2136 * doc/emacs/search.texi (Other Repeating Search): Index the
2137 multi-* commands. (Bug#28584) Rearrange the indexing to keep
2138 each index entry close to its subject.
2140 2017-09-30 Mark Oteiza <mvoteiza@udel.edu>
2142 Add CAM02 JCh and CAM02-UCS J'a'b' conversions
2144 * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
2145 (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
2146 (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
2148 (lcms-cam02-ucs): Refactor.
2149 (syms_of_lcms2): Declare new functions.
2150 * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
2151 (lcms-jmh->cam02-ucs-silver): New tests.
2152 * etc/NEWS: Mention new functions.
2154 2017-09-30 Eli Zaretskii <eliz@gnu.org>
2156 Fix uses of @kindex in the Emacs manual
2158 * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
2159 * doc/emacs/mark.texi (Global Mark Ring)
2160 (Disabled Transient Mark):
2161 * doc/emacs/buffers.texi (Select Buffer):
2162 * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
2163 which used @key. Reported by Marcin Borkowski <mbork@mbork.pl>.
2165 2017-09-30 Paul Eggert <eggert@cs.ucla.edu>
2170 2017-09-28 string: code style
2171 2017-09-25 sys_types: update URL
2172 2017-09-23 install-sh: do not assume / = //
2173 2017-09-21 mktime: port to OpenVMS
2174 * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
2175 * m4/sys_types_h.m4: Copy from Gnulib.
2176 * lib/gnulib.mk.in: Regenerate.
2178 2017-09-30 Paul Eggert <eggert@cs.ucla.edu>
2180 Prefer HTTPS to HTTP for gnu.org
2182 This catches some URLs I missed in my previous scan,
2183 or perhaps were added after the scan.
2185 2017-09-30 Noam Postavsky <npostavs@gmail.com>
2187 Wait for frame visibility with timeout in w32term too
2189 * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
2191 (x_make_frame_visible): Wait for frame to become visible according to
2193 (input_signal_count): Remove.
2195 2017-09-30 Noam Postavsky <npostavs@gmail.com>
2197 Bring back the busy wait after x_make_frame_visible (Bug#25521)
2199 But wait specfically for a MapNotify event, and only for a
2200 configurable amount of time.
2201 * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
2203 (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
2204 (x_make_frame_visible): Call x_wait_for_event at the end.
2205 * etc/NEWS: Announce x_wait_for_event.
2207 2017-09-29 Eli Zaretskii <eliz@gnu.org>
2209 Fix last doc string change in simple.el
2211 * lisp/simple.el (shell-command-saved-pos)
2212 (region-extract-function, region-bounds): Doc fixes. (Bug#28609)
2214 2017-09-29 Eli Zaretskii <eliz@gnu.org>
2216 Revert "bug#28609: simple.el"
2218 This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
2220 2017-09-29 Devon Sean McCullough <Emacs-Hacker2017@jovi.net>
2222 bug#28609: simple.el
2224 Correct grammar; also, call a pair a pair.
2226 (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
2228 2017-09-29 Rasmus <rasmus@gmx.us>
2230 Merge branch 'emacs-26' into scratch/org-mode-merge
2232 2017-09-29 Noam Postavsky <npostavs@gmail.com>
2234 Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
2236 * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
2237 above the `debugger' frame, rather than assuming there will be a
2240 2017-09-28 Alan Third <alan@idiocy.org>
2242 Revert "Fix build on macOS (bug#28571)"
2244 This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
2248 2017-09-28 Alan Third <alan@idiocy.org>
2250 Fix build on macOS (bug#28571)
2252 * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
2253 [DARWIN_OS]: Undefine.
2255 2017-09-28 Simen Heggestøyl <simenheg@gmail.com>
2257 Add tests for `css-current-defun-name'
2259 * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
2260 (css-test-current-defun-name-nested)
2261 (css-test-current-defun-name-complex): New tests for
2262 `css-current-defun-name'.
2264 2017-09-28 Martin Rudalics <rudalics@gmx.at>
2266 In w32fullscreen_hook don't add decorations to undecorated frames
2268 * src/w32term.c (w32fullscreen_hook): Do not add (or try to
2269 remove) decorations for undecorated frames.
2271 2017-09-28 João Távora <joaotavora@gmail.com>
2273 Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
2275 In other words, re-coalesce the two files,
2276 lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
2277 into a single one, lisp/progmodes/flymake.el.
2279 The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
2280 "allow nil init in flymake-allowed-file-name-masks to disable flymake"
2281 are kept in place in the new lisp/progmodes/flymake.el.
2283 This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
2285 Don't merge this back to master as development happening there builds
2286 upon this work. See also
2287 https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00932.html.
2289 2017-09-28 João Távora <joaotavora@gmail.com>
2291 Revert "Add flymake-backends defcustom"
2293 This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
2295 Don't merge this back to master as development happening there builds
2296 upon this work. See also
2297 https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00932.html
2299 2017-09-27 Paul Eggert <eggert@cs.ucla.edu>
2301 * src/editfns.c (styled_format): Fix typo in previous change.
2303 2017-09-27 Paul Eggert <eggert@cs.ucla.edu>
2305 Avoid some unnecessary copying in Fformat etc.
2307 This patch is just for performance; it should not affect behavior.
2308 On my platform, it made the microbenchmark (format "%S" load-path)
2309 run about 45% faster. It should also speed up calls like (message
2311 * src/callint.c (Fcall_interactively):
2312 * src/dbusbind.c (XD_OBJECT_TO_STRING):
2313 * src/editfns.c (Fmessage, Fmessage_box):
2314 * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
2315 Use styled_format instead of Fformat or Fformat_message,
2316 to avoid unnecessary copying.
2317 * src/editfns.c (styled_format): New arg NEW_RESULT.
2318 All uses changed. Reuse an input string if it has the
2319 right value and if !NEW_RESULT.
2320 * src/lisp.h (style_format): New decl.
2322 2017-09-26 John Wiegley <johnw@newartisans.com>
2324 lisp/simple.el: Indicate when a list of pairs is meant in a docstring
2326 2017-09-26 Devon Sean McCullough <Emacs-Hacker2017@jovi.net>
2328 bug#28609: simple.el
2330 Correct grammar; also, call a pair a pair.
2332 2017-09-26 Dmitry Gutov <dgutov@yandex.ru>
2334 Use a separate syntax-ppss cache for narrowed buffers
2336 * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
2337 New variable, to contain the data from `syntax-ppss-last' and
2338 `syntax-ppss-cache'.
2339 (syntax-ppss-cache, syntax-ppss-last): Remove.
2340 (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
2341 (syntax-ppss-flush-cache): Flush both caches.
2342 (syntax-ppss--data): Return the appropriate last result and
2343 buffer cache for the current restriction.
2344 (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
2346 2017-09-26 Joerg Behrmann <behrmann@physik.fu-berlin.de> (tiny change)
2348 Improve python3-compatibility of fallback completion (Bug#28499)
2350 * lisp/progmodes/python.el (python-eldoc-setup-code): Use
2351 inspect.getfullargspec instead of inspect.getargspec to avoid a
2352 deprecation warning on every usage of eldoc in python-mode.
2354 2017-09-26 Noam Postavsky <npostavs@gmail.com>
2356 Fix subr-x-tests when running from elc
2358 * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
2359 Use `eval' around the `should-error' cases.
2361 2017-09-26 Noam Postavsky <npostavs@gmail.com>
2363 * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
2365 2017-09-26 Noam Postavsky <npostavs@gmail.com>
2367 Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
2369 * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
2370 variable alias for `sh-basic-offset'.
2371 (sh-mode, sh-smie--indent-continuation)
2372 (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
2373 with `sh-basic-offset'.
2375 2017-09-26 Noam Postavsky <npostavs@gmail.com>
2377 Fix loading of smie-config rules (Bug#24848)
2379 * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
2380 instead of `setq-default'.
2381 (smie-config): Use `custom-initialize-set' instead of
2382 `custom-initialize-default' as the :initialize argument.
2384 * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
2385 we call `smie-config-guess' so that the user will have a chance to
2386 find the correct docstring to consult. Remove hedging comments
2387 regarding use of abnormal hooks.
2389 2017-09-26 Dmitry Gutov <dgutov@yandex.ru>
2391 Reset default-directory inside *xref-grep* buffer
2393 * lisp/progmodes/xref.el (xref-collect-matches):
2394 Reset default-directory, too. (Bug#28575)
2396 2017-09-25 Michael Albinus <michael.albinus@gmx.de>
2398 * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
2401 2017-09-25 Mark Oteiza <mvoteiza@udel.edu>
2403 Loosen strict parsing requirement for desktop files
2405 There are other desktop-looking files, for instance those having to do
2406 with MIME typess, that would benefit from being able to be read by this
2407 function. It helps to have some flexibility.
2408 * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
2409 * test/lisp/xdg-tests.el: Remove a test.
2411 2017-09-25 Mark Oteiza <mvoteiza@udel.edu>
2413 * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
2415 2017-09-25 Martin Rudalics <rudalics@gmx.at>
2417 Fix documentation of `make-frame' and related variables and hooks
2419 * lisp/frame.el (before-make-frame-hook)
2420 (after-make-frame-functions, frame-inherited-parameters)
2421 (make-frame): Fix doc-strings.
2422 * doc/lispref/frames.texi (Creating Frames): Fix description
2423 of `make-frame' and related variables and hooks.
2425 2017-09-24 Eric Abrahamsen <eric@ericabrahamsen.net>
2427 Accept new `always' value for option `buffer-offer-save'
2429 Also revert ee512e9a82
2431 * lisp/files.el (buffer-offer-save): In addition to nil and t, now
2432 allows a third symbol value, `always'. A buffer where this option is
2433 set to `always' will always be offered for save by
2434 `save-some-buffers'.
2435 (save-some-buffers): Check the exact value of this buffer-local
2436 variable. No longer check the buffer name, or the value of
2437 `write-contents-functions'.
2438 * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
2439 * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
2441 * etc/NEWS: Mention in NEWS.
2443 2017-09-24 Alan Third <alan@idiocy.org>
2445 Improve new NS scrolling variable names
2447 * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
2448 'ns-use-mwheel-acceleration'.
2449 (ns-touchpad-scroll-line-height): Replace with
2450 'ns-mwheel-line-height'.
2451 (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
2452 * etc/NEWS: Change variable names.
2454 2017-09-24 Philipp Stephani <phst@google.com>
2456 Document 'replace-buffer-contents' in the manual.
2458 * doc/lispref/text.texi (Replacing): New node.
2460 2017-09-23 Alan Third <alan@idiocy.org>
2462 Fix undecorated frame resizing issues on NS (bug#28512)
2464 * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
2465 toolbar on undecorated frames.
2466 (EmacsView::initFrameFromEmacs): Group window flags correctly.
2468 2017-09-23 Eli Zaretskii <eliz@gnu.org>
2470 Fix doc string of 'dired-listing-switches'
2472 * lisp/dired.el (dired-listing-switches): Fix the quoting
2473 example. (Bug#28569)
2475 2017-09-23 Eli Zaretskii <eliz@gnu.org>
2477 Documentation improvements for 'display-line-numbers'
2479 * doc/emacs/display.texi (Display Custom): Document a few more
2480 options for display-line-numbers. (Bug#28533) Fix a typo.
2482 2017-09-22 Eli Zaretskii <eliz@gnu.org>
2484 Fix last change in bat-mode.el
2486 * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
2489 2017-09-22 Eli Zaretskii <eliz@gnu.org>
2491 Fix restoring in GUI sessions desktop saved in TTY sessions
2493 * lisp/frameset.el (frameset-filter-font-param): New function.
2494 (frameset-persistent-filter-alist): Use it for processing the
2495 'font' frame parameter. (Bug#17352)
2497 2017-09-22 Eli Zaretskii <eliz@gnu.org>
2499 Improve syntax highlighting in bat-mode
2501 * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
2502 font-locking of environment variables. Suggested by Achim Gratz
2503 <Stromeko@nexgo.de>. (Bug#28311) (Bug#18405)
2505 2017-09-22 Eli Zaretskii <eliz@gnu.org>
2507 Document the 'list-FOO' convention
2509 * doc/lispref/tips.texi (Coding Conventions): Document the
2510 list-FOO convention.
2512 2017-09-22 Mark Oteiza <mvoteiza@udel.edu>
2514 Expose viewing conditions in CAM02-UCS metric
2516 Also add tests from the colorspacious library. Finally, catch an
2517 errant calculation, where degrees were not being converted to radians.
2518 * src/lcms.c (deg2rad, default_viewing_conditions):
2519 (parse_viewing_conditions): New functions.
2520 (lcms-cam02-ucs): Add comments pointing to references used. Expand
2521 the docstring and explain viewing conditions. JCh hue is given in
2522 degrees and needs to be converted to radians.
2523 (lcms-d65-xyz): Remove. No need to duplicate this in Lisp or make the
2524 API needlessly impure.
2525 * test/src/lcms-tests.el: Reword commentary.
2526 (lcms-rgb255->xyz): New function.
2527 (lcms-cri-cam02-ucs): Fix let-binding.
2528 (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
2530 2017-09-21 Alan Third <alan@idiocy.org>
2532 Revert "Set frame size to actual requested size (bug#18215)"
2534 This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
2536 See bug#28536. I misunderstood bug#18215. It wasn't a bug.
2538 2017-09-21 Gemini Lasswell <gazally@runbox.com>
2540 Add tests for Edebug
2542 * test/lisp/emacs-lisp/edebug-tests.el: New file.
2543 * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
2545 2017-09-21 Gemini Lasswell <gazally@runbox.com>
2547 Catch more messages in ert-with-message-capture
2549 * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
2550 messages from prin1, princ and print.
2551 (ert--make-message-advice): New function.
2552 (ert--make-print-advice): New function.
2554 2017-09-21 Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
2556 Support setting region from secondary selection and vice versa
2558 * lisp/mouse.el (secondary-selection-exist-p): New function to
2559 allow callers to tell existence of the secondary selection
2561 (secondary-selection-to-region): New function to set
2562 beginning and end of the region from those of the secondary
2564 (secondary-selection-from-region): New function to set
2565 beginning and end of the secondary selection from those of
2566 the region. (Bug#27530)
2568 * etc/NEWS: Mention the new functions.
2570 2017-09-20 Paul Eggert <eggert@cs.ucla.edu>
2572 Fix new copy-directory bug with empty dirs
2574 Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
2575 (Bug#28483#34). This is another bug that I introduced in my
2576 recent copy-directory changes.
2577 * lisp/files.el (copy-directory): Work with empty subdirectories, too.
2578 * test/lisp/files-tests.el (files-tests--copy-directory):
2581 2017-09-20 Eli Zaretskii <eliz@gnu.org>
2583 * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
2585 2017-09-20 Eli Zaretskii <eliz@gnu.org>
2587 Fix 2 testsuite tests for MS-Windows
2589 * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
2590 create files with "*" in their names.
2591 * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
2592 results to MS-Windows build. Reported by Fabrice Popineau
2593 <fabrice.popineau@gmail.com>.
2595 2017-09-20 Mark Oteiza <mvoteiza@udel.edu>
2597 Rename timer-list to list-timers
2599 * doc/emacs/anti.texi (Antinews):
2600 * doc/lispref/os.texi (Timers):
2602 * lisp/emacs-lisp/timer-list.el:
2603 (timer-list-mode): Rename timer-list to list-timers.
2605 2017-09-19 Alan Third <alan@idiocy.org>
2607 Provide native touchpad scrolling on macOS
2609 * etc/NEWS: Describe changes.
2610 * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
2611 mouse-wheel-progressive-speed): Set to smarter values for macOS
2613 * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
2614 calculate scrolling for touchpads and mouse wheels.
2615 (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
2616 'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
2617 * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
2618 * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
2619 * lisp/mwheel.el (mwheel-scroll): Use line count.
2620 * lisp/subr.el (event-line-count): New function.
2622 2017-09-19 Eli Zaretskii <eliz@gnu.org>
2624 Fix MinGW64 build broken by recent MinGW64 import libraries
2626 * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
2627 MinGW64 import libraries require that. (Bug#28493)
2629 * src/Makefile.in: Adjust commentary to the new order of w32
2632 2017-09-19 Eli Zaretskii <eliz@gnu.org>
2634 Fix crashes in 'move-point-visually' in minibuffer windows
2636 * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
2637 comparing against the last valid glyph_row of a window glyph
2640 2017-09-19 Eli Zaretskii <eliz@gnu.org>
2642 * src/emacs.c (usage_message): Don't mention 'find-file'.
2644 2017-09-19 Eli Zaretskii <eliz@gnu.org>
2646 Fix a minor inaccuracy in the Emacs manual
2648 * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
2649 'find-file', as the implementation has changed. Reported by
2650 Everton J. Carpes <everton.carpes@gmail.com> in
2651 http://lists.gnu.org/archive/html/help-gnu-emacs/2017-09/msg00146.html.
2653 2017-09-19 Eli Zaretskii <eliz@gnu.org>
2655 Fix errors in flyspell-post-command-hook
2657 * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
2658 case of a nil Nth element of the language dictionary slot. This
2659 avoids errors in 'flyspell-post-command-hook' when switching
2660 dictionaries with some spell-checkers. (Bug#28501)
2662 2017-09-19 Michael Albinus <michael.albinus@gmx.de>
2664 Work on Tramp's file-truename
2666 * lisp/net/tramp-sh.el (tramp-perl-file-truename):
2667 Check also for symlinks.
2668 (tramp-sh-handle-file-truename): Move check for a symlink
2669 cycle to the end. Do not blame symlinks which look like a
2672 * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
2674 2017-09-19 Paul Eggert <eggert@cs.ucla.edu>
2676 Fix bug with make-directory on MS-Windows root
2678 * lisp/files.el (files--ensure-directory): Treat any error, not
2679 just file-already-exists, as an opportunity to check whether DIR
2680 is already a directory (Bug#28508).
2682 2017-09-19 Tom Tromey <tom@tromey.com>
2684 Fix log-view-diff-common when point is after last entry
2687 * lisp/vc/log-view.el (log-view-diff-common): If point is after last
2688 entry, look at the previous revision.
2690 2017-09-18 Ken Brown <kbrown@cornell.edu>
2692 Adapt fileio-tests--symlink-failure to Cygwin
2694 * test/src/fileio-tests.el (fileio-tests--symlink-failure)
2695 [CYGWIN]: Skip the case of a symlink target starting with '\';
2696 this is treated specially on Cygwin.
2698 2017-09-18 Eric Abrahamsen <eric@ericabrahamsen.net>
2700 Ignore buffers whose name begins with a space in save-some-buffers
2702 * lisp/files.el (save-some-buffers): Consider these buffers
2703 "internal", and don't prompt the user to save them.
2704 * doc/lispref/files.texi: Document.
2706 2017-09-18 Michael Albinus <michael.albinus@gmx.de>
2708 Improve tramp-interrupt-process robustness
2710 * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
2711 process has disappeared.
2713 2017-09-18 Michael Albinus <michael.albinus@gmx.de>
2715 Minor Tramp doc update
2717 * doc/misc/tramp.texi (Frequently Asked Questions):
2718 Mention `vc-handled-backends'.
2720 2017-09-18 Mark Oteiza <mvoteiza@udel.edu>
2724 * lisp/subr.el (gensym): Actually implement the default prefix.
2725 * test/lisp/subr-tests.el (subr-tests--gensym): New test.
2727 2017-09-18 Rasmus <rasmus@gmx.us>
2729 Update Org to v9.1.1
2731 Please see etc/ORG-NEWS for major changes.
2733 2017-09-18 Michael Albinus <michael.albinus@gmx.de>
2735 Cleanup in files-tests.el
2737 * test/lisp/files-tests.el (files-tests--make-directory)
2738 (files-tests--copy-directory): Cleanup temporary directories.
2740 2017-09-18 Paul Eggert <eggert@cs.ucla.edu>
2742 Remove old cl-assert calls in 'newline'
2744 * lisp/simple.el (newline): Remove cl-assert calls
2745 that didn't seem to be helping us debug Bug#18913,
2746 and that caused problems as reported in Bug#28280.
2747 Suggested by Glenn Morris (Bug#28280#8).
2749 2017-09-18 Paul Eggert <eggert@cs.ucla.edu>
2751 Avoid crash with C-g C-g in GC
2753 Problem reported by Richard Stallman (Bug#17406).
2754 Based on fix suggested by Eli Zaretskii (Bug#28279#16).
2755 * src/term.c (tty_send_additional_strings):
2756 Use only safe accessors, to avoid crash when C-g C-g in GC.
2758 2017-09-18 Paul Eggert <eggert@cs.ucla.edu>
2760 Fix format-time-string %Z bug with negative tz
2762 * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
2763 numeric zone is negative (Bug#28746).
2764 * test/src/editfns-tests.el (format-time-string-with-zone):
2765 Add test for this bug.
2767 2017-09-18 Paul Eggert <eggert@cs.ucla.edu>
2769 message-citation-line-format %Z is now tz name
2772 * lisp/gnus/message.el (message-citation-line-format):
2773 Fix doc to match new behavior (Bug#28476).
2775 2017-09-18 Mark Oteiza <mvoteiza@udel.edu>
2777 Use doc-view or pdf-tools on any window-system
2779 * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
2782 2017-09-18 Paul Eggert <eggert@cs.ucla.edu>
2784 Fix bug with min and max and NaNs
2786 * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
2787 mistakenly yielded 0. Also, pacify GCC in a better way.
2788 * test/src/data-tests.el (data-tests-min): Test for the bug.
2790 2017-09-17 Paul Eggert <eggert@cs.ucla.edu>
2792 Fix recently-introduced copy-directory bug
2794 Problem reported by Andrew Christianson (Bug#28451):
2795 * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
2796 destination directory if it does not exist, even if it is a
2797 directory name. Simplify, and omit unnecessary test for an
2798 already-existing non-directory target, since make-directory
2799 diagnoses that for us now.
2800 * test/lisp/files-tests.el (files-tests--copy-directory):
2803 2017-09-17 Paul Eggert <eggert@cs.ucla.edu>
2808 2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
2809 2017-09-13 all: Replace many more http URLs by https URLs
2810 * build-aux/config.guess, build-aux/config.sub:
2811 * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
2812 * lib/allocator.h, lib/count-leading-zeros.h:
2813 * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
2814 * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
2815 * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
2816 * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
2817 * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
2818 * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
2820 * lib/gnulib.mk.in: Regenerate.
2822 2017-09-17 Michael Albinus <michael.albinus@gmx.de>
2824 Fix compatibility problem in Tramp
2826 * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
2828 * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
2829 (top): Do not call `tramp-change-syntax' anymore.
2830 (tramp-compat-directory-name-p): New defalias.
2832 * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
2833 * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
2834 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
2835 (tramp-smb-handle-copy-file): Use it.
2837 * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
2840 2017-09-17 Eli Zaretskii <eliz@gnu.org>
2842 Avoid GCC 7 compilation warning in eval.c
2844 * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
2845 GCC compilation warning. Suggested by Paul Eggert <eggert@cs.ucla.edu>
2846 in http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00492.html.
2848 2017-09-17 Michael Albinus <michael.albinus@gmx.de>
2850 Adapt Tramp version. Do not merge
2852 * doc/misc/trampver.texi:
2853 * lisp/net/trampver.el: Change version to "2.3.3.26.1".
2854 (customize-package-emacs-version-alist): Add Tramp version
2855 integrated in Emacs 26.1.
2857 2017-09-17 Tom Tromey <tom@tromey.com>
2859 Search for Syntax section when viewing MDN
2861 * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
2864 2017-09-17 Tom Tromey <tom@tromey.com>
2866 Allow smerge-keep-current to work for empty hunks
2869 * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
2871 * test/lisp/vc/smerge-mode-tests.el: New file.
2873 2017-09-17 Tom Tromey <tom@tromey.com>
2875 Call vc-setup-buffer in vc-git-log-{in,out}going
2878 * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
2881 2017-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
2883 Fix last change to textmodes/page-ext.el
2885 * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
2886 while we build it (bug#28431).
2888 2017-09-16 Glenn Morris <rgm@gnu.org>
2890 * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
2892 2017-09-16 Glenn Morris <rgm@gnu.org>
2894 * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
2896 (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
2898 2017-09-16 Eli Zaretskii <eliz@gnu.org>
2900 Fix compilation warning in etags.c
2902 * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
2903 pointer. Reported by Richard Copley <rcopley@gmail.com>.
2905 2017-09-16 Mark Oteiza <mvoteiza@udel.edu>
2907 Add lisp variable lcms-d65-xyz
2909 This serves as the default optional argument for functions in this
2911 * src/lcms.c (lcms-d65-xyz): New variable.
2912 (lcms-cam02-ucs): Use it. Use better word in docstring. Fix bug
2914 * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
2915 (lcms-colorspacious-d65): New variable.
2917 2017-09-16 Gemini Lasswell <gazally@runbox.com>
2919 * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
2921 2017-09-16 Andy Moreton <andrewjmoreton@gmail.com>
2923 Avoid MinGW64 compiler warnings in unexw32.c
2925 * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
2928 2017-09-16 Eli Zaretskii <eliz@gnu.org>
2930 Start emacs-26 release branch
2935 * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
2937 * lisp/cus-edit.el (customize-changed-options-previous-release):
2938 Update value to "25.3".
2940 2017-09-16 Alan Mackenzie <acm@muc.de>
2942 Cope better with C++ and Objective-C protection keywords in class declarations
2944 This fix fixes the fontification of a method inside a class at the time it is
2945 typed, when there is a protection keyword clause preceding it.
2947 * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
2949 (c-looking-at-decl-block): Avoid scanning forward over protection keyword
2950 clauses too eagerly.
2952 * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
2953 lang defconsts and defvars.
2955 * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
2956 keyword following a semicolon or brace, move forward over it before attempting
2959 2017-09-16 Eli Zaretskii <eliz@gnu.org>
2961 Fix order of sorted overlays returned by 'overlays-at'
2963 * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
2964 list of results, to have their order as per the documentation.
2967 * etc/NEWS: Mention the change in the behavior of overlays-at.
2969 2017-09-16 Eli Zaretskii <eliz@gnu.org>
2971 Disable execution of unsafe Lisp by Enriched Text mode
2973 * src/xdisp.c (handle_display_spec): If the display property is
2974 wrapped in 'disable-eval' form, disable Lisp evaluation while
2975 processing this property.
2976 (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
2977 If that argument is false, don't evaluate Lisp while processing
2980 * lisp/textmodes/enriched.el
2981 (enriched-allow-eval-in-display-props): New defcustom.
2982 (enriched-decode-display-prop): If
2983 enriched-allow-eval-in-display-props is nil, wrap the display
2984 property with 'disable-eval' to disable Lisp evaluation when the
2985 display property is processed for display. (Bug#28350)
2986 * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
2989 * doc/lispref/display.texi (Display Property): Document the
2990 'disable-eval' wrapping of 'display' properties.
2991 * doc/emacs/text.texi (Enriched Properties): Document
2992 'enriched-allow-eval-in-display-props'.
2994 * etc/NEWS: Describe the security issues with Enriched Text mode
2997 2017-09-16 Eli Zaretskii <eliz@gnu.org>
2999 Avoid MinGW64 compilation warning in w32.c
3001 * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
3003 2017-09-16 Eli Zaretskii <eliz@gnu.org>
3005 Fix MS-Windows build broken by recent changes in lcms.c
3007 * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
3008 and cmsxyY2XYZ function pointers.
3009 (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
3010 cmsxyY2XYZ from liblcms2.
3011 (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
3012 corresponding function pointers.
3013 (Flcms_temp_to_white_point): Minor stylistic changes. Doc fix.
3014 (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
3016 2017-09-16 Eli Zaretskii <eliz@gnu.org>
3018 Avoid GCC 7 compilation warning in data.c
3020 * src/data.c (minmax_driver): Use UNINIT to avoid compilation
3021 warnings. Reported by Fabrice Popineau
3022 <fabrice.popineau@centralesupelec.fr>.
3024 2017-09-16 Mark Oteiza <mvoteiza@udel.edu>
3026 Add lcms-temp->white-point and initial tests
3028 * src/lcms.c (lcms-temp->white-point): New function.
3029 * test/src/lcms-tests.el: New file.
3031 2017-09-16 Mark Oteiza <mvoteiza@udel.edu>
3033 Use cl-print in timer list
3035 * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
3036 for handling functions.
3037 (timer-list-mode): Capitalize major mode name. Set bidi direction
3038 as in tabulated-list-mode.
3040 2017-09-15 Vincent Belaïche <vincentb1@users.sourceforge.net>
3042 Make landscape layout with geometry package rather than a PostScript special.
3044 * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
3045 default class option.
3046 (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
3047 request to `cal-tex-insert-preamble' function call within the
3048 class option string.
3049 (cal-tex-cursor-month): Don't pass any longer "12pt" argument
3050 to `cal-tex-insert-preamble' function, as it is default.
3051 (cal-tex-insert-preamble): Suppress landscape and size
3052 argument, and replace them by a class-options string
3053 argument. Do not insert any longer "\special{landscape}" in
3054 case of landscape layout, as the job is made by the geometry
3057 2017-09-15 Mark Oteiza <mvoteiza@udel.edu>
3059 * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
3061 2017-09-15 Eli Zaretskii <eliz@gnu.org>
3063 One more attempt to avoid GCC 7 warnings in dispnew.c
3065 * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
3066 eassert, to avoid compilation warnings about NULL pointer
3069 2017-09-15 Mark Oteiza <mvoteiza@udel.edu>
3071 Fix color-distance docstring
3073 Also feed the translated color to the metric argument.
3074 * src/xfaces.c (color-distance): Reword docstring to be more helpful.
3075 Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
3076 instead of the function's color arguments.
3078 2017-09-15 Michael Albinus <michael.albinus@gmx.de>
3080 Improve Tramp behaviour according to bug#27986
3082 * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
3083 * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
3084 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
3085 (tramp-smb-handle-copy-file): Check, that NEWNAME is a
3086 directory name when existing. Use `file-name-as-directory'
3089 2017-09-15 Mark Oteiza <mvoteiza@udel.edu>
3091 More JSON optimization
3093 Last I checked, inlining json-skip-whitespace didn't make much
3094 difference. However, changing defsubsts to define-inline results
3095 in roughly 15% reduction in read time on a 200K file.
3096 * lisp/json.el (json-advance, json-peek, json-pop):
3097 (json-skip-whitespace): Inline with define-inline.
3098 (json-read-keyword): Don't use whitespace syntax.
3099 (json-add-to-object): Simpler condition.
3101 2017-09-15 Eli Zaretskii <eliz@gnu.org>
3103 Avoid crashes due to invalid error forms from sentinels/filters
3105 * src/process.c (exec_sentinel_error_handler): Make sure the error
3106 form passed to cmd_error_internal is a cons cell. (Bug#28430)
3108 2017-09-15 Eli Zaretskii <eliz@gnu.org>
3110 Avoid compilation warnings with GCC 7 on MS-Windows
3112 * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
3113 (w32_read_socket): Initialize variables to shut up bogus
3114 compilation warnings from GCC 7.
3115 * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
3116 to avoid compiler warnings about printing signed values using %x
3118 * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
3119 compiler warning about possible NULL pointer dereference.
3120 * src/lisp.h (pI): Tweak the definition some more for MinGW64.
3122 2017-09-15 Martin Rudalics <rudalics@gmx.at>
3124 Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
3126 * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
3127 case only to avoid unused macros warning otherwise.
3129 2017-09-15 Martin Rudalics <rudalics@gmx.at>
3131 In w32heap.c bump up DUMPED_HEAP_SIZE
3133 * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
3134 to 13*1024*1024 for 32-bit non-wide-integer builds.
3136 2017-09-15 Mark Oteiza <mvoteiza@udel.edu>
3138 Bind n,p in timer-list
3140 * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
3141 to next- and previous-line, respectively.
3143 2017-09-14 Glenn Morris <rgm@gnu.org>
3145 * lisp/net/tls.el (tls-program): Fix :version.
3147 2017-09-14 Eli Zaretskii <eliz@gnu.org>
3149 * configure.ac (--with-lcms2, --without-lcms2): New options.
3151 2017-09-14 Eli Zaretskii <eliz@gnu.org>
3153 Avoid 64-bit compilation warnings in unexw32.c
3155 * src/unexw32.c (pDWP): New macro.
3156 (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR. Use
3157 pDWP for printing values that can be either 32-bit or 64-bit wide.
3159 2017-09-14 Eli Zaretskii <eliz@gnu.org>
3161 Fix warnings about formats in printf-like functions on MS-Windows
3163 * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
3164 hopefully DTRT with both MinGW64 and mingw.org's MinGW. See
3165 http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00171.html
3167 * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
3168 definition specific to MinGW64.
3169 (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
3170 __mingw_printf__ in ANSI-compatible mode.
3172 2017-09-14 Eli Zaretskii <eliz@gnu.org>
3174 Support lcms2 in MS-Windows builds
3176 * lisp/term/w32-win.el (dynamic-library-alist): Include
3177 association for the lcms2 library.
3179 * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h. Use
3180 DEF_DLL_FN to define pointers to dynamically loaded lcms2
3182 (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
3183 (cmsCIECAM02Done): New macros.
3184 (init_lcms_functions, Flcms2_available_p): New functions.
3185 (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
3186 init_lcms_functions.
3187 (syms_of_lcms2): Defsubr lcms2-available-p.
3188 * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
3190 * configure.ac: Include lcms2 in the final report and in
3191 emacs_config_features.
3194 * nt/INSTALL.W64: Update with the information about lcms2 library.
3196 2017-09-14 Paul Eggert <eggert@cs.ucla.edu>
3198 Port renameat_noreplace to openSUSE 12.3
3200 Problem reported by M. Nomiya in:
3201 http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00363.html
3202 * src/sysdep.c (renameat_noreplace):
3203 Call renameat2 only if CYGWIN.
3205 2017-09-14 Paul Eggert <eggert@cs.ucla.edu>
3207 Prefer HTTPS to FTP and HTTP in documentation
3209 Most of this change is to boilerplate commentary such as license URLs.
3210 This change was prompted by ftp://ftp.gnu.org's going-away party,
3211 planned for November. Change these FTP URLs to https://ftp.gnu.org
3212 instead. Make similar changes for URLs to other organizations moving
3213 away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and
3214 fsf.org when this works, as this will further help defend against
3215 man-in-the-middle attacks (for this part I omitted the MS-DOS and
3216 MS-Windows sources and the test tarballs to keep the workload down).
3217 HTTPS is not fully working to lists.gnu.org so I left those URLs alone
3220 2017-09-14 Paul Eggert <eggert@cs.ucla.edu>
3222 Prefer HTTPS to HTTP for gnu.org
3224 This patch just changes code files; a followup companion patch
3225 (much larger) will affect the commentary. This part is
3226 separated out to make it easier to review.
3227 * .dir-locals.el (change-log-mode):
3228 * lisp/org/org-info.el (org-info-other-documents)
3229 (org-info-map-html-url):
3230 * lisp/org/ox-html.el (org-html-creator-string):
3231 * lisp/startup.el (fancy-startup-text, fancy-about-text)
3232 (fancy-splash-head):
3233 * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
3234 * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
3235 Use HTTPS instead of HTTP.
3237 2017-09-13 Simen Heggestøyl <simenheg@gmail.com>
3239 Add tests for color.el
3241 * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
3242 docstrings that RGB triplets should use four digits per component.
3243 (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
3246 * test/lisp/color-tests.el: New file.
3248 2017-09-13 Lars Ingebrigtsen <larsi@gnus.org>
3250 Make gnutls-verify-error work again with url-retrieve-synchronously
3252 * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
3253 we're doing async connections (bug#26835).
3255 * lisp/url/url-parse.el (url): Add an asynchronous slot.
3257 * lisp/url/url.el (url-asynchronous): New variable.
3258 (url-retrieve-internal): Store the value.
3259 (url-retrieve-synchronously): Bind the variable.
3261 2017-09-13 Michael Albinus <michael.albinus@gmx.de>
3263 Improve backward compatibility of tramp-tests
3265 * test/lisp/net/tramp-tests.el (seq): Don't require.
3266 (tramp--test-emacs26-p): New defun.
3267 (tramp-test10-write-region, tramp-test11-copy-file)
3268 (tramp-test12-rename-file, tramp-test15-copy-directory)
3269 (tramp-test21-file-links): Use it.
3270 (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
3272 2017-09-13 Michael Albinus <michael.albinus@gmx.de>
3274 * lisp/net/trampver.el (customize-package-emacs-version-alist):
3276 Add Tramp version integrated in Emacs 25.3.
3278 2017-09-13 Mark Oteiza <mvoteiza@udel.edu>
3280 Add clarification to if-let* docstring
3282 Also make its behaviour consistent with and-let* in that empty bindings
3283 results in success, not failure.
3284 * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
3286 2017-09-13 Lars Ingebrigtsen <larsi@gnus.org>
3288 Make fully qualified domain names more fully qualified
3290 * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
3291 system-name without any periods as a fully qualified domain name.
3293 2017-09-13 Paul Eggert <eggert@cs.ucla.edu>
3295 Remove unused file lib/getopt_.h
3297 * lib/getopt_.h: Remove. It was renamed to lib/getopt.in.h etc.
3298 on 2011-01-08, but I forgot to remove the old file.
3300 2017-09-13 Mark Oteiza <mvoteiza@udel.edu>
3302 Remove "baroque" use of prefix argument from gensym
3304 'cl-gensym' was simply moved here, but let us take an opportunity to
3305 shed some historical baggage.
3306 * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
3307 number. Use "g" as prefix to differentiate from cl-gensym defaults.
3308 * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
3309 * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
3311 2017-09-13 Mark Oteiza <mvoteiza@udel.edu>
3313 Provide an lcms2 feature
3315 * src/lcms.c (syms_of_lcms2): Provide "lcms2".
3317 2017-09-13 Mark Oteiza <mvoteiza@udel.edu>
3321 configure.ac: Add boilerplate for configuring and detecting liblcms2.
3322 etc/NEWS: Mention new configure option and color-distance change.
3323 src/Makefile.in: Add references to lcms.c and liblcms.
3324 src/emacs.c: Define lcms2 symbols.
3325 src/lcms.c: New file.
3326 src/lisp.h: Add declaration for lcms2.
3327 src/xfaces.c: Add optional METRIC argument.
3329 2017-09-13 Mark Oteiza <mvoteiza@udel.edu>
3331 Add other D series white points and some simple conversions
3333 * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
3335 (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
3336 (color-lch-to-lab): New functions.
3338 2017-09-13 Mark Oteiza <mvoteiza@udel.edu>
3340 Permit non-integral color gradients
3342 * lisp/color.el (color-gradient): Float the step-number.
3344 2017-09-13 Katsumi Yamaoka <yamaoka@jpl.org>
3346 Protect against malformed MIME messages that cause inf-loop (bugfix)
3348 * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
3349 Protect against malformed MIME messages that cause inf-loop.
3351 2017-09-13 Paul Eggert <eggert@cs.ucla.edu>
3356 2017-09-13 all: prefer https: URLs
3357 This just changes http: to https: in comments,
3358 in files copied from Gnulib.
3360 2017-09-13 Dmitry Gutov <dgutov@yandex.ru>
3362 Call vc-resynch-buffer in vc-git-resolve-when-done
3364 * lisp/vc/vc-git.el (vc-git-resolve-when-done):
3365 Call vc-resynch-buffer on the current file (bug#28121).
3366 Move its autoload to before this function.
3368 2017-09-13 Eric Abrahamsen <eric@ericabrahamsen.net>
3370 Allow write-contents-functions to short-circuit buffer save
3374 * lisp/files.el (basic-save-buffer): Re-arrange function so that
3375 write-contents-functions are run earlier. If they return non-nil,
3376 consider the buffer saved without requiring the buffer to be
3378 (save-some-buffers): This function should consider any buffer with a
3379 buffer-local value for write-contents-functions eligible for
3381 * test/lisp/files-tests.el (files-test-no-file-write-contents): New
3383 * doc/lispref/files.texi (Saving Buffers): Mention in docs.
3384 * etc/NEWS: And in NEWS.
3386 2017-09-12 Paul Eggert <eggert@cs.ucla.edu>
3388 * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
3390 2017-09-12 Paul Eggert <eggert@cs.ucla.edu>
3392 Less chatter for ’make info/dir’
3394 * Makefile.in (${srcdir}/info/dir): Tweak shell command so
3395 that an ordinary make says just "GEN info/dir" rather than
3396 also having a seemingly-unrelated mv line.
3398 2017-09-12 Paul Eggert <eggert@cs.ucla.edu>
3400 Tweak Gnus doc re gnus-copy-file
3402 * doc/misc/gnus.texi (Saving Articles):
3403 Document behavior with directory name targets (Bug#27986).
3404 Problem reported by Katsumi Yamaoka in:
3405 http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00216.html
3407 2017-09-12 Mark Oteiza <mvoteiza@udel.edu>
3409 Update uses of if-let and when-let
3411 * lisp/dom.el (dom-previous-sibling):
3412 * lisp/emacs-lisp/package.el (package--with-work-buffer):
3413 (package--sort-deps-in-alist, package--sort-by-dependence):
3414 (package-install-from-archive, package-install):
3415 (package-menu-execute, package-menu--populate-new-package-list):
3416 * lisp/filenotify.el (file-notify--rm-descriptor):
3417 (file-notify--event-watched-file, file-notify--event-file-name):
3418 (file-notify--event-file1-name, file-notify-rm-watch):
3419 (file-notify-valid-p):
3420 * lisp/gnus/message.el (message-toggle-image-thumbnails):
3421 * lisp/gnus/nnimap.el (nnimap-request-move-article):
3422 * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
3423 * lisp/mpc.el (mpc-format):
3424 * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
3426 * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
3427 * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
3428 * lisp/svg.el (svg-remove):
3429 * lisp/textmodes/css-mode.el (css--named-color):
3430 (css--colon-inside-funcall):
3431 * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
3432 (html-current-buffer-ids): Use if-let* and when-let* instead.
3434 2017-09-12 Mark Oteiza <mvoteiza@udel.edu>
3438 This also includes changes to if-let and when-let. The single tuple
3439 special case is ambiguous, and binding a symbol to nil is not as
3440 useful as binding it to its value outside the lexical scope of the
3441 binding. (Bug#28254)
3442 * etc/NEWS: Mention.
3443 * lisp/emacs-lisp/subr-x.el (internal--listify):
3444 (internal--build-binding-value-form): Extend to account for
3445 solitary symbols and (EXPR) items in binding varlist.
3446 (if-let*, when-let*): Nix single tuple case and incumbent
3447 bind-symbol-to-nil behavior.
3448 (and-let*): New macro.
3449 (if-let, when-let): Mark obsolete. Redefine in terms of if-let*, so
3450 they implicitly gain the new features without breaking existing code.
3451 * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
3452 single-tuple special case, lack of binding solitary symbols to nil,
3453 and the introduction of uninterned symbols for (EXPR) bindings. Add
3454 SRFI-2 test suite adapted to Elisp.
3456 2017-09-12 Eli Zaretskii <eliz@gnu.org>
3458 Fix minor typos in the Emacs manual
3460 * doc/emacs/text.texi (Org Organizer):
3461 * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
3463 2017-09-12 Paul Eggert <eggert@cs.ucla.edu>
3465 Merge Emacs 25.3 fixes
3467 The security patches released for Emacs 25.3 were less drastic
3468 than what we had immediately put into master. Adjust master to
3469 match 25.3 (Bug#28350).
3470 * lisp/textmodes/enriched.el (enriched-translations):
3471 Re-enable FUNCTION and display translations that are safe.
3472 (enriched-handle-display-prop): Bring back.
3473 (enriched-decode-display-prop): Bring back, but disable
3476 2017-09-12 Alan Mackenzie <acm@muc.de>
3478 Don't match C++ template delims starting within a token. FIxes bug #28418.
3480 * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
3481 attempted match from the start of a token (in particular, "<<"), move to the
3482 next token rather than the nex character before searching for the next "<".
3484 2017-09-12 Mark Oteiza <mvoteiza@udel.edu>
3486 Move gensym to core Elisp
3488 * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
3490 * etc/NEWS: Mention.
3491 * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
3493 (cl-gensym): Alias to gensym.
3494 * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
3495 * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
3496 * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
3497 (ert--expand-should-1, ert--expand-should):
3498 (ert--should-error-handle-error):
3499 * lisp/emacs-lisp/generator.el (cps--gensym):
3500 * lisp/emacs-lisp/gv.el (setf):
3501 * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
3502 * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
3503 (pcase--funcall, pcase--u1): Use gensym.
3504 * lisp/subr.el (gensym-counter): New variable.
3505 (gensym): New function, assimilated from cl-lib.
3507 2017-09-12 Mark Oteiza <mvoteiza@udel.edu>
3511 * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
3512 (cl-gentemp): Use it. Change prefix to "T".
3514 2017-09-12 Sam Steingold <sds@gnu.org>
3516 gnus-score-file-name: Do not append empty suffix.
3518 2017-09-12 Michael Albinus <michael.albinus@gmx.de>
3520 Extend tramp-tests according to bug#27986
3522 * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
3523 (tramp-test12-rename-file, tramp-test15-copy-directory)
3524 (tramp-test21-file-links): Extend tests.
3525 (tramp-test13-make-directory, tramp-test14-delete-directory):
3526 Specifiy error symbol in `should-error'.
3528 2017-09-12 Mark Oteiza <mvoteiza@udel.edu>
3530 Add cl-print method for hash tables
3532 * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
3534 2017-09-12 Mark Oteiza <mvoteiza@udel.edu>
3536 Add docstrings to cl-print entry points
3538 * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
3539 (cl-prin1, cl-prin1-to-string): Add docstrings.
3541 2017-09-12 Glenn Morris <rgm@gnu.org>
3543 Improve reproducibility of generated leim-list.el
3545 * lisp/international/quail.el (quail-update-leim-list-file):
3546 Sort the quail directory listing, for more stable output.
3548 2017-09-11 Mark Oteiza <mvoteiza@udel.edu>
3550 Include sxhash of object with printed bytecode
3552 This printing, while succint, is rather opaque. At least give an
3553 immediate clue of whether different byte code printouts are for the
3554 same or different byte code objects.
3555 * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
3556 printed token "#<bytecode>".
3558 2017-09-11 Eli Zaretskii <eliz@gnu.org>
3560 Update documentation of 'max-lisp-eval-depth'
3562 * doc/lispref/eval.texi (Eval): Update the documented default
3563 value of 'max-lisp-eval-depth'.
3565 2017-09-11 Eli Zaretskii <eliz@gnu.org>
3567 Another place to produce debugging output in etags
3569 * lib-src/etags.c (Ruby_functions): One more place to print
3570 debugging output under --debug.
3572 2017-09-11 Eli Zaretskii <eliz@gnu.org>
3574 Improve documentation of etags-related features
3576 * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
3577 'xref-prompt-for-identifier'. (Bug#28403)
3578 (Etags Regexps): Document \D back references in etags regexps.
3580 2017-09-11 Alan Third <alan@idiocy.org>
3582 Fix macOS compatibility versions for vibrant dark theme (bug#28415)
3584 * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
3585 Change macOS compatibility from 10.9 to 10.10.
3587 2017-09-11 Michael Albinus <michael.albinus@gmx.de>
3589 Further optimization in Tramp's file name decomposition
3591 * lisp/net/tramp.el (tramp-syntax): Recompute all file name
3592 components. Call `custom-set-variables' after loading.
3593 (tramp-build-prefix-format, tramp-build-prefix-regexp)
3594 (tramp-build-method-regexp)
3595 (tramp-build-postfix-method-format)
3596 (tramp-build-postfix-method-regexp)
3597 (tramp-build-prefix-ipv6-format)
3598 (tramp-build-prefix-ipv6-regexp)
3599 (tramp-build-postfix-ipv6-format)
3600 (tramp-build-postfix-ipv6-regexp)
3601 (tramp-build-postfix-host-format)
3602 (tramp-build-postfix-host-regexp)
3603 (tramp-build-file-name-regexp)
3604 (tramp-build-completion-file-name-regexp): New defuns.
3605 (tramp-prefix-format, tramp-prefix-regexp)
3606 (tramp-method-regexp, tramp-postfix-method-format)
3607 (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
3608 (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
3609 (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
3610 (tramp-postfix-host-regexp)
3611 (tramp-remote-file-name-spec-regexp)
3612 (tramp-file-name-structure, tramp-file-name-regexp)
3613 (tramp-completion-file-name-regexp): Convert defuns into defvars.
3614 (tramp-prefix-regexp-alist)
3615 (tramp-postfix-method-regexp-alist)
3616 (tramp-prefix-ipv6-regexp-alist)
3617 (tramp-postfix-ipv6-regexp-alist)
3618 (tramp-postfix-host-regexp-alist)
3619 (tramp-remote-file-name-spec-regexp-alist): Remove.
3620 (tramp-build-remote-file-name-spec-regexp)
3621 (tramp-build-file-name-structure): Simplify.
3622 (tramp-completion-file-name-regexp-alist): New defconst.
3623 (tramp-tramp-file-p, tramp-dissect-file-name)
3624 (tramp-make-tramp-file-name)
3625 (tramp-completion-make-tramp-file-name)
3626 (tramp-rfn-eshadow-update-overlay-regexp)
3627 (tramp-register-file-name-handlers)
3628 (tramp-completion-handle-file-name-all-completions)
3629 (tramp-completion-dissect-file-name, tramp-clear-passwd):
3630 * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
3631 * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
3632 (tramp-compute-multi-hops): Use variables but functions for
3633 file name components.
3635 * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
3636 Use variables but functions for file name components.
3638 2017-09-11 Paul Eggert <eggert@cs.ucla.edu>
3640 Port tramp-tests to new copy-directory behavior
3642 * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
3643 Use directory name as arg for copy-directory when we want
3644 the special behavior.
3646 2017-09-11 Paul Eggert <eggert@cs.ucla.edu>
3648 Adjust thumbs to new rename-file behavior
3650 * etc/NEWS: Mention this.
3651 * lisp/thumbs.el (thumbs-rename-images): Treat the destination
3652 as special only if it is a directory name. When there is
3653 a marked list, turn the destination into a directory name
3654 if it is not already.
3656 2017-09-11 Paul Eggert <eggert@cs.ucla.edu>
3658 Adjust ob-tangle to new copy-file behavior
3660 * lisp/org/ob-tangle.el (org-babel-tangle-publish):
3661 Port to new copy-file behavior.
3663 2017-09-11 Paul Eggert <eggert@cs.ucla.edu>
3665 Make gnus-copy-file act like copy-file etc.
3667 * etc/NEWS: Mention this.
3668 * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
3669 as special only if it is a directory name.
3671 2017-09-11 Paul Eggert <eggert@cs.ucla.edu>
3673 Make write-file act like copy-file etc.
3675 Change write-file to be consistent with the new behavior
3677 * etc/NEWS: Mention this.
3678 * lisp/files.el (write-file): Treat the destination as special
3679 only if it is a directory name.
3681 2017-09-11 Paul Eggert <eggert@cs.ucla.edu>
3683 Make copy-directory act like copy-file etc.
3685 Do the special dance with the destination only if it is a
3686 directory name, for consistency with copy-file etc. (Bug#27986).
3687 * doc/emacs/files.texi (Copying and Naming):
3688 * doc/lispref/files.texi (Create/Delete Dirs):
3689 * etc/NEWS: Document this.
3690 * lisp/files.el (copy-directory): Treat NEWNAME as special
3691 only if it is a directory name.
3693 2017-09-11 Paul Eggert <eggert@cs.ucla.edu>
3695 Fix some make-directory bugs
3697 * lisp/files.el (files--ensure-directory): New function.
3698 (make-directory): Use it to avoid bugs when (make-directory FOO t)
3699 is invoked on a non-directory, or on a directory hierarchy that
3700 is being built by some other process while Emacs is running.
3701 * test/lisp/files-tests.el (files-tests--make-directory): New test.
3703 2017-09-11 Paul Eggert <eggert@cs.ucla.edu>
3705 Fix race with rename-file etc. with dir NEWNAME
3707 This changes the behavior of rename-file etc. slightly.
3708 The old behavior mostly disagreed with the documentation, and had
3709 a race condition bug that could allow attackers to modify victims'
3710 write-protected directories (Bug#27986).
3711 * doc/lispref/files.texi (Changing Files): Document that in
3712 rename-file etc., NEWFILE is special if it is a directory name.
3713 * etc/NEWS: Document the change in behavior.
3714 * src/fileio.c (directory_like): Remove. All uses removed.
3715 (expand_cp_target): Test only whether NEWNAME is a directory name,
3716 not whether it is currently a directory. This avoids a race.
3717 (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
3718 Document behavior if NEWNAME is a directory name.
3719 (Frename_file): Simplify now that the destdir behavior occurs
3720 only when NEWNAME is a directory name.
3721 * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
3722 (tramp-test12-rename-file, tramp--test-check-files):
3723 Adjust tests to match new behavior.
3725 2017-09-10 Eli Zaretskii <eliz@gnu.org>
3727 Extend --debug printouts in etags
3729 * lib-src/etags.c (regex_tag_multiline, readline): Under
3730 "--debug", print tags found via regexps.
3732 2017-09-10 Eli Zaretskii <eliz@gnu.org>
3734 Add --debug option to etags
3736 * lib-src/etags.c (make_tag): Print found tags under --debug.
3737 (longopts): Add --debug.
3739 2017-09-10 Paul Eggert <eggert@cs.ucla.edu>
3743 * lisp/progmodes/cc-langs.el:
3744 (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
3745 c-ambiguous-overloadable-or-identifier-prefices. Caller changed.
3747 2017-09-10 Paul Eggert <eggert@cs.ucla.edu>
3752 2017-09-08 stddef: Avoid conflict with system-defined max_align_t
3753 2017-08-24 warnings: fix compilation with old autoconf
3754 2017-08-23 glob: merge from glibc with Zanella glob changes
3755 2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
3756 * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
3757 * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
3760 * lib/gnulib.mk.in: Regenerate.
3762 2017-09-10 Ken Brown <kbrown@cornell.edu>
3764 Implement renameat_noreplace on recent Cygwin
3766 * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
3767 (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
3770 2017-09-10 Eli Zaretskii <eliz@gnu.org>
3772 Avoid warnings about file names in autoloads on MS-Windows
3774 * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
3775 avoid warnings from find-file-noselect when making autoloads. For
3777 http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00049.html.
3779 2017-09-10 Mark Oteiza <mvoteiza@udel.edu>
3781 Avoid looking at localized strings
3783 * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
3785 * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
3786 parsing l10n strings doesn't error but is essentially a no-op.
3788 2017-09-10 Paul Eggert <eggert@cs.ucla.edu>
3790 * etc/NEWS.25: Document 25.3 changes.
3792 2017-09-10 Lars Ingebrigtsen <larsi@gnus.org>
3794 Remove unsafe enriched mode translations
3796 * lisp/gnus/mm-view.el (mm-inline-text):
3797 Do not worry about enriched or richtext type.
3798 * lisp/textmodes/enriched.el (enriched-translations):
3799 Remove translations for FUNCTION, display (Bug#28350).
3800 (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
3802 2017-09-09 Paul Eggert <eggert@cs.ucla.edu>
3804 Be more consistent about "directory name" in manual
3806 This clarifies the documentation, partly in response to the
3807 discussion in Bug#27986.
3809 2017-09-09 Eli Zaretskii <eliz@gnu.org>
3811 Remove more compilation warnings in MinGW64 build
3813 * src/w32.c (faccessat, map_w32_filename):
3814 * src/w32fns.c (w32_wnd_proc):
3815 * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
3816 (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
3817 warnings with GCC 7 and later.
3819 2017-09-09 Paul Eggert <eggert@cs.ucla.edu>
3821 Improve --enable-gcc-warnings for MinGW64
3823 This partially reverts my 2016-05-30 patch. Apparently MinGW64
3824 still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
3825 does not. Also, pacify tparam.c, which isn’t used on Fedora.
3826 * lib-src/etags.c (process_file_name, TeX_commands):
3827 * src/buffer.c (fix_overlays_before):
3828 * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
3830 * src/editfns.c (Ftranslate_region_internal):
3831 Prefer UNINIT to some stray value, as this simplifies
3833 * src/eval.c (CACHEABLE): New macro.
3834 (internal_lisp_condition_case): Use it.
3835 * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
3837 2017-09-09 Eli Zaretskii <eliz@gnu.org>
3839 Fix font-lock in Compilation mode
3841 * lisp/progmodes/compile.el (compilation-face): Restore function
3842 lost during recent changes. (Bug#28349)
3844 2017-09-09 Mark Oteiza <mvoteiza@udel.edu>
3846 Add function to read all entries in a group
3848 Use that to extend xdg-desktop-read-file. Also fix a bug where all
3849 entries in all groups were read and returned by xdg-desktop-read-file.
3850 * lisp/xdg.el (xdg-desktop-read-group): New function.
3851 (xdg-desktop-read-file): Use it.
3852 * test/data/xdg/malformed.desktop: New file.
3853 * test/data/xdg/test.desktop: Add another section.
3854 * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
3855 in another group. Test reading a prescribed group. Test detecting a
3856 malformed key=value.
3858 2017-09-09 Gemini Lasswell <gazally@runbox.com>
3860 Reduce Tramp's memory usage
3862 Construct Tramp syntax strings and regular expressions once instead
3863 of every time they are used, and store them in alists keyed by Tramp
3865 * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
3866 (tramp-build-file-name-structure): New functions.
3867 (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
3868 (tramp-method-regexp-alist)
3869 (tramp-postfix-method-format-alist)
3870 (tramp-postfix-method-regexp-alist)
3871 (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
3872 (tramp-postfix-ipv6-format-alist)
3873 (tramp-postfix-ipv6-regexp-alist)
3874 (tramp-postfix-host-format-alist)
3875 (tramp-postfix-host-regexp-alist)
3876 (tramp-remote-file-name-spec-regexp-alist)
3877 (tramp-file-name-structure-alist): New constants.
3878 (tramp-lookup-syntax): New function.
3879 (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
3880 (tramp-postfix-method-format, tramp-postfix-method-regexp)
3881 (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
3882 (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
3883 (tramp-postfix-host-format, tramp-postfix-host-regexp)
3884 (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
3887 2017-09-09 Eli Zaretskii <eliz@gnu.org>
3889 Fix compilation warnings in MinGW64 build using GCC 7
3891 Reported by Richard Copley <rcopley@gmail.com>.
3892 * src/w32heap.c (init_heap): Declare enable_lfh only for
3893 mingw.org's MinGW build.
3895 * src/w32console.c (w32con_write_glyphs):
3896 * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
3897 mismatches of data type vs format spec.
3899 * src/w32fns.c (compute_tip_xy):
3900 * src/w32proc.c (stop_timer_thread):
3901 * src/w32notify.c (remove_watch):
3902 * src/eval.c (internal_lisp_condition_case):
3903 * src/editfns.c (Ftranslate_region_internal):
3904 * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
3906 * src/buffer.c (fix_overlays_before): Initialize variables to
3907 avoid compiler warnings.
3909 * lib-src/etags.c (TeX_commands, process_file_name): Initialize
3910 variables to avoid compilation warnings.
3912 2017-09-09 Eli Zaretskii <eliz@gnu.org>
3914 Avoid infloop when scrolling under scroll-preserve-screen-position
3916 * src/window.c (window_scroll_pixel_based): If screen position is
3917 to be preserved, make sure its recorded Y coordinate is outside
3918 the scroll margin. (Bug#28342)
3920 2017-09-09 Michael Albinus <michael.albinus@gmx.de>
3922 Clarification in tramp-texi
3924 * doc/misc/tramp.texi (Connection caching): Two connections are
3925 regarded as different now when they differ in the port number only.
3927 2017-09-09 Miles Bader <miles@gnu.org>
3929 * admin/quick-install-emacs: Tweak configure.ac parsing
3931 2017-09-09 Miles Bader <miles@gnu.org>
3933 Use text-property buttons in rcirc-markup-urls
3935 * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
3936 instead of `make-button'; the former is much more efficient in large
3937 buffers, and for the purposes of rcirc, changes no functionality.
3939 2017-09-08 Eli Zaretskii <eliz@gnu.org>
3941 Fix line-pixel-height for lines of variable height
3943 * src/xdisp.c (Fline_pixel_height): Start moving from the
3944 beginning of the screen line, to capture the full metrics of the
3947 2017-09-08 Alex Branham <branham@utexas.edu> (tiny change)
3949 New variable 'dired-confirm-killing-deleted-buffers'
3951 * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
3953 * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
3954 visiting deleted files without confirming if
3955 dired-clean-confirm-killing-deleted-buffers is nil. (Bug#28373)
3956 * etc/NEWS: Document the change.
3958 2017-09-08 Alfred M. Szmidt <ams@gnu.org> (tiny change)
3960 Support SVN files with svn:externals property
3962 * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
3963 marked with the svn:externals property.
3965 2017-09-08 Alfred M. Szmidt <ams@gnu.org> (tiny change)
3967 List locally removed files in vc-dir with SVN back-end
3969 * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
3970 with ?! as needs-update.
3972 2017-09-08 Ken Olum <kdo@cosmos.phy.tufts.edu>
3974 Fix Rmail editing with reapplying encoding to message body
3976 * lisp/mail/rmailedit.el (rmail-cease-edit): If no
3977 content-type in edited headers, look for one in original
3978 headers and add it to edited headers. (Bug #26918)
3979 Use a marker to track start of new body, so that
3980 content-transfer-encoding gets applied only to body. (Bug #27353).
3981 Ensure blank line at end of message after encoding, not
3984 2017-09-08 Eli Zaretskii <eliz@gnu.org>
3986 Document last change in dired.el
3988 * etc/NEWS (Dired): Document the last change in dired.el.
3991 2017-09-08 Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
3993 Make mouse clicks in Dired more customizable
3995 * lisp/dired.el (dired-mouse-find-file): Allow callers to
3996 specify functions to visit file/directory.
3997 (dired-mouse-find-file-other-window)
3998 (dired-mouse-find-file-other-frame): New functions to visit
3999 files in another window/frame. (Bug#27435)
4001 2017-09-08 Eli Zaretskii <eliz@gnu.org>
4003 Avoid compiler warnings on MS-Windows with GCC 6 and 7
4005 * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
4006 bit-shifting, to avoid compiler warnings.
4007 (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
4008 a warning. For details of the warning, see
4009 http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00093.html.
4010 * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
4012 * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
4013 function is not used in that build.
4015 * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
4017 2017-09-08 Eli Zaretskii <eliz@gnu.org>
4019 Fix 'directory-file-name' on DOS_NT systems as well
4021 * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
4022 to be consistent with last change.
4024 * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
4025 Disable on MS-Windows.
4026 (fileio-tests--directory-file-name-dos-nt)
4027 (fileio-tests--file-name-as-directory-dos-nt): New tests.
4029 2017-09-08 Wilson Snyder <wsnyder@wsnyder.org>
4031 Fix various verilog-mode.el issues.
4033 * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
4034 "*/*", msg2284. Reported by Jonathan Ferguson.
4035 (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
4037 (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
4038 verilog-substitute-file-name-path): Support -F in verilog getopt files,
4039 bug1171. Reported by George Cuan.
4040 (verilog-do-indent): Fix misindenting symbols starting with t,
4041 bug1169. Reported by Hoai Tran.
4042 (verilog-read-auto-template-middle): Fix slow template matching on
4043 AUTOINST. Reported by Jeffrey Huynh.
4044 (verilog-pretty-expr): The extra whitespace addition before "=" operators
4045 is now done only if the whole assignment block contains the 2-character
4046 "<=" operator. Remove the unused argument _myre. Use `unless',
4047 `save-excursion' and `when' functions where possible. Internal variables
4048 refactored for clarity. Follow elisp convention for closing parentheses.
4050 (verilog-get-lineup-indent-2): Update docstring. Internal variables
4051 refactored for clarity. Earlier EDPOS argument was expected to be a
4052 marker; it is now renamed to END and is now expected to be a position.
4053 Use `when' instead of `if'. By Kaushal Modi.
4054 (electric-verilog-terminate-line): Remove the unused second argument from
4055 `verilog-pretty-expr' call. By Kaushal Modi.
4056 (verilog-calc-1): Fix indentation of a virtual class definition after a
4057 typedef class, bug1080. By Kaushal Modi.
4059 2017-09-08 Katsumi Yamaoka <yamaoka@jpl.org>
4061 Don't use summary window to visit group buffer (bugfix)
4063 * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
4064 the window to open the group buffer doesn't visit the summary buffer.
4065 This fixes a bug: `gnus-summary-next-article' sometimes causes an error
4066 by trying to select nonexistent summary window.
4068 2017-09-08 Paul Eggert <eggert@cs.ucla.edu>
4070 Fix bug: (directory-file-name "///") returned "//"
4072 * src/fileio.c (directory_file_name): For "///" and longer,
4073 return "/", not "//", as per POSIX.
4074 * test/src/fileio-tests.el (fileio-tests--directory-file-name)
4075 (fileio-tests--file-name-as-directory): New tests.
4077 2017-09-08 Paul Eggert <eggert@cs.ucla.edu>
4079 Remove obsolete vc-mistrust-permissions doc
4081 * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
4082 for vc-mistrust-permissions, which no longer exists.
4084 2017-09-07 Alan Third <alan@idiocy.org>
4086 Set frame size to actual requested size (bug#18215)
4088 * src/nsterm.m (x_set_window_size): Don't use
4089 FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
4091 2017-09-07 Paul Eggert <eggert@cs.ucla.edu>
4093 autogen.sh: omit bogus chatter if no .git
4095 Problem reported by Angelo Graziosi in:
4096 http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00045.html
4097 * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
4099 2017-09-07 Glenn Morris <rgm@gnu.org>
4101 Skip emacsclient tests if --enable-profiling was used
4103 * test/lib-src/emacsclient-tests.el
4104 (emacsclient-test-call-emacsclient): Make it a macro.
4105 Handle "Profiling timer expired" return from emacsclient. (Bug#28319)
4106 (emacsclient-test-alternate-editor-allows-arguments)
4107 (emacsclient-test-alternate-editor-allows-quotes): Update for above.
4109 2017-09-06 Eli Zaretskii <eliz@gnu.org>
4111 Fix a minor markup problem in ELisp manual
4113 * doc/lispref/functions.texi (Mapping Functions): Fix the order of
4114 @example and @group. For the details, see
4115 http://lists.gnu.org/archive/html/bug-texinfo/2017-09/msg00007.html.
4117 2017-09-06 Mark Oteiza <mvoteiza@udel.edu>
4119 Add XDG desktop file parsing and tests
4121 * lisp/xdg.el: Add support for Desktop Entry Specification.
4122 (xdg--user-dirs-parse-line): Check if file is readable.
4123 (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
4124 (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
4126 * test/lisp/xdg-tests.el:
4127 * test/data/xdg/test.desktop:
4128 * test/data/xdg/wrong.desktop: New files.
4130 2017-09-06 Glenn Morris <rgm@gnu.org>
4132 Allow for adjusting line length of test backtraces
4134 * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
4135 (%.log): Respect backtrace line length.
4137 2017-09-06 Glenn Morris <rgm@gnu.org>
4139 Allow customizing line length of ert backtraces in batch mode
4141 * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
4142 Make it a user option.
4143 (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
4145 2017-09-06 Glenn Morris <rgm@gnu.org>
4147 Minor emacsclient-tests simplification
4149 * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
4150 Simplify. Also work when running installed.
4152 2017-09-06 Alan Third <alan@idiocy.org>
4154 Revert "Force screen update after drawing cursor glyph (bug#23774)"
4156 This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
4160 2017-09-05 Mark Oteiza <mvoteiza@udel.edu>
4162 Refactor some loops in mailcap.el
4164 * lisp/net/mailcap.el (mailcap-mime-types):
4165 (mailcap-file-default-commands): Convert nested maps to loops.
4167 2017-09-05 Glenn Morris <rgm@gnu.org>
4169 emacsclient-tests: remove some debug statements
4171 * test/lib-src/emacsclient-tests.el
4172 (emacsclient-test-call-emacsclient): Remove debug statements.
4174 2017-09-05 Simen Heggestøyl <simenheg@gmail.com>
4176 Handle non-zero exit status from psql more gracefully
4178 * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
4179 exit statuses from `psql -ltX' more gracefully by returning nil.
4181 * test/lisp/progmodes/sql-tests.el
4182 (sql-tests-postgres-list-databases-error): New test.
4184 2017-09-05 Eli Zaretskii <eliz@gnu.org>
4186 Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
4188 * src/w32proc.c (sys_kill): Preserve the up/down state of the
4189 Ctrl key across the simulated Ctrl-C keystroke. (Bug#28348)
4191 2017-09-05 Andreas Schwab <schwab@linux-m68k.org>
4193 * src/image.c (Fimagemagick_types): Doc fix.
4195 2017-09-05 Mark Oteiza <mvoteiza@udel.edu>
4197 Move soundex.el test to a proper test
4199 * test/lisp/soundex-tests.el: New file.
4200 * lisp/soundex.el: Use lexical-binding. Remove commented test.
4202 2017-09-05 Mark Oteiza <mvoteiza@udel.edu>
4204 Add tests for mailcap.el
4206 * test/data/mailcap/mime.types: New file.
4207 * test/lisp/net/mailcap-tests.el: New file.
4209 2017-09-05 Michael Albinus <michael.albinus@gmx.de>
4211 Doc precisment about remote link targets
4213 * doc/lispref/files.texi (Truenames): Explain handling of
4214 targets of `file-truename' and `make-symbolic-link', which
4215 look like a remote file name.
4217 * etc/NEWS: Precise examples for symlinks which look like
4218 remote file names. MUSTBENEW of `write-region' is not
4219 propagated to file name handlers.
4221 2017-09-05 John Wiegley <johnw@newartisans.com>
4223 Remove an opinionated section on "What Eshell is not"
4225 I don't find this information to accurately reflect possible use cases
4226 for Eshell; plus, it doesn't offer much in the way of information,
4229 2017-09-05 Ken Brown <kbrown@cornell.edu>
4231 Fix configure test for Xpm
4233 Problem reported by Ashish Shukla in
4234 https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00020.html.
4235 * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
4236 noX/xpm.h in configure test.
4238 2017-09-04 Paul Eggert <eggert@cs.ucla.edu>
4240 Revert recent float→double Motif change
4242 Problem reported by Martin Rudalics in:
4243 http://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00014.html
4244 * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
4245 (x_set_toolkit_scroll_bar_thumb)
4246 (x_set_toolkit_horizontal_scroll_bar_thumb):
4247 Go back to using ‘float’ temporaries rather than ‘double’.
4248 Although quite possibly this masks an underlying bug,
4249 we lack time to look into that now.
4251 2017-09-04 Glenn Morris <rgm@gnu.org>
4253 emacsclient-tests: add some debug statements
4255 * test/lib-src/emacsclient-tests.el
4256 (emacsclient-test-call-emacsclient): Add debug statements.
4258 2017-09-04 Michael Albinus <michael.albinus@gmx.de>
4260 Work on Tramp's (symbolic) links
4262 * doc/misc/tramp.texi (Traces and Profiles): Mention the
4263 backtrace when tramp-verbose is greater than or equal to 10.
4265 * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
4266 Use `tramp-handle-add-name-to-file'.
4268 * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
4269 `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
4271 * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
4273 * lisp/net/tramp-smb.el (tramp-smb-errors):
4274 Add "NT_STATUS_CONNECTION_DISCONNECTED" and
4275 "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
4276 (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
4277 (tramp-smb-do-file-attributes-with-stat): Return non-nil only
4278 if one of the attributes is non-nil.
4279 (tramp-smb-handle-file-local-copy): Use `file-truename'.
4280 (tramp-smb-handle-file-truename): Move to tramp.el.
4281 (tramp-smb-handle-insert-directory): Show symlinks.
4282 (tramp-smb-handle-make-symbolic-link): Improve.
4283 (tramp-smb-read-file-entry): Handle extended file modes in Samba.
4285 * lisp/net/tramp.el (tramp-handle-add-name-to-file)
4286 (tramp-handle-file-truename): New defuns.
4288 * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
4289 (tramp--test-check-files): Make check for "smb".
4291 2017-09-04 Mark Oteiza <mvoteiza@udel.edu>
4293 Embed JSON readtable into json-read
4295 Also unroll dispatch into a cond.
4296 * lisp/json.el (json-readtable): Remove.
4297 (json-readtable-dispatch): New macro. Assimilate json-readtable.
4298 (json-read): Use the macro.
4300 2017-09-04 Mark Oteiza <mvoteiza@udel.edu>
4302 Hexify strings in EWW search queries
4304 Previously, inputting "cats & dogs" would lose dogs because the
4305 ampersand signifies a query parameter. Instead, hexify each word while
4306 preserving quotes with split-string.
4307 * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
4308 with + separators, instead of replacing whitespace with +.
4310 2017-09-03 Glenn Morris <rgm@gnu.org>
4312 emacsclient-tests: call-process may return non-integer
4314 * test/lib-src/emacsclient-tests.el
4315 (emacsclient-test-alternate-editor-allows-arguments)
4316 (emacsclient-test-alternate-editor-allows-quotes):
4317 Handle non-integer return from call-process.
4319 2017-09-03 Eli Zaretskii <eliz@gnu.org>
4321 * lisp/simple.el (visual-line-mode): Doc fix. (Bug#28337)
4323 2017-09-03 Alan Third <alan@idiocy.org>
4325 Force screen update after drawing cursor glyph (bug#23774)
4327 * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
4328 drawing the glyph over the cursor.
4330 2017-09-03 Alan Mackenzie <acm@muc.de>
4332 Correct the fontification of quote marks after buffer changes in CC Mode.
4334 * lisp/progmodes/cc-defs.el
4335 (c-search-forward-char-property-with-value-on-char): New macro.
4337 * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
4338 (c-parse-quotes-after-change): Rewrite the functions, simplifying
4339 considerably, and removing unnecessary optimisations. Invalidate two caches
4340 after manipulating text properties.
4342 2017-09-03 Alan Mackenzie <acm@muc.de>
4344 Fix fontification of "operator~" in C++ Mode.
4346 * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
4347 (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
4349 * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
4350 two other symbols) as a cast without good evidence. Prefer an overloaded
4351 operator in ambiguous cases.
4353 2017-09-03 Martin Rudalics <rudalics@gmx.at>
4355 In delete_frame do not delete terminal for any toolkit build
4357 * src/frame.c (delete_frame): Neither delete terminal for
4358 non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
4361 2017-09-02 Philipp Stephani <phst@google.com>
4363 Improve error messages for improper plists (Bug#27726)
4365 * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
4366 (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
4367 improper plists instead of ‘listp.’
4369 * test/src/fns-tests.el (plist-get/odd-number-of-elements)
4370 (lax-plist-get/odd-number-of-elements)
4371 (plist-put/odd-number-of-elements)
4372 (lax-plist-put/odd-number-of-elements)
4373 (plist-member/improper-list): Add unit tests.
4375 2017-09-02 Eli Zaretskii <eliz@gnu.org>
4377 Fix decrypting in plstore.el on MS-Windows
4379 * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
4380 raw-text, instead of using insert-file-contents-literally.
4383 2017-09-02 Eli Zaretskii <eliz@gnu.org>
4385 * src/fileio.c (Fexpand_file_name): Doc fix. (Bug#27982)
4387 2017-09-02 Eli Zaretskii <eliz@gnu.org>
4389 Rewrite Antinews for Emacs 26
4391 * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
4392 * doc/lispref/elisp.texi (Top): Update the top-level menu's
4394 * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
4395 * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
4398 * etc/NEWS: Rearrange some entries in a more reasonable order.
4400 2017-09-02 Reuben Thomas <rrt@sc3d.org>
4402 Fix a mis-binding in a test
4404 * test/lisp/progmodes/python-tests.el
4405 (python-shell-calculate-process-environment-3): Fix binding of
4406 process-environment. A level of parens was missing.
4408 This was found after Glenn Morris noticed a similar problem with the
4409 patch for Bug#28319.
4411 2017-09-02 Reuben Thomas <rrt@sc3d.org>
4413 Fix a mis-binding and a bad defun name in a test (Bug#28319)
4415 test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
4416 emacsclient-test-call-emacsclient.
4417 (emacsclient-test-alternate-editor-allows-arguments)
4418 (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
4419 process-environment.
4421 Thanks to Glenn Morris for noticing these errors.
4423 2017-09-02 Glenn Morris <rgm@gnu.org>
4425 * test/Makefile.in (check-no-automated-subdir): Silence by default.
4427 * test/Makefile.in (ELFILES): Sort, for a reproducible order.
4429 2017-09-01 Mark Oteiza <mvoteiza@udel.edu>
4431 Turn off checkdoc complaint about default argument order
4433 * etc/NEWS: Mention change.
4434 * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
4435 Disable by default, note version.
4437 2017-09-01 Reuben Thomas <rrt@sc3d.org>
4439 Stop emacsclient tests hanging (Bug#28319)
4441 * test/lib-src/emacsclient-tests.el
4442 (emacsclient-test-alternate-editor-allows-arguments): Use a
4443 non-existent file to communicate with server, so that any existing
4444 default server will not be hijacked (in fact, the test does
4446 (emacsclient-test-alternate-editor-allows-quotes): Likewise.
4448 2017-09-01 Stefan Monnier <monnier@iro.umontreal.ca>
4450 * lisp/obsolete/html2text.el: Don't require CL
4452 (html2text-clean-anchor): Mark unused arg.
4454 2017-09-01 Katsumi Yamaoka <yamaoka@jpl.org>
4456 Don't remove undisplayers from inlined MIME parts (bugfix)
4458 * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
4459 Don't remove undisplayers from inlined MIME parts (bugfix);
4460 Simplify criterion that finds attachments.
4462 2017-08-31 Mark Oteiza <mvoteiza@udel.edu>
4464 Make ucs-names a hash table (Bug#28302)
4466 * etc/NEWS: Mention the type change.
4467 * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
4468 Hardcode BEL's name into the function instead of needlessly mapping
4469 over the hash table in the spirit of rassoc.
4470 * lisp/international/mule-cmds.el (ucs-names): Fix variable and
4471 function docstrings. Initialize a hash table for ucs-names--the
4472 number of entries is 42845 here. Switch to hash-table
4474 (mule--ucs-names-annotation): Use hash-table getter.
4475 (char-from-name): Upcase the string if ignore-case is truthy.
4476 * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
4478 2017-08-31 Alan Third <alan@idiocy.org>
4480 Remove unneeded version checks (bug#28222)
4482 * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
4484 * src/macfont.m (macfont_draw): Remove version check, and test for
4485 existence of CGContextSetFontSmoothingStyle.
4487 2017-08-31 Alan Mackenzie <acm@muc.de>
4489 Fix a glitch in CC Mode's syntactic whitespace cache.
4491 * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
4492 comment close at the end of a macro.
4494 2017-08-31 Alan Mackenzie <acm@muc.de>
4496 Correct the fontification of C++ Mode enclosed declarations.
4498 * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
4499 spurious check that the character before the start of an enclosed declaration
4500 must be ; or }. It might also be {.
4502 2017-08-31 Martin Rudalics <rudalics@gmx.at>
4504 In xterm.c fix some recently introduced compiler warnings
4506 * src/xterm.c (xaw_jump_callback)
4507 (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
4508 -Wdouble-promotion warnings.
4510 2017-08-31 Martin Rudalics <rudalics@gmx.at>
4512 Restrict fix of Bug#24963 and Bug#25887 to GTK builds
4514 * src/xterm.c (handle_one_xevent): Restrict earlier fix of
4515 Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
4516 react to state changes received via ConfigureNotify.
4518 2017-08-31 Katsumi Yamaoka <yamaoka@jpl.org>
4520 Respect directory a user enters (bug#28299)
4522 * lisp/gnus/mm-decode.el (mm-save-part):
4523 Respect directory a user enters (bug#28299).
4525 2017-08-31 Samuel Freilich <sfreilich@google.com>
4527 Do not split line before width of fill-prefix
4529 When auto-filling a paragraph, don't split a line before the width of the
4530 fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
4531 * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
4532 the line than the width of the fill-prefix. This is a more general solution
4533 than the previous logic, which only skipped over the exact fill-prefix. The
4534 fill-prefix doesn't necessarily match the prefix of the first line of a
4535 paragraph in adaptive-fill-mode.
4537 2017-08-31 Noam Postavsky <npostavs@gmail.com>
4539 Support lazy loading for autogenerated usage docstrings too (Bug#27748)
4541 * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
4542 Consider any documentation that ended up in code as a docstring (e.g.,
4543 autogenerated (fn ARG1 ARG2) type things), not just what the user
4546 2017-08-31 Noam Postavsky <npostavs@gmail.com>
4548 Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
4550 * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
4551 to drop the docstring. Add a simple docstring to the compiler-macro.
4553 2017-08-30 Paul Eggert <eggert@cs.ucla.edu>
4555 Quote file-truename symlink to "../foo:bar:"
4557 Problem reported by Michael Albinus (Bug#28264#19).
4558 * lisp/files.el (files--splice-dirname-file): Fix bug where
4559 a relative symlink to "../foo:bar:" did not quote the result.
4561 2017-08-30 Reuben Thomas <rrt@sc3d.org>
4563 Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
4565 * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
4566 corresponding command-line argument, into quote- or space-separated
4567 tokens. If a token starts with a quote, then it naturally is expected
4568 to end with a quote; escaping is not supported. This is enough to cope
4569 with the typical case of requiring the initial path to be quoted,
4570 common on Windows where it may contain spaces.
4571 * etc/NEWS: Document.
4572 * doc/emacs/misc.texi: Likewise.
4573 * doc/man/emacsclient.1: Tweak to remove the implication that only an
4574 editor can be specified (the manual already mentions a “command”).
4575 Fix a small error where “EDITOR” is referred to rather than
4577 * test/lib-src/emacsclient-tests.el: Add tests.
4579 2017-08-30 Stefan Monnier <monnier@iro.umontreal.ca>
4581 * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
4583 2017-08-30 Devon Sean McCullough <Emacs-Hacker2017@jovi.net> (tiny change)
4585 Correct "hide others" shortcut on macOS (bug#28215)
4587 * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
4589 2017-08-30 Eli Zaretskii <eliz@gnu.org>
4591 Sync NEWS with the documentation
4593 * etc/NEWS: Mark entries according to documentation.
4595 * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
4597 2017-08-30 Michael Albinus <michael.albinus@gmx.de>
4599 Improve symlinks for Tramp
4601 * lisp/files.el (files--splice-dirname-file): Quote whole file.
4603 * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
4604 Do not expand TARGET, it could be remote.
4605 (tramp-sh-handle-file-truename): Check for cyclic symlink also
4606 in case of readlink. Quote result if it looks remote.
4607 (tramp-sh-handle-file-local-copy): Use `file-truename'.
4609 * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
4610 (tramp-test09-insert-file-contents): Test also file missing.
4611 (tramp-test21-file-links): Extend test.
4613 2017-08-30 Martin Rudalics <rudalics@gmx.at>
4615 Preserve display's foreground color when clearing internal borders (Bug#28278)
4617 * src/xterm.c (x_after_update_window_line): Preserve display's
4618 foreground color when clearing internal borders (Bug#28278).
4620 2017-08-30 Noam Postavsky <npostavs@gmail.com>
4622 Use cl-print for all values printed by `describe-variable'
4624 * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
4627 2017-08-30 Noam Postavsky <npostavs@gmail.com>
4629 Minor simplification for byte-compile-constant-push
4631 * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
4632 of the code from here...
4633 (byte-compile-constant-push): ... to here. No need to bind
4634 byte-compile--for-effect anymore.
4636 2017-08-30 Paul Eggert <eggert@cs.ucla.edu>
4638 Prefer file-name-quote to concat "/:"
4640 Suggested by Michael Albinus (Bug#28264#13).
4641 * lisp/files.el (files--splice-dirname-file): Use file-name-quote
4642 rather than attempting to do it by hand.
4644 2017-08-30 Paul Eggert <eggert@cs.ucla.edu>
4646 * configure.ac: fix typo in previous change
4648 2017-08-29 Paul Eggert <eggert@cs.ucla.edu>
4650 Be more conservative in link time optimization doc
4652 While testing --enable-link-time-optimization with GCC 7.1.1
4653 I ran into a serious GCC code-generation bug which makes me
4654 think that --enable-link-time-optimization should be
4655 discouraged for typical installs (Bug#28213). See:
4656 https://bugzilla.redhat.com/show_bug.cgi?id=1486455
4658 2017-08-29 Paul Eggert <eggert@cs.ucla.edu>
4660 Make garbage collection more conservative
4662 Check for a pointer anywhere within the object, as opposed to just
4663 the start of the object. This is needed for gcc -Os -flto on
4664 x86-64 (Bug#28213). This change means that the garbage collector
4665 is more conservative, and will incorrectly keep objects that it
4666 does not need to, but that is better than incorrectly discarding
4667 objects that should be kept.
4668 * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
4669 this is easier to debug.
4670 (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
4671 Now a function with two args, not a macro with three.
4672 All callers changed.
4673 (live_string_holding, live_cons_holding, live_symbol_holding)
4674 (live_misc_holding, live_vector_holding, live_buffer_holding):
4675 New functions, which check for any object containing the addressed
4676 byte, not just for an object at the given address.
4677 (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
4678 (live_vector_p, live_buffer_p):
4679 Redefine in terms of the new functions.
4680 (live_float_p): Refactor slightly to match the new functions.
4681 (mark_maybe_object, mark_maybe_pointer): Use the new functions.
4682 Don’t bother checking mark bits, as mark_object already does that,
4683 and omitting the checks here simplifies the code. Although
4684 mark_maybe_object can continue to insist that tagged pointers
4685 still address the start of the object, mark_maybe_pointer now is
4686 more conservative and checks for pointers anywhere into an object.
4688 2017-08-29 Paul Eggert <eggert@cs.ucla.edu>
4690 Improve stack-top heuristic
4692 This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
4693 of the stack when scanning for heap roots, causing Emacs to crash
4694 later (Bug#28213). The problem is that Emacs's hack for getting an
4695 address near the stack top does not work when link-time optimization
4696 moves stack variables around.
4697 * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
4698 * lib-src/make-docfile.c (DEFUN_noinline): New constant.
4699 (write_globals, scan_c_stream): Support noinline.
4700 * src/alloc.c (NEAR_STACK_TOP): New macro.
4701 (SET_STACK_TOP_ADDRESS): Use it.
4702 (flush_stack_call_func, Fgarbage_collect): Now noinline.
4704 2017-08-29 Paul Eggert <eggert@cs.ucla.edu>
4706 Align stack bottom properly.
4708 This is needed for gcc -Os -flto on x86-64 (Bug#28213).
4709 * src/emacs.c (main): Align stack-bottom variable as a pointer,
4710 since mark_memory requires this.
4712 2017-08-29 Eli Zaretskii <eliz@gnu.org>
4714 Avoid spinning waiting for git-gui.exe on Windows
4716 * src/w32proc.c (waitpid): If GetExitCodeProcess returns
4717 STILL_ACTIVE, and we were called with WNOHANG, pretend that the
4718 process exited. (Bug#28268)
4720 2017-08-29 Eli Zaretskii <eliz@gnu.org>
4722 Document '--module-assertions'
4724 * doc/emacs/cmdargs.texi (Initial Options): Document the
4725 '--module-assertions' command-line option.
4726 * doc/lispref/loading.texi (Dynamic Modules): Add a
4727 cross-reference to the description of '--module-assertions'.
4729 * etc/NEWS: Update the NEWS entry for --module-assertions.
4731 2017-08-29 Alan Third <alan@idiocy.org>
4733 Add news entry about new macOS features
4735 * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
4736 ns-use-thin-smoothing.
4738 2017-08-29 Alan Third <alan@idiocy.org>
4740 Fix cross macOS version building (bug#28222)
4742 * src/macfont.h (CGContextSetFontSmoothingStyle): Function
4744 * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
4746 2017-08-29 Ben Bonfil <bonfil@gmail.com> (tiny change)
4748 Enable thin font smoothing in macOS (bug#28222)
4750 * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
4751 * src/macfont.m (macfont_draw): Use font smoothing.
4753 2017-08-29 Eli Zaretskii <eliz@gnu.org>
4755 Minor improvement in documentation of display-line-numbers
4757 * doc/emacs/display.texi (Display Custom): Document the
4758 display-line-numbers-mode and related options.
4760 2017-08-29 Eli Zaretskii <eliz@gnu.org>
4762 Avoid aborting in 'waitpid' on MS-Windows
4764 * src/w32proc.c (waitpid): Don't allow quitting if called with
4765 WNOHANG in OPTIONS. (Bug#28268)
4767 2017-08-29 Stefan Monnier <monnier@iro.umontreal.ca>
4769 * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
4771 (sh-syntax-propertize-function): Fix off-by-one error.
4774 2017-08-29 Rasmus <rasmus@gmx.us>
4776 Update Org to v9.0.10
4778 Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
4781 2017-08-29 Paul Eggert <eggert@cs.ucla.edu>
4783 Silence false alarms for symlinks to sources
4785 Problem reported by Glenn Morris (Bug#28264).
4786 * lisp/files.el (files--splice-dirname-file): New function.
4787 (file-truename, file-chase-links): Use it.
4789 2017-08-29 Paul Eggert <eggert@cs.ucla.edu>
4791 Simplify remove_slash_colon
4793 * src/process.c (remove_slash_colon): Simplify
4794 and avoid a special case for "/:" by itself.
4796 2017-08-28 Tassilo Horn <tsdh@gnu.org>
4798 Remove font family from minibuffer-prompt face
4800 * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
4801 minibuffer-prompt face.
4803 2017-08-28 Michael Albinus <michael.albinus@gmx.de>
4805 Further fixes in tramp-smb.el
4807 * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
4808 (tramp-smb-file-name-handler-alist): Use it.
4809 (tramp-smb-handle-make-symbolic-link): Unquote target.
4811 * test/lisp/net/tramp-tests.el
4812 (tramp--test-ignore-make-symbolic-link-error): New defmacro.
4813 (tramp-test18-file-attributes, tramp-test21-file-links)
4814 (tramp--test-check-files): Use it.
4816 2017-08-28 Paul Eggert <eggert@cs.ucla.edu>
4818 Don’t assume -g3 in .gdbinit
4820 * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
4821 Use reasonable defaults if not in the symbol table.
4823 2017-08-28 Robert Pluim <rpluim@gmail.com> (tiny change)
4825 Use string-match to check for dotfiles in ido
4827 * lisp/ido.el (ido-make-file-list): Use string-match to check
4828 for dotfiles instead of substring, as when using tramp
4829 simplified syntax ido-temp-list may contain empty strings.
4831 2017-08-28 Mark Oteiza <mvoteiza@udel.edu>
4833 Font-lock FDO desktop files correctly
4835 Single and double quotes do not have a special meaning in
4837 https://standards.freedesktop.org/desktop-entry-spec/latest/
4838 * etc/NEWS: Mention new mode.
4839 * lisp/files.el (auto-mode-alist): Split out an entry for handling
4840 the .desktop extension with conf-desktop-mode.
4841 * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
4842 variable with rules for booleans and format specifiers.
4843 (conf-unix-mode): Remove desktop file entry example from docstring.
4844 (conf-desktop-mode): New derived major mode.
4846 2017-08-27 Tom Tromey <tom@tromey.com>
4848 Fix auto-fill bug in js-mode
4850 * lisp/progmodes/js.el (js-do-auto-fill): New function.
4851 (js-mode): Set normal-auto-fill-function.
4852 * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
4855 2017-08-27 Noam Postavsky <npostavs@gmail.com>
4857 Disable completion while entering python multiline statements
4859 The "legacy" completion mechanism sends newlines to the running python
4860 process to get the list of completions, which confuses things if the
4861 user is in the middle of entering a multiline statement (Bug#28051).
4862 It's better to disable completion in this case.
4863 * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
4864 (python-shell-prompt-set-calculated-regexps): Set it.
4865 (python-shell-completion-at-point): Return 'ignore' as the completion
4866 function when the current prompt is a block prompt.
4868 2017-08-27 Michael Albinus <michael.albinus@gmx.de>
4872 * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
4873 (tramp-sh-handle-make-symbolic-link): More robust check for
4876 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
4877 Disable copying by tar temporarily, it doesn't work reliably.
4878 (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
4879 (tramp-smb-handle-make-symbolic-link): Fix implementation.
4881 * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
4883 * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
4886 2017-08-27 Glenn Morris <rgm@gnu.org>
4888 Fix previous xterm.h change for non-gtk builds
4890 * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
4892 2017-08-27 Philipp Stephani <phst@google.com>
4894 Fix GdkSettings-related deprecation warnings
4896 * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
4897 gtk-menu-bar-accel setting in new versions of GTK+. Use g_object_set
4898 instead of deprecated gtk_settngs_set_string_property otherwise.
4900 2017-08-27 Philipp Stephani <phst@google.com>
4902 Always use gtk_window_move in new versions
4904 * src/gtkutil.c (my_log_handler): Don’t define in new versions of
4906 (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
4908 * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
4911 * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
4913 2017-08-27 Charles A. Roelli <charles@aurox.ch>
4915 Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
4917 * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
4918 narrowing, and widen the buffer before searching for the name of the
4919 file corresponding to the diff.
4921 With thanks to Noam Postavsky.
4923 2017-08-27 Philipp Stephani <phst@google.com>
4925 Remove use of a deprecated GTK+ function in new versions
4927 * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
4930 2017-08-27 Philipp Stephani <phst@google.com>
4932 Stop using deprecated GdkScreen monitor functions in newer GDK
4934 * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
4935 objects instead of the deprecated GdkScreen functions in GDK 3.22+
4937 2017-08-27 Philipp Stephani <phst@google.com>
4939 Use GdkSeat in new GDK versions
4941 * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
4942 GdkDeviceManager in GDK 3.20+
4944 2017-08-27 Philipp Stephani <phst@google.com>
4946 * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
4948 2017-08-27 Philipp Stephani <phst@google.com>
4950 Remove call of deprecated GDK function
4952 * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
4955 2017-08-27 Alan Mackenzie <acm@muc.de>
4957 Amend the CC Mode macro cache to cope with changes at the macro start
4961 * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
4964 2017-08-27 Paul Eggert <eggert@cs.ucla.edu>
4966 Fix over-protection of byte-compiled files
4968 Problem reported by Sven Joachim (Bug#28244).
4969 Also, fix similar problem for autoload files.
4970 * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
4971 Set temp file modes to the buffer-file-name file modes (or 666
4972 if not available) as adjusted by umask.
4973 * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
4974 Set temp file modes to 666 as adjusted by umask.
4976 2017-08-27 Tom Tromey <tom@tromey.com>
4978 Refine conf-toml-mode font-lock
4981 * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
4982 conf-toml-recognize-section. Use \s- in variable regexp.
4983 (conf-toml-recognize-section): New function.
4985 2017-08-27 Paul Eggert <eggert@cs.ucla.edu>
4987 Do not munge contents of local symbolic links
4989 This lets Emacs deal with arbitrary local symlinks without
4990 mishandling their contents (Bug#28156). For example,
4991 (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
4992 now consistently creates a symbolic link from '/tmp/x' to '~'.
4993 Formerly, it did that only if the working directory was on the
4994 same filesystem as /tmp; otherwise, it expanded the '~' to
4995 the user's home directory.
4996 * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
4997 instead of rolling our own code.
4998 * lisp/files.el (files--name-absolute-system-p): New function.
4999 (file-truename, file-chase-links): Use it to avoid mishandling
5000 symlink contents that begin with ~.
5001 (copy-directory, move-file-to-trash):
5002 Use concat rather than expand-file-name, to avoid mishandling
5003 symlink contents that begin with ~.
5004 * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
5005 target unless interactive. Strip leading "/:" if interactive.
5006 (emacs_readlinkat): Do not prepend "/:" to the link target if
5007 it starts with "/" and contains ":" before NUL.
5008 * test/src/fileio-tests.el (try-link): Rename from try-char,
5009 and accept a string instead of a char. All uses changed.
5010 (fileio-tests--symlink-failure): Also test leading ~, and "/:",
5011 to test the new behavior.
5013 2017-08-27 Reuben Thomas <rrt@sc3d.org>
5015 Remove invalid regexp for shell builtins for wksh
5017 * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
5018 be literal strings, so remove a regexp for wksh. In any case, it’s a
5019 defunct proprietary shell.
5021 2017-08-26 Paul Eggert <eggert@cs.ucla.edu>
5023 Improve doc for file-name-absolute-p.
5025 2017-08-26 Michael Albinus <michael.albinus@gmx.de>
5027 Fix Tramp part of Bug#28156
5029 * lisp/files.el (file-name-non-special): Use `file-name-quote'
5030 instead prefixing "/:", the file could already be quoted.
5032 * lisp/net/tramp.el (tramp-error): Handle null arguments.
5033 (tramp-handle-make-symbolic-link):
5034 * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
5035 (tramp-sh-handle-add-name-to-file):
5036 * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
5037 (tramp-smb-handle-make-symbolic-link): Adapt implementation to
5038 stronger semantics in Emacs. (Bug#28156)
5040 * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
5043 2017-08-26 Eli Zaretskii <eliz@gnu.org>
5045 Fix bugs merged with bug#25428
5047 * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
5048 (Bug#13926) (Bug#25434) (Bug#25435)
5050 2017-08-26 Eli Zaretskii <eliz@gnu.org>
5052 Improve documentation of Info virtual files and nodes
5054 * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
5057 2017-08-26 Eli Zaretskii <eliz@gnu.org>
5059 * lisp/delsel.el (delete-selection-mode): Doc fix. (Bug#25428)
5061 2017-08-26 Grégory Mounié <Gregory.Mounie@imag.fr> (tiny change)
5063 Support multi-lingual detection of SEE ALSO man sections
5065 * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
5066 section detection in several langages: French, German, Spanish,
5067 Portugese, Italian, Polish, Turkish, Japanese, Chinese. (Bug#28142)
5069 2017-08-26 Paul Eggert <eggert@cs.ucla.edu>
5071 Improve expand-file-name doc
5073 * doc/lispref/files.texi (Relative File Names, Directory Names)
5074 (File Name Expansion):
5075 * doc/lispref/minibuf.texi (Reading File Names):
5076 Document expand-file-name behavior with ~ more clearly
5078 * doc/misc/org.texi (Batch execution): Simplify example
5079 script so that it does not need expand-file-name and thus
5080 will not mishandle file names with leading ~.
5082 2017-08-26 Jefferson Carpenter <jeffersoncarpenter2@gmail.com> (tiny change)
5084 Support all perl variable declarators and prefixes (Bug#27613)
5086 * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
5087 (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
5088 'local', 'state', 'supersede', 'let', and 'temp'.
5090 2017-08-25 Paul Eggert <eggert@cs.ucla.edu>
5092 Fix file-attributes race on GNU hosts
5094 * doc/lispref/files.texi (File Attributes):
5095 Document file-attributes atomicity.
5096 * etc/NEWS: Document the fix.
5097 * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
5098 for diagnostics. All callers changed. On platforms like
5099 GNU/Linux that support O_PATH, fix a race condition in
5100 file-attributes and similar functions, so that these functions do
5101 not return nonsense if a directory entry is replaced while getting
5102 its attributes. On non-GNU platforms, do a better (though not
5103 perfect) job of detecting the race, and return nil if detected.
5105 2017-08-25 Paul Eggert <eggert@cs.ucla.edu>
5107 Simplify expand_and_dir_to_file
5109 * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
5110 argument, since in practice it always has the default value. All
5111 callers changed. Prefer C99 style decls in nearby code.
5113 2017-08-25 Eli Zaretskii <eliz@gnu.org>
5115 Fix file-name completion on network shares
5117 * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
5120 2017-08-25 Reuben Thomas <rrt@sc3d.org>
5122 Fix a FIXME with an exegetical comment
5124 * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
5125 regexp for wksh builtins.
5127 2017-08-25 Reuben Thomas <rrt@sc3d.org>
5129 Minor docstring language fix
5131 * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
5133 2017-08-25 Reuben Thomas <rrt@sc3d.org>
5135 Remove old commented code from sh-script.el
5137 * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
5138 and variable, commented since 2001.
5140 2017-08-25 Stefan Monnier <monnier@iro.umontreal.ca>
5142 * lisp/emacs-lisp/package.el: Don't let failure stop us
5144 (package-activate-1): Don't throw an error for missing deps.
5145 (package-unpack): Don't bother compiling if activation failed.
5146 (package-initialize): Report failures but keep activating other packages.
5148 2017-08-25 Paul Eggert <eggert@cs.ucla.edu>
5150 Prefer ‘double’ for FP temps in xterm.c
5152 * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
5153 (x_set_toolkit_scroll_bar_thumb)
5154 (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
5155 ‘float’ for individual local floating-point temporaries.
5157 2017-08-24 Reuben Thomas <rrt@sc3d.org>
5159 Avoid using string-to-multibyte in ispell.el
5161 * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
5162 decode-coding-string instead. Note that decode-coding-string returns a
5163 string that satisfies multibyte-string-p even if its input is pure
5164 ASCII and the third argument is t, so the result of
5165 ispell-get-decoded-string is always a multibyte string.
5167 2017-08-24 Tino Calancha <tino.calancha@gmail.com>
5169 Store the regexp just when there are matches
5171 * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
5172 disabled and there are no matches do not store REGEXP
5173 in hi-lock-interactive-patterns.
5175 2017-08-24 Tino Calancha <tino.calancha@gmail.com>
5177 Keep face available if there are no matches
5179 If font-lock-mode is disabled in the current buffer, and
5180 there are no matches for REGEXP, then keep FACE available
5182 * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
5183 hi-lock--unused-faces if font-lock-mode is disabled and
5184 there are no matches.
5185 * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
5187 2017-08-24 Michael Albinus <michael.albinus@gmx.de>
5189 Minor improvements for tramp-interrupt-process, documentation
5191 * doc/lispref/processes.texi (Signals to Processes):
5192 * etc/NEWS: Document interrupt-process-functions.
5194 * lisp/net/tramp.el (tramp-interrupt-process): Test also for
5197 * src/process.c (Vinterrupt_process_functions): Fix docstring.
5199 * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
5202 2017-08-24 Reuben Thomas <rrt@sc3d.org>
5204 Fix a comment whitespace typo.
5206 src/fileio.c: A double space was added after "..", used in a code
5207 example. Make it a single space.
5209 2017-08-24 Reuben Thomas <rrt@sc3d.org>
5211 Remove old commented code and obsolete comments
5213 * lisp/files.el (locate-dominating-files): Remove old commented
5214 implementation from 9 years ago. Since the current version
5215 appears (at least to me) not just more efficient but clearer than the
5216 version removed, also delete a comment in the new version referring to
5217 the old version. Remove old commented heuristic code,
5218 and explanatory comments.
5220 2017-08-24 Reuben Thomas <rrt@sc3d.org>
5222 Remove old duplicate commented code
5224 * lisp/files.el (file-relative-name): Remove old commented version,
5225 replaced 14 years ago in commit 753ad9889.
5227 2017-08-24 Tom Tromey <tom@tromey.com>
5231 * etc/NEWS: Mention conf-toml-mode.
5232 * lisp/files.el (auto-mode-alist): Add entry for .toml.
5233 * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
5234 (conf-toml-font-lock-keywords): New defvars.
5235 (conf-toml-mode): New mode.
5237 2017-08-23 Alan Third <alan@idiocy.org>
5239 Use lisp type in log message (bug#28176)
5241 * src/nsimage.m (ns_load_image): Use make_number on index.
5243 2017-08-23 Alan Third <alan@idiocy.org>
5245 Fix PNGs on macOS (bug#28176)
5247 * src/nsimage.m (ns_load_image): Remove index check.
5248 (EmacsImage::getAnimatedBitmapImageRep): New function.
5249 (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
5250 (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
5253 2017-08-23 Alan Third <alan@idiocy.org>
5255 Add ability to change macOS WM theme (bug#27973)
5257 * src/frame.c (make_frame, frame_parms, syms_of_frame)
5258 [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
5260 * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
5261 represent NSAppearance options.
5262 (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
5263 ns_transparent_titlebar frame parameters.
5264 * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
5265 ns_set_appearance and ns_set_transparent_titlebar handlers.
5266 (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
5268 (Qdark): Add new symbol for use with ns-appearance.
5269 * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
5270 [NS_IMPL_COCOA]: Add prototypes.
5271 * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
5272 [NS_IMPL_COCOA]: New functions.
5273 (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
5274 ns-transparent-titlebar frame parameters.
5275 * doc/lispref/frames.texi (Window Management Parameters): Document
5276 ns-apperance and ns-transparent-titlebar.
5278 2017-08-22 Alan Mackenzie <acm@muc.de>
5280 When looking for the end of a declarator, prevent macros fouling up the search
5282 The practical implication of this bug was a random jit-lock chunk remaining
5283 entirely unfontified.
5285 * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
5286 restrict two forward searches to the end of that macro.
5288 2017-08-22 Michael Albinus <michael.albinus@gmx.de>
5290 Test `file-expand-wildcards' for Tramp
5292 * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
5293 Remove, not needed anymore.
5295 * test/lisp/net/tramp-tests.el (top): Require seq.el.
5296 (tramp-test16-directory-files): Simplify.
5297 (tramp-test16-file-expand-wildcards): New test.
5298 (tramp-test28-interrupt-process): Skip for older Emacsen.
5300 2017-08-22 Alexander Gramiak <agrambot@gmail.com>
5302 Add tests for cl-macs.el (Bug#27559)
5304 * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
5306 (cl-loop-destructuring-with): Move to cl-macs-tests.el.
5307 * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
5309 2017-08-22 Noam Postavsky <npostavs@gmail.com>
5311 Optimize skkdic conversion (Bug#28043)
5313 The primary speedup comes from the optimizing lookup-nested-alist and
5314 set-nested-alist for the case where the key is a string. This brings
5315 the time down to less than half the original.
5317 * lisp/international/mule-util.el (lookup-nested-alist)
5318 (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
5321 * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
5322 (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
5323 of calculating ratio of work done inline.
5325 (skkdic-reduced-candidates): Call `char-category-set' on the first
5326 character of the string directly, instead of using a regexp for the
5328 (skkdic--japanese-category-set): New constant.
5329 (skkdic-collect-okuri-nasi): Just set
5330 `skkdic-okuri-nasi-entries-count' at once at the end rather than
5331 updating it throughout the loop.
5333 (skkdic-convert-postfix skkdic-convert-prefix)
5334 skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
5335 (skkdic-extract-conversion-data): Use `match-string-no-properties'
5336 instead of `match-string'.
5338 2017-08-22 Reuben Thomas <rrt@sc3d.org>
5340 Treat tests in lib-src like tests in src
5342 * test/Makefile.in (test_template): Depend on a .c source file for a
5343 test under lib-src, as for src. (Thanks, Glenn Morris for pointing me
5344 in the right direction.)
5346 2017-08-22 Paul Eggert <eggert@cs.ucla.edu>
5348 Port /bin/sh scripts to Solaris 10
5350 Its /bin/sh builtin ‘test’ command does not support -e.
5351 * autogen.sh, build-aux/git-hooks/pre-commit:
5352 * build-aux/gitlog-to-emacslog, make-dist:
5353 Use test -r, not test -e.
5355 2017-08-21 Eli Zaretskii <eliz@gnu.org>
5357 Avoid losing the buffer restriction in flyspell-mode
5359 * src/intervals.c (get_local_map): Don't allow C-g to quit as long
5360 as we have the buffer widened, to make sure the restriction is
5361 preserved. (Bug#28161)
5363 2017-08-21 Sven Joachim <svenjoac@gmx.de>
5365 Fix the 'versionclean' target in src/Makefile
5367 * src/Makefile.in (versionclean): Don't accidentally remove
5368 emacs-module.h. (Bug#28169)
5370 2017-08-21 Michael Albinus <michael.albinus@gmx.de>
5372 Implement `interrupt-process-functions'
5374 * lisp/net/tramp.el (tramp-interrupt-process): Rename from
5375 `tramp-advice-interrupt-process'. Adapt according to changed API.
5376 (top): Add it to `interrupt-process-functions'.
5378 * src/process.c (Finternal_default_interrupt_process): New defun.
5379 (Finterrupt_process): Change implementation, based on
5380 Vinterrupt_process_functions.
5381 (Vinterrupt_process_functions): New defvar.
5383 * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
5384 test removal of advice.
5386 2017-08-21 Eli Zaretskii <eliz@gnu.org>
5388 Avoid floating-point exceptions while drawing underwave
5390 * src/w32term.c (x_get_scale_factor):
5391 * src/xterm.c (x_get_scale_factor): Don't let the scale factors
5392 become less than 1. Reported by Yuri D'Elia <wavexx@thregr.org> in
5393 http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00459.html.
5395 2017-08-21 Sam Steingold <sds@gnu.org>
5397 mark flymake-mode as safe local variable when the value is nil
5399 2017-08-21 Sam Steingold <sds@gnu.org>
5401 allow nil init in flymake-allowed-file-name-masks to disable flymake
5403 (flymake-allowed-file-name-masks): Update doc and :type.
5404 (flymake-get-file-name-mode-and-masks): Handle nil init.
5406 2017-08-20 Dmitry Gutov <dgutov@yandex.ru>
5408 Remove the workaround for bug#20719
5410 * lisp/cedet/semantic/symref/grep.el
5411 (semantic-symref-grep-use-template): Remove the workaround for
5412 bug#20719, it's been fixed for a while now.
5414 2017-08-20 Dmitry Gutov <dgutov@yandex.ru>
5416 Fix byte-compilation warnings in semantic/symref/grep
5418 * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
5419 (grepflags): Rename to semantic-symref-grep-flags.
5420 (semantic-symref-grep-expand-keywords): Update accordingly.
5421 (semantic-symref-grep-use-template): Remove the last two
5422 arguments to make sure they don't shadow the (not renamed)
5424 (semantic-symref-perform-search)
5425 (semantic-symref-parse-tool-output-one-line): Use slot names
5426 instead of keywords, like the byte-compiler wants us to.
5428 2017-08-20 Dmitry Gutov <dgutov@yandex.ru>
5430 Simplify eldoc-message
5432 * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
5433 Don't use ARGS because no callers pass them. Discussed in bug#27230.
5435 2017-08-20 Noam Postavsky <npostavs@gmail.com>
5437 Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
5439 * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
5440 carriage returns into the temporary file when running in unbuffered
5441 mode, the w32 build of python 2.7 chokes on them.
5443 2017-08-20 Reuben Thomas <rrt@sc3d.org>
5447 * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
5449 2017-08-20 Michael Albinus <michael.albinus@gmx.de>
5451 Implement `interrupt-process' for remote processes (Bug#28066)
5453 * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
5454 Support sending signals remotely.
5455 (tramp-open-connection-setup-interactive-shell):
5456 Trace "remote-tty" connection property.
5458 * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
5459 (top): Add advice to `interrupt-process'. (Bug#28066)
5461 * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
5463 (tramp-test29-shell-command)
5464 (tramp-test30-environment-variables)
5465 (tramp-test30-environment-variables-and-port-numbers)
5466 (tramp-test31-explicit-shell-file-name)
5467 (tramp-test32-vc-registered)
5468 (tramp-test33-make-auto-save-file-name)
5469 (tramp-test34-make-nearby-temp-file)
5470 (tramp-test35-special-characters)
5471 (tramp-test35-special-characters-with-stat)
5472 (tramp-test35-special-characters-with-perl)
5473 (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
5474 (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
5475 (tramp-test36-utf8-with-ls)
5476 (tramp-test37-asynchronous-requests)
5477 (tramp-test38-recursive-load, tramp-test39-remote-load-path)
5478 (tramp-test40-unload): Rename.
5479 (tramp-test40-unload): Test also removal of advice.
5481 2017-08-20 Reuben Thomas <rrt@sc3d.org>
5483 Document Enchant support
5485 * doc/emacs/fixit.texi: Mention Enchant.
5486 * doc/misc/efaq.texi: Likewise.
5487 * etc/NEWS: Add an item on Enchant support.
5489 2017-08-20 Reuben Thomas <rrt@sc3d.org>
5491 Remove old comments and a redundant FIXME
5493 * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
5494 commented code, a redundant FIXME, and outdated usage instructions.
5496 2017-08-20 Reuben Thomas <rrt@sc3d.org>
5498 Add Enchant support to ispell.el (Bug#17742)
5500 * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
5501 (ispell-really-enchant): Add variable.
5502 (ispell-check-version): If using Enchant, check it’s new enough (at
5503 least 1.6.1). (Like the ispell check, this is absolute: cannot work
5505 (ispell-enchant-dictionary-alist): Add variable.
5506 (ispell-find-enchant-dictionaries): Add function, based on
5507 ispell-find-aspell-dictionaries.
5508 (ispell-set-spellchecker-params): Allow dictionary auto-detection for
5509 Enchant, and call ispell-find-enchant-dictionaries to find them. Use
5510 old ispell name to locale mapping code for Enchant too.
5511 (ispell-send-replacement): Make it work with Enchant.
5513 2017-08-20 Noam Postavsky <npostavs@gmail.com>
5515 * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
5517 2017-08-20 Noam Postavsky <npostavs@gmail.com>
5519 Stop printing '4' in .elc files after 'define-symbol-prop' calls
5521 * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
5522 Return nil in case we have compiled the form, to prevent a redundant
5523 constant from getting added to the compiled output.
5525 2017-08-20 Paul Eggert <eggert@cs.ucla.edu>
5527 Change recent symlink tests to just test ASCII
5529 * test/src/fileio-tests.el (fileio-tests--symlink-failure):
5530 Be less ambitious about testing non-ASCII chars and encoding
5531 errors, as there are too many portability issues.
5533 2017-08-20 Paul Eggert <eggert@cs.ucla.edu>
5535 Don’t adjust CRLF in file names
5537 * doc/misc/gnus.texi (Non-ASCII Group Names):
5539 * test/lisp/net/tramp-tests.el (tramp--test-utf8):
5540 Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
5541 that CRLF in file names is left alone.
5542 * lisp/international/mule-cmds.el (set-default-coding-systems):
5543 Do not alter CRLF in file name coding systems.
5544 (prefer-coding-system): Ignore differences in CRLF processing when
5545 checking whether we used the user-specified file name coding system.
5546 * test/src/fileio-tests.el: New file.
5548 2017-08-19 Eli Zaretskii <eliz@gnu.org>
5550 Make list-processes support display-line-numbers
5552 * lisp/simple.el (process-menu-mode): Move the call to
5553 tabulated-list-init-header from here...
5554 (list-processes--refresh): ...to here. (Bug#27895)
5556 2017-08-19 Eli Zaretskii <eliz@gnu.org>
5558 Improve support of display-line-numbers in package.el
5560 * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
5561 the header. (Bug#27895)
5562 * lisp/emacs-lisp/tabulated-list.el
5563 (tabulated-list-line-number-width): Fix the case when
5564 display-line-numbers is nil.
5566 2017-08-19 Eli Zaretskii <eliz@gnu.org>
5568 Improve support of display-line-numbers in tabulated-list-mode
5570 * lisp/emacs-lisp/tabulated-list.el
5571 (tabulated-list-line-number-width): New function.
5572 (tabulated-list-init-header, tabulated-list-print-entry): Use it.
5575 2017-08-19 Martin Rudalics <rudalics@gmx.at>
5577 Fix one more issue reported by Alex (Bug#27999)
5579 * doc/lispref/windows.texi (Preserving Window Sizes)
5580 (Window Parameters): Use the term `window-preserved-size'
5581 instead of `preserved-size' (Bug#27999).
5583 2017-08-19 Martin Rudalics <rudalics@gmx.at>
5585 Rename `no-delete-other-window' to `no-delete-other-windows'
5587 2017-08-19 Martin Rudalics <rudalics@gmx.at>
5589 Fix two side window problems noted by Alex (Bug#27999)
5591 * lisp/window.el (display-buffer-in-side-window): Fix doc-string
5593 (delete-other-windows): Rename the `no-delete-other-window'
5594 parameter to `no-delete-other-windows' (see the discussion in
5595 Bug#27999 for the rationale of this change).
5596 * doc/lispref/windows.texi (Deleting Windows)
5597 (Frame Layouts with Side Windows, Window Parameters): Rename
5598 `no-delete-other-window' to `no-delete-other-windows'.
5600 2017-08-19 Alex Schroeder <alex@gnu.org>
5602 Use define-minor-mode for rcirc-omit-mode
5604 2017-08-19 Paul Eggert <eggert@cs.ucla.edu>
5606 Clarify behavior of symlinks and directories
5608 * doc/lispref/files.texi (Saving Buffers): Document how functions
5609 like rename-file work with symlinks and directories. This patch
5610 attempts to document the current behavior better, in preparation
5611 for possibly changing it. See Bug#27986.
5613 2017-08-19 Paul Eggert <eggert@cs.ucla.edu>
5615 Fix recently-introduced file descriptor leak
5617 * src/fileio.c (Fmake_temp_file_internal):
5618 Don’t leak a file descriptor if write_region signals an error.
5620 2017-08-19 Paul Eggert <eggert@cs.ucla.edu>
5622 Improve make-temp-file performance on local files
5624 * lisp/files.el (make-temp-file): Let make-temp-file-internal do
5625 the work of inserting the text.
5626 * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
5627 All callers changed.
5629 2017-08-19 Noam Postavsky <npostavs@gmail.com>
5631 Don't lose arguments to eshell aliases (Bug#27954)
5633 * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
5635 2017-08-19 Ted Zlatanov <tzz@lifelogs.com>
5637 * lisp/files.el (make-temp-file): Fix directory use case.
5639 2017-08-19 Ted Zlatanov <tzz@lifelogs.com>
5641 Fix and document make-temp-file optional text parameter
5643 * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
5644 (files--make-magic-temp-file): Support optional TEXT parameter.
5645 * etc/NEWS: Document it.
5646 * doc/lispref/files.texi: Document it.
5647 * test/lisp/auth-source-tests.el: Minor reformat.
5649 2017-08-19 Ted Zlatanov <tzz@lifelogs.com>
5651 * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
5653 * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
5655 2017-08-19 João Távora <joaotavora@gmail.com>
5657 Fix default value of electric-pair-pairs and electric-pair-text-pairs
5661 A previous change, titled "Add support for curly quotation marks to
5662 electric-pair-mode", attempted to add these characters to the default
5663 value of these variables. But it did so in a quoted list, preventing
5664 evaluation of the relevant expressions and resulting in an invalid
5667 * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
5668 Use backquote and comma.
5670 2017-08-19 Noam Postavsky <npostavs@gmail.com>
5672 * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
5674 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
5675 explicitly in the interactive case.
5677 2017-08-19 Mats Lidell <mats.lidell@cag.se>
5679 * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
5681 2017-08-19 Ted Zlatanov <tzz@lifelogs.com>
5683 Add auth-source tests and codify its API better
5685 The auth-source behavior was unclear in some API use cases, so these
5686 extra tests codify and test it. For details see
5687 https://github.com/DamienCassou/auth-password-store/issues/29
5689 * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
5690 * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
5691 auth-source tests and simplify them with the new `make-temp-file'.
5693 2017-08-18 Eli Zaretskii <eliz@gnu.org>
5695 Don't call the same hook twice due to obsolete aliases
5697 * lisp/international/robin.el (robin-activate):
5698 * lisp/international/quail.el (quail-activate):
5699 * lisp/international/mule-cmds.el (deactivate-input-method):
5700 * lisp/emulation/viper-init.el (viper-deactivate-input-method):
5701 Don't call the same hook twice, when the obsolete and the
5702 advertised symbols are aliased. (Bug#28118)
5704 2017-08-18 Felipe Ochoa <felipe@fov.space> (tiny change)
5706 A new face for show-paren in expression mode
5708 * lisp/faces.el (show-paren-match-expression): Define the new face.
5709 * lisp/paren.el (show-paren-function): Apply the different face
5710 when in expression mode. (Bug#28047)
5712 2017-08-18 Eli Zaretskii <eliz@gnu.org>
5714 Non-ASCII support for man page section and header names
5716 * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
5717 (Man-heading-regexp): Replace ASCII character classes by
5718 equivalent classes that allow non-ASCII characters. Suggested by
5719 Grégory Mounié <Gregory.Mounie@imag.fr>. (Bug#27978)
5721 2017-08-18 Eli Zaretskii <eliz@gnu.org>
5723 Implement HiDPI support for underwave on MS-Windows
5725 * src/w32term.c (x_get_scale_factor): New function.
5726 (w32_draw_underwave): Use it.
5727 * src/xterm.c (x_draw_underwave): Offset the wave starting point
5728 to make it identical with original code.
5730 2017-08-18 Stephen Pegoraro <spegoraro@tutive.com> (tiny change)
5732 Support HiDPI displays for wave style underlines
5734 * src/xterm.c (x_draw_underwave): Compute height, length and thickness
5735 based on scale factor.
5736 (x_get_scale_factor): New function.
5738 2017-08-18 Bastien <bzg@gnu.org>
5740 Delete library-of-babel.org
5742 * etc/org/library-of-babel.org: Delete file.
5744 2017-08-18 Glenn Morris <rgm@gnu.org>
5746 * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
5748 2017-08-18 Noam Postavsky <npostavs@gmail.com>
5750 Remove custom version parsing from epg-config.el (Bug#27963)
5752 * lisp/epg-config.el (epg-config--compare-version)
5753 (epg-config--parse-version): Remove.
5754 (epg-check-configuration): Use `version<=' instead.
5756 2017-08-18 Mark Oteiza <mvoteiza@udel.edu>
5758 Treat control characters in JSON strings as invalid
5760 * lisp/json.el (json-peek): Reduce to following-char.
5761 (json-pop, json-read): Zero (null char) means end of file.
5762 (json-read-escaped-char): Delimit URL properly.
5763 (json-read-string): Signal error for ASCII control characters.
5764 * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
5766 (test-json-read-string): New test for control characters in JSON
5769 2017-08-17 Eli Zaretskii <eliz@gnu.org>
5771 Support Posix semantics of 'rename' on MS-Windows
5773 * src/w32.c (sys_rename_replace): Support Posix semantics of
5774 'rename': return an error if OLD is a directory while NEW is not,
5777 2017-08-17 Eli Zaretskii <eliz@gnu.org>
5779 * src/w32.c (sys_rename_replace): Support renaming a directory.
5781 2017-08-17 Eli Zaretskii <eliz@gnu.org>
5783 Fix the MS-Windows build
5785 * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
5788 * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
5790 2017-08-17 João Távora <joaotavora@gmail.com>
5792 Add flymake-backends defcustom
5794 * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
5795 Rename from flymake-can-syntax-check-file. Suitable for adding to
5797 (flymake-proc-start-syntax-check): Rename from
5798 flymake-start-syntax-check. Don't check again if buffer can be
5800 (add-to-list flymake-backends): Hook only flymake-ui.el
5802 * lisp/progmodes/flymake-ui.el (flymake-backends): New
5804 (flymake-on-timer-event, flymake-after-change-function)
5805 (flymake-after-save-hook, flymake-find-file-hook): Call new
5806 flymake--start-syntax-check-buffer and
5807 flymake--can-syntax-check-buffer.
5808 (flymake-mode): Call flymake--can-syntax-check-buffer and set
5810 (flymake--backend): New buffer-local variable.
5812 2017-08-17 João Távora <joaotavora@gmail.com>
5814 Split flymake.el into flymake-proc.el and flymake-ui.el
5816 flymake.el is now a stub that requires both files.
5818 * lisp/progmodes/flymake-proc.el: New file.
5820 * lisp/progmodes/flymake-ui.el: New file.
5822 * lisp/progmodes/flymake.el: Split into flymake-ui.el and
5823 flymake-proc.el. Require both files.
5825 2017-08-17 Michael Albinus <michael.albinus@gmx.de>
5827 Set `default-directory' for watchdog in tramp-test.el
5829 * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
5830 Set `default-directory' for watchdog.
5832 2017-08-17 Andreas Schwab <schwab@suse.de>
5834 * lisp/term/konsole.el: New file.
5836 2017-08-17 Noam Postavsky <npostavs@gmail.com>
5838 * lisp/woman.el (woman-push, woman-pop): Remove. (Bug#27962)
5840 (woman2-RS): Use plain `push' instead of `woman-push'.
5841 (woman2-RE): Conditionally `pop' instead of `woman-pop'.
5843 2017-08-16 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
5845 Merge from Gnulib; use ‘open’ for O_CLOEXEC
5848 2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
5849 2017-08-15 extensions: enable NetBSD specific extensions
5850 2017-08-14 open: support O_CLOEXEC
5851 2017-08-13 reallocarray: new module
5852 * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
5853 it now supports O_CLOEXEC and this simplifies Emacs.
5854 * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
5855 * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
5857 * lib/cloexec.c, lib/cloexec.h, lib/open.c:
5858 * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
5859 New files, copied from Gnulib.
5860 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
5861 * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
5862 Remove, as Gnulib does this for us.
5863 * src/filelock.c (create_lock_file):
5864 * src/sysdep.c (emacs_open, emacs_pipe):
5865 Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
5867 2017-08-16 Alan Third <alan@idiocy.org>
5868 Charles A. Roelli <charles@aurox.ch>
5870 Allow use of run-time OS version checks on macOS (bug#27810)
5872 * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
5873 (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
5874 MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
5876 (NSWindowStyleMaskFullScreen,
5877 NSWindowCollectionBehaviorFullScreenPrimary,
5878 NSApplicationPresentationFullScreen,
5879 NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
5880 * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
5881 check_native_fs, ns_read_socket, ns_select, runAlertPanel,
5882 initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
5883 windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
5884 toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
5885 Allow use of run-time checks and replace version check macros.
5886 * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
5887 * src/macfont.m (macfont_draw): Use run-time OS version checks.
5888 * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
5890 2017-08-16 Alan Third <alan@idiocy.org>
5892 Add multiframe image support to NS port (bug#21714)
5894 * src/nsimage.m (ns_load_image): Handle multiple frames.
5895 (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
5896 * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
5897 function prototypes.
5899 2017-08-16 Tino Calancha <tino.calancha@gmail.com>
5901 files-tests.el: Remove unused lexical variable
5903 * test/lisp/files-tests.el (file-test--do-local-variables-test);
5904 Remove unused var 'files-test-queried'.
5906 2017-08-16 Michael Albinus <michael.albinus@gmx.de>
5908 * doc/emacs/files.texi (Copying and Naming): Mention
5910 restrictions to add-name-to-file and make-symbolic-link on
5913 2017-08-16 Michael Albinus <michael.albinus@gmx.de>
5915 * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
5917 2017-08-16 Noam Postavsky <npostavs@gmail.com>
5919 Add tests for previous commit
5921 * test/lisp/progmodes/elisp-mode-tests.el
5922 (elisp-mode-tests--face-propertized-string): New function.
5923 (elisp--highlight-function-argument-indexed)
5924 (elisp--highlight-function-argument-keyed-1)
5925 (elisp--highlight-function-argument-keyed-2): New tests.
5927 2017-08-16 Thierry Volpiatto <thierry.volpiatto@gmail.com>
5929 Fix eldoc highlighting for &key args (Bug#27272)
5931 * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
5932 Only switch to keyword-based searching if INDEX point beyond `&key' in
5933 the argument list. All arguments prior to the `&key' are position
5934 based. Additionally, be more strict about what is a keyword when
5935 searching for the current keyword.
5937 2017-08-15 Paul Eggert <eggert@cs.ucla.edu>
5939 Do not assume regular Git .git/hooks dir
5941 Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
5942 Problem reported by Ted Zlatanov in:
5943 http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00380.html
5944 * autogen.sh (git_sample_hook_src): New function. Use it to work
5945 even if .git/hooks or its samples do not exist.
5947 2017-08-15 Paul Eggert <eggert@cs.ucla.edu>
5949 New manual section "Copying and Naming"
5951 * doc/emacs/files.texi (Copying and Naming):
5952 New section, split off from Misc File Ops and containing the
5953 operations that copy, name or rename files. This fixes some
5954 confusion caused by the incorrect phrase "The same rule applies
5955 to all the remaining commands in this section" in the old manual.
5956 This change does not affect the confusion about directories (see
5957 Bug#27986 for ongoing discussion).
5959 2017-08-15 Eli Zaretskii <eliz@gnu.org>
5961 Fix the MS-Windows build
5963 * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
5964 ENOSYS. (Bug#28097) (Bug#27986)
5966 2017-08-15 Ted Zlatanov <tzz@lifelogs.com>
5968 * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
5970 * .gitlab-ci.yml: add Git to the installed packages.
5972 2017-08-15 Simen Heggestøyl <simenheg@gmail.com>
5974 Support indentation of detached Less CSS rulesets
5976 * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
5977 for indentation of detached rulesets passed to Less mixins.
5979 * test/manual/indent/less-css-mode.less: New file.
5981 2017-08-15 Simen Heggestøyl <simenheg@gmail.com>
5983 Fixes and tweaks for the new Less CSS mode
5985 * etc/NEWS: Add an entry for the new mode.
5987 * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
5988 (less-css-lessc-command): Tweak docstring. Don't mark it as
5989 safe. Don't autoload.
5990 (less-css-compile-at-save, less-css-lessc-options)
5991 (less-css-output-directory): Tweak docstrings. Don't autoload.
5992 (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
5993 (less-css-input-file-name): Tweak docstring. Don't autoload.
5994 (less-css-compile-maybe): Use `when' for one-armed `if'.
5995 (less-css--output-path): Tweak docstring.
5996 (less-css--maybe-shell-quote-command): Remove function.
5997 (less-css-compile): Don't autoload. Tweak docstring and message. Fix
5998 compiler warning. Use `string-join' instead of `mapconcat'.
5999 (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
6001 (less-css-mode-syntax-table, less-css-mode-map): New variables.
6002 (less-css-mode): Change status line mode name from "LESS" to
6003 "Less". Tweak docstring. Move syntax table definitions to
6004 `less-css-mode-syntax-table'.
6005 (less-css-indent-line): Remove function.
6007 2017-08-15 Steve Purcell <steve@sanityinc.com>
6009 New major mode: Less CSS mode
6011 * lisp/textmodes/less-css-mode.el: New file.
6013 2017-08-15 Tino Calancha <tino.calancha@gmail.com>
6015 archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
6017 * lisp/arc-mode.el (archive-int-to-mode):
6018 Swap order of 2048 and 1024 tests (Bug#28092).
6019 * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
6022 2017-08-15 Paul Eggert <eggert@cs.ucla.edu>
6024 Improve rename-file port to macOS
6026 * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
6027 fail with errno == ENOTSUP on file systems where it is not
6028 supported, according to the Apple documentation.
6030 2017-08-15 Noam Postavsky <npostavs@gmail.com>
6032 Speed up ./configure with more caching (Bug#27960)
6034 * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
6035 'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
6036 'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
6037 characters', and 'Windows API header' checks. Remove pause after
6038 warning about GTK bug.
6040 2017-08-15 Paul Eggert <eggert@cs.ucla.edu>
6042 Improve rename-file behavior on macOS
6044 Problem reported by Philipp Stephani (Bug#27986).
6045 * src/fileio.c (Frename_file):
6046 Worry about file name case sensitivity only if CYGWIN or DOS_NT.
6047 * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
6048 since this provides the necessary atomicity guarantees.
6050 2017-08-14 Glenn Morris <rgm@gnu.org>
6052 Clean up temp files after some tests
6054 * test/lisp/emacs-lisp/bytecomp-tests.el
6055 (bytecomp-tests--with-temp-file): Also delete .elc file if present.
6056 * test/lisp/progmodes/etags-tests.el
6057 (etags-buffer-local-tags-table-list): Delete temp file at end.
6059 2017-08-14 Eli Zaretskii <eliz@gnu.org>
6061 Implement renameat_noreplace for MS-Windows
6063 * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
6064 emulation for MS-Windows. (Bug#27986)
6066 2017-08-14 Eli Zaretskii <eliz@gnu.org>
6068 Fix 'rename' on MS-Windows
6070 * src/w32.c (sys_rename_replace): Use the FORCE argument only if
6071 the primitive rename errors out with EEXIST.
6073 2017-08-14 Michael Albinus <michael.albinus@gmx.de>
6075 * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
6077 2017-08-14 Mark Oteiza <mvoteiza@udel.edu>
6079 Tiny JSON performance improvement
6081 Get rid of some needless uses of apply. Measuring with
6082 (benchmark-run 10 (json-read-file "test.json"))
6083 showed 1.5-2.5% reduction of execution time.
6084 * lisp/json.el (json-peek): Nix let-binding.
6085 (json-read-string): Use concat for making a string from chars.
6086 (json-read-array): Use cond and more appropriate conversion instead
6087 of blindly applying.
6089 2017-08-13 Paul Eggert <eggert@cs.ucla.edu>
6091 Be consistent in spelling 'ok-if-already-exists'.
6093 2017-08-13 Alexander Gramiak <agrambot@gmail.com>
6095 Use 'header-line-highlight' face in proced and erc
6097 * lisp/erc/erc-list.el (erc-list-button):
6098 * lisp/proced.el (proced-format): Use the 'header-line-highlight
6101 2017-08-13 Ulf Jasper <ulf.jasper@web.de>
6103 Remove feeds with dead uris from newsticker--raw-url-list-defaults
6105 * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
6106 Remove feeds with dead uris.
6108 2017-08-13 Eli Zaretskii <eliz@gnu.org>
6110 Fix vertical cursor motion when cursor is on the fringe
6112 * lisp/simple.el (line-move-visual): Fix an off-by-one error in
6113 setting temporary-goal-column when newline overflows into the
6114 fringe. Support that use case in R2L paragraphs as well.
6116 2017-08-13 Eli Zaretskii <eliz@gnu.org>
6118 Fix vertical cursor motion across too wide images
6120 * src/indent.c (Fvertical_motion): If lines are truncated and we
6121 end up beyond the right margin of the window, don't assume we are
6122 in the next screen line, unless VPOS actually says so. (Bug#28071)
6124 2017-08-13 Tino Calancha <tino.calancha@gmail.com>
6126 Add test suites for arc-mode and tar-mode
6128 * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
6129 * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
6132 2017-08-13 Tino Calancha <tino.calancha@gmail.com>
6134 * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
6136 2017-08-13 Ulf Jasper <ulf.jasper@web.de>
6138 Fix uri of Emacs Wiki
6140 * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
6141 uri of Emacs Wiki. (Bug#27981)
6143 2017-08-13 Paul Eggert <eggert@cs.ucla.edu>
6145 Fix make-temp-file bug with ""/"."/".." prefix
6147 The bug with "." and ".." has been present for a while; I
6148 introduced the bug with "" earlier today in my patch for Bug#28023.
6149 * lisp/files.el (make-temp-file): Do not use expand-file-name if
6150 PREFIX is empty or "." or "..", as it does the wrong thing.
6151 Compute absolute-prefix here ...
6152 (files--make-magic-temp-file): ... instead of here ...
6153 * src/fileio.c (Fmake_temp_file_internal): ... or here.
6155 * lisp/files.el (make-temp-file): If the prefix is empty, append
6156 "/" to the absolute prefix so that the new files are children
6157 rather than siblings of temporary-file-directory. This fixes a
6158 bug introduced in the previous change.
6159 * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
6160 New test, for the bug.
6162 2017-08-13 Paul Eggert <eggert@cs.ucla.edu>
6164 Improve make-temp-file performance on local files
6166 For the motivation behind this patch, please see Bug#28023 and:
6167 http://emacshorrors.com/posts/make-temp-name.html
6168 Although, given the recent changes to Tramp, the related security
6169 problem in make-temp-file is already fixed, make-temp-file still has
6170 several unnecessary system calls. In the typical case on GNU/Linux,
6171 this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
6172 getpid, unlink, umask) by 2 (open, close).
6173 * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
6174 that Emacs is using it directly.
6175 * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
6177 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
6178 * lisp/files.el (files--make-magic-temp-file): Rename from
6180 (make-temp-file): Use make-temp-file-internal for
6181 non-magic file names.
6182 * src/fileio.c: Include tempname.h.
6183 (make_temp_name_tbl, make_temp_name_count)
6184 (make_temp_name_count_initialized_p, make_temp_name): Remove.
6185 (Fmake_temp_file_internal): New function.
6186 (Fmake_temp_name): Use it.
6187 * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
6188 instead of make_temp_name.
6190 2017-08-12 Paul Eggert <eggert@cs.ucla.edu>
6192 Document internal-use naming conventions
6194 * doc/lispref/functions.texi (Function Names):
6195 * doc/lispref/variables.texi (Tips for Defining):
6196 Document naming conventions for internal-use functions and vars.
6199 2017-08-12 Paul Eggert <eggert@cs.ucla.edu>
6201 Simplify re and document 'autoconf.sh all'
6203 * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
6204 ./autogen.sh defaults to "all". All uses removed.
6205 * README: Mention autoconf.sh's effect on Git configuration.
6207 2017-08-12 Paul Eggert <eggert@cs.ucla.edu>
6209 Default autogen.sh to 'all'
6211 This addresses a problem noted by RMS in:
6212 http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00052.html
6213 * autogen.sh (do_git): Set to true if this script is invoked
6214 with no arguments and there is a .git subdirectory.
6216 2017-08-12 Paul Eggert <eggert@cs.ucla.edu>
6218 Adjust jka-compr to recent Tramp changes.
6220 * lisp/jka-compr.el (jka-compr-write-region):
6221 Two new args LOCKNAME and MUSTBENEW.
6223 2017-08-12 Eli Zaretskii <eliz@gnu.org>
6225 Improve doc strings of 2 functions in simple.el
6227 * lisp/simple.el (beginning-of-visual-line)
6228 (move-beginning-of-line): Doc fix. Reported by
6229 Justin Burkett <justin@burkett.cc>.
6231 2017-08-12 Eli Zaretskii <eliz@gnu.org>
6233 Fix completion on directory names on MS-DOS/MS-Windows
6235 * src/msdos.c (faccessat):
6236 * src/w32.c (faccessat): Support relative file names, and add D_OK
6237 to 'mode' if the argument is a directory. This unbreaks file-name
6238 completion when the completion result is a directory.
6240 2017-08-12 Michael Albinus <michael.albinus@gmx.de>
6242 Implement EXCL of write-region for Tramp
6244 * lisp/net/ange-ftp.el (ange-ftp-write-region):
6245 * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
6246 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
6247 * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
6248 * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
6249 Implement MUSTBENEW.
6251 * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
6252 * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
6253 (tramp-sh-handle-add-name-to-file)
6254 (tramp-do-copy-or-rename-file)
6255 * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
6256 Adapt error message for `file-already-exists'.
6259 * src/eval.c (call8): New function.
6261 * src/fileio.c (write_region): Pass also lockname and
6262 mustbenew to the file name handler.
6264 * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
6265 Add tests for MUSTBENEW.
6267 2017-08-12 Eli Zaretskii <eliz@gnu.org>
6269 Adapt Proced display to display-line-numbers
6271 * lisp/proced.el (proced-header-line): Account for the width taken
6272 by display-line-numbers. (Bug#27895)
6274 2017-08-12 Eli Zaretskii <eliz@gnu.org>
6276 Adapt tabulated list when display-line-number is turned on
6278 * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
6279 a hook to revert the display when display-line-numbers is turned
6282 2017-08-12 Eli Zaretskii <eliz@gnu.org>
6284 Use Gnulib 'tempname' on MS-Windows
6286 * lib-src/ntlib.h (mkdir, open): Remove redefinitions. They are
6287 now in nt/inc/ms-w32.h.
6288 * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
6291 * src/w32.c (mkostemp): Remove.
6292 (sys_mkdir): Accept a second (unused) argument.
6293 * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
6294 specific call to mkdir. (Bug#28023)
6296 * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
6297 to accept 2 arguments.
6298 (open): Remove from "#ifdef emacs".
6299 * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
6300 * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
6301 (OMIT_GNULIB_MODULE_tempname): Remove.
6303 2017-08-12 Alexander Gramiak <agrambot@gmail.com>
6305 Add new face 'header-line-highlight'
6307 * lisp/faces.el: Define the face.
6308 * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
6309 * lisp/info.el (Info-fontify-node): Use the new face.
6310 * doc/emacs/display.texi (Standard Faces):
6311 * etc/NEWS: Document the new face. (Bug#28033)
6313 2017-08-12 Arash Esbati <arash@gnu.org>
6315 Make a case-sensitive match for strings
6317 * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
6318 let-bind `case-fold-search' to nil in order to be case-sensitive
6319 when matching a string. (Bug#27518)
6321 2017-08-11 Stephen Berman <steve@rosalinde.fritz.box>
6323 Fix a minor todo-mode regression
6325 * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
6326 save-excursion. This fixes a regression introduced by the fix
6327 for bug#27609, whereby trying to raise the priority of the
6328 first item or lower the priority of the last item, which
6329 should be noops, moves point to the item's start. Clarify
6332 * test/lisp/calendar/todo-mode-tests.el
6333 (todo-test-raise-lower-priority): Add test cases for trying to
6334 raise first item and lower last item.
6335 (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
6336 (todo-test-toggle-item-header02): Remove ":expected-result
6337 :failed" and tests of point after todo-next-item, since the
6338 effect when using Todo mode is not reproducible in the test
6339 environment. Add commentary about this.
6341 2017-08-11 Paul Eggert <eggert@cs.ucla.edu>
6343 Improve performance for rename-file etc.
6345 Although this does not fix Bug#27986, it is a step forward.
6346 I plan to propose a more-significant patch later.
6347 * lisp/files.el (directory-name-p): Move from here ...
6348 * src/fileio.c (Fdirectory_name_p): ... to here.
6349 (directory_like, cp_like_target): New static functions.
6350 (Fcopy_file, Frename_file, Fadd_name_to_file)
6351 (Fmake_symbolic_link):
6352 Use them, to avoid directory-testing syscalls on file names that
6353 must be directories if they exist. Omit unnecessary
6354 initializations and CHECK_STRING calls.
6355 (Frename_file): Don't call file_name_case_insensitive_p
6356 twice on the same file. Compare both file names expanded, instead
6357 of the old name expanded and the new one unexpanded.
6359 2017-08-11 Noam Postavsky <npostavs@gmail.com>
6361 Respect buffer-local value of tags-table-list (Bug#27772)
6363 * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
6364 buffer around the `tags-table-including' calls so as to get buffer
6365 local variables from the right buffer later.
6366 * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
6368 * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
6370 (etags-bug-158, etags-bug-23164): Use it so that when running the test
6371 interactively, setting EMACS_TEST_DIRECTORY is not needed.
6373 2017-08-10 Tom Tromey <tom@tromey.com>
6375 Fix auto-filling regression
6378 * lisp/newcomment.el (comment-indent-new-line): Check
6379 comment-auto-fill-only-comments. Reverts earlier change.
6380 * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
6383 2017-08-09 Paul Eggert <eggert@cs.ucla.edu>
6388 2017-08-09 tempname: do not depend on secure_getenv
6389 2017-08-08 extensions: add _OPENBSD_SOURCE
6390 2017-08-06 manywarnings: Add support for C++
6391 2017-08-06 warnings, manywarnings: Add support for multiple languages
6392 * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
6393 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
6394 * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
6395 * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
6398 2017-08-09 Eli Zaretskii <eliz@gnu.org>
6400 Fix crashing emacs-module tests on MS-Windows
6402 * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
6404 (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
6405 away, without displaying the Abort dialog, which waits for the user.
6407 * test/src/emacs-module-tests.el (module--test-assertion): Run the
6408 inferior Emacs with the w32 abort dialog disabled. Expect the
6409 status of the aborted Emacs sub-process to be 3 on MS-Windows and
6412 2017-08-09 Tino Calancha <tino.calancha@gmail.com>
6414 dired-delete-file: Dont't ask for empty dirs
6416 * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
6417 (dired-delete-file): Use it. Dont't ask for empty dirs (Bug#27940).
6419 * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
6421 (dired-test-bug27940): Add new test.
6423 2017-08-09 Tino Calancha <tino.calancha@gmail.com>
6425 Ask files for deletion in buffer order: top first, botton later
6427 * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
6428 Call `nreverse' t invert the output of `dired-map-over-marks'.
6430 2017-08-09 Alexander Gramiak <agrambot@gmail.com>
6432 Use help-mode xrefs in describe-font
6434 * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
6437 2017-08-09 Katsumi Yamaoka <yamaoka@jpl.org>
6439 Don't try to jump to non-existent part (bug#28013)
6441 * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
6442 the next part if there is the only one part in the article (bug#28013).
6444 2017-08-08 Mark Oteiza <mvoteiza@udel.edu>
6446 Replace some uses of eval
6448 There are a number of places where eval is used unnecessarily to get
6449 or set the value of a symbol.
6450 * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
6452 * lisp/desktop.el (desktop-clear): Use set-default instead.
6453 * lisp/international/ogonek.el (ogonek-read-encoding): Use
6456 2017-08-08 Mark Oteiza <mvoteiza@udel.edu>
6458 Convert uses of looking-at in viper-ex to following-char
6460 * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
6461 (following-char) and use it in the subsequent cond's clauses.
6462 (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
6463 Convert single branch ifs to when
6465 2017-08-08 Mark Oteiza <mvoteiza@udel.edu>
6467 Some cleanup in message.el
6469 * lisp/gnus/message.el (message-cross-post-insert-note):
6470 (message-strip-forbidden-properties): Mark unused args.
6471 (message-canlock-generate): Remove extinct variable
6472 sha1-maximum-internal-length.
6473 (message-make-mail-followup-to): Use loop's thereis clause.
6475 2017-08-08 Paul Eggert <eggert@cs.ucla.edu>
6477 Document make-temp-name magic limitations
6479 * doc/lispref/files.texi (Unique File Names):
6480 * src/fileio.c (Fmake_temp_name): Document that make-temp-name
6481 does not guarantee uniqueness on magic file names.
6483 2017-08-08 Tom Tromey <tom@tromey.com>
6485 Show number of errors in compilation-mode mode-line
6488 * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
6490 (compilation-num-warnings-found, compilation-num-infos-found): New
6492 (compilation-mode-line-errors): New defconst.
6493 (compilation-face): Remove.
6494 (compilation-type, compilation--note-type): New functions.
6495 (compilation-parse-errors): Call compilation--note-type.
6496 (compilation-start): Include compilation-mode-line-errors in
6498 (compilation-setup): Initialize compilation-num-* variables to 0.
6499 (compilation-handle-exit): Include compilation-mode-line-errors in
6501 * doc/emacs/building.texi (Compilation): Document new feature.
6503 2017-08-08 Mark Oteiza <mvoteiza@udel.edu>
6505 Do some cleanup in mailcap.el
6507 * lisp/net/mailcap.el: Use lexical-binding.
6508 (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
6510 (mailcap-mime-data): Remove some entries for ancient functions.
6511 (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
6512 (mailcap-parse-mimetype-file): Just use append.
6513 (mailcap-command-p): Remove unused function.
6515 2017-08-08 Tino Calancha <tino.calancha@gmail.com>
6517 query-replace: Undo replacements performed with 'comma
6519 During a `query-replace', the char ',' replaces the character
6520 at point and doesn't move point; right after, the char 'u'
6521 must undo such replacement (Bug#27268).
6522 * lisp/replace.el (replace--push-stack):
6523 New macro extracted from `perform-replace'.
6524 (perform-replace): Use it.
6525 * test/lisp/replace-tests.el (query-replace--undo): Add test.
6527 2017-08-08 Noam Postavsky <npostavs@gmail.com>
6529 Don't define gv expanders in compiler's runtime (Bug#27016)
6531 This prevents definitions being compiled from leaking into the current
6532 Emacs doing the compilation.
6533 * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
6534 of `put' with `eval-and-compile'.
6535 * test/lisp/emacs-lisp/gv-tests.el: New tests.
6537 2017-08-08 Noam Postavsky <npostavs@gmail.com>
6539 Let the cl-typep effects of defclass work during compilation (Bug#27718)
6541 * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
6543 * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
6544 (eieio-tests--dummy-function): Remove.
6545 (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
6546 expect to fail if compiled.
6548 2017-08-08 Stefan Monnier <monnier@IRO.UMontreal.CA>
6549 Noam Postavsky <npostavs@gmail.com>
6551 Let `define-symbol-prop' take effect during compilation
6553 * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
6555 * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
6557 (byte-compile-define-symbol-prop): New function, handles compilation
6558 of top-level `define-symbol-prop' and `function-put' calls by putting
6559 the symbol setting into `overriding-plist-environment'.
6561 2017-08-08 Gemini Lasswell <gazally@runbox.com>
6563 Add a test of handling of circular values to testcover-tests
6565 * test/lisp/emacs-lisp-testcover-resources/testcases.el
6566 (testcover-testcase-cyc1): New function.
6567 (testcover-tests-circular-lists-bug-24402): New test.
6569 2017-08-08 Noam Postavsky <npostavs@gmail.com>
6571 Don't error on circular values in testcover
6573 * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
6574 Consider circular lists to be non-equal instead of signaling error.
6576 2017-08-08 Alexander Gramiak <agrambot@gmail.com>
6578 Catch argument and macroexpansion errors in ert
6580 This kludge catches errors caused by evaluating arguments in ert's
6581 should, should-not, and should-error macros; it also catches
6582 macroexpansion errors inside of the above macros (Bug#24402).
6584 * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
6585 (ert--expand-should-1): Catch macroexpansion errors.
6586 * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
6587 (ert-test-should-error-macroexpansion): Tests for argument and
6590 2017-08-07 Reuben Thomas <rrt@sc3d.org>
6592 Revert "Add Enchant support to ispell.el (Bug#17742)"
6594 This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
6596 2017-08-07 Reuben Thomas <rrt@sc3d.org>
6598 Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
6600 This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
6602 2017-08-07 Reuben Thomas <rrt@sc3d.org>
6604 Add support for arguments in ALTERNATE_EDITOR to emacsclient
6606 * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
6607 corresponding command-line argument, into space-separated tokens.
6608 * etc/NEWS: Document.
6609 * test/lib-src/emacsclient-tests.el: Add a test.
6611 2017-08-07 Reuben Thomas <rrt@sc3d.org>
6613 Add Enchant support to ispell.el (Bug#17742)
6615 * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
6616 (ispell-really-enchant): Add variable.
6617 (ispell-check-version): If using Enchant, check it’s new enough (at
6618 least 1.6.1). (Like the ispell check, this is absolute: cannot work
6620 (ispell-enchant-dictionary-alist): Add variable.
6621 (ispell-find-enchant-dictionaries): Add function, based on
6622 ispell-find-aspell-dictionaries.
6623 (ispell-set-spellchecker-params): Allow dictionary auto-detection for
6624 Enchant, and call ispell-find-enchant-dictionaries to find them. Use
6625 old ispell name to locale mapping code for Enchant too.
6626 (ispell-send-replacement): Make it work with Enchant.
6628 2017-08-07 Reuben Thomas <rrt@sc3d.org>
6630 Allow async command output buffer to be shown only on output
6632 * lisp/simple.el (async-shell-command-display-buffer): Add
6634 (shell-command): Use the new defcustom to determine whether to show
6635 the buffer immediately, or add a process filter that shows it only
6636 when there is some output.
6637 * etc/NEWS: Document the new variable.
6638 * doc/emacs/misc.texi: Likewise.
6640 Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
6642 2017-08-07 Eli Zaretskii <eliz@gnu.org>
6644 Fix infinite recursion under prettify-symbols-mode and linum-mode
6646 * src/xdisp.c (get_overlay_strings_1)
6647 (handle_single_display_spec, push_prefix_prop): Invalidate the
6648 composition information before starting to iterate on a string.
6649 Otherwise we might think in set_iterator_to_next that we are
6650 delivering characters from a composition, and do all kinds of
6651 nonsensical things, like over-step the string end. (Bug#27761)
6653 2017-08-07 Stefan Monnier <monnier@iro.umontreal.ca>
6655 * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
6657 2017-08-07 Martin Rudalics <rudalics@gmx.at>
6659 Fix doc-string of `delete-other-windows'
6661 * lisp/window.el (delete-other-windows): Fix doc-string.
6663 2017-08-07 Paul Eggert <eggert@cs.ucla.edu>
6665 Fix a couple more make-temp-file races
6667 * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
6668 Use make-temp-name, not make-temp-file with retry.
6669 (basic-save-buffer-2): Use condition-case, instead of
6670 unwind-protect with a success flag.
6672 2017-08-07 Noam Postavsky <npostavs@gmail.com>
6674 Merge null and without-null regexp alists (Bug#27840, Bug#27873)
6676 * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
6677 characters following filename in grep context lines.
6678 (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
6679 (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
6680 (grep-regexp-alist): Recombine their contents here.
6682 * lisp/cedet/semantic/symref/grep.el
6683 (semantic-symref-parse-tool-output-one-line):
6684 * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
6685 `grep-regexp-alist' rather than the function.
6687 2017-08-07 Paul Eggert <eggert@cs.ucla.edu>
6689 Fix some crashes on self-modifying Elisp code
6691 Prompted by a problem report by Alex in:
6692 http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00143.html
6693 * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
6694 Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
6695 it is likely to run a bit faster with typical hardware caches.
6696 (Fif): Use Fcdr instead of XCDR, to avoid crashing on
6697 self-modifying S-expressions.
6698 (Fsetq, Flet, eval_sub): Count the number of arguments as we go
6699 instead of trusting an Flength prepass, to avoid problems when the
6700 code is self-modifying.
6701 (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
6702 where either will do. This is mostly to document the fact that
6703 the value must be a proper list. It's also a tiny bit faster on
6704 typical machines nowadays.
6705 (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
6706 (eval_sub): Check that the args are a list as opposed to some
6707 other object that has a length. This prevents e.g. (if . "string")
6708 from making Emacs dump core in some cases.
6709 * test/src/eval-tests.el (eval-tests--if-dot-string)
6710 (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
6713 2017-08-06 Eli Zaretskii <eliz@gnu.org>
6715 * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
6717 2017-08-06 Tino Calancha <tino.calancha@gmail.com>
6719 Minor tweak in a dired test
6721 * test/lisp/dired-tests.el (dired-test-bug27968):
6722 Ensure the new header has different length than the original one.
6724 2017-08-06 Tino Calancha <tino.calancha@gmail.com>
6726 dired-delete-file: Do not TAB complete the user answer
6728 This action might delete directories containing valuable information.
6729 Before previous commit, we prompted users with `yes-or-no-p'
6730 which doesn't TAB complete the user answer. Let's play safe and
6731 keep requiring full answers.
6732 * lisp/dired.el (dired-delete-file): Use `read-string'
6733 instead of `completing-read' to read the user answers.
6735 2017-08-06 Tino Calancha <tino.calancha@gmail.com>
6737 dired-do-delete: Allow to delete dirs recursively without prompts
6739 * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
6740 'all', to delete all directories recursively and no prompt anymore.
6741 'quit', to cancel directory deletions (Bug#27940).
6742 Show help message when user inputs 'help'.
6743 (dired-do-flagged-delete): Bind locally dired-recursive-deletes
6744 so that we can overwrite its global value.
6745 Wrapp the loop within a catch '--delete-cancel to catch when
6746 the user abort the directtry deletion.
6747 * doc/emacs/dired.texi (Dired Deletion): Update manual.
6748 * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
6749 Announce this change.
6751 2017-08-06 Paul Eggert <eggert@cs.ucla.edu>
6753 Fix a couple of make-temp-file races
6755 * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
6756 * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
6757 Use make-temp-file, not make-temp-name, to avoid an unlikely race
6758 that could lose data. Remove the deletion hook as quickly as
6759 possible after the file is renamed; though a race still remains
6760 here, it is smaller than before.
6762 2017-08-06 Tino Calancha <tino.calancha@gmail.com>
6764 Dired w/ eshell-ls: Handle shell wildcards in file name
6766 * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
6767 Use eshell-extended-glob (Bug#27844).
6768 * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
6770 2017-08-06 Tino Calancha <tino.calancha@gmail.com>
6772 dired-revert: save line numbers instead of positions
6774 Positions might change if the length of one dired header line
6775 changes; this happen, for instance, if we add new files.
6776 Instead, line numbers are invariant under shrinks/enlargements
6778 https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01092.html
6779 * lisp/dired.el (dired-save-positions): Save the line numbers at point.
6780 (dired-restore-positions): Use forward-line to restore the original
6781 position (Bug#27968).
6782 * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
6784 2017-08-06 Tom Tromey <tom@tromey.com>
6786 Respect comment-auto-fill-only-comments
6788 Respect comment-auto-fill-only-comments when auto-filling and a
6789 comment syntax is defined.
6791 * lisp/newcomment.el (comment-indent-new-line): Do not check
6792 comment-auto-fill-only-comments.
6793 * lisp/simple.el (internal-auto-fill): New defun.
6794 * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
6796 (syms_of_cmds): Define Qinternal_auto_fill.
6798 2017-08-05 Richard Stallman <rms@gnu.org>
6800 * etc/tutorials/TUTORIAL: Update.
6802 2017-08-05 Eli Zaretskii <eliz@gnu.org>
6804 Unify CNS11643-15 in a way that avoids segfaults
6806 * lisp/international/mule-conf.el: Redo unification of
6807 cns11643-15. (Bug#27964)
6808 (chinese-cns11643-15): Add the missing :unify-map attribute.
6810 2017-08-05 Eli Zaretskii <eliz@gnu.org>
6812 Avoid segfaults while producing Punct.el
6814 * lisp/international/mule-conf.el: Undo unification of
6815 cns11643-15, as that causes segfaults during bootstrap.
6818 2017-08-05 Eli Zaretskii <eliz@gnu.org>
6820 Make header line in some modes be sensitive to display-line-numbers
6822 * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
6823 * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
6824 (tabulated-list-print-entry): Account for the width taken by
6825 line-number display. (Bug#27895)
6827 2017-08-05 Eli Zaretskii <eliz@gnu.org>
6829 Fix a bug in 'generate-new-buffer-name'
6831 * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
6832 nil before calling string-equal, since the latter will compare
6833 "nil and 'nil' as equal. (Bug#27966)
6835 * test/src/buffer-tests.el
6836 (test-generate-new-buffer-name-bug27966): New test.
6838 2017-08-05 Eli Zaretskii <eliz@gnu.org>
6842 * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
6843 unify-charset form for it. (Bug#27964)
6845 2017-08-05 Eli Zaretskii <eliz@gnu.org>
6847 Improve test of error message when Emacs cannot be suspended
6849 * lisp/term/x-win.el (x-win-suspend-error):
6850 * lisp/term/ns-win.el (ns-suspend-error): Improve the error
6851 message. (Bug#27901)
6853 2017-08-05 Alexander Gramiak <agrambot@gmail.com>
6855 Make "C-h o" show faces as well as variables
6857 * lisp/faces.el (describe-face): Return (buffer-string). Reorder
6858 the placement of variables/faces in describe-symbol, to put more
6859 emphasis on the variable entry rather than the face. (Bug#24543)
6861 2017-08-05 Eli Zaretskii <eliz@gnu.org>
6863 Fix files-tests.el for MS-Windows
6865 * test/lisp/files-tests.el
6866 (files-tests--file-name-non-special--subprocess): Fix this test
6869 2017-08-05 Eli Zaretskii <eliz@gnu.org>
6871 Improve documentation of 'region-extract-function'
6873 * lisp/simple.el (region-extract-function): Rename the argument to
6874 METHOD. Doc fix. (Bug#27927)
6876 2017-08-05 Paul Eggert <eggert@cs.ucla.edu>
6881 2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
6882 2017-08-01 manywarnings: port to 32-bit GCC bug
6883 * lib/gnulib.mk.in: Regenerate.
6884 * m4/manywarnings.m4: Copy from gnulib.
6886 2017-08-05 Paul Eggert <eggert@cs.ucla.edu>
6888 Port recent rename changes to Ubuntu 14.04
6890 * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
6891 Don’t use syscall. Problem reported by Tino Calancha (Bug#27946#10).
6893 2017-08-05 Tino Calancha <tino.calancha@gmail.com>
6895 insert-directory-wildcard-in-dir-p: Tweak regexp
6897 This function must return non-nil for a wildcard like '/*/*.txt'.
6898 * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
6899 * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
6902 2017-08-04 Toby S. Cubitt <tsc25@cantab.net>
6904 Implement iterator generator for avl-trees.
6906 * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
6908 2017-08-04 Tino Calancha <tino.calancha@gmail.com>
6910 ls-lisp: Drop eshell dependencies
6912 Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
6913 expand the wildcards.
6914 Suggested by Fabrice Popineau in:
6915 https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00108.html
6916 * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
6918 2017-08-04 Tino Calancha <tino.calancha@gmail.com>
6920 Fix dired-test-bug27631 on MS-Windows
6922 Skip the test if Dired use 'ls' emulation with lisp. The same
6923 bug is tested in their respective test suites: ls-lisp-tests.el
6925 * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
6926 or 'eshell' features are enabled.
6928 2017-08-04 Eli Zaretskii <eliz@gnu.org>
6930 Fix dired-test-bug25609 on MS-Windows
6932 * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
6933 pass temporary files through file-truename, to avoid bogus
6934 failures due to file-name comparison as strings.
6936 2017-08-04 Tino Calancha <tino.calancha@gmail.com>
6938 Fix 2 tests that fail in MS-Windows
6940 https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00018.html
6941 * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
6942 Add comments to explain the test logic.
6943 Pass '--binary' option to 'patch' program in windows environments.
6944 Check explicitely that a backup is created before compare file contents.
6946 * test/lisp/dired-tests.el (dired-test-bug25609):
6947 Declare variable 'dired-dwim-target' right before the test.
6948 Add comments to explain the test logic.
6949 Ensure, before test the bug condition, that we are displaying the
6950 2 dired buffers created in this test, and no other dired buffer
6953 2017-08-04 Stefan Monnier <monnier@iro.umontreal.ca>
6955 * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
6957 * lisp/files.el (insert-directory): Don't hardcode "-c".
6958 * lisp/term.el (term, ansi-term): Use shell-file-name.
6960 2017-08-04 Paul Eggert <eggert@cs.ucla.edu>
6962 Fix version numbers for some GnuTLS features
6964 Problem reported by Glenn Morris (Bug#27708#58).
6965 * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
6966 New macro. Use it instead of low-level version number checks.
6967 (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
6968 HAVE_GNUTLS3_AEAD. All uses changed. Indent preprocessor lines.
6969 * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
6970 (HAVE_GNUTLS3_HMAC): Remove, since these were available
6971 before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
6972 is defined. Remove all uses; this simplifies the code a bit.
6974 2017-08-04 Paul Eggert <eggert@cs.ucla.edu>
6976 Port recent rename changes to RHEL 7 + NFS
6978 Problem reported by Ted Zlatanov in:
6979 http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html
6980 * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
6981 with errno == EINVAL when it is not supported. So treat that case
6982 like errno == ENOSYS. Also, when ok_if_already_exists is neither
6983 nil nor an integer, just call plain rename; this avoids an extra
6984 syscall to renameat2 when the latter fails with errno == EINVAL or
6987 2017-08-03 Paul Eggert <eggert@cs.ucla.edu>
6989 Port GnuTLS usage to Ubuntu 16.04.2 LTS
6991 * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
6992 later, as opposed to the old 3.4.0 or later.
6994 2017-08-03 Paul Eggert <eggert@cs.ucla.edu>
6996 Simplify configuration of HAVE_GNUTLS3 etc.
6998 There's only one GnuTLS, so configuring these symbols at
6999 'configure' time is overkill. Simplify things by moving their
7000 configuration to src/gnutls.h (Bug#27708).
7001 * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
7002 (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
7004 * src/gnutls.h: ... to here, and simplify.
7006 2017-08-03 Paul Eggert <eggert@cs.ucla.edu>
7008 Default to --with-mailutils if it is installed
7010 * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
7012 http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00054.html
7014 2017-08-02 Paul Eggert <eggert@cs.ucla.edu>
7016 Clarify when autogen.sh should run only autoconf
7018 * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
7019 not plain ‘./autogen.sh’, to make it clear that only
7020 autoconf-related tools should be run here.
7022 2017-08-02 Toon Claes <toon@iotcl.com>
7024 .gitlab-ci.yml: Use stretch Debian image instead of unstable
7026 2017-08-02 Stephen Berman <stephen.berman@gmx.net>
7028 Add debugging messages to a Dired test
7030 * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
7031 positions saved and restored by dired-revert to try and find
7032 out why the test fails on Hydra.
7034 2017-08-02 Tino Calancha <tino.calancha@gmail.com>
7036 ls-lisp: Autoload call instead of cookie
7038 * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
7040 2017-08-02 Paul Eggert <eggert@cs.ucla.edu>
7042 When renaming a file, ask only if EEXIST or ENOSYS
7044 * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
7045 more than once on FILE. Use renameat_noreplace, so that we can
7046 ask the user (and unlink and retry) only if this fails with errno
7047 == EEXIST or ENOSYS. This avoids the need to ask the user for
7048 permission to do an operation that will fail anyway. Simplify
7049 computation of ok_if_already_exists for subsidiary functions.
7050 * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
7051 if it works, as this avoids the need to link and unlink.
7052 * src/lisp.h (renameat_noreplace): New decl.
7053 * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
7054 (renameat_noreplace): New function.
7056 2017-08-02 Paul Eggert <eggert@cs.ucla.edu>
7058 When creating a link, ask only if EEXIST
7060 * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
7061 Ask the user (and unlink and retry) only if link creation fails
7062 with errno == EEXIST. This avoids the need to ask the user for
7063 permission to do an operation that will fail anyway.
7065 2017-08-02 Tino Calancha <tino.calancha@gmail.com>
7067 dired-align-file: Inherit text properties in inserted spaces
7069 * lisp/dired.el (dired-align-file): Inherit text
7070 properties in inserted spaces (Bug#27899).
7071 * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
7073 2017-08-02 Tino Calancha <tino.calancha@gmail.com>
7075 Don't assume /bin/sh as the 'sh' location in the local host
7077 * lisp/dired.el (dired-insert-directory): Use executable-find in
7080 2017-08-02 Tino Calancha <tino.calancha@gmail.com>
7082 Move dired tests using ls emulation to different files
7085 https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00018.html
7086 * test/lisp/dired-tests.el (dired-test-bug27693)
7087 (dired-test-bug27762, dired-test-bug27817)
7088 (dired-test-bug27631, dired-test-bug27843): Delete those
7089 parts requiring either ls-lisp or eshell-ls.
7091 * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
7092 (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
7093 Add all dired tests using ls-lisp here.
7095 * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
7096 (em-ls-test-bug27817, em-ls-test-bug27843): New test file. Add
7097 all dired tests using eshell-ls here.
7099 2017-08-02 Tino Calancha <tino.calancha@gmail.com>
7101 * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
7103 2017-08-02 Katsumi Yamaoka <yamaoka@jpl.org>
7105 * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
7106 Say the handle is already decoded.
7107 cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
7109 2017-08-02 Paul Eggert <eggert@cs.ucla.edu>
7111 Don’t worry about unlink if errno == ENOENT
7113 * src/fileio.c (Fdelete_file):
7114 * src/keyboard.c (Fopen_dribble_file): Do not report failure to
7115 remove a file if unlink fails with errno == ENOENT. This can
7116 happen even if Emacs is the only program removing the file, in
7117 case an NFS cache overflows. The file does not exist if errno ==
7118 ENOENT, so it is OK to proceed.
7120 2017-08-01 Tino Calancha <tino.calancha@gmail.com>
7122 Fix misalignment in Dired when dired-directory is a cons
7124 * lisp/dired.el (dired--need-align-p, dired--align-all-files):
7126 (dired-internal-noselect): Call dired--align-all-files when
7127 dired-directory is a cons (Bug#27762).
7128 * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
7130 2017-08-01 Eli Zaretskii <eliz@gnu.org>
7132 Fix some dired-tests.el on MS-Windows
7134 * test/lisp/dired-tests.el (dired-test-bug27243-01)
7135 (dired-test-bug27243-02): On MS-Windows, pass test-dir through
7136 file-truename, to avoid bogus failures due to file-name comparison
7139 2017-08-01 Tino Calancha <tino.calancha@gmail.com>
7141 Insert subdir content if dir-or-list is a string w/o wildcards
7143 * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
7144 Append '("-d") into 'eshell-ls-dired-initial-args'
7145 if 'dired-directory' is a cons or there are wildcars (Bug#27843).
7146 * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
7148 2017-08-01 Stephen Berman <stephen.berman@gmx.net>
7150 Update todo-mode defcustoms in a less hideous way
7152 * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
7153 (todo-reevaluate-default-file-defcustom)
7154 (todo-reevaluate-category-completions-files-defcustom)
7155 (todo-reevaluate-filter-files-defcustom): Delete these functions.
7156 (todo-update-filelist-defcustoms): New function. This replaces
7157 todo-reevaluate-filelist-defcustoms, using the 'custom-type'
7158 property instead of re-evaluating the defcustoms.
7159 (todo-add-file, todo-rename-file, todo-delete-file)
7160 (todo-delete-category, todo-move-category)
7161 (todo-convert-legacy-files, todo-check-file): Replace call of
7162 todo-reevaluate-filelist-defcustoms by
7163 todo-update-filelist-defcustoms.
7164 (todo-show, todo-category-completions): Replace call of
7165 todo-reevaluate-* function by use of 'custom-type' property.
7167 2017-08-01 Tino Calancha <tino.calancha@gmail.com>
7169 Add more should form calls in a failing dired test
7171 Some dired tests fail intermittently in hydra. Add few
7172 more should form calls for debugging.
7174 https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01092.html
7175 * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
7176 forms for debugging.
7178 2017-08-01 Michael Albinus <michael.albinus@gmx.de>
7180 Follow SAUNA recommendations for display-line-numbers-type
7182 * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
7184 * lisp/menu-bar.el (display-line-numbers-type): Declare.
7186 2017-07-31 Paul Eggert <eggert@cs.ucla.edu>
7188 Avoid most stat calls when completing file names
7190 * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
7191 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
7192 * m4/d-type.m4: New file, copied from gnulib.
7193 * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
7194 [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
7195 (dirent_type): New function.
7196 (file_name_completion): Use it, to avoid unnecessary calls to
7197 stat-like functions on GNU/Linux and other platforms with d_type.
7198 (file_name_completion_stat): Just follow the link; there is no
7199 need to try first with AT_SYMLINK_NOFOLLOW since the directory
7200 entry was already checked to exist.
7202 2017-07-31 Tino Calancha <tino.calancha@gmail.com>
7204 dired-tests: Unload tested features after test them
7206 Some tests are for Dired with ls-lisp or eshell-ls.
7207 Requiring these features add an advice on `dired' and
7208 might affect other tests.
7209 Do not require these features at the top of the file; require
7210 then inside the tests and unload then at the end.
7211 * test/lisp/dired-tests.el (dired-test-bug27693)
7212 (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
7213 require ls-lisp and/or eshell-ls inside the test; unload the
7214 features at the end.
7216 2017-07-31 Michael Albinus <michael.albinus@gmx.de>
7218 Small adaptions for directory wildcards
7220 * lisp/dired.el (dired-insert-directory): Remove "--dired"
7221 when there are wildcards, and the directory is remote.
7223 * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
7225 (tramp-test17-dired-with-wildcards): Skip for all methods but
7226 those from tamp-sh.p.
7228 2017-07-31 Tino Calancha <tino.calancha@gmail.com>
7230 * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
7233 2017-07-31 Paul Eggert <eggert@cs.ucla.edu>
7238 2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
7239 * lib/tempname.c: Copy from gnulib.
7241 2017-07-30 Tino Calancha <tino.calancha@gmail.com>
7243 ls-lisp: Do not require em-glob at top of the file
7245 Require em-glob inside 'ls-lisp--dired'. This is necessary to
7246 not break the Emacs build.
7247 See following thread for details:
7248 https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg01083.html
7249 * lisp/ls-lisp.el (dired-goto-next-file)
7250 (dired-read-dir-and-switches, eshell-extended-glob):
7251 Add function declarations.
7252 * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
7254 2017-07-30 Michael Albinus <michael.albinus@gmx.de>
7256 * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
7258 * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
7260 2017-07-30 Simen Heggestøyl <simenheg@gmail.com>
7262 Change default CSS property face
7264 * lisp/textmodes/css-mode.el (css-property): Inherit from
7265 `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
7266 distinguish CSS properties from variables.
7268 2017-07-30 Tino Calancha <tino.calancha@gmail.com>
7270 Dired: Handle posix wildcards in directory part
7272 Allow Dired to handle calls like
7273 \(dired \"~/foo/*/*.el\"), that is, with wildcards within
7274 the directory part of the file argument (Bug#27631).
7275 * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
7276 (insert-directory-clean): New defun extracted from insert-directory.
7278 * lisp/dired.el (dired-internal-noselect)
7279 (dired-insert-directory): Use the new predicate; when it's true,
7280 handle the directory wildcards with a shell call.
7281 * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
7282 (eshell-ls-unload-hook): New defun. Use it in
7283 eshell-ls-unload-hook instead of an anonymous function.
7285 * lisp/ls-lisp.el (ls-lisp--dired):
7286 Advice dired to handle wildcards in the directory part with both
7287 eshell-ls and ls-lisp.
7288 * etc/NEWS: Announce it.
7289 * doc/emacs/dired.texi (Dired Enter): Update manual.
7290 * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
7292 2017-07-29 Tino Calancha <tino.calancha@gmail.com>
7294 * lisp/find-lisp.el: Enable lexical binding
7296 * lisp/find-dired.el: Enable lexical binding
7298 2017-07-29 Mark Oteiza <mvoteiza@udel.edu>
7300 * lisp/kmacro.el: Use lexical binding.
7302 2017-07-29 Mark Oteiza <mvoteiza@udel.edu>
7304 Use lexical-binding in dired-aux.el
7306 * lisp/dired.el: Use lexical binding.
7307 (dired-do-shell-command): Remove unused bindings.
7309 2017-07-29 Mark Oteiza <mvoteiza@udel.edu>
7311 * lisp/ido.el: Use lexical binding.
7313 * lisp/whitespace.el: Use lexical binding.
7315 2017-07-29 Stephen Berman <stephen.berman@gmx.net>
7317 artist.el: Avoid error with keyboard command invocation
7319 * lisp/textmodes/artist.el (artist-mouse-choose-operation):
7320 Call x-popup-menu with t instead of last-nonmenu-event as the
7321 value of the position argument; this allows invoking the
7322 command from the keyboard without raising an error (bug#27819).
7324 2017-07-29 Stephen Berman <stephen.berman@gmx.net>
7326 Preserve point under 'dired-auto-revert-buffer' (third case)
7328 * lisp/files.el (find-file): Use pop-to-buffer-same-window
7329 instead of switch-to-buffer. This preserves Dired window
7330 point when dired-auto-revert-buffer is non-nil. (Bug#27243)
7332 * test/lisp/dired-tests.el (dired-test-bug27243-01)
7333 (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
7334 The first two replace a previous test that combined them; that
7335 test intermittently fails in the Hydra build system, so maybe
7336 separating the two cases will help locate the point of
7337 failure. The third test involves find-file but is here
7338 because it, like the others, is testing the effect of
7339 dired-auto-revert-buffer.
7341 2017-07-29 Allen Li <vianchielfaura@gmail.com> (tiny change)
7343 Do not unset user key remaps in dired-x
7345 * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
7346 sets dired-x-hands-off-my-keys. (Bug#27828)
7348 2017-07-29 Eli Zaretskii <eliz@gnu.org>
7350 Improve documentation of 'occur'
7352 * doc/emacs/search.texi (Other Repeating Search):
7353 * lisp/replace.el (occur): Make the documentation of 'occur' be
7354 more accurate when matches overlap. (Bug#27818)
7356 2017-07-29 Eli Zaretskii <eliz@gnu.org>
7358 Minor copyedits of comments in faces.el
7360 * lisp/faces.el (face-font-family-alternatives): More info about
7361 requirements from "Monospace Serif".
7363 2017-07-29 Paul Eggert <eggert@cs.ucla.edu>
7365 Do not worry about paxctl on newer NetBSD
7367 Problem reported privately by Thomas Klausner.
7368 * configure.ac (emacs_uname_r): New var. Use it to avoid paxctl
7369 on newer NetBSD platforms, where it is not needed. Also use it to
7370 simplify Cygwin diagnostic.
7372 2017-07-29 Eli Zaretskii <eliz@gnu.org>
7374 Clarify documentation of ':inherit' face attribute
7376 * doc/lispref/display.texi (Face Attributes): Document the special
7377 treatment of 'unspecified' in the ':inherit' attribute.
7379 2017-07-28 Stefan Monnier <monnier@iro.umontreal.ca>
7381 * lisp/password-cache.el (password-data): Use a hash-table
7383 * lisp/auth-source.el (auth-source-magic): Remove.
7384 (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
7385 format of password-data.
7386 (auth-source-format-cache-entry): Just use a cons.
7388 (password-cache-remove, password-cache-add, password-reset)
7389 (password-read-from-cache, password-in-cache-p): Adjust accordingly.
7393 2017-07-28 Stefan Monnier <monnier@iro.umontreal.ca>
7395 * lisp/subr.el (define-symbol-prop): New function
7397 (symbol-file): Make it find symbol property definitions.
7399 * lisp/emacs-lisp/pcase.el (pcase-defmacro):
7400 * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
7401 (ert-describe-test): Adjust call to symbol-file accordingly.
7403 2017-07-28 Stefan Monnier <monnier@iro.umontreal.ca>
7405 * lisp/subr.el (method-files): Move function to cl-generic.el
7407 * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
7408 (cl--generic-method-files): New function, moved from subr.el.
7409 * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
7410 * test/lisp/emacs-lisp/cl-generic-tests.el:
7411 * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
7413 2017-07-28 Eli Zaretskii <eliz@gnu.org>
7415 Preserve this-command-keys across recursive-edit invocations
7417 * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
7418 restore this-command-keys, to preserve it across recursive-edit.
7421 2017-07-28 Eli Zaretskii <eliz@gnu.org>
7423 Improve doc string of 'locate-dominating-file'
7425 * lisp/files.el (locate-dominating-file): Doc fix. (Bug#27798)
7427 2017-07-28 Drew Adams <drew.adams@oracle.com>
7429 New commands 'apropos-local-variable', 'apropos-local-value'
7431 * lisp/apropos.el (apropos-local-variable, apropos-local-value):
7432 New functions. (Bug#27424)
7434 * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
7435 and 'apropos-local-value'.
7436 * etc/NEWS: Mention the new commands.
7438 2017-07-28 Stefan Monnier <monnier@iro.umontreal.ca>
7440 * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
7442 * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
7444 2017-07-27 Alan Mackenzie <acm@muc.de>
7446 Fix C++ class initializers not always being fontified at mode start.
7448 The problem here happened when an "outer list" of declarations moved beyond an
7449 "inner list" containing class initializers. These weren't being checked for
7452 Also, fix places in c-get-fontification-context where point is undefined.
7454 * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
7455 not-front-decl is set, test for class initializers. Also, anchor point in
7456 places where it is moved and is otherwise undefined.
7458 2017-07-27 Alan Mackenzie <acm@muc.de>
7460 Fix variables in C++ "for" statement not always being fontified.
7462 The error happened when there was a comma inside template delimiters.
7464 * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
7465 statements, recognise template delimiters containing "," and "&".
7467 2017-07-27 Michael Albinus <michael.albinus@gmx.de>
7469 Add watchdog process to tramp-test36-asynchronous-requests
7471 * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
7473 (tramp-test36-asynchronous-requests): Use a watchdog process,
7474 listening for SIGUSR1.
7476 2017-07-27 Alan Mackenzie <acm@muc.de>
7478 CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
7480 If a declarator is so cut off, extend the fontification chunk to include it.
7482 * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
7483 (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
7485 2017-07-27 Stefan Monnier <monnier@iro.umontreal.ca>
7487 * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
7489 (smerge--refine-long-words): New var.
7490 (smerge--refine-chopup-region): Use it.
7492 2017-07-27 Stefan Monnier <monnier@iro.umontreal.ca>
7494 * lisp/url/url-cookie.el: Use lexical-binding
7496 (url-cookie-host-can-set-p): Remove unused var `last'.
7497 Use string-suffix-p.
7498 (url-cookie-list): De morgan.
7499 (url-cookie-quit): Remove.
7500 (url-cookie-mode): Inherit from special-mode.
7501 (url-cookie-mode-map): Simplify accordingly.
7503 2017-07-27 Stefan Monnier <monnier@iro.umontreal.ca>
7505 * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
7507 * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
7509 2017-07-27 Stefan Monnier <monnier@iro.umontreal.ca>
7511 * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
7513 Record this as the function's definition site if it's the first def.
7515 2017-07-26 Glenn Morris <rgm@gnu.org>
7517 * doc/lispref/loading.texi (When to Autoload): New section.
7519 2017-07-26 Glenn Morris <rgm@gnu.org>
7521 Stop using unibyte buffers for ert backtraces
7523 * lisp/emacs-lisp/ert.el
7524 (ert-results-pop-to-backtrace-for-test-at-point):
7525 Set multibyte true, not false. This copies a
7526 debugger-setup-buffer change from 2009-08-30, and stops the
7527 "Backtrace for" header line containing ^X and ^Y.
7529 2017-07-26 Dmitry Gutov <dgutov@yandex.ru>
7531 Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
7533 * lisp/cedet/semantic/symref/grep.el
7534 (semantic-symref-grep--line-re): Delete.
7535 (semantic-symref-parse-tool-output-one-line):
7536 Use regexp and group numbers from (grep-regexp-alist).
7538 2017-07-26 Grégoire Jadi <daimrod@omecha.info>
7540 Fix cl-defmethod indentation
7542 * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
7543 Declare (indent defun). Fixes bug#23994.
7545 2017-07-26 Martin Rudalics <rudalics@gmx.at>
7547 Fix two customization types in frame.el
7549 * lisp/frame.el (window-divider-default-bottom-width)
7550 (window-divider-default-right-width): Fix customization types.
7552 2017-07-26 Tino Calancha <tino.calancha@gmail.com>
7554 Dired: Support eshell-ls from the beginning if the user wants to
7556 * lisp/dired.el (dired-insert-directory): Check for eshell-ls
7557 as well (Bug#27817).
7558 * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
7560 2017-07-26 Mark Oteiza <mvoteiza@udel.edu>
7562 * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
7564 2017-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
7566 * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
7568 Adjust to change in cl-generic-ensure-function.
7570 2017-07-25 Tino Calancha <tino.calancha@gmail.com>
7572 ls-lisp: Add an unload function and enable lexical binding
7574 Enable lexical binding.
7575 * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
7576 * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
7578 2017-07-25 Tino Calancha <tino.calancha@gmail.com>
7580 register-read-with-preview: Quit if user input C-g or ESC
7582 * lisp/register.el (register-read-with-preview):
7583 Quit if user input C-g or ESC (bug#27634).
7584 * doc/emacs/regs.texi (Registers): Update manual.
7585 * test/lisp/register-tests.el (register-test-bug27634): Add test.
7587 2017-07-25 Mark Oteiza <mvoteiza@udel.edu>
7589 Recognize MirBSD Korn shell rc file
7591 * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
7593 2017-07-25 Glenn Morris <rgm@gnu.org>
7595 * configure.ac: Be explicit about ImageMagick version in summary.
7597 2017-07-25 Andreas Schwab <schwab@linux-m68k.org>
7599 Properly align global lispsym
7601 * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
7602 Lisp_Symbols inside struct.
7603 * src/alloc.c (sweep_symbols): Update use of lispsym.
7604 * src/lisp.h (builtin_lisp_symbol): Likewise.
7606 2017-07-25 Paul Eggert <eggert@cs.ucla.edu>
7608 Do not use ImageMagick 7 and later
7610 Suggested by Glenn Morris (Bug#25967#15).
7611 * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
7613 2017-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
7615 * lisp/progmodes/perl-mode.el: Add support for indented here docs
7617 * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
7618 Recognize the new <<~ syntax for indented here docs.
7619 (perl-syntax-propertize-special-constructs): Adjust search of the
7620 end of here docs accordingly.
7622 * test/manual/indent/perl.perl: Add test for indented here docs.
7624 2017-07-24 Stefan Monnier <monnier@iro.umontreal.ca>
7626 (loadhist-unload-element): Move ERT and cl-generic methods
7628 * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
7629 and ert methods here.
7630 (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
7632 * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
7633 unload method for cl-defmethod.
7634 (cl-generic-ensure-function): Remove redundant `defalias'.
7636 * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
7638 (ert-deftest): ...from here.
7639 (loadhist-unload-element): Define unload method for ert-deftest.
7641 2017-07-24 Michael Albinus <michael.albinus@gmx.de>
7645 * lisp/loadhist.el (loadhist-unload-element): Declare for
7646 different entry types of `load-history'.
7647 (loadhist--restore-autoload): New variable.
7648 (loadhist--unload-function): New defun.
7649 (unload-feature): Use `loadhist-unload-element'. Recommended by
7650 Stefan Monnier. (Bug#27371)
7652 * test/lisp/net/tramp-tests.el (tramp-test39-unload):
7653 Check, that the `tramp-file-name' structure has been unloaded.
7655 2017-07-24 Grégoire Jadi <gjadi@omecha.info>
7657 Ensure that we parse images right in shr.el
7659 * lisp/net/shr.el (shr-image-fetched): Go back to the
7660 beginning of the buffer before trying to parse the image
7663 2017-07-24 Paul Eggert <eggert@cs.ucla.edu>
7665 Update .gitignore for Valgrind and no Automake
7667 * .gitignore: Remove .deps/ since we no longer use Automake.
7668 Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
7670 2017-07-24 Paul Eggert <eggert@cs.ucla.edu>
7675 2017-07-23 Rename module 'strftime' to 'nstrftime'
7676 * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
7677 * build-aux/config.guess: Copy from gnulib.
7678 * lib/nstrftime.c: Rename from lib/strftime.c.
7679 * m4/nstrftime.m4: Rename from m4/strftime.m4.
7680 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
7682 2017-07-23 Philipp Stephani <phst@google.com>
7684 Add 'rx' pattern for pcase.
7686 * lisp/emacs-lisp/rx.el (rx): New pcase macro.
7687 * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
7689 2017-07-23 Mark Oteiza <mvoteiza@udel.edu>
7691 Use a named function for global minor mode turn-on argument
7693 * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
7695 (global-display-line-numbers-mode): Use it.
7697 2017-07-23 Charles A. Roelli <charles@aurox.ch>
7699 Enable GUI Emacs without 'make install' on macOS (Bug #27645)
7701 * nextstep/INSTALL: Correct it, and mention that Emacs can be run
7704 * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
7705 launched outside of a macOS application bundle, change its
7706 activation policy from the default 'prohibited' to 'regular'.
7708 2017-07-23 Alan Mackenzie <acm@muc.de>
7710 Convert CC Mode's c-found-types from an obarray to a hash table.
7712 * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
7713 rather than an obarray.
7714 (c-copy-found-types): Remove.
7715 (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
7717 (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
7719 2017-07-23 Lars Ingebrigtsen <larsi@gnus.org>
7721 Fix image/svg+xml display in shr
7723 * lisp/net/shr.el (shr-put-image): Display svg images as svg
7724 (bug#27799). I suspect the previous change was checked in by
7725 accident in conjuction with some other svg changes.
7727 2017-07-23 Michael Albinus <michael.albinus@gmx.de>
7729 * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
7731 2017-07-23 Glenn Morris <rgm@gnu.org>
7733 Don't automatically enable Gconf if Gsettings was found
7735 * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
7736 Don't test for Gconf unless specifically requested.
7737 Gconf was deprecated in favor of Gsettings several years ago.
7739 2017-07-23 Glenn Morris <rgm@gnu.org>
7741 * configure.ac (MODULES_SUFFIX): Always give it a value.
7743 This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
7745 2017-07-23 Glenn Morris <rgm@gnu.org>
7747 * doc/emacs/frames.texi (Fonts): Mention Gsettings.
7749 2017-07-22 Michael Albinus <michael.albinus@gmx.de>
7751 Add line numbers display to the Options menu
7753 * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
7754 (menu-bar-display-line-numbers-mode): New defun.
7755 (menu-bar-showhide-line-numbers-menu): New defvar.
7756 (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
7758 2017-07-22 Noam Postavsky <npostavs@gmail.com>
7760 Signal error for symbol names with strange quotes (Bug#2967)
7762 * src/lread.c (read1): Signal an error when a symbol starts with a
7763 non-escaped quote-like character.
7764 * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
7766 * etc/NEWS: Announce change.
7768 2017-07-22 Noam Postavsky <npostavs@gmail.com>
7770 Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
7772 It turns out that this change is not needed, and it leaves several
7773 command loops settings not done.
7775 https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00757.html
7776 https://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00840.html
7778 2017-07-22 Alexander Gramiak <agrambot@gmail.com>
7780 Add a minor mode interface for display-line-numbers
7782 * lisp/cus-start.el: Use the new display-line-numbers group.
7783 * lisp/display-line-numbers.el: New file.
7785 * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
7786 belong to linum-mode.
7787 * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
7788 * etc/NEWS: Document display-line-numbers-mode and its customization
7789 variables, and mention that display-line-numbers-width is
7792 * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
7795 2017-07-22 vividsnow <vividsnow@gmail.com> (tiny change)
7797 Support indented HERE-DOCs in cperl-mode
7799 * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
7800 indented here-docs. (Bug#27254) (Bug#27697)
7802 2017-07-22 Eli Zaretskii <eliz@gnu.org>
7804 Document the support for "scrollBar" X resource
7806 * doc/emacs/xresources.texi (Table of Resources): Document the new
7807 'scrollBar' setting.
7808 * etc/NEWS: Document the new 'scrollBar' setting.
7810 2017-07-22 Matthew Bauer <mjbauer95@gmail.com> (tiny change)
7812 Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
7814 * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
7817 2017-07-22 Alexander Kuleshov <kuleshovmail@gmail.com>
7819 Update ld-script mode (bug#27629)
7821 * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
7822 NOCROSSREFS_TO and HIDDEN added. Fix documentation sections
7823 numbers for PROVIDE/PROVIDE_HIDDEN commands.
7824 (ld-script-builtins): New builtin function LOG2CEIL added.
7826 2017-07-22 Eli Zaretskii <eliz@gnu.org>
7828 Index 'rectangle' in the ELisp manual
7830 * doc/lispref/text.texi (Registers): Index the "rectangle" value.
7833 2017-07-22 Eli Zaretskii <eliz@gnu.org>
7835 * lisp/subr.el (add-to-history): Doc fix. (Bug#27494)
7837 2017-07-22 Eli Zaretskii <eliz@gnu.org>
7839 Doc fixes for kmacro.el functions
7841 * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
7842 (kmacro-end-and-call-macro): Don't use "permanent name", as that
7843 could be misinterpreted. (Bug#27492)
7845 2017-07-22 Charles A. Roelli <charles@aurox.ch>
7847 ElDoc: add docstrings and minor refactoring
7849 * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
7851 (turn-on-eldoc-mode): Fix capitalization.
7852 (eldoc--supported-p): Add docstring.
7853 (eldoc-schedule-timer): Add docstring and use
7854 'eldoc--supported-p'.
7855 (eldoc-message): Add docstring and make calling convention
7857 (eldoc--message-command-p):
7858 (eldoc-pre-command-refresh-echo-area):
7859 (eldoc-display-message-p):
7860 (eldoc-display-message-no-interference-p):
7861 (eldoc-print-current-symbol-info):
7862 (eldoc-docstring-format-sym-doc):
7863 (eldoc-add-command, eldoc-add-command-completions):
7864 (eldoc-remove-command, eldoc-remove-command-completions):
7865 Add docstring. (Bug#27230)
7867 2017-07-22 Fabrice Bauzac <libnoon@gmail.com> (tiny change)
7869 Mention 'C-M-i' as key binding for 'ispell-complete-word'
7871 * doc/emacs/fixit.texi (Spelling): ispell-complete-word
7872 can also be invoked by C-M-i. (Bug#27349)
7874 2017-07-22 Fabrice Bauzac <libnoon@gmail.com> (tiny change)
7876 Fix the eww-search-words description in the Emacs manual
7878 * doc/emacs/search.texi (Word Search):
7879 Include the key binding for eww-search-words in the manual.
7880 Fix the spelling of the 'eww-search-words' command.
7882 2017-07-22 Andrew L. Moore <slewsys@gmail.com>
7884 Introduce defcustom 'executable-prefix-env'
7886 * lisp/progmodes/executable.el (executable-prefix): Update the doc
7888 (executable-prefix-env): New defcustom.
7889 (executable-set-magic): Use executable-prefix-env.
7891 * etc/NEWS: Document the new variable.
7893 2017-07-22 Glenn Morris <rgm@gnu.org>
7895 * test/lisp/ibuffer-tests.el: Delete temporary files.
7897 2017-07-21 Glenn Morris <rgm@gnu.org>
7899 Further attempt to avoid hang in network-stream-tests
7901 * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
7902 Limit the time we wait for the external process.
7904 2017-07-21 Glenn Morris <rgm@gnu.org>
7906 Stop skipping many ibuffer tests by default
7908 * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
7909 Rename so it sorts first.
7910 (ibuffer-save-filters, ibuffer-filter-inclusion-1)
7911 (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
7912 (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
7913 (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
7914 (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
7915 (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
7916 (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
7918 2017-07-21 Stefan Monnier <monnier@iro.umontreal.ca>
7920 Use lexical-binding in todo-mode.el
7922 Adjust code accordingly and make various minor improvements.
7924 * lisp/calendar/todo-mode.el: Enable lexical-binding.
7925 (dayname, monthname, day, month, year): Make forward defvars
7926 of these keywords from macros defined in calendar.el; wrap
7927 them in with-no-warnings.
7928 (todo-files, todo-files-function, todo-date-pattern)
7929 (todo-mode-line-function, todo-show, todo-forward-category)
7930 (todo-edit-item--header, todo-set-category-number)
7931 (todo-adjusted-category-label-length)
7932 (todo-total-item-counts, todo-filter-items)
7933 (todo-print-buffer-function, todo-convert-legacy-date-time)
7934 (todo-category-number, todo-category-completions)
7935 (todo-read-file-name, todo-read-category)
7936 (todo-validate-name, todo-read-date)
7937 (todo-set-show-current-file, todo-modes-set-1)
7938 (todo-modes-set-2, todo-modes-set-3, todo-mode):
7939 Use #' instead of ' to quote functions.
7940 (todo-files): Use \' instead of $ in regexp.
7941 (todo--files-type-list): New function.
7942 (todo-default-todo-file, todo-category-completions-files)
7943 (todo-filter-files, todo-multiple-filter-files)
7944 (todo-reevaluate-default-file-defcustom)
7945 (todo-reevaluate-category-completions-files-defcustom)
7946 (todo-reevaluate-filter-files-defcustom): Use it.
7947 (todo-show, todo-rename-file, todo-move-category)
7948 (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
7949 (todo-item-undone, todo-unarchive-items, todo-search)
7950 (todo-filter-items, todo-filter-items-1, todo-find-item)
7951 (todo-category-select, todo-read-date)
7952 (todo-nondiary-marker-matcher, todo-date-string-matcher)
7953 (todo-diary-expired-matcher, todo-convert-legacy-files)
7954 (todo-read-category): Reformat to avoid code hiding behind a
7955 more deeply embedded element.
7956 (todo-forward-category, todo-set-category-number):
7957 Use 'funcall' instead of 'apply'.
7958 (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
7959 (todo-edit-category-diary-inclusion)
7960 (todo-insert-sort-button, todo-insert-category-line)
7961 (todo-multiple-filter-files): Mark unused local variables.
7962 (todo-edit-item--header, todo-move-item, todo-print-buffer)
7963 (todo-edit-item--header, todo-move-item, todo-check-file)
7964 (todo-edit-item--next-key): Remove unused local variables.
7965 (todo-insert-sort-button, todo-insert-category-line):
7966 Use a closure instead of a backquoted lambda.
7967 (todo-update-categories-display, todo-print-buffer): Simplify code.
7968 (todo-print-buffer-function): Document calling convention.
7969 (todo-category-completions): Use cl-pushnew instead of add-to-list.
7970 (todo-mode-map, todo-archive-mode-map)
7971 (todo-categories-mode-map, todo-filtered-items-mode-map):
7972 Remove superfluous call of suppress-keymap, since it's already
7973 in the parent special-mode-map.
7975 2017-07-21 Tino Calancha <tino.calancha@gmail.com>
7977 dired: Revert buffer when DIRNAME is a cons
7979 * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
7980 is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
7981 Update the comments.
7982 * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
7984 2017-07-21 Tino Calancha <tino.calancha@gmail.com>
7986 Handle when dired-directory is a cons in some Dired functions
7988 * lisp/dired-aux.el (dired-rename-subdir-1)
7989 * lisp/dired-x.el (dired-mark-omitted):
7990 Handle when dired-directory is a cons.
7992 2017-07-21 Noam Postavsky <npostavs@gmail.com>
7994 Make eshell-next-prompt more reliable (Bug#27405)
7996 * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
7997 `eshell-prompt-regexp' (and `read-only' text-property if
7998 `eshell-highlight-prompt' is set) rather than trying to use
7999 `forward-paragraph'.
8000 (eshell-previous-prompt): Don't count prompt on current line.
8002 2017-07-21 Paul Eggert <eggert@cs.ucla.edu>
8004 Simplify recent gnutls.c changes
8006 * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
8007 All uses replaced by calls to explicit_bzero; that’s clear enough.
8008 (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
8009 coalescing duplicate actions. There is no need to invoke
8010 SAFE_FREE before calling ‘error’.
8012 2017-07-20 Michael Albinus <michael.albinus@gmx.de>
8014 Stylistic changes in tramp-cache.el
8016 * lisp/net/tramp-cache.el (tramp-get-file-property)
8017 (tramp-set-file-property): Use `bound-and-true-p'. Add
8018 counter variables to `tramp-cache-unload-hook'.
8020 2017-07-20 Glenn Morris <rgm@gnu.org>
8022 * admin/notes/hydra: Small updates.
8024 2017-07-20 Glenn Morris <rgm@gnu.org>
8026 Make tramp unloading handle debug counter variables
8028 * lisp/net/tramp-cache.el (tramp-get-file-property)
8029 (tramp-set-file-property): Add counter variables to tramp-unload-hook.
8031 2017-07-20 Eli Zaretskii <eliz@gnu.org>
8033 Fix hscrolling calculations when display-line-numbers is set
8035 * src/xdisp.c (move_it_in_display_line_to): Account for line
8036 numbers in hscrolled lines. (Bug#27756)
8038 2017-07-20 Katsumi Yamaoka <yamaoka@jpl.org>
8040 Fix the bogus change made 13 years ago (bug#27084)
8042 * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
8043 Fix the way to test if there is no visible header (bug#27084).
8045 2017-07-20 Noam Postavsky <npostavs@gmail.com>
8047 Use grep's --null option (Bug#6843)
8049 * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
8050 (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
8051 (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
8052 constants, replacing `grep-regexp-alist'.
8053 (grep-regex-alist): Mark the variable obsolete, add a new function of
8054 the same name to replace it.
8055 (grep-compute-defaults): Compute default for
8056 `grep-use-null-filename-separator'.
8057 (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
8058 value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
8059 according to `grep-use-null-filename-separator'.
8060 * lisp/progmodes/xref.el (xref-collect-matches): Call
8061 `grep-regex-alist' instead of the obsolete variable. Don't hardcode
8062 grep-regexp-alist match groups.
8063 * etc/NEWS: Announce new use of --null. Move 'grep-save-buffers'
8064 item under "Grep" heading as well.
8066 2017-07-19 Philipp Stephani <phst@google.com>
8068 * src/gnutls.c (clear_storage): Define only if needed.
8070 2017-07-19 Stephen Berman <stephen.berman@gmx.net>
8072 Adjust todo-quit to recent change in dired
8074 * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
8075 bury-buffer to exit todo-mode. This restores the desired behavior
8076 of not immediately returning to the exited todo-mode buffer on
8077 quitting another buffer, which a dired bug fix had changed (see
8078 http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00739.html).
8080 2017-07-19 Tino Calancha <tino.calancha@gmail.com>
8082 Add test for bugs 7131, 27762
8084 Require 'ls-lisp' at top of the file.
8085 * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
8087 (dired-test-bug27693): Delete Dired buffer at the end.
8089 2017-07-18 Michael Albinus <michael.albinus@gmx.de>
8091 * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
8093 2017-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
8095 * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
8097 This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
8099 2017-07-18 Glenn Morris <rgm@gnu.org>
8101 Use a more specific test for running on hydra.nixos.org
8103 * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
8104 * test/Makefile.in (WRITE_LOG):
8105 * test/lisp/filenotify-tests.el:
8106 * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
8107 (eieio-test-method-order-list-6):
8108 * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
8109 (eieio-test-37-obsolete-name-in-constructor):
8110 * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
8112 2017-07-18 Eli Zaretskii <eliz@gnu.org>
8114 Avoid infloop due to Eshell's "smart" redisplay
8116 * src/xdisp.c (pos_visible_p): Save and restore the window's
8117 mode-line and header-line height. (Bug#27752)
8119 2017-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
8121 * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
8123 2017-07-18 Eli Zaretskii <eliz@gnu.org>
8125 Fix indentation when display-line-numbers is non-nil
8127 * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
8128 to go one more tab stop to display a TAB. (Bug#27743)
8130 2017-07-18 Lars Ingebrigtsen <larsi@gnus.org>
8132 Don't use gtk_widget_get_scale_factor on old GTK3 versions
8134 * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
8135 only present since GTK 3.10.
8137 2017-07-18 Noam Postavsky <npostavs@gmail.com>
8139 Let delete-selection-mode work with popup-menu commands (Bug#27569)
8141 * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
8142 `this-command' set to the selected command.
8144 2017-07-18 Paul Eggert <eggert@cs.ucla.edu>
8146 Port gnutls.c to older (buggier?) GnuTLS
8148 Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
8149 http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00716.html
8150 http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00742.html
8151 Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
8152 perhaps hydra was using a modified GnuTLS.
8153 * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
8154 is at the end of the list returned by gnutls_cipher_list,
8155 or that the earlier ciphers all have non-null names.
8157 2017-07-17 Vincent Belaïche <vincentb1@users.sourceforge.net>
8159 Fix relocation with named cell referred to by a one-symbol formula.
8161 * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
8162 work also with one symbol formulas.
8164 * test/lisp/ses-tests.el
8165 (ses-tests-renaming-cell-with-one-symbol-formula): Add new
8166 test for renaming with relocating a one symbol formula.
8168 2017-07-17 Vincent Belaïche <vincentb1@users.sourceforge.net>
8170 Fix symbol completion and document it.
8172 * doc/misc/ses.texi (Configuring what printer function
8173 applies): Add description of keys for completing local printer
8174 symbols and listing local printers in a help buffer.
8175 (Formulas): Add decription for key to list the named cell
8176 symbols in a help buffer.
8178 * lisp/ses.el (ses-completion-keys): New constant.
8179 (ses--completion-table): New defvar.
8180 (ses--list-orig-buffer): New defvar.
8181 (ses-mode-edit-map): Fixed for symbol completion, plus add
8182 help functions to list named cells or local printers.
8183 (ses-edit-cell-complete-symbol)
8184 (ses--edit-cell-completion-at-point-function): New defuns for
8185 completion during formula edition.
8186 (ses-edit-cell): Redefine dynamically edit keymap for
8187 completion keys to point at the right function.
8188 (ses-read-printer-complete-symbol)
8189 (ses--read-printer-completion-at-point-function): New defuns
8190 for completion during printer edition.
8191 (ses-read-printer): Redefine dynamically edit keymap for
8192 completion keys to point at the right function.
8193 (ses-list-local-printers): New defun.
8194 (ses-list-named-cells): New defun.
8196 2017-07-17 Lars Ingebrigtsen <larsi@gnus.org>
8198 Move comments around
8200 2017-07-17 Lars Ingebrigtsen <larsi@gnus.org>
8202 Make scaling work (?) on pre-GTK3 systems
8204 * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
8205 (xg_get_scale): Use it on non-GTK3 systems.
8207 2017-07-17 Lars Ingebrigtsen <larsi@gnus.org>
8209 Always return the GDK scale
8211 * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
8213 2017-07-17 Lars Ingebrigtsen <larsi@gnus.org>
8215 Remove usage of the GDK_SCALE variable
8217 * src/gtkutil.c (xg_get_gdk_scale): Remove.
8218 (xg_get_default_scrollbar_height)
8219 (xg_get_default_scrollbar_width): Pass in a frame to check for
8221 (xg_frame_set_char_size): Use the API for querying scale
8222 instead of looking at the GDK_SCALE variable.
8223 (xg_get_default_scrollbar_width): Ditto.
8224 (xg_get_default_scrollbar_height): Ditto.
8225 (xg_update_scrollbar_pos): Ditto.
8227 * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
8228 frame to get the width.
8230 2017-07-17 Lars Ingebrigtsen <larsi@gnus.org>
8232 Get positions of menus and tooltips right on HiDPI
8234 * src/gtkutil.c (xg_get_scale): New function.
8235 (xg_show_tooltip): Use it.
8237 * src/xmenu.c (create_and_show_popup_menu): Put menus in the
8240 2017-07-17 Eli Zaretskii <eliz@gnu.org>
8242 Allow user control on what starts and ends a paragraph for bidi
8244 * src/buffer.h (struct buffer): New members
8245 bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
8246 * src/buffer.c (bset_bidi_paragraph_start_re)
8247 (bset_bidi_paragraph_separate_re): New setters/
8248 (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
8249 bidi-paragraph-separate-re.
8250 (init_buffer_once): Init the values of bidi-paragraph-start-re and
8251 bidi-paragraph-separate-re.
8252 (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
8253 New per-buffer variables.
8254 * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
8255 Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
8256 (bidi_move_to_visually_next): Handle correctly the case when the
8257 separator matches an empty string. (Bug#27526)
8259 * doc/emacs/mule.texi (Bidirectional Editing):
8260 * doc/lispref/display.texi (Bidirectional Display): Document
8261 bidi-paragraph-start-re and bidi-paragraph-separate-re.
8263 * etc/NEWS: Mention bidi-paragraph-start-re and
8264 bidi-paragraph-separate-re.
8266 2017-07-17 Tino Calancha <tino.calancha@gmail.com>
8268 * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
8270 2017-07-17 Tino Calancha <tino.calancha@gmail.com>
8272 alist-get: Add optional arg TESTFN
8274 If TESTFN is non-nil, then it is the predicate to lookup
8275 the alist. Otherwise, use 'eq' (Bug#27584).
8276 * lisp/subr.el (alist-get): Add optional arg FULL.
8277 * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
8278 * lisp/emacs-lisp/gv.el (alist-get): Update expander.
8279 * doc/lispref/lists.texi (Association Lists): Update manual.
8280 * etc/NEWS: Announce the changes.
8281 * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
8282 (test-map-elt-testfn): New tests.
8284 2017-07-17 Michael Albinus <michael.albinus@gmx.de>
8286 Fix `tramp-test39-unload'
8288 * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
8289 (tramp--test-instrument-test-case): Rename. Adapt all callees.
8290 (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
8291 (tramp-test39-unload): Expect it to pass. Ignore buffer-local
8292 variables and autoload functions; they are not removed. Check
8293 also for `-function(s)'.
8295 2017-07-17 Stephen Berman <stephen.berman@gmx.net>
8297 Preserve point under 'dired-auto-revert-buffer' (second case)
8299 * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
8300 of switch-to-buffer. This preserves Dired window point when
8301 dired-auto-revert-buffer is non-nil. (Bug#27243)
8303 * test/lisp/dired-tests.el (dired-test-bug27243): New test.
8305 2017-07-17 Martin Rudalics <rudalics@gmx.at>
8307 Have Fgnutls_available_p return Qnil when GNUTLS is undefined
8309 * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
8310 undefined to allow --with-gnutls=no builds to proceed.
8312 2017-07-17 Paul Eggert <eggert@cs.ucla.edu>
8314 * src/gnutls.c: Restore some comments.
8316 2017-07-17 Paul Eggert <eggert@cs.ucla.edu>
8318 Use memset, not bzero
8320 * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
8321 of the (less-portable) bzero.
8323 2017-07-17 Paul Eggert <eggert@cs.ucla.edu>
8325 Use explicit_bzero to clear GnuTLS keys
8327 * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
8328 * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
8329 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
8330 * src/gnutls.c (clear_storage): New function.
8331 (gnutls_symmetric_aead): Use it instead of memset.
8333 2017-07-17 Paul Eggert <eggert@cs.ucla.edu>
8338 2017-07-16 explicit_bzero: new module
8339 2017-07-15 getdtablesize: Add minimal support for OpenVMS.
8340 * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
8343 * lib/gnulib.mk.in: Regenerate.
8345 2017-07-17 Dieter Deyke <dieter.deyke@gmail.com>
8347 Fix vc-src-dir-status-files
8349 * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
8350 copy-paste from b1a765b3 (bug#27641).
8352 2017-07-16 Wilfred Hughes <me@wilfred.me.uk>
8354 Fix mismatched parens
8356 * etc/NEWS.21: Remove excess parenthesis in code example
8358 2017-07-16 Alan Third <alan@idiocy.org>
8360 Add missing declare-function for new function
8362 * lisp/frame.el: Add declare function for
8363 ns-mouse-absolute-pixel-position.
8365 2017-07-16 R. Bernstein <rocky@gnu.org>
8367 Realgud for tango themes
8369 2017-07-16 Noam Postavsky <npostavs@gmail.com>
8371 Fix test when running from test/lisp/subr-tests.elc
8373 * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
8374 assume a lambda expression will be `equal' to its quoted form. That's
8375 not true if the lambda expression has been compiled.
8377 2017-07-15 Alan Third <alan@idiocy.org>
8379 Fix some frame handling issues on NS
8381 * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
8382 * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
8383 * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
8384 relationship if it's broken.
8386 2017-07-15 Tino Calancha <tino.calancha@gmail.com>
8388 ls-lisp: Fix file size format
8390 * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
8391 (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
8392 * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
8394 2017-07-15 Eli Zaretskii <eliz@gnu.org>
8396 Avoid link errors with older versions of GnuTLS
8398 * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
8399 (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
8400 calls GnuTLS functions which might be unavailable in older
8403 2017-07-15 Eli Zaretskii <eliz@gnu.org>
8405 Improve comments in faces.el
8407 * lisp/faces.el (face-font-family-alternatives): Improve
8410 2017-07-15 Eli Zaretskii <eliz@gnu.org>
8412 Improve some GnuTL error messages
8414 * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
8415 * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
8417 2017-07-15 Eli Zaretskii <eliz@gnu.org>
8419 Fix the Elisp manual wrt GnuTL cryptography
8421 * doc/lispref/elisp.texi (Top): Update the master menu.
8422 * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
8423 avoid errors in makeinfo.
8425 2017-07-15 Eli Zaretskii <eliz@gnu.org>
8427 Fix compilation of gnutls.c with older GnuTLS
8429 * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
8430 on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
8431 v3.X is not available. Reported by Colin Baxter <m43cap@yandex.com>.
8433 2017-07-15 rocky <rb@dustyfeet.com>
8435 Realgud for two more light themes
8437 2017-07-15 Eli Zaretskii <eliz@gnu.org>
8439 Rearrange MS-Windows code that dynamically loads GnuTLS functions
8441 * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
8442 of functions using the same preprocessing directives as in the code.
8444 2017-07-15 Eli Zaretskii <eliz@gnu.org>
8446 Fix the MS-Windows build broken in gnutls.c
8448 * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
8449 loading code to after 'capabilities' has been calculated. Remove
8452 2017-07-15 Lars Ingebrigtsen <larsi@gnus.org>
8454 src/image.c (compute_image_size): Remove superfluous checks.
8456 * src/image.c (compute_image_size): Remove superfluous checks.
8458 2017-07-15 Lars Ingebrigtsen <larsi@gnus.org>
8460 Make combinations of :width/:max-height image specs work reliably
8462 * doc/lispref/display.texi (ImageMagick Images): Document
8463 :width/:max-height combinations (etc) (bug #25583).
8465 * src/image.c (compute_image_size): Handle :width/:max-height
8466 (etc) combinations consistently (by letting "max" win and
8469 * test/manual/image-size-tests.el (image-size-tests): Add
8470 tests for :width/:max-height (etc) combinations.
8472 2017-07-15 Glenn Morris <rgm@gnu.org>
8474 Fix recent theme changes
8476 * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
8477 Fix typos in recent changes.
8479 2017-07-15 Paul Eggert <eggert@cs.ucla.edu>
8481 GnuTLS integer-overflow and style fixes
8483 This tweaks the recently-added GnuTLS improvements so that
8484 they avoid some integer-overflow problems and follow typical
8485 Emacs style a bit better.
8486 * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
8487 (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
8488 configure-time results are displayed.
8489 * src/fns.c (extract_data_from_object): Return char *, not char
8490 const *, since one gnutls caller wants a non-const pointer. Use
8491 CONSP rather than !NILP when testing for conses. Use CAR_SAFE
8492 instead of rolling our own code. Prefer signed types to unsigned
8493 when either will do. Report problems for lengths out of range,
8494 instead of silently mishandling them.
8495 * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
8496 callers. All callers of gnutls_sterror changed.
8497 (Fgnutls_boot): Check for integers out of range rather than
8498 silently truncating them.
8499 (gnutls_symmetric_aead): Check for integer overflow in size
8501 (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
8502 Prefer signed to unsigned integers where either will do.
8503 (gnutls_symmetric_aead, gnutls_symmetric):
8504 Work even if ptrdiff_t is wider than ‘long’.
8505 (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
8506 Check for integer overflow in algorithm selection.
8508 2017-07-14 Noam Postavsky <npostavs@gmail.com>
8510 * .gitlab-ci.yml: Don't install a C++ compiler. Suppress apt interaction.
8512 2017-07-14 Eli Zaretskii <eliz@gnu.org>
8514 Fix the MS-Windows build due to added GnuTLS functions
8516 * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
8517 (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
8518 functions. Add #define redirections for new functions.
8519 (gnutls_symmetric_aead): Fix format specs to be more portable when
8520 printing ptrdiff_t arguments.
8521 * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
8523 * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
8525 * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
8526 (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
8527 gnutls-available-p, otherwise GnuTLS functions might not be loaded
8528 from the DLL on MS-Windows.
8530 2017-07-14 Stefan Monnier <monnier@iro.umontreal.ca>
8532 * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
8534 * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
8535 Dig into advice wrappers to find the "real" signature.
8536 (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
8537 (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
8538 since bytecode functions are now handled in byte-compile--function-signature.
8540 * lisp/files.el (create-file-buffer, insert-directory):
8541 Remove workaround introduced for (bug#14860).
8543 * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
8545 * lisp/help.el (help-function-arglist):
8546 Dig into advice wrappers to find the "real" signature.
8548 2017-07-14 Ted Zlatanov <tzz@lifelogs.com>
8550 GnuTLS HMAC and symmetric cipher support
8552 * etc/NEWS: Add news for new feature.
8554 * doc/lispref/text.texi (GnuTLS Cryptography): Add
8557 * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
8558 HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
8560 * src/fns.c (Fsecure_hash_algorithms): Add function to list
8561 supported `secure-hash' algorithms.
8562 (extract_data_from_object): Add data extraction function that
8563 can operate on buffers and strings.
8564 (secure_hash): Use it.
8565 (Fsecure_hash): Mention `secure-hash-algorithms'.
8567 * src/gnutls.h: Include gnutls/crypto.h.
8569 * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
8570 (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
8571 (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
8572 (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
8574 * test/lisp/net/gnutls-tests.el: Add tests.
8576 2017-07-14 Stefan Monnier <monnier@iro.umontreal.ca>
8578 * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
8580 It's also defined in cl-extra.el.
8582 2017-07-14 Paul Eggert <eggert@cs.ucla.edu>
8584 Do not convert ij and IJ to compatibility chars
8586 * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
8587 Problem reported by James Cloos (Bug#518#10).
8589 2017-07-14 Toon Claes <toon@iotcl.com>
8591 Remove Turkish ligatures from Dutch input method
8593 * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
8595 2017-07-14 Paul Eggert <eggert@cs.ucla.edu>
8597 Improve stack-overflow heuristic on GNU/Linux
8599 Problem reported by Steve Kemp (Bug#27585).
8600 * src/eval.c (near_C_stack_top): Remove. All uses replaced
8601 by current_thread->stack_top.
8602 (record_in_backtrace): Set current_thread->stack_top.
8603 This is for when the Lisp interpreter calls itself.
8604 * src/lread.c (read1): Set current_thread->stack_top.
8605 This is for recursive s-expression reads.
8606 * src/print.c (print_object): Set current_thread->stack_top.
8607 This is for recursive s-expression printing.
8608 * src/thread.c (mark_one_thread): Get stack top first.
8609 * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
8611 2017-07-14 Paul Eggert <eggert@cs.ucla.edu>
8613 Remove duplicate cl--random-state definition
8615 * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
8616 This variable is now defined in cl-extra.el (Bug#27617).
8618 2017-07-14 Michael Albinus <michael.albinus@gmx.de>
8620 Adjust timer in tramp-test36-asynchronous-requests
8622 * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
8623 Adjust timer if it takes too much time.
8625 2017-07-14 Eli Zaretskii <eliz@gnu.org>
8627 Always display rmail progress report under user control
8629 * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
8630 copy of '(message "Showing message %d..." msg)'. (Bug#27535)
8632 2017-07-14 Eli Zaretskii <eliz@gnu.org>
8634 Avoid byte-compilation warnings for advised functions
8636 * lisp/files.el (insert-directory, create-file-buffer): Add an
8637 advertised-calling-convention form to shut up byte-compilation
8638 warnings. (Bug#14860)
8640 2017-07-14 Eli Zaretskii <eliz@gnu.org>
8642 Add assertion related to display-line-numbers
8644 * src/xdisp.c (maybe_produce_line_number): Add assertion for the
8645 condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
8648 2017-07-14 Eli Zaretskii <eliz@gnu.org>
8650 Prevent display corruption when display-line-numbers is set
8652 * src/xdisp.c (try_window_reusing_current_matrix): If giving up
8653 due to display-line-numbers, clear the window's desired glyph
8654 matrix before returning, as the following call to try_window will
8655 call display_line, which expects rows of the desired matrix
8656 cleared. (Bug#27668)
8658 2017-07-14 Eli Zaretskii <eliz@gnu.org>
8660 Revert "Use fixed-pitch font for display-line-numbers"
8662 This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
8663 * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
8664 popular demand. For relevant discussions, see
8666 http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00433.html
8667 http://lists.gnu.org/archive/html/emacs-devel/2017-07/msg00445.html
8669 2017-07-14 Paul Eggert <eggert@cs.ucla.edu>
8674 2017-07-13 Improve cross-compilation guesses for native Windows
8675 2017-07-11 More systematic m4 quoting and indentation
8676 2017-07-10 Make sure $host and $host_os are defined when used
8677 2017-07-03 stdioext: Port to OpenVMS
8678 2017-06-24 xalloc-oversized: port to icc
8679 * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
8680 * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
8681 * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
8682 * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
8685 2017-07-13 Alan Mackenzie <acm@muc.de>
8687 C++ Mode. Fix anomaly occurring when a ">" is deleted then reinserted.
8689 This fontification anomaly happened because after deleting the ">",
8690 c-forward-<>-arglist parses the preceding identifier as a putative type but
8691 stores it in c-found-types before it becomes clear it is not an unambiguous
8692 type. c-forward-<>-arglist fails, leaving the spurious type id in
8693 c-found-types. Fix this by "binding" c-found-types "to itself" in
8694 c-forward-<>-arglist, and restoring the original value when that function call
8697 * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
8698 (c-forward-<>-arglist): Record the original value of c-found-types at the
8699 beginning of the function, and restore it at the end on failure.
8701 * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
8704 2017-07-13 Vincent Belaïche <vincentb1@users.sourceforge.net>
8706 Add tests for SES, and fix one more cell renaming bug.
8708 * lisp/ses.el (ses-relocate-all): In case of insertion, do not
8709 relocate value for named cells as they keep the same symbol.
8710 (ses-rename-cell): Set new cell name symbol to cell value --- do not
8711 rely on recalculating. Push cells with updated data --- cell name,
8712 cell reference list, or cell formula --- to deferred write list.
8714 * test/lisp/ses-tests.el: New file, with 7 tests for SES.
8716 2017-07-12 Alan Mackenzie <acm@muc.de>
8718 Fix some bugs in c-defun-name. This fixes bug #25623.
8720 * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
8723 2017-07-12 Vasilij Schneidermann <mail@vasilij.de>
8725 Make prog-mode-map the parent of c-mode-base-map. Fixes bug #26658.
8727 * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
8728 c-mode-base-map if possible.
8730 2017-07-12 Alan Mackenzie <acm@muc.de>
8732 CC Mode: create and use c-set-keymap-parent.
8734 * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
8736 * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
8738 (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
8740 2017-07-12 Martin Rudalics <rudalics@gmx.at>
8742 Minor tweaks of new line number display variables
8744 * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
8745 (Vdisplay_line_number_width): Rename to
8746 Vdisplay_line_numbers_width.
8747 (maybe_produce_line_number): Comply with above rename.
8748 * lisp/cus-start.el (standard):
8749 * lisp/frame.el (top-level):
8750 * etc/NEWS: Comply with renaming of
8751 `display-line-number-width' to `display-line-numbers-width'.
8753 2017-07-12 Eli Zaretskii <eliz@gnu.org>
8755 Avoid assertion violations in close_infile_unwind
8757 * src/lread.c (close_infile_unwind): A temporary band-aid solution
8758 for bug#27642: allow 'infile' be NULL.
8760 2017-07-11 Eli Zaretskii <eliz@gnu.org>
8762 Use fixed-pitch font for display-line-numbers
8764 * lisp/faces.el (line-number): Use a fixed-pitch font by default,
8765 even if the default face uses a variable-pitch font. Reported by
8766 James Cloos <cloos@jhcloos.com>.
8768 2017-07-11 Eli Zaretskii <eliz@gnu.org>
8770 Improve documentation of display-line-numbers
8772 * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
8773 doc string. Suggested by Alex <agrambot@gmail.com>.
8775 2017-07-11 Nicolas Petton <nicolas@petton.fr>
8777 Add an optional testfn parameter to assoc
8779 * src/fns.c (assoc): New optional testfn parameter used for comparison
8781 * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
8788 * src/gfilenotify.c:
8797 * src/xfont.c: Add a third argument to Fassoc calls.
8799 * doc/lispref/lists.texi: Document the new 'testfn' parameter.
8801 2017-07-10 Michael Albinus <michael.albinus@gmx.de>
8803 Use `with-demoted-errors' in Tramp
8805 * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
8807 * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
8809 2017-07-10 Michael Albinus <michael.albinus@gmx.de>
8811 Add Quick Start Guide to Tramp manual
8813 * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
8815 (Quick Start Guide): New node.
8817 * doc/misc/trampver.texi:
8818 * lisp/net/trampver.el: Change version to "2.3.3-pre".
8820 2017-07-10 Glenn Morris <rgm@gnu.org>
8822 Fix failing module tests on GNU/Linux
8824 * test/src/emacs-module-tests.el
8825 (module--test-assertions--load-non-live-object)
8826 (module--test-assertions--call-emacs-from-gc):
8827 Avoid test failures due to backtraces.
8829 2017-07-10 Paul Eggert <eggert@cs.ucla.edu>
8831 Fix core dump in substitute-object-in-subtree
8833 Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
8834 would dump core, since the C code would recurse indefinitely through
8835 the infinite structure. This patch adds an argument to the function,
8836 and renames it to lread--substitute-object-in-subtree as the function
8837 is not general-purpose and should not be relied on by outside code.
8839 * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
8840 not Lisp_Object, so that callers need not cons unnecessarily.
8841 All callers changed. Also, remove related #if-0 code that was
8842 “temporary” in the early 1990s and has not been compilable for
8844 * src/lread.c (struct subst): New type, for substitution closure data.
8845 (seen_list): Remove this static var, as this info is now part of
8846 struct subst. All uses removed.
8847 (Flread__substitute_object_in_subtree): Rename from
8848 Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
8849 doesn’t dump core when called from the top level with an
8850 already-cyclic structure. All callers changed.
8851 (SUBSTITUTE): Remove. All callers expanded and then simplified.
8852 (substitute_object_recurse): Take a single argument SUBST rather
8853 than a pair OBJECT and PLACEHOLDER, so that its address can be
8854 passed around as part of a closure; this avoids the need for an
8855 AUTO_CONS call. All callers changed. If the COMPLETED component
8856 is t, treat every subobject as potentially circular.
8857 (substitute_in_interval): Take a struct subst * rather than a
8858 Lisp_Object, for the closure data. All callers changed.
8859 * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
8860 New test, to check that the core dump does not reoccur.
8862 2017-07-10 Philipp Stephani <phst@google.com>
8864 Minor simplification of module_free_global_ref
8866 * src/emacs-module.c (module_free_global_ref): Remove unused variable
8867 'hashcode'. Inline variable 'value' that's only used once.
8869 2017-07-10 Philipp Stephani <phst@google.com>
8871 Re-add a useful assertion
8873 * src/emacs-module.c (module_free_global_ref): Re-add assertion that
8874 the reference count is zero. This assertion was removed in commit
8875 8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
8876 test performed by XFASTINT before, because the previous reference
8877 count could have been zero already in the case of a buggy
8878 implementation. This assertion might have detected Bug#27587.
8880 2017-07-10 Valentin Gatien-Baron <vgatien-baron@janestreet.com> (tiny change)
8882 Fix bug in module_free_global_ref (Bug#27587)
8884 * src/emacs-module.c (module_free_global_ref): Actually remove entry
8887 2017-07-09 Philipp Stephani <phst@google.com>
8889 Further improve electric quote support for Markdown (Bug#24709)
8891 Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
8892 values. Therefore 'electric-quote-mode' recognized it as a
8893 programming mode. Fix this by first checking whether the current
8894 major mode is derived from 'text-mode'.
8896 * lisp/electric.el (electric-quote-post-self-insert-function): Treat
8897 'text-mode' as stronger signal than comment syntax.
8899 * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
8900 (electric-quote-markdown-in-code): Adapt unit tests.
8902 2017-07-09 Philipp Stephani <phst@google.com>
8904 Remove pointless code in 'electric-quote-mode'
8906 * lisp/electric.el (electric-quote-post-self-insert-function): Remove
8909 2017-07-09 Philipp Stephani <phst@google.com>
8911 Refactor 'electric-quote-mode'
8913 * lisp/electric.el (electric-quote-post-self-insert-function): Remove
8914 local variable 'start', which was misnamed and only used once.
8916 2017-07-09 Saulius Menkevičius <saulius.menkevicius@gmail.com> (tiny change)
8918 Avoid crashes on MS-Windows starting 64-bit .NET executables
8920 * src/w32proc.c (w32_executable_type): Don't assume that the
8921 import directory in a DLL will always be non-NULL. (Bug#27527)
8923 2017-07-09 Eli Zaretskii <eliz@gnu.org>
8925 Avoid compilation warning in files.el
8927 * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
8928 warning due to its use in auto-save-visited-mode.
8930 2017-07-09 Eli Zaretskii <eliz@gnu.org>
8932 Improve indexing of VC-related stuff in the Emacs manual
8934 * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
8937 2017-07-09 Eli Zaretskii <eliz@gnu.org>
8939 Speed up display of line numbers for very large buffers
8941 * src/xdisp.c (maybe_produce_line_number): Speed up line counting
8942 using values cached by mode-line display of line numbers.
8945 2017-07-09 Alexander Kuleshov <kuleshovmail@gmail.com>
8947 Define internal_border_parts for window systems only (Bug#27615)
8949 * src/keyboard.c: (internal_border_parts): Define only
8950 when HAVE_WINDOW_SYSTEM is enabled. (Bug#27615)
8952 2017-07-09 R. Bernstein <rocky@gnu.org>
8954 Add realgud faces faces to whiteboard...
8956 Adjust wheatgrass to use underline for enabled/disabled breakpoints
8958 2017-07-08 Noam Postavsky <npostavs@gmail.com>
8960 Optimize UCS normalization tests
8962 Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
8963 * test/lisp/international/ucs-normalize-tests.el
8964 (ucs-normalize-tests--parse-column): Use character instead of string
8965 of length 1 for terminator. Convert return value into string since
8966 all callers need that form anyway.
8967 (ucs-normalize-tests--normalization-equal-p): Rename from
8968 ucs-normalize-tests--normalize. Use dedicated buffer instead of
8969 messing with narrowing. Take string to compare against and insert it
8970 into buffer so that compare-buffer-substrings can be used instead of
8971 allocating a new string from buffer contents.
8972 (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
8973 for comparing single character.
8974 (ucs-normalize-tests--rule1-holds-p)
8975 (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
8976 (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
8979 2017-07-08 Noam Postavsky <npostavs@gmail.com>
8981 Update failing lines for UCS normalize tests
8983 * test/lisp/international/ucs-normalize-tests.el
8984 (ucs-normalize-tests--failing-lines-part2): Update for new
8985 admin/unidata/NormalizationTest.txt version.
8987 2017-07-08 Noam Postavsky <npostavs@gmail.com>
8989 Semi-automate the procedure for updating UCS normalize test bad lines
8991 * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
8992 commentary describing a manual procedure for producing the updated
8993 failing lines, it did not actually work. Replace it with pointer to
8994 new function which prints the updated values.
8995 (ucs-normalize-tests--rule1-holds-p): Renamed from
8996 ucs-normalize-tests--invariants-hold-p.
8997 (ucs-normalize-tests--rule2-holds-p): Renamed from
8998 ucs-normalize-tests--invariants-rule2-hold-p.
8999 (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
9000 ucs-normalize-tests--invariants-failing-for-part.
9001 (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
9002 ucs-normalize-tests--invariants-failing-for-lines.
9003 (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
9004 (ucs-normalize-part2): Set it.
9005 (ucs-normalize-part1): Always run through to end of test before
9006 checking for failures.
9007 (ucs-normalize-tests--insert-failing-lines)
9008 (ucs-normalize-check-failing-lines): New functions, used to update
9009 the *--failing-lines-part* variables.
9011 2017-07-08 Paul Eggert <eggert@cs.ucla.edu>
9013 * lisp/cus-start.el (standard): Spelling fix.
9015 2017-07-08 Philipp Stephani <phst@google.com>
9017 Module assertions: check for garbage collections
9019 It's technically possible to write a user pointer finalizer that calls
9020 into Emacs module functions. This would be disastrous because it
9021 would allow arbitrary Lisp code to run during garbage collection.
9022 Therefore extend the module assertions to check for this case.
9024 * src/emacs-module.c (module_assert_thread): Also check whether a
9025 garbage collection is in progress.
9027 * test/data/emacs-module/mod-test.c (invalid_finalizer)
9028 (Fmod_test_invalid_finalizer): New test module functions.
9029 (emacs_module_init): Register new test function.
9031 * test/src/emacs-module-tests.el (module--test-assertion)
9032 (module--with-temp-directory): New helper macros.
9033 (module--test-assertions--load-non-live-object): Rename existing
9034 unit test, use helper macros.
9035 (module--test-assertions--call-emacs-from-gc): New unit test.
9037 2017-07-08 Eli Zaretskii <eliz@gnu.org>
9039 Capitalize the menu entry for display-line-numbers
9041 * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
9042 for display-line-numbers. Suggested by Martin Rudalics
9045 2017-07-08 Eli Zaretskii <eliz@gnu.org>
9047 Update Unicode data and files to Unicode 10.0
9049 * admin/notes/unicode:
9050 * admin/unidata/README:
9051 * admin/unidata/BidiBrackets.txt:
9052 * admin/unidata/BidiMirroring.txt:
9053 * admin/unidata/Blocks.txt:
9054 * admin/unidata/IVD_Sequences.txt:
9055 * admin/unidata/NormalizationTest.txt:
9056 * admin/unidata/SpecialCasing.txt:
9057 * admin/unidata/UnicodeData.txt:
9058 * lisp/international/characters.el:
9059 * lisp/international/fontset.el (script-representative-chars):
9060 * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
9062 2017-07-08 Alexander Gramiak <agrambot@gmail.com>
9064 Support '=' in Scheme and Lisp tags in 'etags'
9066 * lib-src/etags.c (get_lispy_tag): New function.
9067 (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
9068 * test/manual/etags/CTAGS.good:
9069 * test/manual/etags/ETAGS.good_1:
9070 * test/manual/etags/ETAGS.good_2:
9071 * test/manual/etags/ETAGS.good_3:
9072 * test/manual/etags/ETAGS.good_4:
9073 * test/manual/etags/ETAGS.good_5:
9074 * test/manual/etags/ETAGS.good_6:
9075 * test/manual/etags/Makefile:
9076 * test/manual/etags/el-src/TAGTEST.EL: Update tests.
9077 * test/manual/etags/scm-src/test.scm: New tests for Scheme.
9079 2017-07-08 Alexander Kuleshov <kuleshovmail@gmail.com>
9081 Avoid compiler warnings in xdisp.c debugging code
9083 * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
9084 Use pD directives for ptrdiff_t values instead of pI, to avoid
9085 compilation warnings on 64-bit hosts. (Bug#27597)
9087 2017-07-08 Eli Zaretskii <eliz@gnu.org>
9089 Commentary enhancement in frame.el
9091 * lisp/frame.el: Explain how to test whether a variable needs to
9092 be added to the list of those which are watched for buffer
9095 2017-07-08 Eli Zaretskii <eliz@gnu.org>
9097 Support display of line numbers natively
9099 This merges branch 'line-numbers'.
9100 * src/buffer.c (disable_line_numbers_overlay_at_eob): New
9102 * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
9103 * src/dispextern.h (struct it): New members pt_lnum, lnum,
9104 lnum_bytepos, lnum_width, and lnum_pixel_width.
9105 * src/indent.c (line_number_display_width): New function,
9106 refactored from line-number width calculations in vertical-motion.
9107 (Fvertical_motion): Call line_number_display_width when the width
9108 of line-number display is needed.
9109 (Fline_number_display_width): New defun.
9110 (syms_of_indent): Defsubr it.
9111 * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
9112 the width used up by line numbers by looking near the window-start
9113 point. If window-start is outside of the accessible portion,
9114 temporarily widen the buffer.
9115 * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
9116 space taken by the line-number display.
9117 * src/xdisp.c (display_count_lines_logically)
9118 (display_count_lines_visually, maybe_produce_line_number)
9119 (should_produce_line_number, row_text_area_empty): New functions.
9120 (try_window_reusing_current_matrix): Don't use this method when
9121 display-line-numbers is in effect.
9122 (try_window_id, try_cursor_movement): Disable these optimizations
9123 when the line-number-current-line face is different from
9124 line-number face and for relative line numbers.
9125 (try_window_id, redisplay_window, try_cursor_movement): For
9126 visual line-number display, disable the same redisplay
9127 optimizations as for relative.
9128 (x_produce_glyphs): Adjust tab stops for the horizontal
9129 space taken by the line-number display.
9130 (hscroll_window_tree): Adjust hscroll calculations to line-number
9132 (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
9133 math.h; all users changed.
9134 (set_cursor_from_row): Fix calculation of cursor X coordinate in
9135 R2L rows with display-produced glyphs at the beginning.
9136 (display_line): Use should_produce_line_number to determine
9137 whether a line number should be produced for each glyph row, and
9138 maybe_produce_line_number to produce line numbers.
9139 Don't display line numbers in the minibuffer and in tooltip
9141 Call row_text_area_empty to verify that a glyph
9142 row's text area is devoid of any glyphs that came from a buffer or
9143 a string. This fixes a bug with empty-lines indication
9144 disappearing when line numbers or line-prefix are displayed.
9145 (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
9146 <display-line-number-width>: New buffer-local variables.
9147 <display-line-numbers-current-absolute>: New variable.
9149 * lisp/cus-start.el (standard): Provide customization forms for
9150 display-line-numbers and its sub-features.
9151 * lisp/faces.el (line-number, line-number-current-line): New faces.
9152 * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
9153 display-line-numbers-current-absolute, and
9154 display-line-number-width to the list of variables that should
9155 trigger redisplay of the current buffer.
9156 * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
9157 turn display-line-numbers on and off.
9158 (toggle-display-line-numbers): New function.
9159 * lisp/simple.el (last--line-number-width): New internal variable.
9160 (line-move-visual): Use it to adjust temporary-goal-column when
9161 line-number display changes its width.
9163 * doc/emacs/basic.texi (Position Info): Add cross-reference to
9164 "Display Custom", for line-number display.
9165 * doc/emacs/custom.texi (Init Rebinding):
9166 * doc/emacs/modes.texi (Minor Modes): Remove references to
9168 * doc/emacs/display.texi (Display Custom): Describe the
9169 line-number display.
9170 * doc/lispref/display.texi (Size of Displayed Text): Document
9171 line-number-display-width.
9173 * etc/NEWS: Document display-line-numbers and its customizations.
9175 2017-07-08 Paul Eggert <eggert@cs.ucla.edu>
9177 Fix more ungetc bugs with encoding errors
9179 * src/lread.c (infile): New variable, replacing ...
9180 (instream): ... this. All uses changed.
9181 (readbyte_from_stdio): New function, which deals with lookahead.
9182 (readbyte_from_file, Fget_file_char): Use it.
9183 (Fget_file_char): When misused, signal an error instead of
9184 relying on undefined behavior.
9185 (close_infile_unwind): New function.
9187 (readevalloop): 2nd arg is now struct infile *, not FILE *.
9188 All callers changed.
9189 (read1): Handle lookahead when copying doc strings with
9192 2017-07-08 Paul Eggert <eggert@cs.ucla.edu>
9194 Avoid ungetc when loading charset maps from files
9196 * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
9197 replacing the old EOF. All callers changed. This avoids the
9198 need to call ungetc.
9200 2017-07-08 Paul Eggert <eggert@cs.ucla.edu>
9202 Fix ungetc bug when reading an encoding error
9204 * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
9205 error when reading an encoding error from a file, e.g., a symbol
9206 in an .elc file whose name is "\360\220\200\360".
9208 2017-07-07 Stefan Monnier <monnier@iro.umontreal.ca>
9210 * lisp/wid-edit.el (widget-color--choose-action): Use a closure
9212 * lisp/window.el (display-buffer--special-action): Use a closure.
9214 2017-07-07 Stephen Berman <stephen.berman@gmx.net>
9216 Add new todo-mode.el tests
9218 * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
9219 Declare an Edebug spec. Restore pre-test-run state of test files.
9220 (todo-test--show, todo-test--move-item)
9221 (todo-test--insert-item): New functions.
9222 (todo-test-get-archive): Remove, as subsumed by
9223 todo-test--show. Adjust all callers.
9224 (todo-test--is-current-buffer): Rename from
9225 todo-test-is-current-buffer and adjust uses.
9226 (todo-test-item-highlighting): Use todo-test--show.
9227 (todo-test-revert-buffer01, todo-test-revert-buffer02)
9228 (todo-test-raise-lower-priority)
9229 (todo-test-todo-mark-unmark-category, todo-test-move-item01)
9230 (todo-test-move-item02, todo-test-move-item03)
9231 (todo-test-move-item04, todo-test-move-item05)
9232 (todo-test-toggle-item-header01)
9233 (todo-test-toggle-item-header02)
9234 (todo-test-toggle-item-header03)
9235 (todo-test-toggle-item-header04)
9236 (todo-test-toggle-item-header05)
9237 (todo-test-toggle-item-header06)
9238 (todo-test-toggle-item-header07): New tests.
9240 * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
9241 * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
9242 Modify to accommodate new tests.
9244 2017-07-07 Stephen Berman <stephen.berman@gmx.net>
9246 todo-mode.el: Fix handling of hidden item headers (bug#27609)
9248 * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
9249 (todo-toggle-item-header): Use it. Make this command a noop
9250 if the file has no items.
9251 (todo-move-item, todo-item-done): Instead of concatenating the
9252 items to move into one string, make a list of them to
9253 facilitate handling hidden headers. Adjust insertion accordingly.
9254 (todo-archive-done-item): Handle hidden headers in archive file.
9255 (todo-unarchive-items): Handle hidden headers in todo file.
9256 (todo-backward-item): Use todo--item-headers-hidden and handle
9257 moving backward work when item date-time headers are hidden.
9258 (todo-remove-item): Delete date-time header overlay.
9259 (todo-get-overlay, todo-insert-with-overlays): Make them work
9260 with hidden date-time headers.
9261 (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
9263 2017-07-07 Stephen Berman <stephen.berman@gmx.net>
9265 Fix several todo-mode bugs found while debugging bug#27609
9267 * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
9268 current category only once.
9269 (todo-mark-category): Update number of marked items to avoid
9270 spurious duplication in todo-categories-with-marks alist and
9271 corruption of the todo-categories alist. Handle empty line
9272 when there are no todo items and done items are shown.
9273 (todo-set-item-priority): Make noop if called from
9274 todo-raise-item-priority or todo-lower-item-priority when
9275 point is on a done todo item or an empty line.
9276 (todo-move-item): Use markers instead of integer positions to
9277 correctly handle deleting the now moved items from the source
9278 category (without markers an infinite loop arises when moving
9279 marked item to a preceding category).
9280 (todo-unarchive-items): Put point on the (first) restored done
9281 item, instead of leaving it at the end of the done items
9283 (todo-revert-buffer): Ensure buffer remains read-only after
9286 2017-07-07 Eli Zaretskii <eliz@gnu.org>
9288 Exclude blank columns from value of line-number-display-width
9290 * src/indent.c (Fline_number_display_width): Don't add 2 to the
9291 number of columns we return, to make this consistent with
9292 display-line-number-width.
9294 2017-07-07 Eli Zaretskii <eliz@gnu.org>
9296 Fix vertical-motion across the place where line-number width changes
9298 * src/indent.c (line_number_display_width): New function,
9299 refactored from line-number width calculations in vertical-motion.
9300 (Fvertical_motion): Call line_number_display_width when the width
9301 of line-number display is needed.
9302 (Fline_number_display_width): New defun.
9303 (syms_of_indent): Defsubr it.
9305 * doc/lispref/display.texi (Size of Displayed Text): Document
9306 line-number-display-width.
9308 * etc/NEWS: Mention line-number-display-width.
9310 * lisp/simple.el (last--line-number-width): New internal variable.
9311 (line-move-visual): Use it to adjust temporary-goal-column when
9312 line-number display changes its width.
9314 2017-07-07 Martin Rudalics <rudalics@gmx.at>
9316 Remove Vwindow_text_change_functions and related code
9318 Vwindow_text_change_functions had been provided for implementing
9319 line numbers but apparently was never functional or in use.
9321 * src/xdisp.c (redisplay_window): Remove handling of
9322 Vwindow_text_change_functions.
9323 (syms_of_xdisp): Remove Qwindow_text_change_functions.
9324 (Vwindow_text_change_functions): Remove variable.
9325 * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
9326 `window-text-change-functions'.
9328 2017-07-07 Mark Oteiza <mvoteiza@udel.edu>
9330 Convert more uses of looking-at to following-char
9332 More followup to Karl Fogel's commit a84da83c1.
9333 * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
9334 * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
9335 * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
9336 * lisp/proced.el (proced-toggle-marks):
9337 * lisp/progmodes/f90.el (f90-indent-line):
9338 * lisp/ses.el (ses-load):
9339 * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
9340 char comparisons using following-char.
9342 2017-07-07 Noam Postavsky <npostavs@gmail.com>
9344 Don't skip epg tests (Bug#23561)
9346 * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
9347 parameter, since we supply the passphrase via pinentry-program for all
9348 GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
9349 program (Bug#23619)").
9350 (epg-tests-program-alist-for-passphrase-callback): Remove.
9352 2017-07-06 Eli Zaretskii <eliz@gnu.org>
9354 Implement line numbers that disregard narrowing
9356 * src/xdisp.c (display_count_lines_logically): New function,
9357 counts line numbers disregarding narrowing. Suggested by Andy
9358 Moreton <andrewjmoreton@gmail.com>.
9359 (maybe_produce_line_number): Call display_count_lines_logically
9360 instead of display_count_lines. Adapt BEGV, ZV, etc. to
9361 display-line-numbers-widen.
9362 (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
9365 * lisp/cus-start.el (standard): Provide a customization form for
9366 display-line-numbers-widen.
9367 * lisp/frame.el: Add display-line-numbers-widen,
9368 display-line-numbers-current-absolute, and
9369 display-line-number-width to the list of variables that should
9370 trigger redisplay of the current buffer.
9372 * doc/emacs/display.texi (Display Custom): Document
9373 display-line-numbers-widen.
9375 2017-07-06 Noam Postavsky <npostavs@gmail.com>
9377 Fix lisp-comment-indent for single-semicolon case
9379 * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
9380 open paren if we're looking at multiple comment characters.
9381 * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
9382 (lisp-comment-indent-2): New tests.
9384 2017-07-06 Paul Eggert <eggert@cs.ucla.edu>
9388 * lisp/org/org-table.el (org-table-sort-lines):
9389 Fix misspelling in prompt.
9390 * lisp/org/ox-ascii.el (org-ascii--describe-datum):
9391 Fix misspelling in call to org-element-lineage.
9393 2017-07-06 Noam Postavsky <npostavs@gmail.com>
9395 Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
9397 * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
9398 line's code ends in open paren, set comment indentation exactly to
9399 column following it.
9400 (lisp-mode-variables): Set `comment-indent-function' to
9401 `lisp-comment-indent'.
9403 2017-07-06 Noam Postavsky <npostavs@gmail.com>
9405 Allow comment-indent-functions to specify exact indentation (Bug#385)
9407 * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
9408 integers as indicating a range of acceptable indentation.
9409 (comment-indent): Don't apply `comment-inline-offset',
9410 `comment-choose-indent' already does that.
9411 (comment-indent-function):
9412 * doc/emacs/programs.texi (Options for Comments): Document new
9413 acceptable return values.
9414 * etc/NEWS: Announce it.
9416 2017-07-06 Paul Eggert <eggert@cs.ucla.edu>
9418 Check for integer overflow in xbm images
9420 * src/image.c (XBM_TK_OVERFLOW): New constant.
9421 (xbm_scan): Check for integer overflow instead of relying on
9422 undefined behavior. Check that octal digits are actually octal.
9424 2017-07-06 Paul Eggert <eggert@cs.ucla.edu>
9426 Convert hex digits more systematically
9428 This makes the code a bit smaller and presumably faster, as
9429 it substitutes a single lookup for conditional jumps.
9430 * src/character.c (hexdigit): New constant.
9431 (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
9432 * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
9433 (hexdigit): New decl.
9434 (char_hexdigit): New inline function.
9435 * src/charset.c: Do not include c-ctype.h.
9436 * src/charset.c (read_hex):
9437 * src/editfns.c (styled_format):
9438 * src/image.c (xbm_scan):
9439 * src/lread.c (read_escape):
9440 * src/regex.c (ISXDIGIT) [emacs]:
9441 Use char_hexdigit insted of doing it by hand.
9443 2017-07-06 Paul Eggert <eggert@cs.ucla.edu>
9445 Don’t use -Woverride-init
9447 I have some further changes in mind that would also need to
9448 disable the -Woverride-init warnings. In practice these warnings
9449 seem to be more trouble than they’re worth, so disable them in the
9451 * configure.ac: Disable -Woverride-init here ...
9452 * src/bytecode.c: ... rather than here.
9454 2017-07-05 Glenn Morris <rgm@gnu.org>
9456 * lisp/progmodes/python.el (auto-mode-alist): Add .pyi. (Bug#27847)
9458 * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
9460 2017-07-05 Glenn Morris <rgm@gnu.org>
9462 Small fix for bug-reference.el
9464 * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
9465 Autoload safety property. (Bug#27481)
9467 2017-07-05 Michael Albinus <michael.albinus@gmx.de>
9469 Suppress timers in Tramp
9471 * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
9473 * test/lisp/net/tramp-tests.el
9474 (tramp-test36-asynchronous-requests): Trigger timers.
9475 (tramp-test37-recursive-load, tramp-test38-remote-load-path):
9476 Set `default-directory' to a trustworthy value.
9478 2017-07-05 rocky <rb@dustyfeet.com>
9480 Add realgud face definitions
9482 Add realgud faces to tdsh-dark-theme
9484 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9486 * lisp/progmodes/cc-awk.el: Mark unused args
9488 * lisp/progmodes/cc-bytecomp.el: Mark unused args
9490 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9492 * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
9494 ... before first use
9496 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9498 * lisp/progmodes/cc-vars.el: Mark unused args
9500 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9502 * lisp/progmodes/cc-langs.el: Mark unused args
9504 (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
9505 unambiguous-prefix-ops.
9507 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9509 * lisp/progmodes/cc-engine.el: Mark unused args
9511 (c-beginning-of-statement-1, c-guess-basic-syntax):
9512 Remove unused var c-in-literal-cache.
9513 (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
9514 (c-append-to-state-cache): Remove unused var `bra+1s'.
9515 (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
9516 (c-invalidate-state-cache-1): Remove unused var `pa'.
9517 (c-forward-decl-or-cast-1): Change comments so they don't look like
9519 (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
9520 Declare before first use.
9521 (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
9522 (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
9524 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9526 * lisp/progmodes/cc-cmds.el: Remove unused vars
9528 (c-syntactic-context): Declare as dynbound.
9529 (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
9531 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9533 * lisp/progmodes/cc-guess.el: Remove unused var
9535 (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
9536 and computed variable `guessed-syntactic-symbols'.
9538 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9540 * lisp/progmodes/cc-align.el: Mark unused arguments
9542 2017-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
9544 * lisp/progmodes/cc-mode.el: Mark unused arguments
9546 (c-parse-quotes-before-change, c-parse-quotes-after-change):
9549 2017-07-05 Noam Postavsky <npostavs@gmail.com>
9551 Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
9553 * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
9554 and `ffap-url-unwrap-remote'.
9556 2017-07-05 Noam Postavsky <npostavs@gmail.com>
9558 Fix infloop in uncomment-region-default (Bug#27112)
9560 When `comment-continue' has only blanks, `comment-padright' produces a
9561 regexp that matches the empty string, so `uncomment-region-default'
9562 will loop infinitely.
9563 * lisp/newcomment.el (comment-padright): Only return a regexp if STR
9564 has nonblank characters.
9566 2017-07-04 Eli Zaretskii <eliz@gnu.org>
9568 Fix display of current line number in visual mode
9570 * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
9571 of current line when line-number-current-line face was customized.
9572 Reported by Filipe Silva <filipe.silva@gmail.com>.
9574 2017-07-03 Philipp Stephani <phst@google.com>
9576 Use hook instead of face list to inhibit electric quoting
9578 This is more flexible and doesn't couple electric quoting to font
9580 Give that 'electric-quote-code-faces' was just introduced, remove it
9581 without formal deprecation.
9583 * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
9585 (electric-quote-post-self-insert-function): Run the hook. Remove
9586 use of old 'electric-quote-code-faces' variable.
9588 * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
9589 (electric-quote-markdown-in-code): Adapt unit tests.
9591 2017-07-03 Ingo Lohmar <i.lohmar@gmail.com>
9593 Offer non-aligned indentation in lists in js-mode (Bug#27503)
9595 * lisp/progmodes/js.el (js--proper-indentation):
9596 New customization option 'js-indent-align-list-continuation'.
9597 Affects argument lists as well as arrays and object properties.
9598 * test/manual/indent/js-indent-align-list-continuation-nil.js:
9601 2017-07-03 Eli Zaretskii <eliz@gnu.org>
9603 Avoid errors in vertical-motion when buffer is narrowed
9605 * src/indent.c (Fvertical_motion): If need to start from
9606 window-start, and it is outside of the accessible portion,
9607 temporarily widen the buffer. This avoids errors in evil-mode.
9608 Reported by James Nguyen <james@jojojames.com>.
9610 2017-07-03 Michael Albinus <michael.albinus@gmx.de>
9612 (Re-)activate remote tests of filenotify-tests.el
9614 * test/lisp/filenotify-tests.el
9615 (file-notify-test-remote-temporary-file-directory):
9616 Declare default host for mock method. Offer home directory
9617 for mock method if it doesn't exist.
9618 (file-notify-test09-watched-file-in-watched-dir-remote):
9619 Remove, it doesn't work reliably.
9621 2017-07-03 Noam Postavsky <npostavs@gmail.com>
9623 Reset ansi escape context before printing eshell prompt (Bug#27407)
9625 * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
9626 `ansi-color-context-region'.
9628 2017-07-03 Noam Postavsky <npostavs@gmail.com>
9630 Let ansi-color overlay hooks work in eshell (Bug#27407)
9632 * lisp/ansi-color.el (ansi-color-make-extent): Add
9633 `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
9634 * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
9635 `inhibit-modification-hooks' to nil while inserting the string.
9637 2017-07-03 Noam Postavsky <npostavs@gmail.com>
9639 Fix and simplify ansi escape detection (Bug#21381)
9641 * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
9643 (ansi-color-control-seq-regexp): New constant, matches all escape
9645 (ansi-color-filter-apply, ansi-color-apply)
9646 (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
9647 of matching color sequences separately from ignored sequences.
9648 Differentiate color sequences simply by checking the last character.
9650 2017-07-03 Damien Cassou <damien@cassou.me>
9652 Add absolute optional parameter to line-number-at-pos (Bug#26417)
9654 * lisp/simple.el (line-number-at-pos): Add a second optional
9655 argument 'absolute'.
9656 * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
9658 2017-07-03 R. Bernstein <rocky@gnu.org>
9662 2017-07-03 Michael Albinus <michael.albinus@gmx.de>
9664 Fix tramp-tests.el for hydra
9666 * test/Makefile.in: Remove instrumentation for tramp-tests.
9668 * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
9669 Remove instrumentation. Wrap with a timeout. Give hydra
9670 another timer value. Set `default-directory' in timer.
9672 2017-07-03 Bastien <bzg@gnu.org>
9674 Merge branch 'master' into scratch/org-mode-merge
9676 Merge branch 'master' into scratch/org-mode-merge
9678 2017-07-03 Tino Calancha <tino.calancha@gmail.com>
9680 dired-do-shell-command: Fix check for wildcards
9682 * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
9683 and '`?' i.e., keep the whitespaces.
9684 * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
9686 2017-07-02 Noam Postavsky <npostavs@gmail.com>
9688 Split shr-copy-url dwim behavior into separate functions (Bug#26826)
9690 * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
9691 (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
9692 split out from `shr-copy-url'.
9693 (shr-copy-url): Only copy the url, don't fetch it.
9694 (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
9695 has the same behavior as the old `shr-copy-url'.
9696 * etc/NEWS: Announce changes.
9698 2017-07-02 Alex Branham <branham@utexas.edu> (tiny change)
9700 Make eww-search-words prompt for query if nothing selected
9702 * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
9703 user for a search query if the region is inactive or if the region is
9706 2017-07-02 Noam Postavsky <npostavs@gmail.com>
9708 * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
9710 * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
9711 * lisp/help-fns.el (describe-variable): No need to let-bind
9712 `cl-print-compiled-button' to t anymore.
9714 2017-07-02 Philipp Stephani <phst@google.com>
9716 Electric quotes: Improve support for Markdown mode (Bug#24709)
9718 Introduce a new user option 'electric-quote-context-sensitive'. If
9719 non-nil, have ' insert an opening quote if sensible.
9721 Also introduce a new variable 'electric-quote-code-faces'. Major
9722 modes such as 'markdown-mode' can add faces to this list to treat text
9723 as inline code and disable electric quoting.
9725 * lisp/electric.el (electric-quote-context-sensitive): New user
9727 (electric-quote-code-faces): New variable.
9728 (electric-quote-post-self-insert-function): Treat ' as ` if
9729 desired and applicable; disable electric quoting for given faces.
9731 * test/lisp/electric-tests.el (electric-quote-opening-single)
9732 (electric-quote-closing-single, electric-quote-opening-double)
9733 (electric-quote-closing-double)
9734 (electric-quote-context-sensitive-backtick)
9735 (electric-quote-context-sensitive-bob-single)
9736 (electric-quote-context-sensitive-bob-double)
9737 (electric-quote-context-sensitive-bol-single)
9738 (electric-quote-context-sensitive-bol-double)
9739 (electric-quote-context-sensitive-after-space-single)
9740 (electric-quote-context-sensitive-after-space-double)
9741 (electric-quote-context-sensitive-after-letter-single)
9742 (electric-quote-context-sensitive-after-letter-double)
9743 (electric-quote-context-sensitive-after-paren-single)
9744 (electric-quote-context-sensitive-after-paren-double)
9745 (electric-quote-markdown-in-text)
9746 (electric-quote-markdown-in-code): New unit tests.
9748 2017-07-02 Michael Albinus <michael.albinus@gmx.de>
9750 * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
9752 2017-07-02 Eli Zaretskii <eliz@gnu.org>
9754 Avoid off-by-one errors in column C-n/C-p calculations
9756 * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
9757 the width used up by line numbers by looking near the window-start
9760 2017-07-02 Tino Calancha <tino.calancha@gmail.com>
9762 Ask confirmation for all suspicious wildcards
9764 * lisp/dired-aux.el (dired-do-shell-command): Check that all
9765 the wildcards are right. Otherwise, ask for confirmation (Bug#27496).
9767 2017-07-02 Tino Calancha <tino.calancha@gmail.com>
9769 Extend dired-do-shell-command substitutions
9771 Substitute "`?`" inside command with the current file name.
9773 https://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00618.html
9774 * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
9776 (dired-isolated-string-re): New defun.
9777 (dired--star-or-qmark-p): New predicate.
9778 (dired-do-shell-command): Use dired--star-or-qmark-p. Substitute "`?`"
9779 with the current file name.
9780 * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
9782 2017-07-02 Alan Mackenzie <acm@muc.de>
9784 Fix bug in yesterday's CC Mode commit.
9786 * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
9787 search has succeded before using the match data.
9788 (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
9789 Specify that the position of the extremity of the head or tail is in the
9792 2017-07-02 Philipp Stephani <phst@google.com>
9794 Remove FIXME comments about sentinel values
9796 These FIXMEs can't be addressed because they would require breaking
9797 changes to the module API. Furthermore, other module functions don't
9798 return sentinel values as well, so users generally have to call
9799 non_local_exit_check anyway.
9801 * src/emacs-module.c (module_set_user_ptr)
9802 (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
9805 2017-07-02 Philipp Stephani <phst@google.com>
9807 Adapt Lisp reference to reader changes
9809 The reader now warns about some unescaped character literals, but
9810 still allows them for compatibility reasons. Slightly adapt the
9811 manual to forbid them officially.
9813 * doc/lispref/objects.texi (Basic Char Syntax): Document that
9814 backslashes are now required before some characters.
9816 2017-07-02 Michael Albinus <michael.albinus@gmx.de>
9820 * lisp/autorevert.el (auto-revert-find-file-function): New defun.
9821 (find-file-hook): Use it. (Bug#27502)
9822 (auto-revert-remove-current-buffer): New defun.
9823 (auto-revert-mode, auto-revert-buffers): Use it.
9825 2017-07-02 Noam Postavsky <npostavs@gmail.com>
9827 Let test summary go through even if some logs were not generated
9829 * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
9830 for existence of log files before reading.
9832 2017-07-01 Philipp Stephani <phst@google.com>
9834 * src/module-env-25.h (copy_string_contents): Fix comment.
9836 2017-07-01 Philipp Stephani <phst@google.com>
9838 Also mark module init function as noexcept if possible
9840 * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
9843 2017-07-01 Philipp Stephani <phst@google.com>
9845 Improve C++98 compatibility
9847 * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
9848 C++98 doesn't allow trailing commas in enumerations.
9850 2017-07-01 Eli Zaretskii <eliz@gnu.org>
9852 Minor copyedits of manuals regarding bidi conformance
9854 * doc/emacs/mule.texi (Bidirectional Editing):
9855 * doc/lispref/display.texi (Bidirectional Display): Update the
9856 bidi conformance text.
9858 2017-07-01 Alan Mackenzie <acm@muc.de>
9860 Make C++ digit separators work. Amend the handling of single quotes generally
9862 Single quotes, even in strings and comments, are now marked with the
9863 "punctuation" syntax-table property, except where they are validly bounding a
9864 character literal. They are font locked with font-lock-warning-face except
9865 where they are valid. This is done in C, C++, ObjC, and Java Modes.
9867 * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
9868 (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
9871 * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
9872 (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
9874 * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
9875 c-before-after-change-digit-quote from wherever it occurs. Insert
9876 c-parse-quotes-before-change into the entries for the languages where it is
9878 (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
9879 wherever it occurs. Insert c-parse-quotes-after-change into the entries for
9880 the languages which need it.
9881 (c-has-quoted-numbers): New lang-defconst/-defvar.
9883 * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
9884 (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
9885 (c-maybe-quoted-number): New defconsts.
9886 (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
9887 (c-quoted-number-straddling-point, c-parse-quotes-before-change)
9888 (c-parse-quotes-after-change): New functions.
9890 2017-07-01 Noam Postavsky <npostavs@gmail.com>
9892 Ignore mouse-movement for describe-key-briefly (Bug#12204)
9894 * lisp/help.el (help-read-key-sequence): Add optional argument ot
9895 ignore `mouse-movement' events.
9896 (describe-key-briefly): Use it.
9897 * doc/emacs/help.texi (Key Help):
9898 * etc/NEWS: Mention that mouse movement is ignored.
9900 2017-07-01 Noam Postavsky <npostavs@gmail.com>
9902 Refactor key describing commands
9904 * lisp/help.el (help-read-key-sequence, help--analyze-key): New
9905 functions, extracted from `describe-key' and `describe-key-briefly'.
9906 (describe-key, describe-key-briefly): Use them.
9908 2017-07-01 Eli Zaretskii <eliz@gnu.org>
9910 Improve display of tabs with line numbers
9912 * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
9913 stop in hscrolled lines. Prevent aborts in compute_line_metrics.
9915 2017-07-01 Alan Third <alan@idiocy.org>
9917 Fix threads on NS (bug#25265)
9919 src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
9920 (ns_run_loop_break) [HAVE_PTHREAD]: New function.
9921 src/nsterm.m (ns_select): Call thread_select from within ns_select.
9922 (ns_run_loop_break) [HAVE_PTHREAD]: New function.
9923 (ns_send_appdefined): Don't wait for main thread when sending app
9925 src/process.c (wait_reading_process_output): Call thread_select from
9927 src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
9928 its event loop using ns_run_loop_break.
9930 2017-07-01 Eli Zaretskii <eliz@gnu.org>
9932 Avoid slow redisplay under 'visual' mode of line numbers
9934 * src/xdisp.c (display_count_lines_visually): Avoid very slow
9935 redisplay when this function is invoked very far from point.
9936 Reported by Alex <agrambot@gmail.com>.
9938 2017-07-01 Noam Postavsky <npostavs@gmail.com>
9940 * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
9942 2017-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
9944 * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
9946 (cl--random-state, cl--random-time): Move from cl-lib.el.
9947 (cl-random): Use struct accessors.
9948 (cl-random-state-p): Remove, provided by the defstruct.
9949 (cl-make-random-state): Rewrite to struct constructor.
9951 2017-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
9953 * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
9955 2017-06-30 Eli Zaretskii <eliz@gnu.org>
9957 Improve documentation of faces related to display-line-numbers
9959 * lisp/faces.el (line-number, line-number-current-line): Warn
9960 against using non-monospaced fonts.
9962 2017-06-30 Eli Zaretskii <eliz@gnu.org>
9964 Fix relative-number display with non-nil display-line-number-width
9966 * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
9967 value of display-line-number-width as acceptable.
9968 Handle the case of 'relative' with display-line-number-width
9969 non-nil and smaller than the absolute line number requires.
9970 Reported by Alex <agrambot@gmail.com>.
9972 2017-06-30 Michael Albinus <michael.albinus@gmx.de>
9976 * doc/misc/tramp.texi (Android shell setup): Show default file name.
9979 * doc/misc/trampver.texi:
9980 * lisp/net/trampver.el: Change version to "2.3.2".
9982 * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
9983 Offer home directory for mock method if it doesn't exist.
9985 2017-06-30 Eli Zaretskii <eliz@gnu.org>
9987 Add documentation for display-line-numbers
9989 * doc/emacs/custom.texi (Init Rebinding):
9990 * doc/emacs/modes.texi (Minor Modes): Remove references to
9992 * doc/emacs/display.texi (Display Custom): Describe the
9993 line-number display.
9994 (Optional Mode Line): Fix the index entry to not conflict with
9995 that in "Display Custom".
9996 * doc/emacs/basic.texi (Position Info): Add cross-reference to
9997 "Display Custom", for line-number display.
9999 * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
10000 display-line-numbers-disable in the doc string.
10002 * lisp/cus-start.el (standard): Fix lst change.
10004 2017-06-30 Eli Zaretskii <eliz@gnu.org>
10006 Support displaying zero as the number of the current line
10008 * src/xdisp.c (syms_of_xdisp)
10009 <display-line-numbers-current-absolute>: New variable.
10010 <display-line-numbers>: Doc fix.
10011 (maybe_produce_line_number): Support nil value of
10012 display-line-numbers-current-absolute.
10014 * lisp/cus-start.el (standard): Add customization form for
10015 display-line-numbers-current-absolute.
10017 * etc/NEWS: Document recently introduced features.
10019 2017-06-30 Eli Zaretskii <eliz@gnu.org>
10021 Speed up the visual-mode relative line numbers
10023 * src/xdisp.c (display_count_lines_visually): Introduce a
10024 shortcut: if a relative line number was already calculated for
10025 this iterator object, just increase it instead of the
10026 expensive call to move_it_to. Argument list changed to pass a
10027 pointer to the iterator object.
10028 (maybe_produce_line_number): Adjust for change in signature of
10029 display_count_lines_visually. Record the relative line number and
10030 the corresponding byte position in the iterator object also in the
10033 2017-06-30 Eli Zaretskii <eliz@gnu.org>
10035 Fix hscrolling with line numbers on TTY frames
10037 * src/xdisp.c (hscroll_window_tree): Correct the X offset
10038 calculations on TTY frames.
10039 * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
10040 a kludge using it->lnum_width.
10042 2017-06-30 Eli Zaretskii <eliz@gnu.org>
10044 Fix TAB display when the line-number face uses a smaller/larger font
10046 * src/dispextern.h (struct it): New member lnum_pixel_width.
10047 * src/xdisp.c (maybe_produce_line_number): Compute the width of
10048 the line-number display in pixels.
10049 (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
10050 that used it->lnum_width and made assumptions about pixel width.
10052 2017-06-30 Noam Postavsky <npostavs@gmail.com>
10054 Escape NUL bytes in X selections (Bug#6991)
10056 * lisp/term/w32-win.el (w32--set-selection):
10057 * lisp/select.el (xselect--encode-string): Replace NUL bytes with
10059 * doc/emacs/killing.texi: Document new behavior.
10060 * etc/NEWS (times): Announce it.
10062 2017-06-30 Noam Postavsky <npostavs@gmail.com>
10064 Hide byte code in backtraces (Bug#6991)
10066 * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
10067 defaulting to `cl-print'.
10068 (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
10070 * etc/NEWS: Announce it.
10072 2017-06-30 Noam Postavsky <npostavs@gmail.com>
10074 Don't redundantly cl-print arglist in function docstring again
10076 * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
10078 * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
10081 2017-06-30 Noam Postavsky <npostavs@gmail.com>
10083 Escape control characters in backtraces (Bug#6991)
10085 * src/print.c (syms_of_print): Add new variable,
10086 print-escape-control-characters.
10087 (print_object): Print control characters with octal escape codes when
10088 print-escape-control-characters is true.
10089 * lisp/subr.el (backtrace):
10090 * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
10091 `print-escape-control-characters' to t.
10093 2017-06-30 Noam Postavsky <npostavs@gmail.com>
10095 Improve ert backtrace recording
10097 Change ert to use the new `backtrace-frames' function instead of
10098 collecting frames one by one with `backtrace-frame'. Additionally,
10099 collect frames starting from `signal' instead the somewhat arbitrary
10100 "6 from the bottom". Skipping 6 frames would skip the expression that
10101 actually caused the signal that triggered the debugger. Possibly 6
10102 was chosen because in the case of a failed test, the triggering frame
10103 is an `ert-fail' call, which is not so interesting. But in case of a
10104 test throwing an error, this drops the `error' call which is too much.
10106 * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
10107 * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
10108 code from `debugger-make-xrefs'.
10109 (ert--print-backtrace): Add DO-XREFS parameter, delegate to
10110 `debugger-insert-backtrace'.
10111 (ert--run-test-debugger): Record the backtrace frames starting from
10112 the instigating `signal' call.
10113 (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
10114 DO-XREFS parameter.
10115 (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
10116 to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
10117 * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
10118 the backtrace list instead of comparing its string representation.
10119 Expect `signal' to be the first frame.
10121 2017-06-30 Noam Postavsky <npostavs@gmail.com>
10123 Operate on frame list instead of printed backtrace
10125 * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
10126 prints the given backtrace frames.
10127 (debugger-setup-buffer): Use it instead of editing the backtrace
10130 2017-06-29 Eli Zaretskii <eliz@gnu.org>
10134 * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
10135 line numbers to be displayed in empty lines beyond ZV.
10136 (x_produce_glyphs): Start fixing TAB display in truncated lines.
10138 2017-06-29 Michael Albinus <michael.albinus@gmx.de>
10140 Improve timer handling when Tramp accepts output
10142 * lisp/net/tramp-compat.el: Avoid compiler warning.
10144 * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
10145 Remove lock machinery.
10147 * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
10148 (tramp-file-name-handler): Add lock machinery from
10149 `tramp-sh-file-name-handler'. Allow timers to run.
10150 (tramp-accept-process-output): Remove nasty workaround.
10153 * test/lisp/net/tramp-tests.el (shell-command-sentinel):
10154 Suppress run in tests.
10155 (tramp--instrument-test-case-p): New defvar.
10156 (tramp--instrument-test-case): Use it in order to allow nested calls.
10157 (tramp--test-message, tramp--test-backtrace): New defsubst,
10158 will be used for occasional test instrumentation.
10159 (tramp-test00-availability, tramp-test31-vc-registered): Use them.
10160 (tramp-test28-shell-command)
10161 (tramp--test-shell-command-to-string-asynchronously): Suppress
10162 nasty messages. Don't overwrite sentinel.
10163 (tramp-test36-asynchronous-requests): Rewrite major parts.
10166 2017-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
10168 * lisp/url/url-history.el: Use lexical-binding
10170 (url-completion-function): Mark as obsolete.
10171 Mark unused args accordingly.
10173 2017-06-28 Noam Postavsky <npostavs@gmail.com>
10175 Don't assume url structs are vectors (Bug#27333)
10177 * lisp/url/url-history.el (url-history-update-url): Use `url-p'
10178 instead of `vectorp'.
10180 2017-06-28 Mark Oteiza <mvoteiza@udel.edu>
10182 Replace with dolist some uses of while
10184 * lisp/calc/calc-units.el (calc-permanent-units):
10185 (math-compare-unit-names, math-simplify-units-quotient):
10186 (math-build-units-table-buffer): Use dolist to replace extra bindings
10187 and some while loops.
10189 2017-06-28 Noam Postavsky <npostavs@gmail.com>
10191 Make tcl-auto-fill-mode obsolete (Bug#10772)
10193 * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
10194 * etc/NEWS: Announce it.
10196 2017-06-28 Noam Postavsky <npostavs@gmail.com>
10198 Don't read eshell/which output from *Help* buffer (Bug#26894)
10200 * lisp/help-fns.el (help-fns--analyse-function)
10201 (help-fns-function-description-header): New functions, extracted from
10202 describe-function-1.
10203 (describe-function-1): Use them.
10204 * lisp/eshell/esh-cmd.el (eshell/which): Use
10205 `help-fns-function-description-header' instead of
10206 `describe-function-1'.
10208 2017-06-27 Eli Zaretskii <eliz@gnu.org>
10210 Support default-text-properties
10212 * src/xdisp.c (should_produce_line_number): Call get-char-property
10213 at ZV as well, to support default-text-properties.
10215 2017-06-27 Eli Zaretskii <eliz@gnu.org>
10217 Avoid segfaults when some display vector is an empty string
10219 * src/xdisp.c (next_element_from_display_vector): Don't try
10220 accessing the dpvec[] array if its size is zero. (Bug#27504)
10222 2017-06-26 Eli Zaretskii <eliz@gnu.org>
10224 Initial support for visually-relative line numbers
10228 * src/xdisp.c (display_count_lines_visually): New function.
10229 (maybe_produce_line_number): Support 'visual' mode of line-number
10231 * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
10232 also when glyph_row is NULL. This is important for move_it_*
10234 (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
10235 (try_window_id, redisplay_window, try_cursor_movement): For
10236 'visual' line-number display, disable the same redisplay
10237 optimizations as for 'relative'.
10239 * lisp/cus-start.el (standard): Add new value for the
10240 customization form of display-line-numbers.
10242 2017-06-26 Eli Zaretskii <eliz@gnu.org>
10244 Update IT's metrics while simulating display
10246 * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
10247 also when glyph_row is NULL. This is important for move_it_*
10250 2017-06-26 Teemu Likonen <tlikonen@iki.fi>
10252 Fix bug in handling GnuPG's TRUST_MARGINAL status
10254 * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
10257 2017-06-26 Tino Calancha <tino.calancha@gmail.com>
10259 Prefer `when' instead of 1-branch `if'
10261 * lisp/dired-aux.el (dired-do-shell-command): Store condition value
10262 in local variable ok.
10263 Use `when' instead of 1-branch `if'.
10265 2017-06-26 Tino Calancha <tino.calancha@gmail.com>
10267 Use #' instead of (function ...)
10269 * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
10270 (dired-mark-confirm, dired-query, dired-byte-compile)
10271 (dired-load, dired-update-file-line, dired-after-subdir-garbage)
10272 (dired-relist-file, dired-rename-subdir, dired-do-create-files)
10273 (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
10274 (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
10275 (dired-do-copy-regexp, dired-do-hardlink-regexp)
10276 (dired-do-symlink-regexp, dired-create-files-non-directory)
10277 (dired-upcase, dired-downcase)
10279 * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
10280 (dired-internal-do-deletions, dired-internal-do-deletions):
10281 Prefer #' instead of (function ...).
10283 2017-06-26 Tino Calancha <tino.calancha@gmail.com>
10285 Don't quote lambda forms
10287 * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
10288 (dired-mark, dired-desktop-buffer-misc-data)
10290 * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
10291 (dired-create-files-non-directory, dired-insert-subdir-validate)
10292 (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
10294 2017-06-26 Stefan Monnier <monnier@iro.umontreal.ca>
10296 * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
10298 (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
10299 and `brackets-after-id'.
10300 (c-font-lock-objc-methods): Mark unused args.
10302 2017-06-25 Paul Eggert <eggert@cs.ucla.edu>
10304 Omit null-pointer test in intervals.h FRAME
10306 * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
10307 (INTERVAL_LAST_POS): Omit unnecessary parens.
10308 (LENGTH): Omit test for null pointer. The argument is never null.
10309 The unnecessary test causes GCC 7.1.0 to assume that the argument
10310 might be null, and therefore to issue false alarms when the
10311 argument is dereferenced in other expressions.
10313 2017-06-25 Paul Eggert <eggert@cs.ucla.edu>
10315 Parenthesize frame.h macro definitions
10317 * src/frame.h (FRAME_TOOL_BAR_POSITION)
10318 (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
10319 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
10320 (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
10321 (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
10322 (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
10323 (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
10324 (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
10325 (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
10326 to allow arbitrary expression arguments.
10328 2017-06-25 Paul Eggert <eggert@cs.ucla.edu>
10330 Port recent frame changes to GCC 7
10332 * src/frame.c (keep_ratio): New arg P. Caller changed. Since it
10333 is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
10334 might return null. This also avoids a run-time test.
10336 2017-06-25 Eli Zaretskii <eliz@gnu.org>
10338 Minor aesthetic fix of last change.
10340 2017-06-25 Eli Zaretskii <eliz@gnu.org>
10342 Allow to disable display of line numbers beyond EOB
10344 * src/buffer.c (disable_line_numbers_overlay_at_eob): New
10346 * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
10347 * src/xdisp.c (should_produce_line_number): When at ZV, call
10348 disable_line_numbers_overlay_at_eob to determine whether line
10349 numbers should be displayed beyond ZV.
10351 2017-06-25 Michael Albinus <michael.albinus@gmx.de>
10353 Fix Android 6/7 problems in Tramp
10355 * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
10356 (tramp-adb-handle-directory-files-and-attributes)
10357 (tramp-adb-handle-file-name-all-completions): Insert "." and
10358 ".." only when needed.
10359 (tramp-adb-get-ls-command): Force one column output for toybox.
10361 2017-06-25 Stefan-W. Hahn <stefan.hahn@s-hahn.de> (tiny change)
10363 * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
10365 2017-06-25 Eli Zaretskii <eliz@gnu.org>
10367 Fix line number display for overlay/display strings with newlines
10369 * src/xdisp.c (maybe_produce_line_number): Fix the condition for
10370 producing space glyphs instead of a line number to include the
10371 case of display strings and overlays.
10373 2017-06-25 Alan Mackenzie <acm@muc.de>
10375 Make CC Mode load cl-lib rather than cl in Emacs 26.
10377 * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
10380 * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
10381 (c--cl-library): New variable.
10382 (Top level): Amend the form which requires library cl or cl-lib.
10383 (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
10384 (c--delete-duplicate): Amend to use c--cl-library instead of
10387 * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
10388 (c-back-over-compound-identifier): Remove unused local variables.
10390 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
10393 * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
10394 of c--mapcan-status.
10396 * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
10397 silence a compiler warning.
10399 2017-06-25 Martin Rudalics <rudalics@gmx.at>
10401 Provide additional support for child frames
10403 Provide mouse dragging and resizing of frames. Allow resizing
10404 frames proportionally. Provide additional functionality for
10405 child frames. Minor bug fixes.
10407 * lisp/frame.el (frame-border-width, frame-pixel-width)
10408 (frame-pixel-height): Alias to `frame-internal-border-width',
10409 `frame-native-width' and `frame-native-height'.
10410 (frame-inner-width, frame-inner-height, frame-outer-width)
10411 (frame-outer-height): New functions.
10412 * lisp/minibuffer.el (completion-auto-help): Fix typo.
10413 * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
10414 (mouse-drag-header-line): Allow moving a frame by dragging the
10415 mode line of its bottommost window (on a minibuffer-less frame)
10416 or the header line of its topmost window.
10417 (mouse-drag-vertical-line): Mention argument in doc-string.
10418 (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
10419 (mouse-drag-top-left-corner, mouse-drag-top-edge)
10420 (mouse-drag-top-right-corner, mouse-drag-right-edge)
10421 (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
10422 (mouse-drag-bottom-left-corner): New functions for resizing a
10423 frame by dragging its internal border together with
10424 corresponding key bindings.
10425 * lisp/tooltip.el (tooltip-frame-parameters): Add
10426 'no-special-glyphs' to default parameters and update version
10428 * lisp/window.el (frame-auto-hide-function): Add choice to make
10429 frame invisible and update version tag.
10430 (window--delete): Handle 'auto-hide-function' frame parameter.
10431 (window--maybe-raise-frame): Respect 'no-focus-on-map' and
10432 'no-accept-focus' frame parameters.
10433 (display-buffer--action-function-custom-type): Add
10434 `display-buffer-in-child-frame'.
10435 (display-buffer): Mention `display-buffer-in-child-frame' in
10437 (display-buffer-in-child-frame): New action function for
10439 (window--sanitize-margin): Return zero when MARGIN cannot be
10441 (fit-frame-to-buffer): Major rewrite to handle child frames and
10442 'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
10444 (window-largest-empty-rectangle--maximums-1)
10445 (window-largest-empty-rectangle--maximums)
10446 (window-largest-empty-rectangle--disjoint-maximums)
10447 (window-largest-empty-rectangle): New functions.
10449 * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
10450 (WINDOW_WANTS_HEADER_LINE_P): Remove. Functionality is now
10451 provided by corresponding functions window_wants_modeline and
10452 window_wants_header_line in window.c. Adjust users.
10453 * src/dispnew.c (adjust_glyph_matrix)
10454 (buffer_posn_from_coords): Use window_wants_modeline and
10455 window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
10456 WINDOW_WANTS_HEADER_LINE_P.
10457 * src/frame.c (keep_ratio): New function.
10458 (adjust_frame_size): Call keep_ratio for each of F's child
10460 (make_frame): Initialize no_special_glyphs slot.
10461 (frame_internal_border_part): New function.
10462 (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
10463 to Fframe_native_width, Fframe_native_height mand
10464 Fframe_internal_border_width.
10465 (frame_parm_table): Add Qno_special_glyphs entry.
10466 (frame_float_type): New enumeration type.
10467 (frame_float): New function to handle frame size and position
10469 (x_set_frame_parameters): Handle size and position ratios.
10470 (x_set_no_special_glyphs): New function
10471 (x_figure_window_size): Handle size and position ratios.
10472 (syms_of_frame): Add Qdisplay_monitor_attributes_list,
10473 Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
10474 Qheight_only, Qleft_only and Qtop_only.
10475 * src/frame.h (internal_border_part): New enumeration type.
10476 (struct frame): New slot no_special_glyphs.
10477 (FRAME_NO_SPECIAL_GLYPHS): New macro.
10478 * src/gtkutil.c (xg_frame_restack): Return immediately for
10479 GTK versions before 2.18.0.
10480 * src/keyboard.c (internal_border_parts): New array constant.
10481 (make_lispy_position): For frames with border dragging enabled
10482 return internal border part.
10483 (syms_of_keyboard): New symbols Qdrag_internal_border,
10484 Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
10485 Qright_edge, Qbottom_right_corner, Qbottom_edge and
10486 Qbottom_left_corner.
10487 * src/minibuf.c (read_minibuf_unwind): When exiting the
10488 minibuffer deal with frames that have the 'minibuffer-exit'
10490 (syms_of_minibuf): New symbol Qminibuffer_exit.
10491 * src/nsfns.m (frame_parm_handler): Add entry for
10492 x_set_no_special_glyphs.
10493 (Fx_create_frame): Handle 'no-special-glyphs' parameter.
10494 Intitialize new cursor types for dragging frame borders.
10495 * src/nsterm.h (struct ns_output): Add new cursor types for
10496 dragging frame borders.
10497 * src/w32fns.c (w32_frame_parm_handlers): Add entry for
10498 x_set_no_special_glyphs.
10499 (Fx_create_frame): Handle 'no-special-glyphs' parameter.
10500 Intitialize new cursor types for dragging frame borders.
10501 * src/w32term.h (struct w32_output): Add new cursor types for
10502 dragging frame borders.
10503 * src/window.c (coordinates_in_window)
10504 (Fwindow_line_height, window_internal_height): Use
10505 window_wants_modeline and window_wants_header_line instead of
10506 WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
10507 (Fwindow_lines_pixel_dimensions): New function.
10508 (window_parameter): New function.
10509 (Fwindow_parameter): Call window_parameter.
10510 (window_wants_mode_line, window_wants_header_line): New
10511 functions replacing the macros WINDOW_WANTS_MODELINE_P and
10512 WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
10513 (syms_of_window): New symbols Qmode_line_format and
10514 Qheader_line_format.
10515 * src/window.h: Reorganize and re-comment macros. Use
10516 window_wants_modeline and window_wants_header_line instead of
10517 WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
10518 (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
10519 (WINDOW_BUFFER): New macro.
10520 (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
10521 * src/xdisp.c (window_text_bottom_y, window_box_height)
10522 (window_box, start_display)
10523 (compute_window_start_on_continuation_line)
10524 (try_cursor_movement, redisplay_window)
10525 (try_window_reusing_current_matrix, try_window_id)
10526 (display_line, expose_window): Use window_wants_modeline and
10527 window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
10528 WINDOW_WANTS_HEADER_LINE_P.
10529 (pos_visible_p, display_mode_lines): Respect W's
10530 'mode-line-format' and 'header-line-format' window parameters.
10531 (init_iterator): Use window_wants_modeline and
10532 window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
10533 WINDOW_WANTS_HEADER_LINE_P. For tip frames respect
10534 no_special_glyphs value.
10535 (note_mouse_highlight): Set frame border cursors when on
10537 (x_draw_right_divider, x_draw_bottom_divider): Try to improve
10538 drawing of window dividers.
10539 * src/xfns.c (mouse_cursor): Add entries for border parts.
10540 (mouse_cursor_types): Add entries for cursor types to drag
10542 (INSTALL_CURSOR): Add entries for new cursor types to drag
10544 (Fx_create_frame): Handle 'no-special-glyphs' parameter.
10545 (x_frame_parm_handlers): Add entry for
10546 x_set_no_special_glyphs.
10547 (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
10548 (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
10549 (Vx_window_right_edge_shape)
10550 (Vx_window_bottom_right_corner_shape)
10551 (Vx_window_bottom_edge_shape)
10552 (Vx_window_bottom_left_corner_shape): New variables.
10553 (x_frame_restack): Call xg_frame_restack only for GTK versions
10554 starting with 2.18.0.
10555 * src/xterm.c (x_free_frame_resources): Remove new cursors for
10556 dragging frame borders.
10557 * src/xterm.h (struct x_output): Add new cursor types for
10558 dragging frame borders.
10560 * doc/lispref/display.texi (Size of Displayed Text): Document
10561 `window-lines-pixel-dimensions'.
10562 * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
10564 * doc/lispref/frames.texi (Frame Size): Replace
10565 frame-pixel-width/-height by frame-native-width/-height. Add
10566 frame-inner-width/-height and frame-outer-width/-height docs.
10567 (Position Parameters): Describe specifying position as ratios.
10568 Clarify remark about positions relative to bottom/ridge display
10570 (Size Parameters): Describe specifying sizes as ratios.
10571 Describe 'fit-frame-to-buffer-margins' and
10572 'fit-frame-to-buffer-sizes' parameters.
10573 (Layout Parameters): Describe 'no-special-glyphs' parameter.
10574 (Frame Interaction Parameters): Describe 'auto-hide-function',
10575 'minibuffer-exit' and 'keep-ratio' parameters.
10576 (Mouse Dragging Parameters): New section describing
10577 'drag-internal-border', 'drag-with-header-line',
10578 'drag-with-mode-line', 'snap-width', 'top-visible' and
10579 'bottom-visible' parameters.
10580 (Management Parameters): Mention that `override-redirect' has
10581 no effect on MS Windows.
10582 (Font and Color Parameters): Mention child frames for `alpha'
10584 (Child Frames): Rewrite section with description and cross
10585 references to new frame parameters added.
10586 * doc/lispref/modes.texi (Mode Line Basics): Mention
10587 'mode-line-format' and 'header-line-format' window parameters.
10588 * doc/lispref/windows.texi (Resizing Windows): Mention effect
10589 of `fit-frame-to-buffer-margins' for child frames.
10590 (Display Action Functions): New action function
10591 `display-buffer-in-child-frame'.
10592 (Quitting Windows): Mention `make-frame-invisible' as optional
10593 value of `frame-auto-hide-function' and `auto-hide-function'
10595 (Coordinates and Windows): Describe new function
10596 `window-largest-empty-rectangle'.
10597 (Window Parameters): Describe new parameters 'mode-line-format'
10598 and 'header-line-format'. Index all window parameters described
10601 2017-06-25 Paul Eggert <eggert@cs.ucla.edu>
10603 Adjust lm-verify to accept current notices
10605 Problem reported by Mike Kupfer in:
10606 http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00512.html
10607 * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
10608 Do not require later lines in a copyright notice to have more
10609 indentation than earlier lines.
10611 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10613 Minor change in NEWS.
10615 Improve documentation in NEWS.
10617 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10619 Move additional hscrolling code into a suitable 'if'
10621 * src/xdisp.c (hscroll_window_tree): Make additional calculations
10622 regarding glyphs produced for line numbers conditional on
10623 line-number display.
10625 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10627 Partial fix of hscroll of truncated lines with line numbers
10629 * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
10630 hscroll calculations to line-number display.
10631 * src/term.c (produce_glyphs): Adjust tab stop to window's
10632 hscroll. These two changes fix horizontal scrolling when line
10633 numbers are displayed. But there's still a bug: the horizontal
10634 shift of lines that begin with a TAB is different from the rest.
10635 * src/xdisp.c (move_it_in_display_line_to): Call
10636 should_produce_line_number to determine whether a line number
10637 should be produced for this screen line.
10639 2017-06-24 Noam Postavsky <npostavs@gmail.com>
10641 Don't change byte-compile-delete-errors at runtime (Bug#27340)
10643 * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
10646 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10648 Allow Lisp program to disable line-number display for specific lines
10650 * etc/NEWS: Update the documentation.
10652 * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
10654 (should_produce_line_number): New function.
10655 (display_line): Use should_produce_line_number to determine
10656 whether a line number should be produced for each glyph row.
10658 2017-06-24 Stefan Monnier <monnier@iro.umontreal.ca>
10660 * lisp/net/html2text.el: Move to obsolete/.
10662 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10664 Support a separate face for displaying the current line's number
10666 * lisp/faces.el (line-number-current-line): New face.
10668 * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
10670 (try_window_id, try_cursor_movement): Disable these optimizations
10671 when the line-number-current-line face is different from
10673 (maybe_produce_line_number): Display the current line in the
10674 line-number-current-line face, if it's different from line-number.
10676 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10678 Change display of current line in relative mode
10680 * src/xdisp.c (maybe_produce_line_number): In relative mode
10681 display the current line number as its absolute value, not as zero.
10683 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10685 Rename display-line-width
10688 * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
10689 * lisp/cus-start.el: Rename display-line-width to
10690 display-line-number-width.
10692 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10694 Fix tab stops when line numbers are displayed
10696 * src/xdisp.c (x_produce_glyphs):
10697 * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
10698 space taken by the line-number display.
10700 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10702 Fix crashes on TTY frames due to negative lnum_width.
10704 Don't display line numbers in the minibuffer and in tooltip frames.
10706 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10708 Fix problems with line-number updates in Follow mode
10710 * src/xdisp.c (redisplay_window): If forced window-start requires
10711 to move a window's point, and the window is under relative
10712 line-number display, force another round of redisplay to update
10713 the relative line numbers. This fixes follow-mode "redisplay" of
10716 * lisp/frame.el: Add display-line-numbers to the list of variables
10717 that should trigger redisplay of the current buffer.
10719 2017-06-24 Eli Zaretskii <eliz@gnu.org>
10721 Fix display of line numbers with fonts larger than the default
10723 * src/xdisp.c (maybe_produce_line_number): Update the metrics in
10724 IT, not in IT->glyph_row, since the latter gets overwritten in
10725 display_line. Fixes display of line numbers when the font used
10726 for them is larger than that of the default face.
10728 2017-06-23 Eli Zaretskii <eliz@gnu.org>
10730 Fix background color beyond EOB and cursor display
10732 * src/xdisp.c: (maybe_produce_line_number): Use the default face
10733 for background of the blank glyphs in the line-number area which
10734 are drawn beyond EOB.
10735 (display_line): Reset the glyph row's displays_text_p flag only on
10736 empty lines that don't display line numbers. This fixes cursor
10737 display beyond EOB. Fix the bidi information in the glyphs
10738 produced for line numbers. Set the avoid_cursor_p flag of glyphs
10739 produced for line numbers.
10741 2017-06-23 Eli Zaretskii <eliz@gnu.org>
10743 Fix display of indicate-empty-lines when line numbers are displayed
10745 * src/xdisp.c (row_text_area_empty): New function.
10746 (display_line): Call row_text_area_empty to verify that a glyph
10747 row's text area is devoid of any glyphs that came from a buffer or
10748 a string. This fixes a bug with empty-lines indication
10749 disappearing when line numbers or line-prefix are displayed.
10750 (display_line): Delete the argument FORCE; all callers changed.
10751 Remove the condition for actually producing the glyphs for the
10752 line number, as even if the number didn't change we need to
10753 produce empty space.
10755 2017-06-23 Vincent Belaïche <vincentb1@users.sourceforge.net>
10757 Fix symbol relocation when the relocated cell is renamed.
10759 * lisp/ses.el (ses-sym-rowcol): Check that the renamed cell
10760 hashmap has been instantiated before getting data from it. When
10761 editing several spreadsheets, and you have spreadsheet #1 with a
10762 cell named `foo', and no renamed cell in spreadsheet #2, then if
10763 you make a formula with `foo' in spreadsheet #2, not doing this
10764 check will make an error.
10765 (ses-cell-set-formula): Robustify versus incorrect cell references
10766 given in the user provided formula. An explicit error message is
10767 provided after the action when the user gives an incorrect cell
10768 reference, but the formula edition is not changed. This means that
10769 if the incorrect reference is to a cell that is created someday,
10770 then this new cell will not have the edited cell in its reference
10771 list. Fixing this can still be done by editing again the first
10773 (ses-relocate-symbol): Do not create symbol of referred-to cell
10774 when this is a renamed cell.
10776 2017-06-23 Rasmus <rasmus@gmx.us>
10778 Synchronize with the "emacs-sync" branch from Org
10780 2017-06-22 Paul Eggert <eggert@cs.ucla.edu>
10782 Remove getc_unlocked configure-time check
10784 * configure.ac (getc_unlocked): Remove check, as unlocked-io now
10787 2017-06-22 Paul Eggert <eggert@cs.ucla.edu>
10789 Use unlocked stdio more systematically
10791 This can improve performance significantly on stdio-bottlenecked code.
10792 E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
10793 * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
10794 * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
10795 * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
10796 * lib-src/profile.c, lib-src/update-game-score.c:
10797 Include unlocked-io.h instead of stdio.h, since these programs are
10799 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
10800 * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
10801 * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
10802 * src/lread.c, src/term.c:
10803 Include sysstdio.h, possibly instead of stdio.h, to define
10804 the unlocked functions if the system does not provide them.
10805 * src/charset.c, src/lread.c (getc_unlocked):
10806 Remove, since sysstdio.h now defines it if needed.
10807 * src/cm.c (cmputc, cmcheckmagic):
10808 * src/dispnew.c (update_frame, update_frame_with_menu)
10809 (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
10810 * src/emacs.c (main, Fdump_emacs):
10811 * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
10812 * src/image.c (slurp_file, png_read_from_file, png_load_body)
10813 (our_stdio_fill_input_buffer):
10814 * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
10815 * src/lread.c (readbyte_from_file):
10816 * src/minibuf.c (read_minibuf_noninteractive):
10817 * src/print.c (printchar_to_stream, strout)
10818 (Fredirect_debugging_output):
10819 * src/sysdep.c (reset_sys_modes, procfs_ttyname)
10820 (procfs_get_total_memory):
10821 * src/term.c (tty_ring_bell, tty_send_additional_strings)
10822 (tty_set_terminal_modes, tty_reset_terminal_modes)
10823 (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
10824 (tty_write_glyphs_with_face, tty_insert_glyphs)
10825 (tty_menu_activate):
10826 * src/xfaces.c (Fx_load_color_file):
10827 Use unlocked stdio when it should be safe.
10828 * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
10829 (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
10830 (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
10831 (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
10833 2017-06-22 Glenn Morris <rgm@gnu.org>
10835 * lisp/net/shr.el (shr-fill-text): Actually fill the text. (Bug#27399)
10837 2017-06-22 Michal Nazarewicz <mina86@mina86.com>
10839 unidata: don’t check special casing in unidata-check (bug#26656)
10841 * admin/unidata/unidata-gen.el (unidata-check): Do not test special
10842 casing mapping of characters since that mapping is not constructed from
10843 the unidata.txt file.
10844 Also, check for integer decoder and cons char earlier so that less
10845 unnecessary processing is performed.
10847 2017-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
10849 * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
10851 Avoid string-to-multibyte and string-as-unibyte.
10852 Don't make *Help* unibyte just because the char was in a unibyte buffer.
10854 2017-06-22 Rasmus <rasmus@gmx.us>
10856 Add Org schemas.xml contents to Emacs schemas.xml
10858 Entries from the Org version of schemas.xml have been added to
10859 the Emacs version of schemas.xml.
10861 2017-06-22 Rasmus <rasmus@gmx.us>
10863 Update Org to v9.0.9
10865 Please see etc/ORG-NEWS for details.
10867 2017-06-22 Vincent Belaïche <vincentb1@users.sourceforge.net>
10869 Do not hard code A1 cell reference, as it may be renamed.
10871 * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
10873 2017-06-22 Martin Rudalics <rudalics@gmx.at>
10875 Fix make_hash_table calls in lread.c
10877 * src/lread.c (readevalloop, read_internal_start): Fix
10878 make_hash_table calls to make build succeed.
10880 2017-06-22 Ken Raeburn <raeburn@raeburn.org>
10882 Merge several Lisp reader speedups.
10884 2017-06-22 Ken Raeburn <raeburn@raeburn.org>
10886 Create less garbage to collect while reading symbols.
10888 * src/lread.c (read1): When interning a symbol, only create a new
10889 string object for the name if we're going to use it for a new symbol
10892 2017-06-22 Ken Raeburn <raeburn@raeburn.org>
10894 Replace read_objects assoc list with two hash tables.
10896 For larger input files with lots of shared data structures, an
10897 association list is too slow.
10899 * src/lread.c (read_objects_map, read_objects_completed): New
10900 variables, replacing read_objects.
10901 (readevalloop): Initialize them with hash tables before starting a
10902 top-level read, if they're not already empty hash tables, and reset
10903 them to Qnil afterwards if something was added to the hash tables.
10904 (read_internal_start): Likewise.
10905 (read1): Store first the placeholder and later the newly read object
10906 into read_objects_map under the specified object number. If the new
10907 object can contain a reference to itself, store it in
10908 read_objects_completed.
10909 (substitute_objects_recurse): Check read_objects_completed instead of
10910 read_objects for the known possibly-recursive objects.
10911 (syms_of_lread): Update initializations.
10913 2017-06-22 Ken Raeburn <raeburn@raeburn.org>
10917 * configure.ac: Check for getc_unlocked.
10918 * src/charset.c (read_hex, load_charset_map_from_file): Use
10919 getc_unlocked instead of getc.
10920 (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
10921 * src/lread.c (readbyte_from_file, Fget_file_char, read1,
10922 getc_unlocked): Likewise.
10924 2017-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
10926 Reduce lread substitutions.
10928 * src/lread.c (read1): After reading an object using the "#n=" syntax,
10929 if the read object is a cons cell, instead of recursively substituting
10930 the placeholder with the new object, mutate the placeholder cons cell
10931 itself to have the correct car and cdr values.
10933 2017-06-22 Ken Raeburn <raeburn@raeburn.org>
10935 Short-circuit substitutions for some simple types.
10937 Values that don't contain other values cannot be circular, so checking
10938 for circular objects is a waste of cycles.
10940 * src/lread.c (substitute_object_recurse): If the subtree being
10941 examined is a symbol, number, or property-less string, just return
10944 2017-06-22 Paul Eggert <eggert@cs.ucla.edu>
10946 Limit style_format to MAX_ALLOCA
10948 * src/editfns.c (styled_format): Subtract initial buffer size
10949 from sa_avail, since it is nontrivial.
10951 2017-06-22 Paul Eggert <eggert@cs.ucla.edu>
10953 Limit bidi_find_bracket_pairs to MAX_ALLOCA
10955 * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
10956 Shrink it to allow for the two struct bidi_it objects in
10958 (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
10959 (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
10961 2017-06-22 Paul Eggert <eggert@cs.ucla.edu>
10963 Limit insert-file-contents to MAX_ALLOCA
10965 * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
10966 MAX_ALLOCA bytes in a single stack array.
10968 2017-06-21 Paul Eggert <eggert@cs.ucla.edu>
10970 Remove malloc_find_address relic
10972 * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
10973 Omit unnecessary initialization.
10975 2017-06-21 Paul Eggert <eggert@cs.ucla.edu>
10977 Fix temacs hybrid_malloc core dump
10979 Without this patch, ./temacs would dump core sometimes on Fedora
10980 25 x86-64. The problem was that the hybrid allocator assumed that
10981 all pointers into bss_sbrk_buffer are allocated via gmalloc. This
10982 assumption is not true on Fedora, because the standard memory
10983 allocator calls gdefault_morecore, which means its blocks are
10984 interleaved with our blocks. Usually the code happened to work,
10985 because our data structures agreed with the glibc data structures,
10986 but this was merely luck due to a shared pedigree, and as glibc
10987 mutates our luck has run out.
10988 * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
10989 Remove; no longer needed.
10990 (BLOCK): Use unsigned division, as that does the right thing near zero.
10991 (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
10992 (_realloc_internal_nolock):
10993 Big blocks now have type -1, not 0, as 0 now means the block is
10995 (morecore_nolock): Omit now-unnecessary casts to size_t.
10996 (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
10997 (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
10998 avoid calling the wrong free or realloc function in some cases.
11000 2017-06-21 Katsumi Yamaoka <yamaoka@jpl.org>
11002 Make gnus-article-date-user work
11004 * lisp/gnus/gnus-art.el (article-date-ut):
11005 Work for unfolded multi-line Date header.
11006 (article-transform-date):
11007 Refactor; add header name if it is missing in user-defined date line.
11008 (article-date-user): Fix name of date type.
11010 2017-06-21 Noam Postavsky <npostavs@gmail.com>
11012 Keep order of completion candidates (Bug#25995, Bug#24676)
11014 * lisp/minibuffer.el (completion-pcm--filename-try-filter)
11015 (completion-pcm--all-completions): Use nreverse to undo the reversing
11016 caused by using push in the loop.
11018 2017-06-21 Glenn Morris <rgm@gnu.org>
11020 * src/lread.c (syms_of_lread) <load-history>: Doc fix.
11022 2017-06-21 Alex Gramiak <agrambot@gmail.com>
11024 Mark prolog indent variables as safe (bug#27369)
11026 * lisp/progmodes/prolog.el (prolog-indent-width)
11027 (prolog-left-indent-regexp, prolog-paren-indent-p)
11028 (prolog-paren-indent): Add :safe property.
11030 2017-06-20 Simen Heggestøyl <simenheg@gmail.com>
11032 Remove `:options' from `css-electric-keys'
11034 * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
11035 since it just duplicates the default value.
11037 2017-06-20 Paul Eggert <eggert@cs.ucla.edu>
11039 Fix crash when built by GNU Gold linker on x86
11041 Problem reported by Andrés Musetti (Bug#27248).
11042 * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
11043 (emacsFrameClass): Now a function (which initializes the
11044 superclass) instead of a variable. All uses changed.
11046 2017-06-20 Paul Eggert <eggert@cs.ucla.edu>
11048 Simplify autogen.sh version checking
11050 * autogen.sh (get_version): Simplify and make more reliable
11051 by using expr rather than echo | sed. Check exit status of program.
11052 Run program in subshell in case it cannot be executed.
11053 (check_version): Check exit status of command rather than its output.
11054 Check return status of get_version.
11056 2017-06-20 Katsumi Yamaoka <yamaoka@jpl.org>
11058 Delete old Date header in a simple way
11060 * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
11061 when searching the old Date header boundary in order to delete it.
11063 2017-06-20 Bastien <bzg@gnu.org>
11065 Revert "Don't bind org-agenda key to an anonymous function"
11067 This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
11069 2017-06-20 Katsumi Yamaoka <yamaoka@jpl.org>
11071 Bind enable-local-variables to nil globally (fix dbe3e41)
11073 * lisp/gnus/mm-view.el (mm-display-inline-fontify):
11074 Bind enable-local-variables to nil globally instead of making it
11075 buffer-local; remove let-bind of local-enable-local-variables.
11076 cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
11078 2017-06-20 Glenn Morris <rgm@gnu.org>
11080 kill-matching-buffers to optionally not confirm
11082 * lisp/files.el (kill-matching-buffers):
11083 Add option to not confirm killing. (Bug#27286)
11085 2017-06-20 Glenn Morris <rgm@gnu.org>
11087 * lisp/files.el (local-enable-local-variables): Doc fix.
11089 2017-06-20 Glenn Morris <rgm@gnu.org>
11091 autogen.sh: try to check for tool being present but broken
11093 * autogen.sh (get_version): Check return status of "--version".
11094 (check_version): Try to distinguish between a missing tool
11095 and a broken one. (Bug#27288)
11097 2017-06-19 Glenn Morris <rgm@gnu.org>
11099 Avoid a custom-variable-type error (bug#27363)
11101 * lisp/cus-edit.el (custom-variable-type):
11102 Avoid an error due to plist-put becoming stricter of late.
11104 2017-06-19 Glenn Morris <rgm@gnu.org>
11106 Don't put deleted packages in the trash (bug#14967)
11108 * lisp/emacs-lisp/package.el (package-delete):
11109 Don't pay attention to delete-by-moving-to-trash.
11111 2017-06-19 Nicolas Petton <nicolas@petton.fr>
11113 Revert "Add current-line in simple.el"
11115 This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
11117 2017-06-19 Damien Cassou <damien@cassou.me>
11119 Add current-line in simple.el
11121 * lisp/simple.el (current-line): New function.
11122 * test/lisp/simple-tests.el: Add tests for current-line.
11124 2017-06-19 Katsumi Yamaoka <yamaoka@jpl.org>
11126 Don't try to eval local variables in Gnus article
11128 * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
11130 2017-06-18 Paul Eggert <eggert@cs.ucla.edu>
11132 Fix emacs-module.h cleaning
11134 * src/Makefile.in (clean): Do not remove emacs-module.h.in.
11135 (bootstrap-clean): Remove emacs-module.h.
11137 2017-06-18 Andreas Schwab <schwab@linux-m68k.org>
11139 * lisp/url/url-util.el (url-get-url-at-point): Add missing group
11142 2017-06-18 Paul Eggert <eggert@cs.ucla.edu>
11144 * lib/gettext.h: Merge from gnulib.
11146 2017-06-18 Paul Eggert <eggert@cs.ucla.edu>
11150 This (and my previous patch) incorporate:
11151 2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
11152 2017-06-15 gettext-h: Update comment
11153 * lib/diffseq.h: Copy from gnulib.
11155 2017-06-17 Noam Postavsky <npostavs@gmail.com>
11157 * test/Makefile.in: Don't suppress test failure for single tests.
11159 2017-06-17 Philipp Stephani <phst@google.com>
11161 emacs-module.h: Create emacs_env_26
11163 This was part of the original design of the module
11164 API (https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00960.html),
11165 but I didn't take it into account when adding the should_quit
11168 Instead of duplicating the environment fields or using the C
11169 preprocessor, use configure to build emacs-module.h.
11171 * configure.ac: Expand emacs-module.h template.
11173 2017-06-17 Eli Zaretskii <eliz@gnu.org>
11175 Improve documentation of replace-buffer-contents
11177 * etc/NEWS (replace-buffer-contents): Fix formatting.
11179 * src/editfns.c (Freplace_buffer_contents): Doc fix.
11181 2017-06-17 Eli Zaretskii <eliz@gnu.org>
11183 Finish up native display of line numbers
11185 * src/xdisp.c (maybe_produce_line_number): Produce a blank before
11186 the number, for R2L rows. Increment 'g' in the loop even if
11187 glyph_row is NULL. Accept 2nd argument FORCE and produce the
11188 line-number glyphs if it is non-zero.
11189 (move_it_in_display_line_to): Account for the space taken by the
11190 line-number glyphs. Call maybe_produce_line_number with 2nd
11192 (set_cursor_from_row): Fix calculation of cursor X coordinate in
11193 R2L rows with display-produced glyphs at the beginning.
11194 (syms_of_xdisp) <line-number>: New face symbol.
11195 <relative, display-line-width>: New symbols.
11196 (maybe_produce_line_number): Use the line-number face for
11197 displaying line numbers. Support relative line-number display.
11198 Support user-defined width for displaying line numbers.
11199 (try_cursor_movement, try_window_id): Disable these optimizations
11200 when displaying relative line numbers.
11201 * src/dispextern.h (struct it): New member 'pt_lnum'.
11203 * lisp/faces.el (line-number): New face.
11204 * lisp/cus-start.el (standard): Provide customization forms for
11205 display-line-numbers and display-line-width.
11206 * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
11207 turn display-line-numbers on and off.
11209 * etc/NEWS: Document the new feature.
11211 2017-06-17 Philipp Stephani <phst@google.com>
11213 Allow local variables section to begin with a square bracket
11217 * lisp/international/mule.el (find-auto-coding): Fix regular
11218 expression for "Local Variables" section.
11220 * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
11223 2017-06-17 Philipp Stephani <phst@google.com>
11225 Remove unnecessary point motion
11227 * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
11230 2017-06-17 Philipp Stephani <phst@google.com>
11232 Add command to replace buffer contents
11234 Add a new command 'replace-buffer-contents' that uses the Myers diff
11235 algorithm to non-destructively replace the accessible portion of the
11236 current buffer. The Myers algorithm is implemented in Gnulib.
11238 * src/editfns.c (Freplace_buffer_contents): New command.
11239 (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
11240 (syms_of_editfns): Define new command.
11242 * test/src/editfns-tests.el (replace-buffer-contents-1)
11243 (replace-buffer-contents-2): New unit tests.
11245 * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
11247 * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
11249 2017-06-17 Andreas Schwab <schwab@linux-m68k.org>
11251 * lisp/international/characters.el: Update list of zero and full
11252 width characters according to Unicode 9.0.0.
11254 2017-06-17 Simen Heggestøyl <simenheg@gmail.com>
11256 Complete CSS property values less eagerly (Bug#27392)
11258 * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
11259 eager by looking for a colon after the property which values are being
11262 * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
11263 Add a test case ensuring that properties that are prefixes of other
11264 properties don't hinder further completion.
11266 2017-06-17 Noam Postavsky <npostavs@gmail.com>
11268 Handle integer indices for eshell variables (Bug#26055)
11270 * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
11271 if it's been marked as one, just like `eshell-lisp-command' does.
11273 2017-06-17 Mark Oteiza <mvoteiza@udel.edu>
11275 Don't bind org-agenda key to an anonymous function
11277 * lisp/org/org-agenda.el: Bind "g" to named command.
11278 (org-agenda-redo-all): New command. Extend the previous functionality
11279 through a prefix argument.
11281 2017-06-17 Dmitry Gutov <dgutov@yandex.ru>
11283 Add test for the fix in the parent commit
11285 * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
11286 New test, for the fix in the parent commit.
11288 2017-06-17 Nitish Chandra <nitishchandrachinta@gmail.com> (tiny change)
11290 primitive-undo: Update only the currently valid markers
11292 * lisp/simple.el (primitive-undo):
11293 Update only the currently valid markers (bug#25599).
11295 2017-06-16 Eli Zaretskii <eliz@gnu.org>
11297 Initial version of native display of line numbers
11299 * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
11300 buffer-local variable.
11302 (maybe_produce_line_number): New function.
11303 (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
11304 (try_window_reusing_current_matrix): Don't use this method when
11305 display-line-numbers is in effect.
11306 * src/dispextern.h (struct it): New members 'lnum'.
11308 2017-06-16 Philipp Stephani <phst@google.com>
11310 Correctly detect URLs surrounded by parentheses in comments
11312 * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
11313 Make parentheses match work inside comments.
11315 * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
11318 2017-06-16 Michael Albinus <michael.albinus@gmx.de>
11320 Fix load-path issue when it contains remote directories
11322 * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
11323 (tramp-use-absolute-autoload-file-names): New defun. Call it
11324 after loading tramp.el.
11326 * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
11328 (tramp-test39-unload): Rename.
11330 2017-06-16 Alan Mackenzie <acm@muc.de>
11332 Ensure C++ initializer lists don't get fontified.
11334 * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
11337 * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
11338 clause to handle C++ member initialization lists.
11339 (c-font-lock-single-decl): New function, extracted from
11340 c-font-lock-declarations.
11341 (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
11343 (c-font-lock-cut-off-declarators): Make more rigorous by calling
11344 c-get-fontification-context, c-forward-decl-or-cast-1, and
11345 c-font-lock-single-decl in place of rather approximate code.
11347 2017-06-16 Alan Mackenzie <acm@muc.de>
11349 Fix hang in CC Mode when ":" is typed after identifier at EOB.
11351 * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
11352 confusing ":" and EOB.
11354 2017-06-15 Alan Mackenzie <acm@muc.de>
11356 Create a toggle between block and line comments in CC Mode.
11358 Also (unrelated change) initialize the modes' keymaps at each loading.
11360 * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
11362 (c-block-comment-flag): New variable.
11363 (c-toggle-comment-style): New function.
11365 * lisp/progmodes/cc-langs.el (c-block-comment-starter)
11366 (c-line-comment-starter): Make them c-lang-defvars.
11367 (c-block-comment-is-default): New c-lang-defvar.
11368 (comment-start, comment-end): Make the default values dependent on
11369 c-block-comment-is-default.
11371 * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
11372 (c-basic-common-init): Initialize c-block-comment-flag.
11373 (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
11374 (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
11375 mode is loaded rather than just once per Emacs session.
11377 * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
11379 (Minor Modes): Define comment style. Describe how comment style influences
11380 the information displayed on the modeline. Document c-toggle-comment-style.
11381 (FAQ): Add a question about toggling the comment style.
11383 2017-06-15 Paul Eggert <eggert@cs.ucla.edu>
11385 Pacify clang without munging C source
11387 * configure.ac (WARN_CFLAGS): With Clang, use
11388 -Wno-tautological-compare regardless of --enable-gcc-warnings.
11389 (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
11390 * lib/strftime.c: Copy from gnulib, reverting Clang-specific
11391 change which I hope is no longer needed.
11392 * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
11393 some older non-POSIX hosts.
11395 2017-06-15 Paul Eggert <eggert@cs.ucla.edu>
11397 No need to complicate make-docfile.c for Clang
11399 * lib-src/make-docfile.c (put_filename): Undo recent change.
11400 The Clang false alarm occurs only with CFLAGS=-save-temps and
11401 we needn’t worry about pacifying unusual compiler configurations.
11403 2017-06-15 Paul Eggert <eggert@cs.ucla.edu>
11405 Port './configure CC=clang' to Fedora 25
11407 * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
11408 standard function like MagickRelinquishMemory does not link.
11410 2017-06-15 Paul Eggert <eggert@cs.ucla.edu>
11412 Don’t worry about __STDC_VERSION__ in emacs-module
11414 * src/emacs-module.h: Remove __STDC_VERSION__ check. In the past
11415 we’ve found that some compilers do not define this symbol even
11416 when they work well enough. If necessary features like stdbool.h
11417 are missing the compiler will complain eventually anyway.
11419 2017-06-14 Paul Eggert <eggert@cs.ucla.edu>
11421 Port cleanup check to Oracle Studio 12.5
11423 * src/conf_post.h (__has_attribute_cleanup): Resurrect.
11424 * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
11427 2017-06-14 Bastien <bzg@gnu.org>
11429 Fix misformatted changelog entry
11431 2017-06-14 Eli Zaretskii <eliz@gnu.org>
11433 Avoid compiler warning in image.c on MS-Windows
11435 * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
11436 compilation warning under -Warray-bounds by temporarily disabling
11437 the -Warray-bounds option.
11439 2017-06-14 Michael Albinus <michael.albinus@gmx.de>
11443 * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
11447 * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
11448 Check for connected, not for connectable. (Bug#27315)
11449 (tramp-process-actions):
11450 * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
11451 Use `tramp-cache-read-persistent-data'.
11453 * test/lisp/net/tramp-tests.el (top): Set also
11454 `tramp-cache-read-persistent-data'.
11456 2017-06-14 Noam Postavsky <npostavs@gmail.com>
11458 Give a fixed default value for icomplete-prospects-height (Bug#26939)
11460 * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
11461 (icomplete-prospects-length): Remove.
11462 * etc/NEWS: Announce removal.
11464 2017-06-14 Philipp Stephani <phst@google.com>
11466 Remove some tautological comparisons involving rlim_t
11468 Clang on macOS warns about these with -Wtautological-compare. POSIX
11469 guarantees that rlim_t is
11471 http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
11472 so these resource limits can never be negative.
11474 * src/emacs.c (main): Remove tautological comparisons.
11476 2017-06-14 Philipp Stephani <phst@google.com>
11478 Use --module-assertions if modules are available
11480 Using --module-assertions helps us find bugs in the test module. But
11481 we can use it only if Emacs was compiled with module support.
11483 * test/Makefile.in (MODULES_EMACSOPT): New variable.
11486 2017-06-14 Philipp Stephani <phst@google.com>
11488 Define --module-assertions only of modules are available
11492 * src/emacs.c (usage_message, standard_args): Define
11493 --module-assertions only if Emacs has been compiled with module
11496 2017-06-14 Katsumi Yamaoka <yamaoka@jpl.org>
11498 gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
11500 * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
11501 No need to restore window config for WDD and WDW commands.
11503 2017-06-14 Thomas Fitzsimmons <fitzsim@fitzsim.org>
11505 lisp/net/soap-client.el: Bump version to 3.1.3
11507 * lisp/net/soap-client.el: Bump version to 3.1.3.
11508 (soap-name-p): Fix checkdoc issue.
11510 2017-06-14 Alex Harsanyi <AlexHarsanyi@gmail.com>
11512 Fix an HTTP encoding error in soap-client.el
11514 * lisp/net/soap-client.el (soap-invoke-internal): Make
11515 SOAPAction header a UTF-8 encoded string.
11517 2017-06-14 Paul Eggert <eggert@cs.ucla.edu>
11519 Port cleanup attribute to Oracle Studio 12.5
11521 * INSTALL (--with-modules): List cleanup attribute as prereq.
11522 * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
11523 * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
11524 (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
11525 __has_attribute only inside preprocessor expressions. The C
11526 compiler should check the cleanup attribute in the next line anyway.
11527 (module_reset_handlerlist): Remove an unnecessary ‘const’
11528 that causes Oracle Studio 12.5 to refuse to compile.
11530 2017-06-14 Glenn Morris <rgm@gnu.org>
11532 Fix running tests in without-modules builds
11534 * test/Makefile.in (EMACSOPT): Remove option that is only defined
11535 with-modules. emacs-module-tests.el passes it where needed.
11537 2017-06-13 Glenn Morris <rgm@gnu.org>
11539 * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
11541 2017-06-13 Philipp Stephani <phst@google.com>
11543 Inline test module Makefile into main test Makefile
11545 The test/data/emacs-module/Makefile only built a single target, and
11546 inlining it into test/Makefile simplifies dependency tracking and
11547 reduces code duplication.
11549 * configure.ac: Don't build test/data/emacs-module/Makefile.
11551 * Makefile.in ($(test_module)): Inline compilation.
11552 (clean): Also clean test module outputs.
11554 2017-06-13 Michael Albinus <michael.albinus@gmx.de>
11556 * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
11558 2017-06-13 Michael Albinus <michael.albinus@gmx.de>
11560 Minor tweaks in Tramp manual
11562 * doc/misc/trampver.texi: Add prefixwithspace flag.
11564 * doc/misc/tramp.texi (Password handling): Harmonize example.
11565 (File name completion): Use prefixwithspace flag.
11566 (Frequently Asked Questions): Explain `tramp-histfile-override'.
11568 2017-06-13 Philipp Stephani <phst@google.com>
11570 Silence two Clang warnings by introducing additional local variables
11572 * lib/strftime.c (libc_hidden_def):
11573 * lib-src/make-docfile.c (put_filename): Introduce local variables to
11574 silence Clang warnings.
11576 2017-06-13 Noam Postavsky <npostavs@gmail.com>
11578 Fix wrong indentation after string literal (Bug#27306)
11580 * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
11581 (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
11582 * test/lisp/emacs-lisp/lisp-mode-tests.el
11583 (lisp-indent-region-after-string-literal): New test.
11585 2017-06-13 Philipp Stephani <phst@google.com>
11587 Fix version checks for emacs-module.h
11589 We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
11590 don't need it at all.
11592 2017-06-13 Noam Postavsky <npostavs@gmail.com>
11594 Buttonize #<bytecode> part of printed functions (Bug#25226)
11596 * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
11597 (cl-print-compiled-button): New variable.
11598 (help-byte-code): New button type, calls `disassemble' in its action.
11599 (cl-print-object): Use it if `cl-print-compiled-button' is
11602 2017-06-12 Philipp Stephani <phst@google.com>
11604 Print module structure sizes when initializing test module
11606 * test/data/emacs-module/mod-test.c (emacs_module_init): Print
11607 compile-time and runtime sizes of module structures to ease debugging
11609 2017-06-12 Glenn Morris <rgm@gnu.org>
11611 Small portability fix for emacs-module.h (bug#27346)
11613 * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
11614 Avoid 'error: missing binary operator before token "("'.
11616 2017-06-12 Glenn Morris <rgm@gnu.org>
11618 Give a more informative failure in module assertion test
11620 * test/src/emacs-module-tests.el (module--test-assertions):
11621 Rephrase final check to give a more informative failure.
11623 2017-06-12 Philipp Stephani <phst@google.com>
11625 Fix off-by-one error
11627 * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
11630 2017-06-12 Glenn Morris <rgm@gnu.org>
11632 Clean up after module assertion tests
11634 * test/src/emacs-module-tests.el (module--test-assertions):
11635 Use a temporary directory to contain any core dumps.
11637 2017-06-12 Glenn Morris <rgm@gnu.org>
11639 Small improvement for module assertion test
11641 * test/src/emacs-module-tests.el (module--test-assertions):
11642 Don't rely on the precise form of an "Abort" message.
11644 2017-06-12 Glenn Morris <rgm@gnu.org>
11646 Improve previous test/data/emacs-module/Makefile change
11648 * test/data/emacs-module/Makefile.in (clean):
11649 Avoid doing unpleasant things if run in a build without modules.
11651 2017-06-12 Glenn Morris <rgm@gnu.org>
11653 Small improvements for test/data/emacs-module/Makefile
11655 * test/data/emacs-module/Makefile.in (%.o):
11656 Fix emacs-module dependency.
11657 (SECONDARY): Stop make automatically deleting *.o.
11660 2017-06-12 Glenn Morris <rgm@gnu.org>
11662 * make-dist: Skip some more generated files in test/.
11664 2017-06-12 Alan Third <alan@idiocy.org>
11666 Note how fullscreen differs on the NS port
11668 doc/lispref/frames.texi (Size Parameters):
11669 doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
11670 hides the tool-bar and menu-bar in fullscreen.
11672 2017-06-12 Alan Third <alan@idiocy.org>
11674 Add no-focus-on-map to NS build (bug#25408)
11676 * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
11677 (x-create-frame): Check for no-focus-on-map.
11678 * src/nsterm.h (x_set_no_focus_on_map): New function.
11679 * src/nsterm.m (x_set_no_focus_on_map): New function.
11680 (ns_raise_frame): Add parameter for specifying whether to focus the
11682 (ns_frame_raise_lower):
11683 (x_make_frame_visible): Handle new parameter for ns_raise_frame.
11685 2017-06-12 Paul Eggert <eggert@cs.ucla.edu>
11687 _Noreturn not noreturn
11689 _Noreturn is more portable to non-C11 platforms. See:
11690 https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
11691 * src/emacs-module.c: Use _Noreturn, not noreturn. No need to
11692 include <stdnoreturn.h>. Reindent to fit in 80 columns.
11694 2017-06-12 Glenn Morris <rgm@gnu.org>
11696 Update make-dist for recent test/ changes
11698 * make-dist: No longer distribute test/data/emacs-module/Makefile.
11700 2017-06-12 Michael Albinus <michael.albinus@gmx.de>
11702 Handle port and domain in Tramp's password cache
11704 * doc/misc/tramp.texi (Password handling): Explain port and
11705 domain handling in authinfo.
11707 * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
11708 * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
11709 * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
11710 (tramp-maybe-open-connection):
11711 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
11712 (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
11713 (tramp-smb-maybe-open-connection): Handle also domain and port.
11715 2017-06-12 Eli Zaretskii <eliz@gnu.org>
11717 Avoid compilation warnings with pre-C99 libc
11719 * src/emacs-module.c (module_free_global_ref)
11720 (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
11721 instead of C99 't' format descriptor.
11723 2017-06-12 Philipp Stephani <phst@google.com>
11725 Flush all output streams before aborting
11727 Maybe the stdout buffer still contains something interesting that
11730 * src/emacs-module.c (module_abort): Flush all output streams before
11733 2017-06-12 Philipp Stephani <phst@google.com>
11735 Remove an assertion that doesn't test Emacs invariants
11737 * src/emacs-module.c (module_copy_string_contents): Remove an
11738 assertion that doesn't test Emacs invariants.
11740 2017-06-12 Philipp Stephani <phst@google.com>
11742 Test module: add necessary version checks
11744 * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
11747 2017-06-12 Philipp Stephani <phst@google.com>
11749 Use additional CFLAGS from configure
11751 2017-06-12 Philipp Stephani <phst@google.com>
11753 Use Autoconf to generate the test module Makefile
11755 This makes it easier to pass compilation flags around.
11757 * configure.ac: Also build test module Makefile.
11759 * test/data/emacs-module/Makefile.in: New makefile template.
11761 * test/Makefile.in ($(test_module)): No longer necessary to pass
11762 @MODULES_SUFFIX@ around.
11764 * .gitignore: Test module Makefile can now be ignored.
11766 2017-06-12 Philipp Stephani <phst@google.com>
11768 Also compile test module as C11
11770 * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
11772 2017-06-12 Philipp Stephani <phst@google.com>
11774 Implement module assertions for users
11776 Add a new command-line option '-module-assertions' that users can
11777 enable developing or debugging a module. If this option is present,
11778 Emacs performs additional checks to verify that modules fulfill their
11779 requirements. These checks are expensive and crash Emacs if modules
11780 are invalid, so disable them by default.
11782 This is a command-line option instead of an ordinary variable because
11783 changing it while Emacs is running would cause data structure
11786 * src/emacs.c (main): New command line option '-module-assertions'.
11788 * src/emacs-module.c (module_assert_main_thread)
11789 (module_assert_runtime, module_assert_env, module_assert_value):
11790 New functions to assert module requirements.
11791 (syms_of_module): New uninterned variable 'module-runtimes'.
11792 (init_module_assertions, in_main_thread, module_abort): New helper
11794 (initialize_environment): Initialize value list. If assertions are
11795 enabled, use a heap-allocated environment object.
11796 (finalize_environment): Add assertion that environment list is never
11798 (finalize_runtime_unwind): Pop module runtime object stack.
11799 (value_to_lisp): Assert that the value is valid.
11800 (lisp_to_value): Record new value if assertions are enabled.
11801 (mark_modules): Mark allocated object list.
11802 (MODULE_FUNCTION_BEGIN_NO_CATCH)
11803 (module_non_local_exit_check, module_non_local_exit_clear)
11804 (module_non_local_exit_get, module_non_local_exit_signal)
11805 (module_non_local_exit_throw): Assert thread and environment.
11806 (module_get_environment): Assert thread and runtime.
11807 (module_make_function, module_funcall, module_intern)
11808 (module_funcall, module_make_integer, module_make_float)
11809 (module_make_string, module_make_user_ptr, module_vec_get)
11810 (funcall_module, Fmodule_load): Adapt callers.
11811 (module_make_global_ref): If assertions are enabled, use the global
11812 environment to store global values.
11813 (module_free_global_ref): Remove value from global value list.
11815 * test/Makefile.in (EMACSOPT): Enable module assertions when testing
11818 * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
11819 (Fmod_test_invalid_load): New functions to test module assertions.
11820 (emacs_module_init): Bind the new functions.
11822 * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
11823 the Emacs binary file.
11824 (mod-test-file): New constant for the test module file name.
11825 (module--test-assertions): New unit test.
11827 2017-06-12 Philipp Stephani <phst@google.com>
11829 emacs-module: Use __attribute__((nonnull))
11831 Annotate all parameters with __attribute__((nonnull)) that may not be
11834 2017-06-12 Philipp Stephani <phst@google.com>
11836 Explicitly require C11 or C++11 in emacs-module.h
11838 We already implicitly require them by including stdbool.h. Just make
11839 the error message a bit clearer, and remove an unnecessary version
11842 2017-06-12 Philipp Stephani <phst@google.com>
11844 Add missing 'require' forms to prevent compiler warnings.
11846 * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
11849 2017-06-12 Paul Eggert <eggert@cs.ucla.edu>
11854 2017-06-11 getopt-posix: port to glibc 2.25.90
11855 2017-06-04 same-inode: port better to VMS 8.2 and later
11856 * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
11857 * m4/sys_types_h.m4: Copy from gnulib.
11859 2017-06-12 Paul Eggert <eggert@cs.ucla.edu>
11861 Remove Lisp_Misc_Float
11863 * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
11864 * src/lisp.h (Lisp_Misc_Float): Remove. This placeholder has been
11865 unused for two decades; if we ever want to change floats to be a
11866 misc type we can bring it back then.
11868 2017-06-12 Paul Eggert <eggert@cs.ucla.edu>
11870 Make two symbols private to emacs-module.c
11872 * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
11874 * src/emacs-module.c: ... to here.
11876 2017-06-12 Glenn Morris <rgm@gnu.org>
11878 Merge from origin/emacs-25
11880 da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
11882 2017-06-12 Glenn Morris <rgm@gnu.org>
11884 Merge from origin/emacs-25
11886 e80f6a210b0 Describe problems with Microsoft Intellipoint
11887 a73ec1edb07 More accurate documentation of the ':box' face attribute
11889 2017-06-12 Glenn Morris <rgm@gnu.org>
11891 Merge from origin/emacs-25
11893 eaa00584ceb Improve documentation of 'gnutls-verify-error'
11894 908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
11895 741daec617e ; Describe the problem with ksh when resizing shell window
11897 2017-06-11 Michael Albinus <michael.albinus@gmx.de>
11899 Some further improvements for tramp-gvfs.el
11901 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
11902 (tramp-gvfs-get-file-attributes)
11903 (tramp-gvfs-maybe-open-connection): Handle davs? properly.
11904 (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
11905 Show question also in batch mode. Cache result.
11907 * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
11908 Support completion for host names and ports.
11910 2017-06-11 Simen Heggestøyl <simenheg@gmail.com>
11912 Fix highlighting of CSS selectors with double hyphens
11914 * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
11915 highlighting of selectors that contain double hyphens. They would be
11916 mistaken for a variable.
11918 2017-06-11 Philipp Stephani <phst@google.com>
11920 Support threads in modules
11922 Rather than checking for the main thread, check for the current
11925 * src/emacs-module.c (check_thread): New function.
11926 (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
11927 (module_non_local_exit_check, module_non_local_exit_clear)
11928 (module_non_local_exit_get, module_non_local_exit_signal)
11929 (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
11931 2017-06-11 Philipp Stephani <phst@google.com>
11933 Allow non-local exits in module initializers
11935 Previously signals, throws, and quits from module initialization
11936 functions were ignored. These function aren't special, and better
11937 errors can be reported using signals than with the initialization
11938 return code, so allow non-local exits.
11940 * src/emacs-module.c (module_signal_or_throw): New helper function.
11941 (Fmodule_load, funcall_module): Use it.
11942 (Fmodule_load): Also allow quitting.
11944 2017-06-11 Noam Postavsky <npostavs@gmail.com>
11946 Let eshell/sudo handle absolute command names (Bug#27167)
11948 * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
11949 absolute paths into relative ones.
11951 2017-06-10 Alan Third <alan@idiocy.org>
11953 Don't wait for toolbar in NS native fullscreen
11955 * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
11956 function when in fullscreen.
11958 2017-06-10 Alexander Gramiak <agrambot@gmail.com>
11960 Fix the placement of GTK menus on multi-monitor systems
11962 menu_position_func did not properly use the current monitor's
11963 resolution. Also see commit '2016-02-06 22:12:53 +0100'.
11965 * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
11966 (frame-monitor-workarea): New functions.
11968 * src/xmenu.c (menu_position_func): Take into account the workarea of
11969 the monitor that contains the mouse. (Bug#23568)
11971 2017-06-10 Eli Zaretskii <eliz@gnu.org>
11973 Clarify documentation of 'face-spec-set'
11975 * lisp/faces.el (face-spec-set): Clarify the description of
11976 SPEC-TYPE in the doc string.
11978 * doc/lispref/display.texi (Defining Faces): Clarify the
11979 description of 'face-spec-set's SPEC-TYPE argument. (Bug#27246)
11981 2017-06-10 Michael Albinus <michael.albinus@gmx.de>
11983 Fix domain port and handling in tramp-gvfs.el
11985 * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
11986 Return nil if BYTE-ARRAY is nil.
11987 (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
11988 (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
11989 Fix domain and port handling.
11991 * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
11994 2017-06-10 Eli Zaretskii <eliz@gnu.org>
11996 Improve documentation of 'face-spec-set-2'
11998 * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
12000 (face-spec-choose, face-spec-set-2): Doc fix. (Bug#27238)
12002 2017-06-10 Eli Zaretskii <eliz@gnu.org>
12004 Fix handling of Python/Guile commands with arguments in gdb-mi.el
12006 * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
12008 (gdb-control-commands-regexp): Use it.
12009 (gdb-send): Don't increment gdb-control-level if the command
12010 matches gdb-python-guile-commands-regexp and has non-empty
12011 arguments. Reported by David Boles <boles@ieee.org> in
12012 http://lists.gnu.org/archive/html/emacs-devel/2017-06/msg00009.html.
12014 2017-06-10 Eli Zaretskii <eliz@gnu.org>
12016 Preserve point in Dired windows under 'dired-auto-revert-buffer'
12018 * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
12019 is non-nil, bind switch-to-buffer-preserve-window-point to nil
12020 while calling find-file. (Bug#27243)
12022 2017-06-09 Philipp Stephani <phst@google.com>
12024 Give test files a -tests.el suffix
12026 Rename a couple of test files that have the same name as the library
12027 they test. This harmonizes the naming pattern and makes it possible
12028 to have the tests directories in the load path.
12030 2017-06-09 Philipp Stephani <phst@google.com>
12032 Fix another compiler warning on macOS
12034 * src/image.c (x_query_frame_background_color): Don't define if we
12035 have NextStep but no image support.
12037 2017-06-09 Philipp Stephani <phst@google.com>
12039 Add garbage collection support for module environments
12041 * src/emacs-module.c (mark_modules): New function.
12042 (initialize_environment): Properly initialize Lisp objects.
12043 * src/alloc.c (garbage_collect_1): Call it.
12045 2017-06-08 Glenn Morris <rgm@gnu.org>
12047 Make autogen.sh report relevant environment variables
12049 * autogen.sh (check_version):
12050 Indicate if using an environment variable.
12052 2017-06-08 Noam Postavsky <npostavs@gmail.com>
12054 Split variable macro env from function env
12056 * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
12057 (cl-symbol-macrolet): Instead of adding each binding directly into the
12058 main environment with a special key format, put all symbol macro
12059 bindings into a single entry in the main environment under
12060 `:cl-symbol-macros'.
12061 (cl--sm-macroexpand): Look up symbol bindings in the
12062 `:cl-symbol-macros' entry of the environment.
12064 2017-06-07 Glenn Morris <rgm@gnu.org>
12066 * make-dist: Directory modules/mod-test no longer exists.
12068 2017-06-07 Glenn Morris <rgm@gnu.org>
12070 More authors.el updates
12072 * admin/authors.el (authors-ignored-files, authors-valid-file-names)
12073 (authors-renamed-files-alist): Additions.
12075 2017-06-07 Glenn Morris <rgm@gnu.org>
12077 * make-dist: Check a release has a ChangeLog with a release notice.
12079 * make-dist: Use existing ChangeLog if present.
12081 2017-06-07 Michael Albinus <michael.albinus@gmx.de>
12083 * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
12085 2017-06-07 Lars Ingebrigtsen <larsi@gnus.org>
12087 (url-cookie-host-can-set-p): Protect against zero-length domains
12089 * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
12090 against zero-length domains.
12092 Backtrace of a real-world site that triggers a bug:
12094 Debugger entered--Lisp error: (args-out-of-range "" 0)
12095 url-cookie-host-can-set-p("www.washingtonpost.com" "")
12096 url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
12097 01-January-1970 00:00:00 GMT; path=/; domain=")
12098 url-http-handle-cookies()
12100 2017-06-06 Glenn Morris <rgm@gnu.org>
12102 More authors.el updates
12104 * admin/authors.el (authors-obsolete-files-regexps)
12105 (authors-valid-file-names, authors-renamed-files-alist)
12106 (authors-renamed-files-regexps): Additions.
12108 2017-06-06 Glenn Morris <rgm@gnu.org>
12110 More small authors.el updates
12112 * admin/authors.el (authors-aliases): Fix recent addition.
12113 (authors-obsolete-files-regexps, authors-no-scan-regexps)
12114 (authors-ignored-files, authors-valid-file-names)
12115 (authors-renamed-files-alist): Additions.
12117 2017-06-06 Glenn Morris <rgm@gnu.org>
12119 Make authors.el report names that were ignored
12121 * admin/authors.el (authors-ignored-names): New.
12122 (authors-canonical-author-name): Add file and position arguments.
12123 Record ignored authors.
12124 (authors-scan-change-log, authors-scan-el):
12125 Pass file and position to authors-canonical-author-name.
12126 (authors): Also print authors that were ignored.
12128 2017-06-06 Glenn Morris <rgm@gnu.org>
12130 * admin/authors.el (authors-aliases): Additions.
12132 2017-06-06 Tino Calancha <tino.calancha@gmail.com>
12134 * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
12136 2017-06-06 Noam Postavsky <npostavs@gmail.com>
12138 * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
12140 2017-06-06 Dmitry Gutov <dgutov@yandex.ru>
12142 Enable ElDoc messages after the newline command
12144 * lisp/emacs-lisp/eldoc.el:
12145 Add "newline" to the eldoc-add-command-completions call (bug#27228).
12147 2017-06-06 Dmitry Gutov <dgutov@yandex.ru>
12149 Enable eldoc-mode explicitly inside read--expression
12151 * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
12153 2017-06-06 Andy Moreton <andrewjmoreton@gmail.com>
12155 Fix check for package-unsigned-archives during retrieval
12157 * lisp/emacs-lisp/package.el (package--download-one-archive):
12158 Fix check for package-unsigned-archives.
12160 2017-06-05 Noah Friedman <friedman@splode.com>
12162 Merge etc/emacs-buffer.gdb from emacs-25 to master.
12164 2017-06-05 Philipp Stephani <phst@google.com>
12166 Fix undefined behavior in mapbacktrace
12168 * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
12170 2017-06-05 Eli Zaretskii <eliz@gnu.org>
12172 Fix emacs-module-tests on MS-Windows
12174 * src/print.c (print_vectorlike): Make sure module function's
12175 address prints with a leading "0x". This fixes emacs-module-tests
12176 on MS-Windows. Fix whitespace.
12177 * src/dynlib.c (dynlib_addr): Remove unused variable. Update
12180 2017-06-05 Philipp Stephani <phst@google.com>
12182 Use unwind protection to clean up data structures in modules
12184 Reuse existing functionality and simplify the code a bit.
12186 * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
12188 (funcall_module): Use unwind protection to clean up environment
12190 (finalize_environment): Simplify signature.
12191 (finalize_environment_unwind, finalize_runtime_unwind): New functions.
12193 2017-06-05 Michael Albinus <michael.albinus@gmx.de>
12195 Some minor tweaks in tramp-tests.el
12197 * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
12198 Let it pass for all gfvs based methods.
12199 (tramp-test24-file-name-completion): Run method and host
12200 completion for all syntaxes only when expensive tests are enabled.
12201 Do not check host completion for gvfs based methods.
12202 (tramp--test-gvfs-p): Add optional METHOD argument.
12203 (tramp--test-afp-or-smb-p): Remove.
12205 2017-06-05 Michael Albinus <michael.albinus@gmx.de>
12207 Fix error in Tramp rsync method
12209 * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
12210 Otherwise, `tramp-test10-write-region' could fail.
12212 2017-06-05 Philipp Stephani <phst@google.com>
12214 Inline module_has_cleanup
12216 This constant is only used once, and we fail compilation anyway if
12219 * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
12221 2017-06-05 Philipp Stephani <phst@google.com>
12223 Add missing dependency to test module source file
12225 2017-06-05 Paul Eggert <eggert@cs.ucla.edu>
12227 Omit space that broke ‘make check’
12229 * src/print.c (print_vectorlike): Omit stray space.
12231 2017-06-05 Paul Eggert <eggert@cs.ucla.edu>
12233 Remove easserts etc. from emacs-module.c
12235 Most of these seem to run afoul of the comment "Do NOT use
12236 'eassert' for checking validity of user code in the module."
12237 * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
12238 (module_non_local_exit_check, module_non_local_exit_clear)
12239 (module_non_local_exit_get, module_non_local_exit_signal)
12240 (module_non_local_exit_throw, module_make_string):
12241 Remove unnecessary easserts that pointers are nonnull.
12242 Hardware checks this for us nowadays, and the checks
12243 just clutter up the code.
12244 (module_extract_integer): Remove unnecessary verify that
12245 a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
12246 The C standard guarantees this.
12247 (module_copy_string_contents): Remove unnecessary eassert
12248 that Lisp strings are null-terminated.
12249 (module_function_arity): Remove unnecessary easserts that
12250 function arities are in range.
12252 2017-06-05 Paul Eggert <eggert@cs.ucla.edu>
12254 Remove unnecessary checking in emacs-module.c
12256 * src/emacs-module.c (module_copy_string_contents):
12257 Remove checking, as string lengths are always nonnegative and less
12258 than STRING_BYTES_BOUND, and this is checked elsewhere.
12259 (module_make_string): Check length against STRING_BYTES_BOUND, a
12260 tighter bound than MOST_POSITIVE_FIXNUM. (funcall_module): Don't
12261 assume that an out-of-range integer is nonnegative.
12263 2017-06-05 Paul Eggert <eggert@cs.ucla.edu>
12265 SCHARS and STRING_BYTES are nonnegative
12267 Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
12268 the hopes that this will optimize a bit better. Also, check this
12269 at runtime if ENABLE_CHECKING.
12270 * src/lisp.h (SCHARS, STRING_BYTES):
12271 eassume that these functions return nonnegative values.
12272 (STRING_SET_CHARS) [ENABLE_CHECKING]:
12273 eassert that newsize is nonnegative.
12275 2017-06-05 Noam Postavsky <npostavs@gmail.com>
12277 * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
12279 2017-06-04 Philipp Stephani <phst@google.com>
12281 Remove an unused error symbol
12283 * src/emacs-module.c (syms_of_module): Remove unused error symbol
12284 'invalid-module-call'.
12286 2017-06-04 Philipp Stephani <phst@google.com>
12288 Support quitting in modules
12290 The idea is that modules should call env->should_quit from time to
12291 time and return as quickly as possible if it returns true.
12293 * src/emacs-module.c (module_should_quit): New module function.
12294 (initialize_environment): Use it.
12295 (funcall_module): Process potential pending quit.
12297 * src/eval.c (maybe_quit): Add reference to module_should_quit.
12299 2017-06-04 Philipp Stephani <phst@google.com>
12301 Use more specific errors for module load failure
12303 * src/emacs-module.c (syms_of_module): Add more specific error
12305 (Fmodule_load): Use them.
12307 2017-06-04 Philipp Stephani <phst@google.com>
12309 Remove an unneeded assertion
12311 * src/emacs-module.c (module_copy_string_contents): Remove unneeded
12312 assertion. If this assertion triggers, we raise an error anyway.
12314 2017-06-04 Philipp Stephani <phst@google.com>
12316 Guard against signed integer overflows
12318 * src/emacs-module.c (module_extract_integer)
12319 (module_copy_string_contents, module_make_string): Guard against
12320 signed integer overflows.
12322 2017-06-04 Philipp Stephani <phst@google.com>
12324 Add a couple more assertions to the module code
12326 These can help module authors debug crashes.
12328 * src/emacs-module.c (module_non_local_exit_check)
12329 (module_non_local_exit_clear, module_non_local_exit_get)
12330 (module_non_local_exit_signal, module_non_local_exit_throw)
12331 (module_copy_string_contents, module_make_string)
12332 (funcall_module, initialize_environment): Add assertions
12334 2017-06-04 Philipp Stephani <phst@google.com>
12336 Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
12338 In particular, alias violations are likely for the return values of
12339 dlsym(3), which get cast around arbitrarily.
12341 * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
12343 2017-06-04 Philipp Stephani <phst@google.com>
12345 Simplify interface of dynlib_attr.
12347 Instead of returning bool, set the argument pointers to NULL if the
12348 information is not available.
12350 * src/dynlib.c (dynlib_addr): Don't return bool.
12352 2017-06-04 Philipp Stephani <phst@google.com>
12354 Rationalize environment lifetime management functions
12356 * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
12357 (finalize_environment): Add parameter for public part of the
12358 environment, like 'initialize_environment'. Add assertions.
12360 2017-06-04 Philipp Stephani <phst@google.com>
12362 Rework printing of module functions
12364 Fix a FIXME in emacs-module.c. Put the printing into print.c, like
12367 * src/print.c (print_vectorlike): Add code to print module functions.
12369 * src/emacs-module.c (funcall_module): Stop calling
12370 'module_format_fun_env'. Now that module functions are first-class
12371 objects, they can be added to signal data directly.
12372 (module_handle_signal): Remove now-unused function
12373 'module_format_fun_env'.
12375 * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
12377 * src/eval.c (funcall_lambda): Adapt call to changed signature of
12380 2017-06-04 Philipp Stephani <phst@google.com>
12382 Define helper macro to reduce code duplication
12384 * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
12386 (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
12389 2017-06-04 Philipp Stephani <phst@google.com>
12391 Remove two FIXMEs that can't be fixed
12393 2017-06-04 Eli Zaretskii <eliz@gnu.org>
12395 Avoid slow startup in daemon mode when global-linum-mode is on
12397 * lisp/linum.el (linum-on): Don't turn on linum-mode in a
12398 non-client frame of a daemon session. (Bug#27210)
12400 2017-06-04 Paul Eggert <eggert@cs.ucla.edu>
12402 Fix eldoc bug with curved quote
12404 * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
12405 Substitute quotes in documentation before returning it (Bug#27159).
12407 2017-06-04 Paul Eggert <eggert@cs.ucla.edu>
12409 Tune ‘format’ after recent fix
12411 * doc/lispref/strings.texi (Formatting Strings):
12412 * src/editfns.c (Fformat): Format field numbers no longer need
12413 to be unique, reverting the previous doc change since that has
12414 now been fixed. Also, document that %% should not have modifiers.
12415 * src/editfns.c (styled_format): Improve performance. Remove
12416 the need for the new prepass over the format string, by using
12417 a typically-more-generous bound for the info array size.
12418 Initialize the info array lazily. Move string inspection to
12419 the same area to help caching. Avoid the need for a
12420 converted_to_string bitfield by using EQ. Cache arg in a
12421 local and avoid some potential aliasing issues to help the
12422 compiler. Info array is now 0-origin, not 1-origin.
12424 2017-06-04 Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
12426 Improve of file-local-name use in vc-git-checkin
12428 * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
12429 when calling git commit.
12431 2017-06-03 Simen Heggestøyl <simenheg@gmail.com>
12433 Support a new CSS indentation style
12435 * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
12436 immediately followed by a newline.
12438 * test/manual/indent/css-mode.css: Add test for the change above.
12440 * test/manual/indent/scss-mode.scss: Ditto.
12442 2017-06-03 Philipp Stephani <phst@google.com>
12444 Fix a bug when using format field numbers
12446 Previously styled_format overwrite the argument vector. This is no
12447 longer possible because there might be more than one specification per
12448 argument. Use the existing auxiliary info array instead.
12450 * src/editfns.c (styled_format): Record arguments in the info
12451 structure instead of overwriting them.
12452 * test/src/editfns-tests.el (format-with-field): Add unit test.
12454 2017-06-03 Paul Eggert <eggert@cs.ucla.edu>
12456 Document uniqueness limitation of ‘format’
12458 * doc/lispref/strings.texi (Formatting Strings):
12459 * src/editfns.c (Fformat):
12460 Document that field numbers should be unique within a format.
12462 2017-06-03 Glenn Morris <rgm@gnu.org>
12464 Small rmailmm fix (bug#27203)
12466 * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
12467 Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
12469 2017-06-03 Glenn Morris <rgm@gnu.org>
12471 * admin/authors.el (authors-aliases): Addition.
12473 2017-06-03 Glenn Morris <rgm@gnu.org>
12475 Add watch for password back to inferior python comint filter
12477 It was removed along with other items for speed (bug#16875),
12478 but doesn't seem to have been causing an issue, and it's useful to
12479 have it there (bug#27154).
12480 * lisp/progmodes/python.el (inferior-python-mode):
12481 Add comint-watch-for-password-prompt to comint-output-filter-functions.
12483 2017-06-03 Ryan <rct@thompsonclan.org> (tiny change)
12485 Use completing-read-default in tmm-prompt
12487 tmm uses completing-read, but customizes its behavior so much
12488 that any alternative completing-read-function will almost
12489 certainly break it. For example, both ido-ubiquitous and ivy have
12490 special code to deactivate themselves for tmm.
12491 * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
12492 completing-read. (Bug#27193)
12494 2017-06-02 Mats Lidell <mats.lidell@cag.se>
12496 * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
12498 2017-06-02 Glenn Morris <rgm@gnu.org>
12502 * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
12503 HOME should be a directory, not a file. Delete it when finished.
12505 2017-06-02 Lele Gaifax <lele@metapensiero.it> (tiny change)
12509 * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
12511 2017-06-02 Eli Zaretskii <eliz@gnu.org>
12513 Fix cursor position in Dired buffers after dired-sort-toggle
12515 * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
12516 even if the frame is marked as garbaged. (Bug#27187)
12518 2017-06-02 Eli Zaretskii <eliz@gnu.org>
12522 * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
12524 2017-06-02 Noam Postavsky <npostavs@gmail.com>
12526 * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
12528 2017-06-02 Paul Eggert <eggert@cs.ucla.edu>
12530 Limit format fields to more POSIX-like spec
12532 * doc/lispref/strings.texi (Formatting Strings):
12533 Don’t allow mixing numbered with unnumbered format specs.
12534 * src/editfns.c (styled_format): Don’t bother checking for field 0,
12535 since it doesn’t crash and the behavior is not specified.
12536 * test/src/editfns-tests.el (format-with-field): Adjust tests to
12537 match current doc. Add more tests for out-of-range fields.
12539 2017-06-02 Paul Eggert <eggert@cs.ucla.edu>
12541 Improve performance by avoiding strtoumax
12543 This made (string-to-number "10") 20% faster on my old desktop,
12544 an AMD Phenom II X4 910e running Fedora 25 x86-64.
12545 * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
12546 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
12547 * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
12548 * m4/strtoumax.m4: Remove.
12549 * src/editfns.c (str2num): New function.
12550 (styled_format): Use it instead of strtoumax. Use ptrdiff_t
12551 instead of uintmax_t. Check for integer overflow.
12552 * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
12553 Move to private scope and make them enums.
12554 (string_to_number): Compute integer value directly during
12555 first pass instead of revisiting it with strtoumax later.
12557 2017-06-02 Paul Eggert <eggert@cs.ucla.edu>
12559 Minor improvements to format field numbers
12561 * src/editfns.c (styled_format): Allow field numbers in a %% spec.
12562 No need for a special diagnostic for field numbers greater than
12563 PTRDIFF_MAX. Reword diagnostic for field 0.
12564 * test/src/editfns-tests.el (format-with-field): Adjust to match.
12566 2017-06-02 Philipp Stephani <phst@google.com>
12568 Implement field numbers in format strings
12570 A field number explicitly specifies the argument to be formatted.
12571 This is especially important for potential localization work, since
12572 grammars of various languages dictate different word orders.
12574 * src/editfns.c (Fformat): Update documentation.
12575 (styled_format): Implement field numbers.
12577 * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
12579 * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
12581 * test/src/editfns-tests.el (format-with-field): New unit test.
12583 2017-06-01 Alexander Gramiak <agrambot@gmail.com>
12585 Limit scope of local overriding-terminal-local-map
12587 The function `binding' may call isearch-done, which globally sets
12588 overriding-terminal-local-map to nil (Bug#23007).
12589 * lisp/isearch.el (isearch-mouse-2): Don't bind
12590 overriding-terminal-local-map around the call to `binding'.
12592 2017-06-01 Stephen Berman <stephen.berman@gmx.net>
12594 Correct and isolate the todo-mode test environment
12596 This avoids having to set todo-mode variables globally in the test
12597 file and prevents any exisiting user todo-mode files from influencing
12600 * test/lisp/calendar/todo-mode-tests.el:
12601 (with-todo-test): New macro.
12602 (todo-test-todo-quit01, todo-test-todo-quit02)
12603 (todo-test-item-highlighting): Use it.
12605 2017-06-01 Alan Third <alan@idiocy.org>
12607 Fix build errors on macOS 10.6 (bug#27059)
12609 * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
12611 2017-06-01 Eli Zaretskii <eliz@gnu.org>
12613 Improve testing of octal and hex display of raw bytes
12615 * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12616 (test-redisplay-5): Add a test with a large codepoint.
12618 2017-06-01 Vasilij Schneidermann <mail@vasilij.de>
12620 Add customizable to display raw bytes as hex
12622 * src/xdisp.c (get_next_display_element): Dispatch used format string
12623 for unprintables based on new display-raw-bytes-as-hex variable.
12624 (display-raw-bytes-as-hex): New variable. (Bug#27122)
12626 * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
12628 * doc/emacs/display.texi: Document the new variable.
12629 * etc/NEWS: Mention display-raw-bytes-as-hex.
12631 * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12632 (test-redisplay-5): New tests.
12633 (test-redisplay): Call test-redisplay-5.
12635 2017-06-01 Eli Zaretskii <eliz@gnu.org>
12637 Revert "Add customizable to display raw bytes as hex"
12639 This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
12641 2017-06-01 Eli Zaretskii <eliz@gnu.org>
12643 Add customizable to display raw bytes as hex
12645 * src/xdisp.c (get_next_display_element): Dispatch used format string
12646 for unprintables based on new display-raw-bytes-as-hex variable.
12647 (display-raw-bytes-as-hex): New variable. (Bug#27122)
12649 * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
12651 * doc/emacs/display.texi: Document the new variable.
12652 * etc/NEWS: Mention display-raw-bytes-as-hex.
12654 * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
12655 (test-redisplay-5): New tests.
12656 (test-redisplay): Call test-redisplay-5.
12658 2017-06-01 Eli Zaretskii <eliz@gnu.org>
12660 Fix linum under text-scaling when leuven-theme is used
12662 * etc/themes/leuven-theme.el (linum): Make the 'linum' face
12663 inherit from 'default' and 'shadow', so that margins are enlarged
12664 as expected under text-scaling.
12666 2017-06-01 Paul Eggert <eggert@cs.ucla.edu>
12668 Free cwd when no longer needed
12670 * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
12672 2017-06-01 Anders Waldenborg <anders@0x63.nu> (tiny change)
12674 Fix memory leak of cwd string in emacsclient (Bug#26628)
12676 * lib-src/emacsclient.c (main): emacsclient retrieves the current
12677 working directory using get_current_dir_name which returns a newly
12678 allocated string. Make sure this string is freed before exiting.
12680 2017-06-01 Glenn Morris <rgm@gnu.org>
12682 Quieten compilation of some test files
12684 * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
12685 * test/src/data-tests.el (binding-test-set-constant-t)
12686 (binding-test-set-constant-nil, binding-test-set-constant-keyword)
12687 (binding-test-set-constant-nil): Silence compiler.
12688 * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
12690 2017-06-01 Glenn Morris <rgm@gnu.org>
12692 Use true names for invocation- and source-directory
12694 * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
12695 * src/lread.c (init_lread) <Vsource_directory>: Use true names.
12697 2017-06-01 Glenn Morris <rgm@gnu.org>
12699 Avoid elisp-mode test failures when source dir has multiple names
12701 * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
12702 Use the true name of the directory.
12704 2017-06-01 Paul Eggert <eggert@cs.ucla.edu>
12706 Fix bug with "%%" in error format
12708 * src/doprnt.c (doprnt): Format "%%" correctly.
12709 Problem reported by Philipp Stephani in:
12710 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00901.html
12712 2017-06-01 Paul Eggert <eggert@cs.ucla.edu>
12714 * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
12716 2017-06-01 Katsumi Yamaoka <yamaoka@jpl.org>
12718 Revert mml-generate-mime-1 (bug#27141)
12720 * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
12721 with slight modernizations (bug#27141).
12723 2017-05-31 Michael Albinus <michael.albinus@gmx.de>
12727 * lisp/recentf.el (recentf-load-list): Bind `non-essential',
12728 in order to avoid Tramp password requests during Emacs
12729 startup. (Bug#27108)
12731 2017-05-31 Glenn Morris <rgm@gnu.org>
12733 * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
12735 2017-05-31 Eli Zaretskii <eliz@gnu.org>
12737 Document current-line hscrolling in ELisp manual
12739 * doc/lispref/windows.texi (Horizontal Scrolling): Document the
12740 new mode of auto-hscrolling only the current line.
12742 2017-05-31 Eli Zaretskii <eliz@gnu.org>
12744 Support lower bound on hscrolling when only current line scrolls
12746 * doc/emacs/display.texi (Horizontal Scrolling): Document the new
12747 mode of auto-hscrolling only the current line.
12749 * src/xdisp.c (init_iterator): When hscrolling only the
12750 current line, apply the window's min_hscroll here, so that
12751 non-current lines will be hscrolled by that minimum.
12752 Suggested by Stephen Berman <stephen.berman@gmx.net>.
12753 (hscroll_window_tree): Account for window's min_hscroll when
12754 deciding whether to recompute the hscroll.
12755 (display_line): Subtract window's min_hscroll from x_incr, as that
12756 was already accounted for in init_iterator. (Bug#27008)
12758 2017-05-31 Noam Postavsky <npostavs@gmail.com>
12760 cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
12762 * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
12763 (cl-print-object): When `print-circle' is nil, bind it to a list of
12764 objects that are currently printing to avoid printing the same object
12766 * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
12768 2017-05-31 Noam Postavsky <npostavs@gmail.com>
12770 Further simplify test/Makefile, optionally load elc tests
12772 * test/Makefile.in: Use make's error ignoring feature instead of
12773 suppressing test errors with shell. Compile test files in the main
12774 make invocation instead of a recursive 'make' call. Optionally load
12775 .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
12776 Remove obsolete commentary.
12778 2017-05-31 Eli Zaretskii <eliz@gnu.org>
12780 Avoid inflooping in redisplay due to Spacemacs and linum-mode
12782 * src/xdisp.c (redisplay_internal): Limit the number of redisplay
12783 retries when a frame becomes garbaged as result of redisplaying
12786 2017-05-31 Tino Calancha <tino.calancha@gmail.com>
12788 * src/editfns.c (decode-time): Fix docstring.
12790 2017-05-31 Glenn Morris <rgm@gnu.org>
12792 * admin/update_autogen: Remove bzr support.
12794 2017-05-31 Glenn Morris <rgm@gnu.org>
12796 Avoid subr test failure when source dir has multiple names
12798 * test/lisp/subr-tests.el (subr-tests--this-file):
12799 Use the true name of the file. The following test does a string
12800 comparison of this value with that from method-files, which uses
12801 load-history, which contains true names.
12803 2017-05-31 Dmitry Gutov <dgutov@yandex.ru>
12805 Extract eldoc--supported-p
12807 * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
12808 (turn-on-eldoc-mode, eldoc-mode): Use it.
12809 (http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00865.html)
12811 2017-05-30 Glenn Morris <rgm@gnu.org>
12813 Make "make check" less verbose by default
12815 * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
12816 (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
12817 (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
12818 New, copied from lisp/Makefile.in.
12819 (%.elc, %.log): Simplify and quieten.
12821 2017-05-30 Alan Mackenzie <acm@muc.de>
12823 Mode line "%q" construct: Just use one number when both would be the same.
12825 * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
12827 2017-05-30 Alan Mackenzie <acm@muc.de>
12829 Merge branch 'master' of /home/acm/emacs/emacs.git/master
12831 2017-05-30 Alan Mackenzie <acm@muc.de>
12833 c-defun-name: Return fully qualified method names when wanted in C++, etc.
12835 * lisp/progmodes/cc-cmds.el (c-defun-name): Use
12836 c-back-over-compound-identifier in place of c-backward-token-2 near the end
12839 2017-05-30 Glenn Morris <rgm@gnu.org>
12841 Reduce scope of recent test/Makefile HOME change
12843 * test/Makefile.in (%.log): Move setting of HOME here from top-level.
12845 2017-05-30 Paul Eggert <eggert@cs.ucla.edu>
12847 Skip .#* temporaries when finding sources
12849 Without this patch, ‘make check’ can fail with the diagnostic
12850 ‘invalid syntax in conditional’ if there is an Emacs temporary
12851 file whose name starts with ‘.#’, because the ‘#’ is treated as
12852 the start of a Make comment.
12853 * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
12854 * test/Makefile.in (ELFILES):
12855 Skip files starting with ‘.’, so that the .#* files do not cause
12856 trouble. (We cannot easily skip just files starting with ‘.#’,
12857 since ‘#’ starts a Make comment!)
12859 2017-05-30 Alan Mackenzie <acm@muc.de>
12861 Merge branch 'master' of /home/acm/emacs/emacs.git/master
12863 2017-05-30 Alan Mackenzie <acm@muc.de>
12865 Fix the mouse help/key map on the "%p" part of the mode line.
12867 * lisp/bindings.el (mode-line-percent-position): give it a
12868 `risky-local-variable' property.
12869 (mode-line-position): correct the quoting on the mode-line-percent-position
12870 part of the variable, allowing the properties to be properly recognized.
12872 2017-05-30 Alan Mackenzie <acm@muc.de>
12874 Fix the mouse help/key map on the "%p" part of the mode line.
12876 * lisp/bindings.el (mode-line-percent-position): give it a
12877 `risky-local-variable' property.
12878 (mode-line-position): correct the quoting on the mode-line-percent-position
12879 part of the variable, allowing the properties to be properly recognized.
12881 2017-05-30 Paul Eggert <eggert@cs.ucla.edu>
12885 * build-aux/config.guess: Copy from gnulib.
12886 * lib/gnulib.mk.in: Regenerate.
12888 2017-05-30 Glenn Morris <rgm@gnu.org>
12890 Stop make check interacting with HOME
12892 * test/Makefile.in (HOME): Export a non-existent value.
12894 2017-05-30 Paul Eggert <eggert@cs.ucla.edu>
12896 Update .gitattributes to match sources better
12898 * .gitattributes: Remove nt/nmake.defs. Move dostorture.c, c.C,
12899 algrthms.html. Use pattern for todo-mode. Improve patterns for
12900 Ada, C, ObjC, shell. Add Pascal. Remove unused pattern *.ruby.
12901 Add config.guess and config.sub as shell files.
12903 2017-05-30 Noam Postavsky <npostavs@gmail.com>
12905 Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
12907 * doc/emacs/cmdargs.texi (Initial Options):
12908 * doc/lispref/os.texi (Startup Summary):
12910 * etc/emacs.service:
12911 * src/emacs.c (main):
12912 * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
12915 2017-05-30 Glenn Morris <rgm@gnu.org>
12917 todo-mode: don't assume an ordering of tests
12919 * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
12920 (todo-test-item-highlighting): Avoid prompting for input file.
12922 2017-05-30 Paul Eggert <eggert@cs.ucla.edu>
12924 Improve .gdbinit Lisp value pretty-printing
12926 * src/.gdbinit (to_string): Use an unsigned representation for
12927 Lisp values, as requested by Eli Zaretskii (Bug#27098).
12928 Also, use "make_number(N)" for Lisp integers.
12930 2017-05-30 Dmitry Gutov <dgutov@yandex.ru>
12932 Turn global-eldoc-mode into a globalized minor mode
12934 * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
12935 Turn into globalized mode (bug#19853).
12936 (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
12937 (eldoc-mode): Only show the message when called interactively.
12939 2017-05-29 Dmitry Gutov <dgutov@yandex.ru>
12941 Use regexp matching instead of checking exit status
12943 * lisp/progmodes/xref.el (xref-collect-matches):
12944 See if the output buffer contents look like Grep output
12945 instead of checking exit status (bug#23451).
12947 2017-05-29 Stephen Berman <stephen.berman@gmx.net>
12949 Add initial tests for todo-mode.el
12951 *test/lisp/calendar/todo-mode-tests.el:
12952 *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
12953 *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
12955 * .gitattributes: Ignore trailing whitespace in todo-mode test
12956 data files, since it is part of the todo-mode file format.
12958 2017-05-29 Stephen Berman <stephen.berman@gmx.net>
12960 Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
12962 * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
12963 replacing an anonymous function for the sake of `describe-variable'.
12964 (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
12965 and remove boundp test of this variable, so its value is available on
12966 invoking `todo-toggle-item-highlighting'.
12968 2017-05-29 Alan Third <alan@idiocy.org>
12970 Fix build error on macOS 10.6
12972 * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
12975 2017-05-29 Jules Tamagnan <jtamagnan@gmail.com> (tiny change)
12977 Comply with pep 8 style guide for backslash in assignment (Bug#24809)
12979 * lisp/progmodes/python.el (python-indent--calculate-indentation):
12980 Increase indent by `python-indent-offset' after
12981 `:after-backslash-assignment-continuation'.
12983 2017-05-29 Wilfred Hughes <me@wilfred.me.uk>
12985 Add suggestion to docstring
12987 * lisp/subr.el (interactive-p): Mention commandp, as this is often
12988 what users are actually looking for.
12990 2017-05-29 Wilfred Hughes <me@wilfred.me.uk>
12992 Ensure button-get works in any buffer
12994 * lisp/button.el (button-get): Previously we assumed that button-get
12995 was called in the buffer containing the button. In other buffers,
12996 button-get always returned nil. Fix this by passing the relevant
12997 buffer from the marker.
12999 2017-05-29 Dmitry Gutov <dgutov@yandex.ru>
13001 Signal error if find-grep returns a nonzero status
13003 * lisp/progmodes/xref.el (xref-collect-matches): Signal error
13004 if find-grep returns a nonzero status (bug#23451). Remove the
13005 comment: even if some output is present, a non-zero status
13006 means something went wrong and it can't be relied upon.
13008 2017-05-29 Stephen Berman <stephen.berman@gmx.net>
13010 Make sure exiting todo-mode buffer buries it (bug#27121)
13012 This failed due to commit ea3ae33b from 2013-05-16, which prevented
13013 quitting todo-mode buffer after visiting todo-archive buffer from
13014 making the archive buffer current again. Avoid this now by simply
13015 killing the archive buffer, since there's no need to keep it a live
13016 buffer. Consequently, quitting a todo-mode buffer can now use
13017 bury-buffer without an argument, which ensures that is will not
13018 becomes current on quitting the buffer that replaced it in the window.
13020 * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
13021 buffer instead of burying it. This now allows exiting the
13022 todo-mode buffer by bury-buffer without an argument, so do that.
13024 2017-05-28 Michael Albinus <michael.albinus@gmx.de>
13026 Some tweaks, almost all for Tramp adb method
13028 * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
13029 Use `make-tramp-file-name'.
13030 (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
13031 (tramp-adb-maybe-open-connection): Set "prompt" property.
13032 (tramp-adb-wait-for-output): Use it.
13034 * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
13035 (tramp-dump-connection-properties): Check also that there are
13036 properties to be saved. Don't save "started" property of
13039 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
13040 Use `make-tramp-file-name'.
13042 * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
13043 Host could be empty.
13044 (tramp-file-name-port-or-default): New defun.
13045 (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
13046 (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
13047 (tramp-call-process, tramp-call-process-region):
13048 Use `make-tramp-file-name'.
13050 * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
13051 Revert change from 2017-05-24.
13052 (tramp-test05-expand-file-name-relative): Let it also pass for
13055 2017-05-28 Jürgen Hötzel <juergen@archlinux.org>
13057 Fix Tramp for Android 7
13059 * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
13060 Username part of prompt is empty on Android 7.
13061 (tramp-adb-ls-toolbox-regexp):
13062 Ignore addition links column on Android 7.
13063 (tramp-adb-get-ls-command):
13064 Dont use --color=none when using toybox (Android 7). It's not
13065 possible to disable coloring explicitly for toybox ls.
13067 2017-05-27 Svante Carl v. Erichsen <Svante.v.Erichsen@web.de> (tiny change)
13069 Fix cl-indent for `loop' with :keywords (Bug#15543)
13071 * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
13074 2017-05-27 Paul Eggert <eggert@cs.ucla.edu>
13076 Depromiscuify inotify with IN_MASK_ADD
13078 Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
13079 mask. This simplifies the code and restores the ability to
13080 use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
13081 in some cases (Bug#26973).
13082 * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
13083 (Finotify_add_watch): Use IN_MASK_ADD instead.
13085 2017-05-27 Paul Eggert <eggert@cs.ucla.edu>
13087 Restore inotify onlydir support
13089 There was no need to remove it in the 2017-03-26 inotify change,
13090 as it is like IN_DONT_FOLLOW and does not affect other watchers
13092 * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
13093 (syms_of_inotify): Bring back onlydir.
13095 2017-05-27 Paul Eggert <eggert@cs.ucla.edu>
13097 Simplify computation of inotify mask
13099 * src/inotify.c (add_watch): Accept uint32_t imask instead
13100 of Lisp_Object aspect. Caller changed.
13101 (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
13104 2017-05-27 Eli Zaretskii <eliz@gnu.org>
13106 Improve the documentation of filesets
13108 * doc/emacs/files.texi (Filesets): Fix the description of
13109 fileset-init's effect on the menu bar. (Bug#27015)
13111 2017-05-27 Philipp Stephani <phst@google.com>
13113 Don't attempt to recover from undefined behavior in some cases
13115 These functions can only be run in batch mode and exit Emacs on
13116 return, so nothing can be recovered. Disable unsafe recover
13117 mechanisms so that we get real failures and good stack traces on
13120 * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
13121 (batch-byte-recompile-directory):
13122 * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
13123 (ert-summarize-tests-batch-and-exit): Don't attempt to recover
13124 from undefined behavior.
13126 2017-05-27 Philipp Stephani <phst@google.com>
13128 Avoid another compiler warning on macOS
13130 When configured with --without-ns, HAVE_NS is not defined on macOS,
13131 thus 'memory-limit' calls the deprecated sbrk(2) function. Avoid that
13132 by using the pre-defined __APPLE__ preprocessor macro.
13134 * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
13136 2017-05-27 Luke Yen-Xun Lee <luke.yx.lee@gmail.com>
13138 Fix ruler-mode text-scaling issues
13140 * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
13141 for computing scaled text width.
13142 (ruler-mode-text-scaled-window-hscroll)
13143 (ruler-mode-text-scaled-window-width): Compute text scaled
13144 `window-width' value.
13145 (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
13146 (ruler-mode-ruler): Change `window-hscroll' into
13147 `ruler-mode-text-scaled-window-hscroll', and change `window-width'
13148 into `ruler-mode-text-scaled-window-width'.
13150 2017-05-27 Martin Rudalics <rudalics@gmx.at>
13152 Minor doc and doc-string fixes (Bug#27091)
13154 * src/window.c (Fset_window_scroll_bars): Fix doc-string.
13156 * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
13157 (Display Margins): Mention that `set-window-buffer' may override
13158 settings made by `set-window-fringes', `set-window-scroll-bars'
13159 and `set-window-margins'.
13160 * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
13161 `set-window-buffer'.
13163 2017-05-27 Eli Zaretskii <eliz@gnu.org>
13165 Avoid args-out-of-range errors on fringe clicks after "C-h k"
13167 * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
13168 message is already shorter than NCHARS. (Bug#27040)
13170 2017-05-27 Eli Zaretskii <eliz@gnu.org>
13172 Fix GUD "Stop" display when running pdb
13174 * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
13175 when GUD mode is 'pdb'. (Bug#27024)
13177 2017-05-27 Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
13179 Support drag and drop of region by mouse (Bug#26725)
13181 * doc/emacs/frames.texi (Drag and Drop): Document support of drag
13182 and drop region by mouse.
13183 * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
13184 when start-event is on region.
13185 (mouse-drag-and-drop-region): New function, moves the region by
13186 (mouse-drag-and-drop-region): New defcustom.
13187 * etc/NEWS: Mention mouse-drag-and-drop-region.
13189 2017-05-27 Noam Postavsky <npostavs@gmail.com>
13191 * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
13193 2017-05-27 Alan Third <alan@idiocy.org>
13195 Check if instancetype supported in ObjC
13197 * configure.ac: Add check for instancetype.
13198 * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
13200 2017-05-26 Wilfred Hughes <me@wilfred.me.uk>
13202 Mark keywordp as a safe, error-free function
13204 * lisp/emacs-lisp/byte-opt.el: Add keywordp to
13205 side-effect-and-error-free-fns.
13207 2017-05-26 Paul Eggert <eggert@cs.ucla.edu>
13209 * src/inotify.c: Add FIXME comments.
13211 2017-05-26 Andreas Politz <politza@hochschule-trier.de>
13215 * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
13216 and CLOSE events on order do let other processes also reading
13217 from their descriptors. (Bug#26973).
13219 2017-05-26 Michael Albinus <michael.albinus@gmx.de>
13221 Remove Emacs 23 compat code from Tramp
13223 * doc/misc/tramp.texi (Remote processes): Don't mention
13224 Emacs 24 explicitely.
13225 (Frequently Asked Questions): Remove Emacs 23 from
13226 compatibility list.
13228 * lisp/net/tramp.el:
13229 * lisp/net/tramp-adb.el:
13230 * lisp/net/tramp-cache.el:
13231 * lisp/net/tramp-gvfs.el:
13232 * lisp/net/tramp-sh.el:
13233 * lisp/net/tramp-smb.el: Replace compat function calls.
13235 * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
13236 (tramp-compat-condition-case-unless-debug)
13237 (tramp-compat-copy-file, tramp-compat-copy-directory)
13238 (tramp-compat-delete-file, tramp-compat-delete-directory)
13239 (tramp-compat-process-live-p): Remove them.
13241 * lisp/net/trampver.el: Make version check fit for Emacs 24.
13243 2017-05-26 Katsumi Yamaoka <yamaoka@jpl.org>
13245 Work for application/x-tar-gz and image/svg+xml
13247 ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
13248 ;; of bug#27078 in the Emacs bug list using Gnus.
13250 * lisp/gnus/mm-archive.el (mm-archive-decoders):
13251 Add a decoder for application/x-tar-gz.
13252 (mm-dissect-archive): Error out if a decoder is not found.
13254 * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
13256 2017-05-26 Tino Calancha <tino.calancha@gmail.com>
13258 test-calc-23889: Skip test on 32-bit platforms
13260 This test fails on some 32-bit platforms as mentioned in
13261 https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00737.html
13262 * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
13263 the Lisp integer is not big enough.
13265 2017-05-25 Alan Third <alan@idiocy.org>
13267 Fix NS tooltips showing in the wrong place (bug#27053)
13269 * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
13270 last recorded position.
13272 2017-05-25 Thomas Fitzsimmons <fitzsim@fitzsim.org>
13274 lisp/net/soap-client.el: Bump version to 3.1.2
13276 * lisp/net/soap-client.el: Bump version to 3.1.2.
13278 2017-05-25 Thomas Fitzsimmons <fitzsim@fitzsim.org>
13280 Fix soap-inspect.el doc strings
13282 * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
13284 (soap-inspect-xs-attribute-group): Likewise.
13286 2017-05-25 Thomas Fitzsimmons <fitzsim@fitzsim.org>
13288 Fix two soap-client.el byte compilation warnings
13290 * lisp/net/soap-client.el (url-http-response-status): Add defvar.
13291 (soap-fetch-xml-from-url): Remove special declaration of
13292 url-http-response-status.
13293 (soap-invoke-internal): Likewise.
13295 2017-05-25 Thomas Fitzsimmons <fitzsim@fitzsim.org>
13297 lisp/net/soap-client.el: Require cl-lib version 0.6.1
13299 * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
13301 2017-05-25 Thomas Fitzsimmons <fitzsim@fitzsim.org>
13302 Stefan Monnier <monnier@iro.umontreal.ca>
13304 lisp/net/soap-client.el: Shorten some long lines
13306 * lisp/net/soap-client.el (soap-encode-xs-element): Remove
13308 (soap-xs-add-union): Wrap long line.
13310 2017-05-25 Alex Harsanyi <AlexHarsanyi@gmail.com>
13311 Stefan Monnier <monnier@iro.umontreal.ca>
13313 Remove cl dependency in soap-client.el and soap-inspect.el
13315 * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
13316 with cl-case, destructuring-bind with cl-destructuring-bind and
13319 * lisp/net/soap-client.el: Replace cl library with cl-lib,
13320 defstruct with cl-defstruct, assert with cl-assert, case with
13321 cl-case, ecase with cl-ecase, loop with cl-loop and
13322 destructuring-bind with cl-destructuring-bind.
13324 2017-05-25 Michael Albinus <michael.albinus@gmx.de>
13326 Switch Tramp to cl-lib
13328 * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
13330 * lisp/net/tramp-ftp.el: Don't require cl.
13332 * lisp/net/tramp-gvfs.el: Don't require cl.
13333 (tramp-gvfs-handler-mounted-unmounted)
13334 (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
13336 * lisp/net/tramp-sh.el: Don't require cl.
13337 (tramp-set-file-uid-gid): Use `shell-quote-argument'.
13338 (tramp-sh-gvfs-monitor-dir-process-filter)
13339 (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
13341 * lisp/net/tramp-smb.el: Don't require cl.
13342 (tramp-smb-read-file-entry): Use `cl-*' macros.
13344 * lisp/net/tramp.el (cl-lib): Require it rather than cl.
13345 (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
13346 (tramp-parse-passwd, tramp-parse-etc-group)
13347 (tramp-parse-putty): Use `cl-*' macros.
13349 2017-05-25 Paul Eggert <eggert@cs.ucla.edu>
13351 * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
13353 2017-05-25 Paul Eggert <eggert@cs.ucla.edu>
13355 Port ATTRIBUTE_MAY_ALIAS to recent icc
13357 * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
13358 Define to empty. Otherwise, icc (ICC) 17.0.4 20170411 says
13359 “warning #2621: attribute "__may_alias__" does not apply here”
13360 for constructs like ‘struct sockaddr *sa = (whatever);
13361 struct sockaddr_in __attribute__ ((__may_alias__)) *sin
13362 = (struct sockaddr_in *) sa;’.
13364 2017-05-25 Paul Eggert <eggert@cs.ucla.edu>
13369 2017-05-25 port to recent icc
13370 * lib/intprops.h: Copy from gnulib.
13372 2017-05-24 Michael Albinus <michael.albinus@gmx.de>
13374 Fix Tramp for python.el
13376 * lisp/net/tramp.el (tramp-get-connection-process): Check,
13377 that VEC is a `tramp-file-name' structure.
13379 2017-05-24 Alan Third <alan@idiocy.org>
13381 Raise version of macOS we define instancetype for (bug#27059)
13383 * src/nsterm.m: Increase supported version number.
13385 2017-05-24 Alan Third <alan@idiocy.org>
13387 Define new types on macOS 10.6 (bug#27041)
13389 * src/nsterm.h: Enable instancetype typedef for older macOS, and use
13390 correct NSUInteger instead of int.
13392 2017-05-24 Glenn Morris <rgm@gnu.org>
13394 Don't autoload new dns-mode command
13396 * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
13397 Remove autoload cookie.
13399 2017-05-24 Stefan Monnier <monnier@iro.umontreal.ca>
13401 * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
13403 (sxhash_vector): Make it work on pseudo vectors as well.
13404 (sxhash): Treat records like vectors.
13406 2017-05-24 Michael Albinus <michael.albinus@gmx.de>
13408 Adapt tramp-tests.el according to new defstruct
13410 * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
13411 Fix test according to new defstruct.
13412 (tramp-test29-environment-variables-and-port-numbers):
13413 Expect it now as passed. Cleanup at the end.
13415 2017-05-24 Michael Albinus <michael.albinus@gmx.de>
13417 Introduce a defstruct `tramp-file-name' as central data structure.
13419 This solves also Bug#27009.
13421 * lisp/net/tramp.el (tramp-current-domain)
13422 (tramp-current-port): New defvars.
13423 (tramp-file-name): New defstruct.
13424 (tramp-file-name-user-domain, tramp-file-name-host-port)
13425 (tramp-file-name-equal-p): New defuns.
13426 (tramp-file-name-p, tramp-file-name-method)
13427 (tramp-file-name-user, tramp-file-name-host)
13428 (tramp-file-name-localname, tramp-file-name-hop)
13429 (tramp-file-name-real-user, tramp-file-name-domain)
13430 (tramp-file-name-real-host, tramp-file-name-port):
13431 Remove defuns. They are provided by the defstruct, or not
13433 (tramp-dissect-file-name, tramp-buffer-name)
13434 (tramp-make-tramp-file-name, tramp-get-buffer)
13435 (tramp-set-connection-local-variables)
13436 (tramp-debug-buffer-name, tramp-message)
13437 (tramp-error-with-buffer, with-parsed-tramp-file-name)
13438 (tramp-completion-dissect-file-name1)
13439 (tramp-handle-file-name-as-directory)
13440 (tramp-handle-file-name-directory)
13441 (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
13442 (tramp-handle-find-backup-file-name)
13443 (tramp-handle-insert-file-contents, tramp-process-actions)
13444 (tramp-check-cached-permissions, tramp-local-host-p)
13445 (tramp-get-remote-tmpdir, tramp-call-process)
13446 (tramp-call-process-region, tramp-read-passwd)
13447 (tramp-clear-passwd):
13448 * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
13449 (tramp-adb-handle-expand-file-name)
13450 (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
13451 (tramp-adb-handle-process-file)
13452 (tramp-adb-maybe-open-connection):
13453 * lisp/net/tramp-cache.el (tramp-get-hash-table)
13454 (tramp-get-file-property, tramp-set-file-property)
13455 (tramp-flush-file-property, tramp-flush-directory-property)
13456 (tramp-get-connection-property)
13457 (tramp-set-connection-property, tramp-connection-property-p)
13458 (tramp-flush-connection-property, tramp-cache-print)
13459 (tramp-list-connections, tramp-dump-connection-properties)
13460 (tramp-parse-connection-properties):
13461 * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
13462 * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
13463 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
13464 (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
13465 (tramp-gvfs-handler-mounted-unmounted)
13466 (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
13467 (tramp-gvfs-get-remote-gid)
13468 (tramp-gvfs-maybe-open-connection):
13469 * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
13470 (tramp-do-copy-or-rename-file-out-of-band)
13471 (tramp-sh-handle-expand-file-name)
13472 (tramp-sh-handle-start-file-process)
13473 (tramp-sh-handle-process-file, tramp-compute-multi-hops)
13474 (tramp-maybe-open-connection)
13475 (tramp-make-copy-program-file-name, tramp-get-remote-path)
13476 (tramp-get-inline-coding):
13477 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
13478 (tramp-smb-handle-expand-file-name)
13479 (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
13480 (tramp-smb-handle-set-file-acl)
13481 (tramp-smb-maybe-open-connection): Adapt according to defstruct.
13483 2017-05-24 Stephen Berman <steve@rosalinde.fritz.box>
13485 Fix and improve UI of scroll bar menu (bug#27047)
13487 In addition, since the Emacs manual writes "scroll bar", "tool
13488 bar" and "menu bar", use this convention in the Show/Hide menues
13489 and tooltips as well.
13491 * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
13492 pressing a radio button in the menu actually show that it was
13493 pressed. Replace the two radio buttons to turn the horizontal
13494 scroll bar on and off with a single check-box toggle and add a
13495 separator between this and the vertical scroll bar radio
13496 buttons. Use conventional spelling.
13497 (menu-bar-horizontal-scroll-bar)
13498 (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
13499 (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
13500 (menu-bar-mode): Use conventional spelling.
13502 2017-05-24 Katsumi Yamaoka <yamaoka@jpl.org>
13504 Remove string-as-unibyte
13506 * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
13507 (canlock-make-cancel-key): No need to use string-as-unibyte.
13509 2017-05-24 Tino Calancha <tino.calancha@gmail.com>
13511 Fix concatenation of "^" with diff-file-junk-re
13513 This regexp contains "\\|", thus a concatenation
13514 of "^" with it just matches the beginning of line for the
13515 first alternative in diff-file-junk-re.
13516 * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
13517 diff-file-junk-re wrapped in a shy group.
13519 2017-05-24 Glenn Morris <rgm@gnu.org>
13521 Suppress intermittent test failure on hydra
13523 * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
13524 (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
13526 2017-05-24 Peder O. Klingenberg <peder@klingenberg.no>
13528 New dns-mode command for IPv6 address conversion
13530 This converts IPv6 addresses to a format suitable for
13531 reverse lookup zone files. (Bug#26820)
13532 * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
13533 Add dns-mode-ipv6-to-nibbles.
13534 (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
13536 * test/lisp/dns-mode-tests.el: New file.
13538 2017-05-24 Noam Postavsky <npostavs@gmail.com>
13540 Protect *Backtrace* from being killed (Bug#26650)
13542 * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
13543 `kill-buffer-hook'.
13545 2017-05-24 Noam Postavsky <npostavs@gmail.com>
13547 Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
13549 * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
13550 (lisp-mode-variables): Use it.
13552 2017-05-23 Philipp Stephani <phst@google.com>
13554 vc-hg.el: Silence byte compiler warning
13556 * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
13558 2017-05-23 Paul Eggert <eggert@cs.ucla.edu>
13560 Don't warn about missing brances on macOS
13562 On macOS, removing -Wmissing-braces is not enough; the warning has to
13563 be disabled explicitly.
13565 2017-05-23 Wilfred Hughes <me@wilfred.me.uk>
13567 Don't treat ' as a string delimiter in RPM spec files
13569 ' is commonly used as an apostrophe in the prose sections of spec
13570 files, which was erroneously highlighted as strings. See for example
13571 http://kmymoney2.sourceforge.net/phb/rpm-example.html
13573 * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
13574 punctuation in RPM spec files.
13576 2017-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
13578 * lisp/emacs-lisp/cl-indent.el: Don't require CL. Use lexical-binding.
13580 (common-lisp-indent-function-1): Remove unused var `last-point`.
13581 (lisp-indent-error-function): Move defvar before first use.
13583 2017-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
13585 * lisp/international/rfc1843.el: Don't require CL. Use lexical-binding.
13587 * lisp/international/utf7.el: Don't require CL. Use lexical-binding.
13589 * lisp/net/shr.el: Use cl-lib instead of cl.
13591 2017-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
13593 * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
13595 * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
13596 (binding-test-makunbound, data-tests-varalias-watchers)
13597 (data-tests-local-variable-watchers): Silence compiler warnings.
13599 2017-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
13601 * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
13603 2017-05-23 Alan Third <alan@idiocy.org>
13607 * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
13608 (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
13609 GNUstep and old versions of macOS.
13610 * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
13611 works in cocoa, not GNUstep.
13613 2017-05-23 Michael Albinus <michael.albinus@gmx.de>
13615 Add test for Bug#27009 in tramp-tests.el
13617 * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
13618 Check `tramp-file-name-real-host' for being a local host.
13620 * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
13622 * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
13623 Declare default host for mock method.
13624 (tramp-test29-environment-variables-and-port-numbers): New test.
13626 2017-05-23 Glenn Morris <rgm@gnu.org>
13628 Don't advertise s_client in tls.el docs
13630 * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
13631 Don't mention s_client in docs.
13633 (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
13635 2017-05-23 Rob Browning <rlb@defaultvalue.org>
13637 Remove s_client usage from tls.el
13639 * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
13640 Ref http://bugs.debian.org/766397
13641 http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
13644 (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
13646 2017-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
13648 * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
13650 2017-05-22 Sam Steingold <sds@gnu.org>
13652 Fix "g" in hg&git push&pull buffers
13654 lisp/vc/vc-git.el (vc-git--pushpull): Set locally
13655 `compilation-directory' and `compilation-arguments'.
13656 lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
13658 2017-05-22 Eli Zaretskii <eliz@gnu.org>
13660 Fix current-line hscrolling in buffers with header-line
13662 * src/xdisp.c (display_line): When testing the glyph row's
13663 vertical position against the cursor position, account for header
13664 line, if any. (Bug#27014)
13666 2017-05-22 Stefan Monnier <monnier@iro.umontreal.ca>
13668 * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
13670 (rfc2047-decode-encoded-words): Use dolist.
13671 (rfc2047-decode-string): Avoid string-to-multibyte.
13672 (rfc2047-pad-base64): Use pcase.
13674 2017-05-21 Dima Kogan <dima@secretsauce.net>
13676 Make ff-find-other-file symmetric for C++ (Bug#20192)
13678 `cc-other-file-alist' has a mapping of file extensions to switch
13679 between headers and sources, but the mappings weren't completely
13680 symmetric. In particular .cpp would map to .hh, but .hh would NOT map
13683 * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
13684 C++ extensions to make them symmetric with the C++ extensions that map
13685 to them. This lets repeated invocations of `ff-find-other-file'
13686 toggle between all pairs of sources/headers.
13688 2017-05-21 Philipp Stephani <phst@google.com>
13690 Fix definition of whitespace in JSON
13693 https://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00115.html.
13695 * lisp/json.el (json-skip-whitespace): Fix definition.
13696 * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
13699 2017-05-21 Philipp Stephani <phst@google.com>
13701 Improve module function terminology
13703 Module functions were previously called "function environments" when
13704 the functions created by module_make_functions were lambdas. Now we
13705 can adapt the terminology and rename "function environments" to
13706 "module functions" everywhere. This also removes the name clash
13707 between "function environments" and "module environments."
13709 * src/emacs-module.c (module_make_function): Adapt comment to reality;
13710 stop using "function environment" terminology.
13711 (funcall_module): Stop using "function environment" terminology.
13713 2017-05-21 Philipp Stephani <phst@google.com>
13715 Avoid uninitialized read
13717 * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
13719 2017-05-21 Philipp Stephani <phst@google.com>
13721 Fix call of registerServicesMenuSendTypes
13723 * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
13724 returnTypes; pass an empty array instead.
13726 2017-05-21 Philipp Stephani <phst@google.com>
13728 Clean up code around 'ns-list-services'
13730 * src/nsfns.m (Fns_list_services): Remove unreachable code. In this
13731 branch NS_IMPL_COCOA cannot be defined.
13732 (interpret_services_menu): Define only if called to avoid compiler
13733 warnings about unused static functions.
13735 2017-05-21 Philipp Stephani <phst@google.com>
13737 Remove unused automatic variables
13739 * src/nsterm.m (ns_read_socket):
13740 * src/macfont.m (macfont_open): Remove unused automatic variables.
13742 2017-05-21 Philipp Stephani <phst@google.com>
13744 Nextstep: Replace deprecated enumerators
13746 * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
13747 deprecated enumerator.
13749 2017-05-21 Philipp Stephani <phst@google.com>
13751 Nextstep: remove some deprecated method calls
13753 * src/nsterm.m (mouseDown:):
13754 * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
13755 deprecated method. The return value is always nil.
13756 * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
13758 2017-05-21 Philipp Stephani <phst@google.com>
13760 Remove trailing semicolons in method definitions
13762 These semicolons are ignored and cause compiler warnings.
13764 * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
13765 * src/nsterm.m (init, updateFrameSize:):
13766 (setFrame:): Remove trailing semicolon.
13768 2017-05-21 Philipp Stephani <phst@google.com>
13770 Remove calls to deprecated setUsesScreenFonts
13772 * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
13773 (mac_font_shape_1): Remove screen_font_p parameter.
13774 (mac_screen_font_shape): Remove screen_font_p argument.
13776 2017-05-21 Philipp Stephani <phst@google.com>
13778 Make a function static that isn't used outside this file
13780 * src/kqueue.c (kqueue_directory_listing): Make static.
13782 2017-05-21 Philipp Stephani <phst@google.com>
13784 Use NSCharacterCollection instead of CTCharacterCollection
13786 This should not cause behavior changes, but fixes a compiler warning
13787 due to implicit conversions between the enums.
13789 * src/macfont.m (macfont_cache, macfont_lookup_cache)
13790 (macfont_get_glyph_for_cid, macfont_get_uvs_table)
13791 (macfont_variation_glyphs): Use NSCharacterCollection.
13793 2017-05-21 Philipp Stephani <phst@google.com>
13795 Remove unused function print_regions
13797 2017-05-21 Philipp Stephani <phst@google.com>
13799 Declare Nextstep unexec functions in lisp.h
13801 This removes compiler warnings about missing prototypes on macOS.
13803 2017-05-21 Philipp Stephani <phst@google.com>
13805 Nextstep: Use instancetype explicit return type
13807 This removes compiler warnings on macOS and improves type safety.
13809 * src/nsterm.m (initFrameFromEmacs:):
13813 (setMiniwindowImage:):
13814 (initFrame:window:):
13815 (condemn, reprieve, setPosition:portion:whole:):
13817 * src/nsmenu.m (initWithTitle:):
13818 (initWithTitle:frame:):
13819 (initForView:withIdentifier:):
13820 (init, initWithContentRect:styleMask:backing:defer:):
13821 (initFromContents:isQuestion:):
13822 * src/nsimage.m (allocInitFromFile:):
13823 (initFromXBM:width:height:fg:bg:):
13825 (initForXPMWithDepth:width:height:): Use instancetype as return
13826 type instead of implicit id.
13828 2017-05-21 Tino Calancha <tino.calancha@gmail.com>
13830 * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
13832 2017-05-21 Alan Mackenzie <acm@muc.de>
13834 Enhance mode-line percentage offset facility, with "%o" and "%q"
13836 "%o" will display the percentage "travel" of the window through the buffer.
13837 "%q" will display a combination of the percentage offsets of the top and
13838 bottom of the window. The new user option mode-line-percent-position will
13839 facilitate selecting a setting for this part of the mode line.
13841 * lisp/bindings.el (mode-line-percent-position): New customizable user option.
13842 (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
13844 * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
13846 * doc/lispref/modes.texi (Mode Line Variables): Document
13847 mode-line-percent-position.
13848 (%-Constructs): Document %o and %q.
13850 * etc/NEWS: Add an entry for these new facilities.
13852 2017-05-21 Paul Eggert <eggert@cs.ucla.edu>
13854 Work around macOS bug in create_process, too
13856 * src/process.c (create_process) [DARWIN_OS]:
13857 Reset SIGCHLD after vfork here, too.
13859 2017-05-21 Paul Eggert <eggert@cs.ucla.edu>
13861 Work around macOS bug with vforked child
13863 * src/callproc.c (call_process) [DARWIN_OS]:
13864 Include workaround for apparent macOS bug.
13866 2017-05-21 Paul Eggert <eggert@cs.ucla.edu>
13868 Pacify --enable-gcc-warnings without modules
13870 * src/print.c (print_vectorlike): New function, taken from
13871 part of print_object. This one is indented properly, and
13872 pacifies --enable-gcc-warnings by using a default case
13873 instead of listing all the enum values, sometimes
13875 (print_object): Use it.
13877 2017-05-21 Paul Eggert <eggert@cs.ucla.edu>
13879 Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
13881 It does not appear to be needed (Bug#24441).
13882 * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
13883 * src/fileio.c (file_name_case_insensitive_p):
13884 Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
13886 2017-05-21 Paul Eggert <eggert@cs.ucla.edu>
13888 Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
13890 * etc/PROBLEMS: Document this (Bug#24441).
13891 * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
13892 with _PC_CASE_SENSITIVE, if it works, to
13893 DARWIN_OS_CASE_SENSITIVE_FIXME code.
13894 Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
13895 which matches the Apple documentation more precisely.
13897 2017-05-21 Tom Tromey <tom@tromey.com>
13899 Fix mhtml-mode fontification bug
13902 * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
13903 sgml-syntax-propertize-inside if not in a submode.
13904 * test/manual/indent/html-multi-4.html: New file.
13906 2017-05-21 Ryan <rct@thompsonclan.org> (tiny change)
13908 Fix ido-enable-dot-prefix for empty choice (Bug#26997)
13910 * lisp/ido.el (ido-set-matches-1): Only check first character of
13911 item if it's non-empty.
13913 2017-05-21 Ari Roponen <ari.roponen@gmail.com>
13915 * lisp/svg.el (svg-line): Fix x/y typo. (Bug#26953)
13917 2017-05-21 Glenn Morris <rgm@gnu.org>
13919 Prevent loading vc-bzr writing to ~/.bzr.log
13921 * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
13923 2017-05-21 Glenn Morris <rgm@gnu.org>
13925 Prevent running vc-tests writing to ~/.bzr.log
13927 * test/lisp/vc/vc-tests.el (vc-test--create-repo)
13928 (vc-test--register, vc-test--working-revision)
13929 (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
13931 2017-05-21 Noam Postavsky <npostavs@gmail.com>
13933 Don't end non-hook variable with "-hook" (Bug#26623)
13935 * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
13936 follow-inside-post-command-hook, update uses.
13938 2017-05-21 Charles A. Roelli <charles@aurox.ch>
13940 Fix macOS mouse movement
13942 * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
13944 (set-mouse-absolute-pixel-position): Change it to call
13945 `ns-set-mouse-absolute-pixel-position' on macOS.
13946 * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
13948 * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
13949 screen's height as a base for calculating global coordinates.
13950 * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
13951 * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
13952 movement of mouse relative to frame.
13954 2017-05-21 Alan Third <alan@idiocy.org>
13956 Show tooltip on correct screen (bug#26905)
13958 * src/nsfns.m (compute_tip_xy): Find the correct screen for the
13959 tooltip and constrain it to that screen.
13961 2017-05-21 Andreas Politz <politza@hochschule-trier.de>
13963 Don't save unrelated buffers before recompiling directory (Bug#25964)
13965 * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
13966 buffers visiting lisp files under the directory being compiled.
13968 2017-05-20 Paul Eggert <eggert@cs.ucla.edu>
13970 Minor fixes for arity ranges in emacs modules
13972 * src/emacs-module.c (module_make_function):
13973 Check that arities fit into fixnums, for func-arity’s benefit.
13974 (funcall_module): Avoid unnecessary conversion to EMACS_INT.
13975 (module_function_arity): Allow arities greater than SHRT_MAX.
13977 2017-05-20 Philipp Stephani <phst@google.com>
13979 Reimplement module functions
13981 Instead of a lambda, create a new type containing all data required to
13982 call the function, and support it in the evaluator. Because this type
13983 now also needs to store the function documentation, it is too big for
13984 Lisp_Misc; use a pseudovector instead. That also has the nice benefit
13985 that we don't have to add special support to the garbage collector.
13987 Since the new type is user-visible, give it a predicate.
13989 Now we can easily support 'help-function-args' and 'func-arity'; add
13990 unit tests for these.
13992 * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
13993 (XMODULE_FUNCTION): New pseudovector type 'module function'.
13995 * src/eval.c (FUNCTIONP): Also treat module functions as functions.
13996 (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
13998 (Ffunc_arity): Add support for detecting the arity of module
14001 * src/emacs-module.c (module_make_function): Adapt to new structure.
14002 Return module function object directly instead of wrapping it in a
14003 lambda; remove FIXME.
14004 (funcall_module): New function to call module functions. Replaces
14005 `internal--module-call' and is called directly from eval.c.
14006 (syms_of_module): Remove internal helper function, which is no longer
14008 (module_function_arity): New helper function.
14010 * src/data.c (Ftype_of): Adapt to new implementation.
14011 (Fmodule_function_p, syms_of_data): New user-visible function. Now
14012 that module functions are first-class objects, they deserve a
14013 predicate. Define it even if not compiled with --enable-modules so
14014 that Lisp code doesn't have to check for the function's existence.
14016 * src/doc.c (Fdocumentation): Support module functions.
14018 * src/print.c (print_object): Adapt to new implementation.
14020 * src/alloc.c (mark_object): Specialized garbage collector support is
14023 * lisp/help.el (help-function-arglist): Support module functions.
14024 While there, simplify the arity calculation by using `func-arity',
14025 which does the right thing for all kinds of functions.
14027 * test/data/emacs-module/mod-test.c: Amend docstring so we can test
14030 * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
14032 (mod-test-non-local-exit-signal-test): Because `internal--module-call'
14033 is gone, the backtrace has changed and no longer leaks the
14035 (module--func-arity): New test for `func-arity'.
14036 (module--help-function-arglist): New test for `help-function-arglist'.
14038 2017-05-20 Eli Zaretskii <eliz@gnu.org>
14040 Avoid crashes in GC due to unescaped characters warning
14042 * src/lread.c (load_warn_unescaped_character_literals): Don't cons
14043 Lisp objects from stack-based variables. (Bug#26961)
14045 2017-05-20 Charles A. Roelli <charles@aurox.ch>
14047 New commands: find-library-other-window, find-library-other-frame
14049 * lisp/emacs-lisp/find-func.el (find-library-other-window)
14050 (find-library-other-frame): New commands to complement the
14051 existing 'find-library' command. (Bug#26712)
14052 (read-library-name): New function to read a library name.
14053 * etc/NEWS: Mention 'find-library-other-window' and
14054 'find-library-other-frame'.
14056 2017-05-20 Eli Zaretskii <eliz@gnu.org>
14058 Fix automatic hscrolling of only the current line
14060 * src/xdisp.c (display_line): When hscrolling only the current
14061 line, increment iterator's first_visible_x and last_visible_x
14062 values to account for the hscroll. This propagates the hscroll
14063 effect on the iterator geometry all the way down to the
14064 subroutines called by display_line, and avoids scrolling bugs
14065 under large hscroll values. (Bug#26994)
14067 2017-05-20 Paul Eggert <eggert@cs.ucla.edu>
14069 Add handlerlist assertion to module code
14071 * src/emacs-module.c (module_reset_handlerlist):
14072 Check handlerlist. Suggested by Philipp Stephani in:
14073 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
14075 2017-05-20 Paul Eggert <eggert@cs.ucla.edu>
14077 Port --enable-gcc-warnings to clang 3.9.1
14079 * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
14080 to shut off a false alarm. Problem reportd by Philipp Stephani in:
14081 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00521.html
14083 2017-05-20 Noam Postavsky <npostavs@gmail.com>
14085 Limit integers printed as characters (Bug#16828)
14087 * lisp/simple.el (eval-expression-print-maximum-character): New
14089 (eval-expression-print-format): Only display value as character if
14090 it's less than or equal to `eval-expression-print-maximum-character'.
14091 (eval-expression-get-print-arguments): Check
14092 eval-expression-print-maximum-character, allow negative arg to
14095 * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
14096 (elisp--eval-last-sexp-print-value): Handle new variable.
14097 * doc/emacs/building.texi (Lisp Eval): Document new variable and
14099 * etc/NEWS: Announce it.
14100 * test/lisp/progmodes/elisp-mode-tests.el
14101 (eval-last-sexp-print-format-small-int)
14102 (eval-last-sexp-print-format-small-int-echo)
14103 (eval-last-sexp-print-format-large-int)
14104 (eval-last-sexp-print-format-large-int-echo):
14105 * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
14106 (eval-expression-print-format-small-int-echo)
14107 (eval-expression-print-format-large-int)
14108 (eval-expression-print-format-large-int-echo): New tests.
14110 2017-05-20 Noam Postavsky <npostavs@gmail.com>
14112 Refactor lisp eval result printing
14114 * lisp/simple.el (eval-expression-print-format): Don't check
14115 `standard-output' or `current-prefix-arg'.
14116 (eval-expression-get-print-arguments): New function, centralizes
14117 decision about how to print results of `eval-expression' and
14120 * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
14123 2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
14125 Check that signed right shift is arithmetic
14127 * src/data.c (ash_lsh_impl): Verify that signed right shift is
14128 arithmetic; if we run across a compiler that uses a logical shift
14129 we’ll need to complicate the code before removing this
14130 compile-time check. Help the compiler do common subexpression
14131 elimination better.
14133 2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
14135 Minor .gitignore fixes
14137 * .gitignore: modules/mod-test/Makefile was renamed to
14138 test/data/emacs-module/Makefile.
14139 Omit [0-9]*.core, subsumed by *.core.
14140 test/indent/*.new was renamed to test/manual/indent/*.new.
14141 Add *.swp, for Vim.
14143 2017-05-19 Stefan Monnier <monnier@iro.umontreal.ca>
14145 * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
14147 2017-05-19 Eli Zaretskii <eliz@gnu.org>
14149 Describe problems with Microsoft Intellipoint
14151 * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
14152 mouse-2 events. For the details, see
14153 http://lists.gnu.org/archive/html/help-emacs-windows/2017-05/msg00009.html.
14155 2017-05-19 Nick Helm <nick@tenpoint.co.nz> (tiny change)
14157 Fix turning off whitespace-mode
14159 * lisp/whitespace.el (whitespace-display-char-on): Correct the way
14160 the original buffer-display-table is saved and restored when
14161 global-whitespace-mode is active. (Bug#26892)
14163 * test/lisp/whitespace-tests.el
14164 (whitespace-tests-whitespace-mode-on): New function.
14165 (whitespace-tests-display-tables): New test.
14167 2017-05-19 Michael Albinus <michael.albinus@gmx.de>
14169 Minor tweaks in tramp-tests.el
14171 * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
14172 (tramp-test05-expand-file-name-relative): Use it.
14173 (tramp-test38-unload): Run only in batch mode.
14175 2017-05-19 Michael Albinus <michael.albinus@gmx.de>
14177 Fix a problem with OpenSSH 7 in Tramp
14179 * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
14180 "ConnectTimeout" during test. Otherwise, OpenSSH 7 will hang.
14182 2017-05-19 Jean-Christophe Helary <jean.christophe.helary@gmail.com>
14184 Improve documentation of 'split-string'
14186 * doc/lispref/strings.texi (Creating Strings): Rearrange text to
14187 make it more readable. (Bug#26925)
14189 2017-05-19 Ruslan Bekenev <furyinbox@gmail.com>
14191 Fix typos in doc strings
14193 * lisp/mail/rfc2231.el (rfc2231-encode-string):
14194 * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
14195 * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
14196 strings. (Bug#26103)
14198 2017-05-19 Philipp Stephani <phst@google.com>
14200 Fix module tests on some systems
14202 If dladdr(3) isn't available or didn't work, the printed
14203 representation of a module function will not include the file name,
14204 but only the address. Make the tests pass in that case.
14206 * test/src/emacs-module-tests.el (module-function-object): Fix match for
14207 module function printed representation
14209 2017-05-19 Jean-Christophe Helary <jean.christophe.helary@gmail.com>
14211 Add an optional arguments to string-trim
14213 * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
14214 (string-trim): Add optional args that serve as defaults per the
14215 original behavior. (Bug#26908)
14217 2017-05-19 Stephen Berman <steve@rosalinde.fritz.box>
14219 Fix typo in last change to auto-hscroll-mode
14221 * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
14223 2017-05-19 Eli Zaretskii <eliz@gnu.org>
14225 Support remote editing in emacsclient via Tramp
14227 * lib-src/emacsclient.c (main, decode_options)
14228 (print_help_and_exit, longopts): New option '--tramp' / '-T' which
14229 specifies how emacs should use tramp to find remote files.
14231 * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
14232 the various knobs to tune server.el for TCP opereation.
14233 (emacsclient Options): Reference "TCP Emacs server" from description of
14234 --server-file. Document the new '--tramp' / '-T' options.
14235 * doc/emacs/emacs.texi (Top): Update the top-level menu.
14237 * etc/NEWS: Mention the new option.
14239 2017-05-19 Eli Zaretskii <eliz@gnu.org>
14241 * lisp/replace.el (query-replace-regexp-eval): Doc fix.
14243 2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
14245 Attempt to work around macOS vfork bug
14247 Problem reported by YAMAMOTO Mitsuharu in:
14248 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00342.html
14249 This is related to the fix for Bug#26397.
14250 * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
14251 Report internal error if wait_for_termination fails.
14252 * src/sysdep.c (get_child_status): Return -1 if waitpid is
14253 buggy, instead of aborting.
14254 (wait_for_termination): Return bool success value.
14255 All callers changed.
14257 2017-05-19 Eli Zaretskii <eliz@gnu.org>
14259 Adjust defcustom form for 'auto-hscroll-mode'
14261 * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
14262 defcustom form. Suggested by Stephen Berman <stephen.berman@gmx.net>.
14264 2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
14266 Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
14268 * src/fileio.c (file_name_case_insensitive_p):
14269 Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
14270 code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
14271 Problem reported by Philipp Stephani in:
14272 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
14274 2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
14276 Port --enable-gcc-warnings to clang 3.9.1
14278 * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
14279 Problem reported by Philipp Stephani in:
14280 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00495.html
14282 2017-05-19 Paul Eggert <eggert@cs.ucla.edu>
14284 Clean up compiler warning in emacs-module.c
14286 * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
14287 instead of leaving it unused, to pacify picky compilers.
14288 (module_reset_handlerlist): Now takes a dummy pointer to a struct
14289 handler *, instead of a dummy pointer to an int. All uses changed.
14291 2017-05-19 Philipp Stephani <phst@google.com>
14293 Clean up some compiler warnings
14295 * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
14296 Remove unused locals.
14298 2017-05-18 Eli Zaretskii <eliz@gnu.org>
14300 Support hscrolling only the current line
14302 * src/xdisp.c (hscrolling_current_line_p): New function.
14303 (init_iterator): If auto-hscrolling just the current line, don't
14304 increment the iterator's first_visible_x and last_visible_x
14306 (hscroll_window_tree): Recompute window's hscroll when moving
14307 vertically to another screen line.
14308 (redisplay_window): If we are hscrolling only the current line,
14309 disable the optimizations that rely on the current matrix being
14311 (display_line): Accept an additional argument CURSOR_VPOS, the
14312 vertical position of the current screen line which might need
14313 hscrolling; all callers changed. Compute first_visible_x and
14314 last_visible_x specially when auto-hscrolling current line, by
14315 repeating the calculation that is done in init_iterator in other
14317 (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
14318 accept a 3rd value 'current-line, to turn on the mode where
14319 only the current line is hscrolled.
14321 * etc/NEWS: Mention the new auto-hscroll-mode value.
14323 2017-05-18 Eli Zaretskii <eliz@gnu.org>
14325 Fix last change in line-move-finish
14327 * lisp/simple.el (line-move-finish): Fix last change. This corrects a
14328 regression in C-n and C-p when lines are truncated, introduced by the
14329 change in 2017-05-10.
14331 2017-05-18 Simen Heggestøyl <simenheg@gmail.com>
14333 Expand docstring for CSS mode
14335 * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
14338 2017-05-18 Tino Calancha <tino.calancha@gmail.com>
14340 Use the expression angle units while simplifying it
14342 Don't use the angle mode, use the angle units included
14343 in the expression instead (Bug#23889).
14344 * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
14345 (math-simplify): Use it.
14346 * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
14347 Don't use calc-angle-mode if math-simplifying-units is non-nil.
14348 * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
14349 (math-to-radians-2, math-from-radians-2): Don't convert angle
14350 to radians if math-simplifying-units is non-nil.
14351 * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
14353 2017-05-18 Tino Calancha <tino.calancha@gmail.com>
14355 Revert "Ignore angle mode while simplifying units"
14357 This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
14358 This commit causes Bug#25652.
14360 2017-05-17 Paul Eggert <eggert@cs.ucla.edu>
14362 Avoid undefined behavior in struct sockaddr
14364 Problem noted by Philipp Stephani in:
14365 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00391.html
14366 * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
14368 * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
14369 (connect_network_socket, network_interface_info)
14370 (server_accept_connection): Use it when aliasing non-char objects.
14372 2017-05-17 Stefan Monnier <monnier@iro.umontreal.ca>
14374 * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
14376 Rename from smerge-refine-subst. Allow the `beg's to be markers.
14377 Add autoload cookie.
14378 (smerge--refine-forward): Rename from smerge-refine-forward.
14379 (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
14380 Assume that its `beg` arg is a marker.
14381 (smerge--refine-highlight-change): Rename from
14382 smerge-refine-highlight-change. Remove `buf` arg.
14383 (smerge-refine-subst): Redefine as an obsolete alias.
14385 2017-05-17 Paul Eggert <eggert@cs.ucla.edu>
14387 Work around AddressSanitizer bug with vfork
14389 Problem reported by Jim Meyering in:
14390 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00246.html
14391 * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
14392 Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
14393 vforked child messes up the parent’s shadow memory. This is too
14394 bad, as we’d rather have AddressSanitizer catch memory-access bugs
14397 2017-05-17 Paul Eggert <eggert@cs.ucla.edu>
14399 Catch IPv4/IPv6 issues at compile time
14401 * src/process.c (connect_network_socket): Use verify,
14402 not eassert, so that any problems are caught at compile-time.
14403 Avoid dodgy cast by using a local var of the correct type.
14405 2017-05-17 Paul Eggert <eggert@cs.ucla.edu>
14407 Pacify --enable-gcc-warnings --with-x-toolkit=no
14409 * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
14410 Avoid unused local.
14412 2017-05-17 Glenn Morris <rgm@gnu.org>
14414 * admin/update_autogen (commit): Pull before push.
14416 2017-05-17 Glenn Morris <rgm@gnu.org>
14418 autoload-rubric no longer provides a feature by default
14420 * lisp/emacs-lisp/autoload.el (autoload-rubric):
14421 Stop providing a feature unless explicitly requested.
14422 (autoload-find-generated-file): Update autoload-rubric call.
14424 2017-05-17 Eli Zaretskii <eliz@gnu.org>
14426 Remove redundant code in connect_network_socket
14428 * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
14429 Remove redundant type-casting and variables. Don't call
14430 'getsockname' to find the port for AF_LOCAL sockets.
14431 [AF_INET6]: Add an assertion to verify that the ports in the IPv4
14432 and IPv6 structures are at the same offset and have the same size.
14434 2017-05-16 Paul Eggert <eggert@cs.ucla.edu>
14436 Fix minor timezone memory leak
14438 * src/editfns.c (wall_clock_tz): Remove; unused.
14440 2017-05-16 Paul Eggert <eggert@cs.ucla.edu>
14442 Do not discard AddressSanitizer stderr
14444 * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
14445 Do not close stderr.
14447 2017-05-16 Paul Eggert <eggert@cs.ucla.edu>
14449 Simplify procname code to avoid GCC bug
14451 * src/process.c (server_accept_connection): Simplify and avoid
14452 multiple calls and struct literals in the last case of a switch.
14453 The old code ran afoul of GCC bug 80659, which caused an internal
14454 compiler error. Problem reported by Jim Meyering in:
14455 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00182.html
14456 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
14458 2017-05-16 Paul Eggert <eggert@cs.ucla.edu>
14460 Pacify GCC 7 with --enable-gcc-warnings
14462 * src/regex.c (regex_compile): Swap labels, so that the
14463 FALLTHROUGH immediately precedes the case label.
14465 2017-05-16 Paul Eggert <eggert@cs.ucla.edu>
14467 Merge with gnulib, pacifying GCC 7
14470 2017-05-16 manywarnings: update for GCC 7
14471 2017-05-15 sys_select: Avoid "was expanded before it was required"
14472 * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
14473 -Wformat-overflow=2 options, due to too many false alarms.
14474 * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
14476 * m4/gnulib-comp.m4: Regenerate.
14477 * src/coding.c (decode_coding_iso_2022):
14478 Fix bug uncovered by -Wimplicit-fallthrough.
14479 * src/conf_post.h (FALLTHROUGH): New macro.
14480 Use it to mark all switch cases that fall through.
14481 * src/editfns.c (styled_format): Use !, not ~, on bool.
14482 * src/gtkutil.c (xg_check_special_colors):
14483 When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
14484 (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
14485 this bug was actually caught by Clang.
14486 * src/search.c (boyer_moore):
14487 Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
14488 * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
14489 Tell GCC that glyph->u.glyphless.ch must be a character.
14491 2017-05-16 Michael Albinus <michael.albinus@gmx.de>
14493 Make autoloading Tramp more robust
14495 * lisp/net/tramp.el (tramp-file-name-for-operation):
14496 Use `default-directory' where appropriate.
14497 (tramp-file-name-handler): Do not autoload.
14498 (tramp-autoload-file-name-handler): Reintroduce function.
14499 (tramp-register-autoload-file-name-handlers): Use it.
14501 2017-05-16 Michael Albinus <michael.albinus@gmx.de>
14503 Extend tramp-tests.el
14505 * test/lisp/net/tramp-tests.el (tramp-change-syntax):
14506 Remove declaration, not needed anymore.
14507 (tramp-test05-expand-file-name-relative): New test.
14508 (tramp-test10-write-region): Extend test.
14510 2017-05-16 Michael Albinus <michael.albinus@gmx.de>
14512 * lisp/net/tramp.el: Avoid recursive load of Tramp. (Bug#26943)
14514 2017-05-16 Noam Postavsky <npostavs@gmail.com>
14516 Make `indent-line-to' respect field boundaries (Bug#26891)
14518 * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
14519 of `backward-to-indentation'.
14521 2017-05-16 Noam Postavsky <npostavs@gmail.com>
14523 Make sure indent-sexp stops at end of sexp (Bug#26878)
14525 * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
14527 * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
14530 2017-05-16 Glenn Morris <rgm@gnu.org>
14532 Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
14534 * test/lisp/epg-tests.el (with-epg-tests):
14535 Also set GNUPGHOME in the environment of child processes.
14536 This avoids problems if gpg does not pass --homedir to spawned agent.
14538 2017-05-16 Glenn Morris <rgm@gnu.org>
14540 Add oldxmenu to system-configuration-features
14542 * configure.ac (HAVE_OLDXMENU): New.
14543 (emacs_config_features): Add oldxmenu.
14545 2017-05-15 Ted Zlatanov <tzz@lifelogs.com>
14547 * .gitlab-ci.yml: Adjust disclaimer as per RMS.
14549 2017-05-15 Eli Zaretskii <eliz@gnu.org>
14551 Remove unneeded stuff from nt/inc/sys/time.h
14553 * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
14554 (timercmp, timerclear): Don't define. Instead, include the system
14555 header sys/time.h, and add only the interval timers stuff. This
14556 avoids compiler warnings about 'gettimeofday's prototype, and also
14557 avoids redefinition of macros from system headers.
14559 2017-05-15 Paul Eggert <eggert@cs.ucla.edu>
14561 Fix address violation found by AddressSanitizer
14563 * src/process.c (connect_network_socket):
14564 Use struct sockaddr_storage, not struct sockaddr_in, to store info
14565 about a socket address. Problem reported by Philipp Stephani in:
14566 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00314.html
14567 This fix is based on a patch by Philipp in:
14568 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00357.html
14570 2017-05-14 Gemini Lasswell <gazally@runbox.com>
14572 Make edebug-step-in work on generic methods (Bug#22294)
14574 * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
14575 New function to implement the edebug-form-spec property of
14576 the symbol cl-generic-method-args.
14577 (edebug-instrument-function): If the function is a generic
14578 function, find and instrument all of its methods. Return a list
14579 instead of a single symbol.
14580 (edebug-instrument-callee): Now returns a list. Update docstring.
14581 (edebug-step-in): Handle the list returned by edebug-instrument-callee.
14582 * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
14583 cl-generic-method-args in its Edebug spec.
14584 * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
14585 cl-generic-method-args in its Edebug spec.
14586 * lisp/subr.el (method-files): New function.
14587 * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
14588 (subr-tests--method-files--nonexistent-methods): New tests.
14590 2017-05-14 Paul Eggert <eggert@cs.ucla.edu>
14595 2017-05-14 same-inode: Adapt for windows-stat-inodes
14596 2017-05-14 windows-stat-inodes: New module
14597 2017-05-14 stat-time: Adapt for windows-stat-timespec
14598 * lib/gnulib.mk.in: Regenerate.
14599 * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
14602 2017-05-14 Eli Zaretskii <eliz@gnu.org>
14604 Remove gettimeofday from w32 sources
14606 * lib-src/ntlib.c (gettimeofday):
14607 * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
14608 function 'gettimeofday' and all of its supporting code.
14610 2017-05-14 Eli Zaretskii <eliz@gnu.org>
14612 Fix the MS-Windows build
14614 * nt/inc/sys/time.h (gettimeofday):
14615 * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
14617 2017-05-14 Eli Zaretskii <eliz@gnu.org>
14619 More accurate documentation of the ':box' face attribute
14621 * doc/lispref/display.texi (Face Attributes): Fix the description
14622 of negative width of the ':box' attribute. (Bug#26920)
14624 2017-05-14 Paul Eggert <eggert@cs.ucla.edu>
14629 2017-05-13 largefile: Simplify
14630 2017-05-13 largefile: Improve and document
14631 2017-05-13 truncate: New module
14632 2017-05-13 windows-stat-timespec: New module
14633 2017-05-13 windows-stat-override: New module
14634 2017-05-11 getopt-posix: port to mingw
14635 2017-05-11 gettimeofday: Increase precision on mingw
14636 2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
14637 2017-05-10 Implement a way to opt out from MSVC support
14638 2017-05-09 tzset: Expand comment about TZ problem on native Windows
14639 * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
14640 * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
14641 * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
14642 * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
14643 * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
14644 * m4/unistd_h.m4: Copy from gnulib.
14645 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
14647 2017-05-14 Marcin Borkowski <mbork@mbork.pl>
14649 Merge branch 'fix/bug-21072'
14651 2017-05-14 Ted Zlatanov <tzz@lifelogs.com>
14653 * .gitlab-ci.yml: Add setup for GitLab CI builds.
14655 2017-05-13 Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
14657 New minor mode 'pixel-scroll-mode'
14659 * lisp/pixel-scroll.el: New file.
14661 * etc/NEWS: Mention pixel-scroll-mode.
14663 2017-05-13 Philipp <phst@google.com>
14665 Make `old-style-backquotes' variable internal
14667 * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
14668 (syms_of_lread): Rename `old-style-backquotes' to
14669 `lread--old-style-backquotes', and clarify that it's for internal
14671 * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
14673 * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
14675 * test/lisp/emacs-lisp/bytecomp-tests.el
14676 (bytecomp-tests--old-style-backquotes): Add unit test.
14678 2017-05-13 Philipp Stephani <phst@google.com>
14680 Improve unescaped character literal warnings
14682 * src/lread.c (load_warn_unescaped_character_literals)
14684 lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
14685 formatting of unescaped character literal warnings.
14687 * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
14688 test/lisp/emacs-lisp/bytecomp-tests.el
14689 (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
14691 2017-05-12 Alan Mackenzie <acm@muc.de>
14693 Fontify C++ for loop variable as variable, even when followed by parentheses
14695 In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
14696 getting fontified as a function, due to insufficient checking of the tokens
14697 between it and "()".
14699 * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
14702 * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
14703 declarator's identifier, check for a ":" token inside a for's parentheses, and
14704 abort the search for "(" if this is found.
14706 2017-05-12 Michael Albinus <michael.albinus@gmx.de>
14708 Make Tramp backward compatible
14710 * lisp/net/tramp-cmds.el (tramp-change-syntax):
14711 Set tramp-autoload cookie.
14713 * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
14714 startup, if necessary.
14716 * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
14717 (tramp-register-autoload-file-name-handlers): Do not mark
14718 `operations' for `tramp-file-name-handler'.
14719 (tramp-register-file-name-handlers): Remove also
14720 `tramp-autoload-file-name-handler' for backward compatibility.
14721 (tramp-register-foreign-file-name-handler): Use `delete-dups'.
14723 * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
14725 2017-05-12 Noam Postavsky <npostavs@gmail.com>
14727 Modify `beginning-of-defun-comments'
14729 * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
14730 in the middle of a multiline comment.
14732 2017-05-12 Noam Postavsky <npostavs@gmail.com>
14734 Fix elisp-tests-with-temp-buffer compilation
14736 * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
14737 Don't refer to the =!NAME= as "markers" since they produce variables
14738 with just plain positions, not marker objects. Explicitly specify
14739 that CONTENTS is evaluated at compile time. Don't re-evaluate
14740 CONTENTS at runtime. Fix debug specification. Suppress warnings due
14741 to BODY not using =!NAME= variables.
14742 (elisp-test-point-position-regex): Rename from
14743 `elisp-test-point-marker-regex'.
14744 (mark-defun-test-buffer): Wrap in `eval-and-compile'.
14746 2017-05-12 Noam Postavsky <npostavs@gmail.com>
14748 * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
14750 2017-05-12 Marcin Borkowski <mbork@mbork.pl>
14752 Fix Bug#21072 and rework `mark-defun'
14754 * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
14756 (mark-defun-no-arg-region-inactive)
14757 (mark-defun-no-arg-region-active)
14758 (mark-defun-arg-region-active)
14759 (mark-defun-pos-arg-region-inactive)
14760 (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
14761 the new `mark-defun'.
14763 * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
14765 (beginning-of-defun-comments): New function.
14766 (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
14767 to accept a numerical prefix argument.
14769 2017-05-12 Alfred M. Szmidt <ams@gnu.org>
14771 * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
14773 2017-05-12 Eli Zaretskii <eliz@gnu.org>
14775 Improve doc strings in net-utils.el
14777 * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
14778 (route, traceroute, nslookup, ftp, smbclient)
14779 (smbclient-list-shares, finger, whois)
14780 (network-connection-to-service, network-service-connection)
14781 (network-connection-reconnect): Improve doc strings.
14783 2017-05-12 Andrew Robbins <contact@andrewrobbins.info>
14785 Extend DNS lookup commands to allow specifying the name server
14787 * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
14788 'net-utils-machine-at-point' obviating this autoloaded
14789 function (Bug#25426).
14790 (dig-program-options): New customization variable.
14791 (nslookup-host, dns-lookup-host, run-dig): Can now specify
14792 optional name server argument interactively (by prefix arg) and
14795 * etc/NEWS: Mention the extension of DNS lookup commands.
14797 2017-05-12 Glenn Morris <rgm@gnu.org>
14799 Don't hard-code loaddefs files in lisp/Makefile
14801 * lisp/Makefile.in (loaddefs): New variable.
14802 (AUTOGENEL): Use $loaddefs, and include directory.
14803 (bootstrap-clean): Update for AUTOGENEL change.
14805 2017-05-11 Katsumi Yamaoka <yamaoka@jpl.org>
14807 Kill modified buffers silently when quitting (bug#26862)
14809 * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
14810 sure that latest drafts are saved, and kill modified buffers silently.
14812 2017-05-10 Perry E. Metzger <perry@piermont.com>
14814 Implement 1-based column numbering in mode line
14816 * src/xdisp.c (decode_mode_spec): Implement the %C construct.
14818 * lisp/bindings.el (column-number-indicator-zero-based): New
14820 (mode-line-position): Use %C when
14821 column-number-indicator-zero-based is nil.
14823 * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
14824 * src/buffer.c (syms_of_buffer) <mode-line-format>:
14825 * doc/lispref/modes.texi (%-Constructs):
14826 * doc/lispref/frames.texi (Frame Titles): Document the %C
14829 * doc/emacs/display.texi (Optional Mode Line): Document
14830 'column-number-indicator-zero-based'.
14832 * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
14835 2017-05-10 Eli Zaretskii <eliz@gnu.org>
14837 Ensure cursor's foreground color is in sync with 'default' face
14839 * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
14840 foreground color is different from the background of the glyph
14841 string's face. (Bug#26851)
14843 2017-05-10 Eli Zaretskii <eliz@gnu.org>
14845 Fix vertical cursor motion when columns are of unequal size
14847 * lisp/simple.el (line-move-finish): In line-move-visual mode, use
14848 vertical-motion to move to the goal column, as the goal column
14849 should in that case be interpreted in units of frame's canonical
14850 character width. (Bug#26852)
14852 2017-05-10 Glenn Morris <rgm@gnu.org>
14854 Fix finding test .el files
14856 * test/Makefile.in (ELFILES): Exclude the data/ directory.
14857 * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
14859 2017-05-10 Tino Calancha <tino.calancha@gmail.com>
14861 Tweak a recent test
14863 This test fails in my local machine because the data files
14864 are compiled, and the test doesn't expect that.
14865 * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
14866 ending with '.elc' when the data files are compiled.
14868 2017-05-10 Glenn Morris <rgm@gnu.org>
14870 Put license information in each generated uni-*.el
14872 * admin/unidata/unidata-gen.el (unidata-gen-file):
14873 Get Copyright line from copyright.html.
14874 Put information in file header, not separate README.
14875 (unidata-gen-charprop): Mention the source location.
14876 * lisp/international/README: Remove file.
14878 2017-05-10 Noam Postavsky <npostavs@gmail.com>
14880 Fix lisp-indent-region and indent-sexp (Bug#26619)
14882 The new lisp-indent-region introduced in 2017-04-22 "Add new
14883 `lisp-indent-region' that doesn't reparse the code." is broken because
14884 it doesn't save the calculated indent amounts for already seen sexp
14885 depths. Fix this by unifying the indent-sexp and lisp-indent-region
14886 code. Furthermore, only preserve position 2 of the running parse
14887 when the depth doesn't change.
14888 * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
14889 corresponds with the start point when calling parse-partial-sexp.
14890 (lisp-indent-state): New struct.
14891 (lisp-indent-calc-next): New function, extracted from indent-sexp.
14892 (indent-sexp, lisp-indent-region): Use it.
14893 (lisp-indent-line): Take indentation, instead of parse state.
14894 * test/lisp/emacs-lisp/lisp-mode-tests.el
14895 (lisp-mode-tests--correctly-indented-sexp): New constant.
14896 (lisp-indent-region, lisp-indent-region-defun-with-docstring):
14897 (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
14900 2017-05-10 Dmitry Gutov <dgutov@yandex.ru>
14902 Simplify url-encode-url and add a test
14904 * lisp/url/url-util.el (url-encode-url): Simplify.
14905 url-generic-parse-url copes with multibyte strings just fine
14906 (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
14908 * test/lisp/url/url-parse-tests.el
14909 (url-generic-parse-url/multibyte-host-and-path): New test.
14911 2017-05-10 Glenn Morris <rgm@gnu.org>
14913 More informative error when required feature missing
14915 * src/fns.c (Frequire): Include file name in missing feature error.
14916 * doc/lispref/loading.texi (Named Features): Don't quote actual error.
14918 2017-05-10 Glenn Morris <rgm@gnu.org>
14920 Put re-loaded file back at start of load-history (bug#26837)
14922 * src/lread.c (readevalloop): Fix the "whole buffer" check to
14923 operate in the correct buffer.
14924 (Feval_buffer): Move point back to the start after checking
14925 for lexical binding.
14926 * test/src/lread-tests.el (lread-test-bug26837): New test.
14927 * test/data/somelib.el, test/data/somelib2.el: New test data files.
14929 2017-05-09 Eli Zaretskii <eliz@gnu.org>
14931 Improve documentation of 'gnutls-verify-error'
14933 * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
14934 doc string. (Bug#26845)
14936 2017-05-09 Glenn Morris <rgm@gnu.org>
14938 Don't duplicate autoload code in package.el
14940 * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
14941 * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
14942 (package-autoload-ensure-default-file): Use autoload-rubric.
14944 2017-05-09 Michael Albinus <michael.albinus@gmx.de>
14946 * test/lisp/net/tramp-tests.el: Keep additional test.
14948 2017-05-09 Marcin Borkowski <mbork@mbork.pl>
14950 Add elisp-tests-with-temp-buffer, a new testing macro
14952 * test/lisp/emacs-lisp/lisp-tests.el
14953 (elisp-test-point-marker-regex) New variable.
14954 (elisp-tests-with-temp-buffer): New macro to help test functions
14955 moving the point and/or mark.
14957 2017-05-09 Noam Postavsky <npostavs@gmail.com>
14959 Revert "Output number of characters added to file (Bug#354)"
14961 The extra message text turned out to be quite annoying in practice,
14962 and is generally more trouble than it's worth. Also revert several
14965 Partially revert "Handle `write-region' messages in Tramp properly"
14966 Revert "New var write-region-verbose, default nil"
14967 Revert "* src/fileio.c (write_region): Don't say "1 characters". (Bug#26796)"
14968 Revert "Minor tuneup of write-region change"
14969 Revert "Adjust write-region so file name is at the beginning again"
14970 Revert "Fix handling of non-integer START param to write-region"
14971 Revert "Output number of characters added to file (Bug#354)"
14973 * doc/emacs/files.texi (Misc File Ops):
14975 * lisp/epa-file.el (epa-file-write-region):
14976 * lisp/gnus/mm-util.el (mm-append-to-file):
14977 * lisp/jka-compr.el (jka-compr-write-region):
14978 * lisp/net/ange-ftp.el (ange-ftp-write-region):
14979 * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
14980 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
14981 * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
14982 * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
14983 * lisp/net/tramp.el (tramp-handle-write-region-message):
14984 * src/fileio.c (write_region, syms_of_fileio):
14985 * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
14986 extra characters from file writing messages.
14988 2017-05-09 Noah Friedman <friedman@splode.com>
14990 (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
14991 because $ptr is modified by ygetptr and we use $ptr immediately at the
14994 2017-05-08 Ken Brown <kbrown@cornell.edu>
14996 Skip a test from filenotify-tests.el on Cygwin
14998 * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
14999 Skip the last part of the test on Cygwin; it fails due to timing
15001 (file-notify--test-read-event): Remove `sit-for' that was added
15004 2017-05-08 Paul Eggert <eggert@cs.ucla.edu>
15009 2017-05-08 intprops: don’t depend on ‘verify’
15010 2017-05-07 utimens: on native Windows, improve resolution if fd < 0
15011 2017-05-07 utimens: Improve error code on native Windows
15012 * lib/intprops.h, lib/utimens.c: Copy from gnulib.
15014 2017-05-08 Wilson Snyder <wsnyder@wsnyder.org>
15016 Fix various verilog-mode.el issues.
15018 * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
15019 2012 import breaking AUTOINST. Reported by Johannes Schaefer.
15020 (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
15021 logic in top-level non-SystemVerilog module, bug1142. Reported by Marcin K.
15022 (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
15023 abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
15024 (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
15025 msg2143. Reported by Galen Seitz.
15026 (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
15027 compile-command is globally set, bug1119. Reported by Galen Seitz.
15029 2017-05-08 Michael Albinus <michael.albinus@gmx.de>
15031 Handle `write-region' messages in Tramp properly
15033 * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
15034 * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
15035 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
15036 * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
15037 * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
15039 * lisp/net/tramp.el (tramp-password-prompt-regexp)
15040 (tramp-completion-mode-p):
15041 * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
15042 (tramp-append-tramp-buffers):
15043 * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
15044 Use `bound-and-true-p'.
15046 * lisp/net/tramp-compat.el (tramp-compat-delete-file):
15047 Don't check for `boundp' anymore.
15049 * test/lisp/net/tramp-tests.el (ert-x): Require it.
15050 (tramp--test-messages): New defvar.
15051 (tramp-test10-write-region): Extend test.
15053 2017-05-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
15055 Fix glyph string generation for multi-font compositions (Bug#26742)
15057 * src/xdisp.c (glyph_string_containing_background_width): New function.
15058 (draw_glyphs): Use it to get correct background width.
15059 (compute_overhangs_and_x): Don't change x in the middle of composite
15062 2017-05-07 Philipp Stephani <phst@google.com>
15064 Fix all unescaped character literals
15066 2017-05-07 Alan Mackenzie <acm@muc.de>
15068 CC Mode internal cache: Handle a cache pos being inside a two-char construct.
15070 Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
15071 e.g., between the two characters of an opening comment "/*", and additionally
15072 there were an odd number of quote marks (apostrophes) in the comment. This
15073 happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
15074 buffer position 615001.
15076 * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
15077 pps-extended-state to mean that there are at least 11 elements in the parser
15080 * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
15081 (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
15082 types which indicate potentially being inside two-char constructs.
15083 (c-parse-ps-state-below): Rewrite to use the new versions of the above two
15086 2017-05-07 Glenn Morris <rgm@gnu.org>
15088 Silence an mh-compat compiler warning
15090 * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
15092 2017-05-07 Glenn Morris <rgm@gnu.org>
15094 Evaluate mh-require when compiling
15096 * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
15097 * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
15098 Evaluate mh-require when compiling, as require is automatically.
15099 * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
15101 2017-05-07 Glenn Morris <rgm@gnu.org>
15103 Remove obsolete method of changing byte-compile-dest-file
15105 * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
15106 Define unconditionally.
15108 2017-05-07 Paul Eggert <eggert@cs.ucla.edu>
15110 New var write-region-verbose, default nil
15112 By popular demand, write-region char counts are now off by default
15114 * src/fileio.c (write-region-verbose): New Lisp var.
15115 (write_region): Output char count only if the var is non-nil.
15116 * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
15118 2017-05-07 Glenn Morris <rgm@gnu.org>
15120 Write autoloads file atomically
15122 * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
15123 New function, to save buffer atomically.
15124 (autoload-save-buffers, update-directory-autoloads):
15125 Use autoload--save-buffer.
15126 * lisp/Makefile.in ($(lisp)/loaddefs.el):
15127 No longer write to a temp file by hand.
15129 2017-05-07 Glenn Morris <rgm@gnu.org>
15131 Write autoloads file once only
15133 * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
15134 Simplify. Don't bother about ensuring the output file exists.
15135 (autoload-generated-file): Add doc.
15136 (autoload-ensure-writable): Update doc.
15137 (autoload-ensure-file-writeable): Handle non-existing file.
15138 (autoload-ensure-default-file): Remove function.
15140 2017-05-07 Paul Eggert <eggert@cs.ucla.edu>
15142 Port .gdbinit to GDB 7.11.1 + Python 2.7.12
15144 * src/.gdbinit (Lisp_Object_Printer.to_string):
15145 Explicitly convert integer val to 'int', so that
15146 older GDBs do not complain about the conversion.
15147 * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
15148 Give the struct a tag, so that older GDB pretty-printers have a
15149 tag to hang their hat on.
15151 2017-05-06 Paul Eggert <eggert@cs.ucla.edu>
15153 Pretty-print const Lisp_Objects in .gdbinit
15155 * src/.gdbinit (Emacs_Pretty_Printers.__call__):
15156 Compare unqualified type to Lisp_Object, to do the right thing
15157 when the expression has type ‘Lisp_Object const’.
15158 Problem reported by Eli Zaretskii in:
15159 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00138.html
15161 2017-05-06 Paul Eggert <eggert@cs.ucla.edu>
15163 Pacify GCC setjmp/longjmp warning
15165 * src/eval.c (internal_lisp_condition_case): Do not modify local
15166 var VAR, to pacify GCC’s setjmp/longjmp warning which in some
15167 cases mistakenly diagnoses VAR possibly being modified between a
15168 setjmp and a longjmp.
15170 2017-05-06 Philipp <phst@google.com>
15172 Fix bootstrap build of files.el
15174 * lisp/files.el (file-name-non-special): Don't use cl-letf.
15176 2017-05-06 Eli Zaretskii <eliz@gnu.org>
15178 Fix last change for MS-Windows
15180 * test/src/emacs-module-tests.el (module-function-object): Port to
15183 2017-05-06 Philipp Stephani <phst@google.com>
15185 Introduce new misc type for module function
15187 This resolves a couple of FIXMEs in emacs-module.c.
15189 * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
15191 * src/alloc.c (make_module_function): New function.
15192 (mark_object): GC support.
15194 * src/data.c (Ftype_of, syms_of_data): Handle module function type.
15196 * src/print.c (print_object): Print support for new type.
15198 * src/emacs-module.c (module_make_function, Finternal_module_call):
15199 Use new module function type, remove FIXMEs.
15200 (module_format_fun_env): Adapt and give it external linkage.
15202 * test/src/emacs-module-tests.el (module-function-object): Add unit
15205 2017-05-06 Philipp Stephani <phst@google.com>
15207 Fix quoted files for 'verify-visited-file-modtime'
15211 * lisp/files.el (file-name-non-special): Set the file name for the
15214 * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
15216 (files-tests--with-advice, files-tests--with-temp-file): New helper
15219 2017-05-06 Eli Zaretskii <eliz@gnu.org>
15221 * src/fileio.c (write_region): Don't say "1 characters". (Bug#26796)
15223 2017-05-06 Eli Zaretskii <eliz@gnu.org>
15225 Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
15227 * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
15228 ENABLE_CHECKING is defined.
15229 (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
15230 instead of being defined.
15232 2017-05-06 Tom Tromey <tom@tromey.com>
15234 Fix erc-join with channel password
15237 * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
15239 (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
15241 (erc-server-join-channel): Move to erc.el.
15242 * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
15243 (erc-cmd-JOIN): Use erc-server-join-channel.
15245 2017-05-06 Tino Calancha <tino.calancha@gmail.com>
15247 Ensure the created temp file in a test is new
15249 * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
15250 to create the temp file.
15252 2017-05-06 Glenn Morris <rgm@gnu.org>
15254 Decruftify dns-mode.el a little bit
15256 * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
15258 (dns-mode-control-entity, dns-mode-bad-control-entity)
15259 (dns-mode-type, dns-mode-class): New faces.
15260 (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
15261 (dns-mode-type-face, dns-mode-class): Make these variables use the
15262 new faces, and mark as obsolete.
15263 (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
15265 2017-05-06 Paul Eggert <eggert@cs.ucla.edu>
15267 Pretty-print Lisp_Object values in GDB
15269 * src/.gdbinit: Add a pretty-printer for Lisp_Object values. Now,
15270 GDB displays them as "XIL(0xXXX)" rather than displaying them
15271 as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
15274 2017-05-05 Peder O. Klingenberg <peder@klingenberg.no>
15276 Tweak dns-mode font-lock
15278 * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
15279 Highlight $TTL as a control entity. (Bug#26780)
15281 2017-05-05 Glenn Morris <rgm@gnu.org>
15283 Fontify the doc-string in some CL forms as such
15285 * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
15286 Add the doc-string-elt property. (Bug#26778)
15288 2017-05-05 Glenn Morris <rgm@gnu.org>
15290 * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
15292 2017-05-05 Dmitry Gutov <dgutov@yandex.ru>
15294 cl-defmethod: Make the edebug spec more technically correct
15296 * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
15297 edebug spec part for qualifiers as [&rest atom], per
15298 http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00053.html.
15300 2017-05-05 Mike Kupfer <mkupfer@alum.berkeley.edu>
15302 Fix MH-E not to load cl at runtime (Bug#25552)
15304 * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
15305 compile time, whether the target is bound.
15306 * lisp/mh-e/mh-compat.el: Enable compilation. Pull in
15307 mh-acros at compile time.
15308 Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
15309 <npostavs@users.sourceforge.net>
15311 2017-05-04 Jean-Christophe Helary <jean.christophe.helary@gmail.com>
15313 Multiline support in NS "Open Selected File" service.
15315 * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
15316 original call in a (split-string) to create as many calls as there
15318 (ns-spi-service-call): Call `ns-open-file-service' instead of
15321 2017-05-04 Göktuğ Kayaalp <self@gkayaalp.com>
15323 Require cl-lib at runtime in vc-hg
15325 * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
15327 2017-05-04 Tino Calancha <tino.calancha@gmail.com>
15329 Inherit incompatible/obsolete package faces from error
15331 Don't use the same face for installed packages as for incompatible
15333 * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
15335 2017-05-04 Michael Albinus <michael.albinus@gmx.de>
15337 Set process property `adjust-window-size-function' to `ignore' in Tramp
15339 * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
15340 (tramp-adb-maybe-open-connection):
15341 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
15342 * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
15343 (tramp-maybe-open-connection):
15344 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
15345 (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
15346 (tramp-smb-maybe-open-connection): Set process property
15347 `adjust-window-size-function' to `ignore'.
15349 2017-05-04 Nicolas Petton <nicolas@petton.fr>
15351 * lisp/emacs-lisp/seq.el: Bump seq version.
15353 2017-05-04 Damien Cassou <damien@cassou.me>
15355 Add seq-set-equal-p to test for set equality
15357 * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
15358 two lists as if they were sets.
15360 * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
15361 for seq-set-equal-p.
15363 2017-05-04 Paul Eggert <eggert@cs.ucla.edu>
15367 * lisp/gnus/nndiary.el (nndiary-last-occurrence):
15368 Rename from nndiary-last-occurence.
15369 (nndiary-next-occurrence):
15370 Rename from nndiary-next-occurence. All uses changed.
15372 2017-05-04 Paul Eggert <eggert@cs.ucla.edu>
15374 Merge from pkg-config
15376 * m4/pkg.m4: Copy from pkg-config 0.29.1.
15378 2017-05-04 Tom Tromey <tom@tromey.com>
15380 Add color highlighting to css-mode
15383 * lisp/textmodes/css-mode.el (css--color-map): New constant.
15384 (css-value-class-alist): Use css--color-map.
15385 (css--number-regexp, css--percent-regexp)
15386 (css--number-or-percent-regexp, css--angle-regexp): New constants.
15387 (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
15389 (css--colors-regexp): New constant.
15390 (css--hex-color, css--named-color, css--compute-color)
15391 (css--contrasty-color, css--fontify-colors)
15392 (css--fontify-region): New functions.
15393 (css-mode): Set font-lock-fontify-region-function.
15394 (css-mode-syntax-table): Set syntax on more characters.
15395 (css-fontify-colors): New defcustom.
15396 (scss-mode-syntax-table): Define syntax for ?$ and ?%.
15397 * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
15399 (css-test-rgb-parser, css-test-hsl-parser)
15400 (css-test-named-color): New tests.
15401 * etc/NEWS: Add entry.
15403 2017-05-03 Michael Albinus <michael.albinus@gmx.de>
15407 * lisp/files.el (delete-directory): Call file name handler
15408 with `trash' argument.
15410 * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
15411 * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
15412 Add TRASH arg. Implement it. (Bug#26763)
15413 (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
15415 * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
15416 * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
15419 2017-05-03 Paul Eggert <eggert@cs.ucla.edu>
15421 Use ptrdiff_t, not int, for stack sizes
15423 * src/thread.c (invoke_thread_function):
15424 * src/xterm.c (x_cr_export_frames):
15425 Don’t assume SPECPDL_INDEX fits in ‘int’.
15427 2017-05-03 Paul Eggert <eggert@cs.ucla.edu>
15429 Check list object type if --enable-gcc-warnings
15431 * configure.ac (--enable-check-lisp-object-type):
15432 Default to "yes" if --enable-gcc-warnings is not "no".
15433 * etc/NEWS: Mention this.
15434 * src/eval.c (internal_lisp_condition_case): Fix some glitches
15435 with 'volatile' uncovered by the above: in particular, 'clauses'
15436 should be a pointer to volatile storage on the stack, and need not
15437 be volatile itself. Use an int, not ptrdiff_t, to count clauses.
15438 Don’t bother gathering binding count if VAR is nil. Use
15439 more-specific local names to try to clarify what’s going on.
15441 2017-05-02 Glenn Morris <rgm@gnu.org>
15443 Tweak auth-source-pass.el to avoid run-time subr-x
15445 * lisp/auth-source-pass.el (auth-source-pass--parse-data):
15446 Avoid needing subr-x at run-time.
15448 2017-05-02 Charles A. Roelli <charles@aurox.ch>
15450 Constrain non-child frames to screen area in OS X
15452 * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
15453 frames in OS X, if they would otherwise go offscreen.
15457 2017-05-02 Michael Albinus <michael.albinus@gmx.de>
15459 Fix error in completion for separate Tramp syntax
15461 * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
15464 * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
15465 Run method and host name completion for all syntaxes.
15467 2017-05-02 Eli Zaretskii <eliz@gnu.org>
15469 Avoid compilation warnings
15471 * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
15472 * src/w32term.c (x_draw_glyph_string):
15473 * src/w32fns.c (compute_tip_xy):
15474 * src/w32font.c (w32font_text_extents):
15475 * src/w32menu.c (set_frame_menubar):
15476 * src/search.c (Freplace_match): Avoid compiler warnings in
15479 2017-05-02 Paul Eggert <eggert@cs.ucla.edu>
15484 2017-05-02 utimens: port to Emacs + MS-Windows
15485 * lib/utimens.c: Copy from gnulib.
15487 2017-05-02 Gemini Lasswell <gazally@runbox.com>
15489 Fix Edebug specs for 'cl-defmethod' and 'defmethod'
15491 * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
15492 to make Edebug generate a new symbol for each method (Bug#24753) and
15493 to support a string following :extra (Bug#23995).
15494 * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
15495 make Edebug generate a new symbol for each method (Bug#24753).
15497 2017-05-02 Eli Zaretskii <eliz@gnu.org>
15499 Temporary fix for the MS_Windows build
15501 * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
15502 to be consistent with Gnulib's utimens.c. This is because utimens.c
15503 unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
15504 previous definition here conflicted with that.
15506 2017-05-02 Paul Eggert <eggert@cs.ucla.edu>
15508 Port format-time-string to MS-Windows better
15510 * test/src/editfns-tests.el (format-time-string-with-zone):
15511 Port test cases to MS-Windows.
15513 2017-05-02 Paul Eggert <eggert@cs.ucla.edu>
15518 2017-05-01 New module 'localtime-buffer'
15519 2017-04-30 utimens: Add support for native Windows
15520 * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
15521 * configure.ac (tzset): No need for Emacs itself to check now.
15522 * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
15523 * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
15524 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15525 * lib/localtime-buffer.c, lib/localtime-buffer.h:
15526 * m4/localtime-buffer.m4: New files, copied from gnulib.
15527 * src/editfns.c (init_editfns): Assume tzset is callable.
15529 2017-05-01 Dmitry Gutov <dgutov@yandex.ru>
15531 Speed up project-find-regexp for simple regexps
15533 * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
15535 (xref--collect-matches): Use it. Don't try to enable the
15536 appropriate major mode and file-local variables if the regexp
15537 does not depend on the buffer's syntax (bug#26710).
15538 (xref--collect-matches-1): Don't syntax-propertize in that
15541 2017-05-01 Philipp Stephani <phst@google.com>
15543 Warn about missing backslashes during load
15545 * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
15546 (syms_of_lread): Warn if unescaped character literals are
15548 * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
15549 unescaped character literals during byte compilation.
15550 * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
15552 (lread-tests--with-temp-file, lread-tests--last-message): Helper
15553 functions for unit test.
15554 * test/lisp/emacs-lisp/bytecomp-tests.el
15555 (bytecomp-tests--unescaped-char-literals): New unit test.
15556 * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
15557 Helper macro for unit test.
15559 2017-05-01 Ken Brown <kbrown@cornell.edu>
15561 * configure.ac: Suggest Mailutils on Cygwin.
15563 2017-05-01 Paul Eggert <eggert@cs.ucla.edu>
15565 Don’t stress-test time zones near the Epoch
15567 * test/src/editfns-tests.el (format-time-string-with-zone)
15568 (format-time-string-with-outlandish-zone): Don’t format
15569 timestamps near the Epoch, as this runs into bugs on MS-Windows,
15570 and we don’t want to worry about those bugs.
15572 2017-05-01 Glenn Morris <rgm@gnu.org>
15574 Tweak vc-tests.el for bzr
15576 * test/lisp/vc/vc-tests.el (vc-test--working-revision):
15577 Handle test environments where HOME does not exist.
15579 2017-05-01 Dmitry Gutov <dgutov@yandex.ru>
15581 vc-git-state: Return `ignored' as appropriate with newer Git
15583 * lisp/vc/vc-git.el
15584 (vc-git--program-version): New variable.
15585 (vc-git--program-version): New function.
15586 (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
15588 2017-05-01 Dmitry Gutov <dgutov@yandex.ru>
15590 vc-git-state: Bring back CentOS 6 compatibility
15592 * lisp/vc/vc-git.el (vc-git-state):
15593 Bring back CentOS 6 compatibility (bug#19343).
15595 2017-05-01 Martin Rudalics <rudalics@gmx.at>
15597 Rewrite w32fns.c's `x_set_menu_bar_lines'
15599 * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
15600 regardless of whether menu bar is added or removed. Clear
15601 under internal border iff a W32 window exists. Store either 0
15602 or 1 as new parameter value.
15603 (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
15606 2017-05-01 Michael Albinus <michael.albinus@gmx.de>
15608 Fix filenotify-tests.el for cygwin
15610 * test/lisp/filenotify-tests.el (file-notify--test-read-event):
15611 Add an additional `sit-for'.
15612 (file-notify-test02-rm-watch): Add an additional
15613 `file-notify--test-read-event' call.
15615 2017-05-01 Jonathan Ganc <jonganc@gmail.com>
15617 Speed up vc-git-status and make it more precise
15619 * lisp/vc/vc-git.el (vc-git-state)
15620 (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
15621 'git status', so that 'vc-git-state' can now return 'ignored',
15622 'conflict', or 'unregistered' when appropriate. Discussed in
15623 bug#26066. Fixes bug#19343.
15625 2017-05-01 Dmitry Gutov <dgutov@yandex.ru>
15627 Fix Git revision navigation in currently removed directories
15629 * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
15630 default-directory because FILE's parent directory might not exist
15631 anymore (bug#26345).
15633 2017-04-30 Paul Eggert <eggert@cs.ucla.edu>
15638 2017-04-30 strftime-fixes: New module
15639 2017-04-30 mktime: Work around TZ problem on native Windows
15640 2017-04-30 ctime, localtime: New modules
15641 2017-04-30 gettimeofday: Provide higher resolution on native Windows
15642 2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
15643 2017-04-29 Make use of module 'utime-h'
15644 2017-04-30 Fix a few typos
15645 * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
15646 * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
15647 * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
15648 * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
15650 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15652 2017-04-30 Eli Zaretskii <eliz@gnu.org>
15654 Don't lose key bindings on mis-spelled text in flyspell-mode
15656 * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
15658 (make-flyspell-overlay): If the mis-spelled text already has a
15659 'keymap' property, make that keymap the parent of
15660 flyspell-mouse-map, so as not to lose the parent's bindings.
15663 2017-04-30 Martin Rudalics <rudalics@gmx.at>
15665 Fix `delete-frame' behavior including Bug#26682
15667 * src/frame.c (other_frames): Accept two arguments now. Don't
15668 care about minibuffer window. Don't care about visibility when
15669 called from delete_frame with FORCE true (Bug#26682).
15670 (delete_frame, Fmake_frame_invisible): Adjust other_frames
15672 * src/w32term.c (w32_read_socket): Don't add a move frame event
15673 for an invisible frame.
15674 * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
15675 attempting to delete a surrogate minibuffer frame.
15677 2017-04-30 Paul Eggert <eggert@cs.ucla.edu>
15681 This avoids incorporating the following, which I suspect are
15682 more trouble for Emacs than they’re worth:
15683 2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
15684 * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
15685 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15686 * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
15688 2017-04-30 Paul Eggert <eggert@cs.ucla.edu>
15690 Fix buffer overflow in make-docfile
15692 * lib-src/make-docfile.c (scan_c_stream): Check for buffer
15693 overflow when reading an identifier. Use a static buffer for NAME
15694 rather than a small dynamically-allocated buffer.
15696 2017-04-30 Paul Eggert <eggert@cs.ucla.edu>
15701 2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
15702 * lib/getopt-pfx-ext.h: Copy from gnulib.
15703 * lib/gnulib.mk.in: Regenerate.
15705 2017-04-30 Tino Calancha <tino.calancha@gmail.com>
15707 Fix dependency error during bootstrap
15709 * lisp/files.el: Require pcase and easy-mmode at compile time.
15711 2017-04-30 Mats Lidell <mats.lidell@cag.se>
15713 * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
15715 2017-04-29 Philipp Stephani <phst@google.com>
15717 Reimplement auto-saving to visited files
15719 This reacts to confusing behavior of 'auto-save-visited-file-name',
15722 * lisp/files.el (auto-save-visited-interval): New customization option.
15723 (auto-save-visited-mode): New global minor mode.
15724 (auto-save-visited-file-name): Make obsolete.
15725 (auto-save--timer): New internal helper variable.
15727 * doc/emacs/files.texi (Auto Save Files): Document
15728 'auto-save-visited-mode' instead of obsolete
15729 'auto-save-visited-file-name'.
15730 (Auto Save Control): Document customization option
15731 'auto-save-visited-interval'.
15733 2017-04-29 Paul Eggert <eggert@cs.ucla.edu>
15735 Allow bypassing of some checks when merging
15737 * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
15739 2017-04-29 Philipp Stephani <phst@google.com>
15741 Integrate module test with normal test suite
15743 * test/Makefile.in (ELFILES): Exclude module test if modules aren't
15745 (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
15746 correctly even if Emacs changes the current directory.
15747 ($(srcdir)/src/emacs-module-tests.log)
15748 ($(test_module)): Proper dependency tracking for test module.
15750 * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
15751 Remove 'check' target and EMACS variable, which are no longer
15753 (SO): Change to include period.
15755 * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
15756 environment variable to reliably find test data.
15758 * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
15761 2017-04-28 Glenn Morris <rgm@gnu.org>
15763 Broaden comint-password-prompt-regexp
15765 * lisp/comint.el (comint-password-prompt-regexp):
15766 Broaden the regexp, for non-English locales. (Bug#26698)
15768 2017-04-28 Stefan Monnier <monnier@iro.umontreal.ca>
15770 * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
15772 2017-04-28 Bartosz Duszel <bartosz.duszel@gmail.com>
15774 Don't pass the value of point to 'push-mark', as that's the default.
15776 * lisp/textmodes/bib-mode.el (mark-bib):
15777 * lisp/simple.el (mark-whole-buffer, yank):
15778 * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
15779 * lisp/progmodes/xscheme.el (xscheme-yank):
15780 * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
15781 * lisp/progmodes/perl-mode.el (perl-mark-function):
15782 * lisp/progmodes/pascal.el (pascal-mark-defun):
15783 * lisp/progmodes/meta-mode.el (meta-mark-defun):
15784 * lisp/progmodes/icon.el (mark-icon-function):
15785 * lisp/progmodes/cc-cmds.el (c-mark-function):
15786 * lisp/obsolete/vip.el (ex-goto):
15787 * lisp/obsolete/vi.el (vi-put-before):
15788 * lisp/mouse.el (mouse-yank-primary):
15789 * lisp/menu-bar.el (menu-bar-select-yank):
15790 * lisp/mail/sendmail.el (mail-yank-original):
15791 * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
15792 * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
15793 (viper-mark-end-of-buffer):
15794 * lisp/cedet/semantic/senator.el (senator-mark-defun):
15795 * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
15796 `(point)' from calls to `push-mark'. (Bug#25565)
15798 2017-04-28 Glenn Morris <rgm@gnu.org>
15800 Merge from origin/emacs-25
15802 784602b1050 (origin/emacs-25) ; Add release notice
15803 3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
15804 56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
15805 2b0d1118199 ; CONTRIBUTE: Remove stray header.
15806 f2ab09ec60d Fix a typo in indexing the user manual
15807 bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix. (Bug#26466)
15808 a6d50401b4b Document 'line-pixel-height'
15809 0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
15810 c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
15811 856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
15812 849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
15813 84938d79698 default-directory: Remark that it must be a directory name
15814 3f0d047d2eb Delete confuse statement in manual
15815 ee1bd94dd0c Improve packaging documentation
15816 fb18bff91f0 Expand manual section on quitting windows
15817 9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
15818 afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
15819 ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
15820 d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
15821 e0e9db4c84a ; Spelling fix
15827 # lisp/ldefs-boot.el
15829 2017-04-28 Glenn Morris <rgm@gnu.org>
15831 * doc/misc/auth.texi: Commas don't work in node names.
15833 * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
15835 2017-04-28 Paul Eggert <eggert@cs.ucla.edu>
15837 Test format-time-string with zone arg
15839 * test/src/editfns-tests.el (format-time-string-with-zone)
15840 (format-time-string-with-outlandish-zone): New tests.
15842 2017-04-28 Paul Eggert <eggert@cs.ucla.edu>
15847 2017-04-24 time_rz: fix heap buffer overflow vulnerability
15848 2017-04-23 stat-time: Update comments.
15849 2017-04-22 ftoastr: cite a newer paper
15850 2017-04-21 gettext-h: Avoid -Wundef warning.
15851 * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
15852 * m4/getopt.m4: Copy from gnulib.
15853 * m4/gnulib-comp.m4: Regenerate.
15855 2017-04-27 Damien Cassou <damien@cassou.me>
15857 auth-source-pass: Add documentation; fix tests and indentation.
15859 * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
15860 instead of @enumerate.
15861 * lisp/auth-source-pass.el: Fix indentation.
15862 (auth-source-pass--remove-directory-name): Remove.
15863 * test/lisp/auth-source-pass-tests.el: Adjust test macros.
15865 2017-04-27 foudfou <foudil.newbie+git@gmail.com>
15867 auth-source-pass: Enable finding entries by "host/username"
15869 * lisp/auth-source-pass.el: Enable finding entries by "host/username".
15870 * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
15872 2017-04-27 Damien Cassou <damien@cassou.me>
15874 Integrate auth-source with password-store
15876 * lisp/auth-source-pass.el: auth-source backend for password-store.
15877 * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
15880 2017-04-27 Damien Cassou <damien@cassou.me>
15882 * lisp/auth-source.el: Document parser functions.
15884 2017-04-27 Ted Zlatanov <tzz@lifelogs.com>
15886 auth-source: factor out parsers and add tests
15888 * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
15889 * test/lisp/auth-source-tests.el: Add tests.
15891 2017-04-27 Martin Rudalics <rudalics@gmx.at>
15893 Fix doc and customization type of `window-combination-limit' (Bug#26673)
15895 * src/window.c (Vwindow_combination_limit): Fix doc-string.
15896 * lisp/cus-start.el (window-combination-limit): Fix
15897 customization type.
15898 * doc/lispref/windows.texi (Recombining Windows): Fix
15899 documentation of `window-combination-limit'.
15901 2017-04-27 Tino Calancha <tino.calancha@gmail.com>
15903 Drop face from hi-lock--unused-faces only when used
15905 * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
15906 highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
15907 * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
15909 2017-04-26 Alan Third <alan@idiocy.org>
15911 Fix macOS version check (bug#26664)
15913 * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
15914 macOS versions 10.12+.
15916 2017-04-26 Glenn Morris <rgm@gnu.org>
15918 Make charprop.el provide a feature
15920 * admin/unidata/unidata-gen.el (unidata-gen-charprop):
15922 * lisp/loadup.el: Use the charprop feature.
15924 2017-04-26 Glenn Morris <rgm@gnu.org>
15926 * lisp/loadup.el: Get charprop.el into etc/DOC again.
15928 2017-04-26 Stefan Monnier <monnier@iro.umontreal.ca>
15930 * lisp/ido.el (ido-everywhere): Use add-function.
15932 2017-04-26 Martin Rudalics <rudalics@gmx.at>
15934 Try to fix latest fix of w32_mouse_position
15936 * src/w32term.c (w32_mouse_position): Fix a bug introduced by
15937 latest fix and try to make the affected code more rigorous.
15939 2017-04-26 Eli Zaretskii <eliz@gnu.org>
15941 Avoid segfaults when 'find-font' is invoked for a TTY frame
15943 * src/font.c (font_pixel_size): Don't call GUI functions if F is a
15944 text-mode frame. (Bug#26646)
15946 2017-04-26 Michael Albinus <michael.albinus@gmx.de>
15948 * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
15952 2017-04-26 Glenn Morris <rgm@gnu.org>
15954 * src/Makefile.in (leimdir): Remove variable, no longer used.
15956 2017-04-26 Glenn Morris <rgm@gnu.org>
15958 Generate leim-list via lisp/Makefile, not src/Makefile
15960 * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
15961 (emacs$(EXEEXT)): Don't depend on leim-list.
15962 * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
15964 2017-04-25 Alan Third <alan@idiocy.org>
15966 Fix define for GNUstep builds
15968 * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
15969 doesn't see the code.
15971 2017-04-25 Glenn Morris <rgm@gnu.org>
15973 Suppress intermittent test failure on hydra
15975 * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
15976 (eieio-test-method-order-list-6): Skip on hydra.
15978 2017-04-25 Alan Third <alan@idiocy.org>
15980 Fix some NS frame handling issues
15982 * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
15983 defines intended to make things tidier.
15984 (x_set_undecorated): Use the new defines.
15985 (windowWillResize): Don't use new macOS 12+ only feature.
15986 (initFrameFromEmacs): Use the new defines, and disable automatic
15987 window tabbing feature in macOS 12.
15988 (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
15989 x_set_z_group): Add NSTRACE notices.
15991 2017-04-25 Glenn Morris <rgm@gnu.org>
15993 Avoid parallel race condition
15995 * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
15997 2017-04-25 Glenn Morris <rgm@gnu.org>
15999 Generate each unicode lisp file independently
16001 This is better for parallel builds, eg it eliminates race
16002 conditions from having one process write multiple files.
16003 * admin/unidata/Makefile.in (lparen, unifiles): New variables.
16004 Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
16005 (all): Explicitly list the output lisp files.
16006 (PHONY_EXTRAS): Remove.
16007 (${unidir}/charprop.el): Change rule to just be for this file.
16008 (${unifiles}): New rule to write each unicode lisp file.
16009 (extraclean): Simplify.
16010 * admin/unidata/unidata-gen.el (unidata-gen-charprop):
16011 Quieten in batch mode.
16012 (unidata-gen-files): Remove, no longer used.
16013 * lisp/loadup.el: Update command-line parser.
16015 2017-04-25 Glenn Morris <rgm@gnu.org>
16017 Further refactoring in unidata-gen.el
16019 * admin/unidata/unidata-gen.el (unidata-gen-charprop):
16020 New function, split from unidata-gen-files.
16021 (unidata-gen-files): Use unidata-gen-charprop.
16023 2017-04-25 Glenn Morris <rgm@gnu.org>
16025 Allow unidata-gen-file to work independently
16027 * admin/unidata/unidata-gen.el (unidata-gen-file):
16028 Make it work as a stand-alone function in batch mode.
16029 (unidata-gen-files): Pass extra arguments to unidata-gen-file.
16031 2017-04-25 Glenn Morris <rgm@gnu.org>
16033 Preparatory refactoring in unidata-gen.el
16035 * admin/unidata/unidata-gen.el (unidata-gen-file):
16036 New function, split from unidata-gen-files.
16037 (unidata-gen-files): Use unidata-gen-file.
16039 2017-04-25 Glenn Morris <rgm@gnu.org>
16041 Write each generated character property lisp file only once
16043 * admin/unidata/unidata-gen.el (unidata-file-alist):
16044 Rename from unidata-prop-alist. All users changed.
16045 Use file name rather than property name as the key.
16046 (unidata-prop-prop): New function.
16047 (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
16048 (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
16049 Change to parse the argument rather than unidata-prop-alist.
16050 (unidata-gen-table-character, unidata-gen-table)
16051 (unidata-gen-table-symbol, unidata-gen-table-integer)
16052 (unidata-gen-table-numeric, unidata-gen-table-word-list)
16053 (unidata-gen-table-name, unidata-gen-table-decomposition)
16054 (unidata-gen-table-special-casing): Pass index as an argument.
16055 (unidata-check): Adapt to unidata-file-alist.
16056 Pass index to generator functions.
16057 (unidata-gen-files): Adapt to unidata-file-alist.
16058 Write each output file once only. Overwrite rather than delete.
16060 2017-04-25 Andrew G Cohen <cohen@andy.bu.edu>
16062 Fix requesting sparse articles in gnus
16064 * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
16065 sparse article number from the list, not its id.
16067 2017-04-25 Glenn Morris <rgm@gnu.org>
16069 Don't advertise s_client in tls.el docs
16071 * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
16072 Don't mention s_client in docs.
16074 2017-04-25 Rob Browning <rlb@defaultvalue.org>
16076 Remove s_client usage from tls.el
16078 * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
16079 Ref http://bugs.debian.org/766397
16080 http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00803.html
16082 2017-04-25 Glenn Morris <rgm@gnu.org>
16084 Further robustify cedet bootstrap to loaddefs not yet built
16086 * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
16087 Avoid void-function error when bootstrapping and semantic/loaddefs.el
16088 does not yet exist.
16090 2017-04-24 Alan Third <alan@idiocy.org>
16092 Fix XBM colour rendering in NS port (bug#22060)
16094 src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
16096 2017-04-24 Vibhav Pant <vibhavp@gmail.com>
16098 Add support for IRCv3 message tags.
16100 * lisp/erc/erc-backend.el:
16101 erc-response: Add `tags' element.
16102 Add (erc-parse-tags).
16103 (erc-parse-server-response): Use (erc-parse-tags) to parse message
16104 tags (if any), and store them in `erc-resopnse' struct.
16106 * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
16107 properties of the corresponding message line.
16109 2017-04-24 Lars Ingebrigtsen <larsi@gnus.org>
16111 Add image sizing tests for an image that's narrow
16113 Needlessly refactor tests for clarity
16115 2017-04-23 Philipp Stephani <phst@google.com>
16117 Add missing remappings for Ido mode
16119 Among others, add a remapping for C-x 4 d, cf. Bug#26360.
16121 * lisp/ido.el (ido-mode): Remap missing commands.
16122 (ido-file-internal, ido-visit-buffer): Add support for new
16124 (ido-display-buffer-other-frame)
16125 (ido-find-alternate-file-other-window, ido-dired-other-window)
16126 (ido-dired-other-frame): New commands.
16128 * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
16129 test for the bindings.
16131 2017-04-23 Martin Rudalics <rudalics@gmx.at>
16133 Let w32_mouse_position pick a child window only if it has a child frame
16135 * src/w32term.c (w32_mouse_position): When using a frame found
16136 by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
16139 2017-04-23 Noam Postavsky <npostavs@gmail.com>
16141 Don't require bytecomp for running ert tests
16143 "Fix ert-tests when running compiled" 2016-12-06 accidentally
16144 introduced a dependency on `bytecomp' into `ert'. As mentioned in
16145 "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
16146 on bytecomp was masked by loading other libraries until recently.
16148 * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
16149 `byte-compile-macro-environment' if it's bound.
16150 * test/src/eval-tests.el: Add defvar for dynamic variable
16151 `byte-compile-debug'.
16153 2017-04-23 Andrew G Cohen <cohen@andy.bu.edu>
16155 Eliminate unneeded warp-to-article in gnus article referral
16157 * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
16158 (gnus-summary-refer-article): Remove gnus-warp-to article call.
16160 2017-04-23 Andrew G Cohen <cohen@andy.bu.edu>
16162 Allow limiting gnus summary buffers to a thread
16164 * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
16165 an optional argument to allow limiting the summary buffer to just the
16166 thread-related articles.
16167 (gnus-refer-thread-limit-to-thread): Introduce customizable variable
16168 to control whether thread-referral adds the thread to the summary
16169 buffer or limits to just the thread.
16170 (gnus-summary-refer-thread): Use the new variable.
16172 2017-04-23 Andrew G Cohen <cohen@andy.bu.edu>
16174 Correct gnus-newsgroup-limits in gnus when including thread
16176 * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
16177 only add one list of thread-related articles to gnus-newsgroup-limits
16180 2017-04-23 Andrew G Cohen <cohen@andy.bu.edu>
16182 Improve gnus thread matching of similar subjects
16184 * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
16185 Use the more liberal gnus-general-simplify-subject regexp to
16186 find thread articles with similar subjects.
16188 2017-04-22 Noam Postavsky <npostavs@gmail.com>
16190 Add new `lisp-indent-region' that doesn't reparse the code.
16192 Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
16193 to get initial state, so they will no longer indent string literal
16196 * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
16197 `syntax-ppss', but with a more dependable item 2.
16198 (lisp-indent-region): New function, like `indent-region-line-by-line'
16199 but additionally keep a running parse state to avoid reparsing the
16200 code repeatedly. Use `lisp-ppss' to get initial state.
16201 (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
16202 `calculate-lisp-indent', use `lisp-ppss' if not given.
16203 (lisp-mode-variables): Set `indent-region-function' to
16204 `lisp-indent-region'.
16206 2017-04-22 Noam Postavsky <npostavs@gmail.com>
16208 Remove ignored argument from lisp-indent-line
16210 * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
16211 argument, the behavior has long since been handled in
16212 `indent-for-tab-command'. Also remove redundant `beg' and `shift-amt'
16213 variables and use `indent-line-to'.
16215 2017-04-22 Noam Postavsky <npostavs@gmail.com>
16217 * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
16219 2017-04-22 Noam Postavsky <npostavs@gmail.com>
16221 Don't reparse the sexp in indent-sexp (Bug#25122)
16223 * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
16224 PARSE-START be a parse state that can be reused.
16225 (indent-sexp): Pass the running parse state to calculate-lisp-indent
16226 instead of the sexp beginning position. Saving the
16227 CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
16228 needed. Don't bother stopping if we don't descend below init-depth,
16229 since we now alway scan the whole buffer (via syntax-ppss) anyway.
16230 * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
16233 2017-04-22 Vibhav Pant <vibhavp@gmail.com>
16235 Add cond test cases for singleton clauses.
16237 * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
16238 the default clause is a single non-nil expression.
16240 2017-04-22 Vibhav Pant <vibhavp@gmail.com>
16242 b-c--cond-jump-table-info: Use correct body for singleton clauses
16244 * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
16245 When a clause's body consists of a single constant expression, use
16246 that expression as the body to be compiled. This fixes switch bytecode
16247 evaluating to nil to such clauses.
16249 2017-04-22 Philipp Stephani <phst@google.com>
16251 ffap: Don't switch window unless needed
16253 When using ffap-other-window, don't change the window configuration
16254 unless a new buffer has actually been created (Bug#25352).
16256 * lisp/ffap.el (ffap-other-frame): Don't change the window
16257 configuration if no new buffer has been created.
16258 * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
16261 2017-04-22 Alan Mackenzie <acm@muc.de>
16263 Fix fontification of C++ declaration with type FOO::FOO.
16265 * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
16266 cfd-top-level properly.
16267 (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
16268 before deciding it is a constructor.
16270 * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
16271 result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
16274 2017-04-22 Philipp Stephani <phst@google.com>
16276 Fix usage of FRAME_Z_GROUP
16278 * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
16279 Lisp object, cf. Bug#26597.
16281 2017-04-22 Alan Third <alan@idiocy.org>
16285 * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
16287 * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
16289 2017-04-21 Alan Third <alan@idiocy.org>
16291 Add no-accept-focus and frame-list-z-order to NS port
16293 * lisp/frame.el (frame-list-z-order): Add NS.
16294 * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
16295 (Fx_create_frame): Handle no-accept-focus parameter.
16296 (ns_window_is_ancestor):
16297 (Fns_frame_list_z_order): New functions.
16298 * src/nsterm.m (x_set_no_accept_focus): New function.
16299 (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
16300 non-fullscreen windows.
16301 (EmacsWindow:canBecomeKeyWindow): New function.
16303 2017-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
16305 Improve prefix handling for dash.el
16307 * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
16308 Don't drop dash's "-<letter>" prefixes.
16310 2017-04-21 Stefan Monnier <monnier@iro.umontreal.ca>
16312 * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
16314 Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
16315 and use a different fix for bug#26068.
16316 (cl--symbol-macro-key): New function.
16317 (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
16318 * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
16319 Failure is not expected any more.
16321 2017-04-21 Eli Zaretskii <eliz@gnu.org>
16323 Avoid infinite loop in redisplay when header-line-format is invalid
16325 * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
16326 string has an invalid %-construct in it and is displayed as part
16327 of mode-line or header-line. (Bug#26586)
16329 2017-04-21 Lars Ingebrigtsen <larsi@gnus.org>
16331 Add tests to check image scaling functionality
16333 This is in preparation to doing further work in this area to avoid
16336 * test/data/image/blank-200x100.png: New file for testing
16339 * test/manual/image-size-tests.el: New file.
16341 2017-04-21 Lars Ingebrigtsen <larsi@gnus.org>
16343 Allow svg-image to take all create-image PROPS
16345 * lisp/svg.el (svg-image): Allow passing in PROPS when
16346 creating an image for convenience.
16348 2017-04-21 George D. Plymale II <georgedp@orbitalimpact.com> (tiny change)
16350 Treat non-erroring lisp call as successful eshell command (Bug#26161)
16352 This lets a compound command like 'cd .. && echo ok' print 'ok',
16353 similar to how most other shells behave.
16355 * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
16356 last exit code was zero, rather than first checking whether the last
16357 command returned nil.
16358 (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
16360 2017-04-21 Reuben Thomas <rrt@sc3d.org>
16362 Fix reading of tab settings in whitespace-mode
16364 lisp/whitespace.el (whitespace-indent-tabs-mode)
16365 whitespace-tab-width): Remove these variables. The underlying
16366 variables `indent-tabs-mode' and `tab-width' are already buffer-local
16367 when needed, and whitespace-mode never changes them.
16368 (whitespace-ensure-local-variables): Remove this function, which only
16369 existed to set the above variables.
16370 (whitespace-cleanup-region, whitespace-regexp)
16371 (whitespace-indentation-regexp, whitespace-report-region)
16372 (whitespace-turn-on, whitespace-color-on): Adjust these functions to
16373 use `indent-tabs-mode' and `tab-width' directly, and not call
16374 `whitespace-ensure-local-variables'.
16376 2017-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
16378 * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
16380 by simplifying ascii-test.
16382 2017-04-20 Vibhav Pant <vibhavp@gmail.com>
16384 bytecomp: Don't inline functions that use byte-switch (Bug#26518)
16386 * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
16387 FORM if the bytecode uses the byte-switch instruction. It is
16388 impossible to guess the correct stack depth while inlining such
16389 bytecode, resulting in faulty code.
16391 2017-04-20 Nicolas Petton <nicolas@petton.fr>
16393 Set Emacs version to 25.2 and update AUTHORS file
16395 * README: Set Emacs version to 25.2.
16396 * etc/HISTORY: Add release log.
16397 * lisp/ldefs-boot.el:
16399 * ChangeLog.2: Update.
16401 2017-04-20 Noam Postavsky <npostavs@gmail.com>
16403 Don't register "def" as an autoload prefix (Bug#26412)
16405 * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
16406 accept "def" as a prefix.
16408 2017-04-20 Stefan Monnier <monnier@iro.umontreal.ca>
16410 Use substring completion for Info menus and index
16412 * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
16413 (Info-menu): Simplify now that we use the `default' arg of completing-read.
16414 * lisp/minibuffer.el (completion-category-defaults): Use substring
16415 completion for `info-menu`.
16417 2017-04-19 Glenn Morris <rgm@gnu.org>
16419 Remove some explicit runtime loads of pcase
16421 Pcase is macros, so these should have used eval-when-compile.
16422 Anyway, pcase entry points are autoloaded, so the compiler handles it.
16423 * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
16424 * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
16425 * lisp/progmodes/xref.el: No need to require pcase.
16427 2017-04-19 Glenn Morris <rgm@gnu.org>
16429 Stop cl-lib loading pcase at runtime
16431 The cause was an unexpanded pcase-defmacro in cl-loaddefs.
16432 * lisp/emacs-lisp/autoload.el (make-autoload):
16433 Treat pcase-defmacro like defmacro.
16435 2017-04-19 Alan Third <alan@idiocy.org>
16437 Note frame documentation exceptions for NS builds
16439 * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
16442 2017-04-19 Alan Third <alan@idiocy.org>
16444 Fix bug introduced by my last commit
16446 * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
16448 2017-04-19 Alan Third <alan@idiocy.org>
16450 Add new frame functionality to NS port
16452 * lisp/frame.el (frame-restack): Call ns-frame-restack.
16453 * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
16454 MOVE_FRAME_EVENT handling.
16456 * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
16458 * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
16459 x_set_undecorated (Cocoa only) to handler struct.
16460 (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
16462 (Fns_frame_restack): New function.
16463 * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
16464 FRAME_TOOLBAR_HEIGHT is no longer a variable.
16465 * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
16466 Add #defines to find the screen position of the parent frame.
16467 (NS_TOP_POS): Remove defun.
16468 (EmacsView): Remove redundant toolbar variables and add createToolbar
16470 (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
16471 values instead of storing them in a variable.
16472 * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
16473 position into account when positioning frames.
16474 (initFrameFromEmacs): Remove toolbar creation code and handle new
16476 (x_set_window_size): Remove toolbar height calculation.
16478 (x_set_parent_frame):
16479 (x_set_undecorated) [NS_IMPL_COCOA]: New function.
16480 (x_destroy_window): Detach parent if child closes.
16481 (updateFrameSize): Change NSTRACE message to reflect new reality and
16482 no longer reset frame size.
16483 (windowWillResize): Don’t change NS window name when the titlebar
16485 (createToolbar): Move toolbar creation code into it’s own method.
16486 (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
16487 are no longer variables.
16488 (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
16490 2017-04-19 Glenn Morris <rgm@gnu.org>
16492 Tweak bytecomp's loading of cl-extra
16494 * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
16495 post-bootstrap emacs where cl-loaddefs does exist.
16497 2017-04-19 Glenn Morris <rgm@gnu.org>
16499 Avoid unnecessary loading of subr-x at run-time
16501 * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
16502 * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
16503 * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
16504 No need to load subr-x at run-time.
16505 * lisp/gnus/nnheader.el: No need to load subr-x.
16507 2017-04-18 michael schuldt <mbschuldt@gmail.com> (tiny change)
16509 Use iteration in math-factorial-iter
16511 * lisp/calc/calc-comb.el (math-factorial-iter):
16512 Use iteration instead of recursion to avoid max-specpdl-size problem.
16514 2017-04-18 Glenn Morris <rgm@gnu.org>
16516 * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
16518 2017-04-18 Glenn Morris <rgm@gnu.org>
16520 Avoid ert test failures
16522 * lisp/emacs-lisp/ert.el (ert--expand-should-1):
16523 Avoid errors related to undefined byte-compile-macro-environment.
16524 Somehow masked until very recently because loading seq (eg)
16525 loads bytecomp. http://hydra.nixos.org/build/51730765
16527 2017-04-18 Eli Zaretskii <eliz@gnu.org>
16529 Fix a typo in indexing the user manual
16531 * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
16533 2017-04-18 Noam Postavsky <npostavs@gmail.com>
16535 Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
16537 * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
16538 Rename from find-library--from-load-path. Check for `load-history'
16539 entries with nil FILE-NAMEs. Simplify by not double
16540 checking for suffixes and making use of `locate-file'.
16542 2017-04-18 Alan Third <alan@idiocy.org>
16543 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
16545 Use vfork if possible on Darwin (bug#26397)
16548 * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
16549 (vfork): Don't define.
16550 * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
16551 set, otherwise vfork.
16552 * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
16553 the controlling terminal instead of setsid.
16555 2017-04-18 Fran Litterio <flitterio@gmail.com>
16557 Small erc-kill-channel fix (bug#23700)
16559 * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
16561 2017-04-18 Glenn Morris <rgm@gnu.org>
16563 ediff: use user-error rather than debug-ignored-errors
16565 * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
16566 * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
16567 * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
16568 (ediff-check-version):
16569 * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
16570 * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
16571 (ediff-append-custom-diff, ediff-meta-show-patch)
16572 (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
16573 (ediff-get-meta-info, ediff-patch-file-form-meta):
16574 * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
16575 * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
16576 (ediff--check-ancestor-exists, ediff-toggle-read-only)
16577 (ediff-toggle-wide-display, ediff-toggle-multiframe)
16578 (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
16579 (ediff-next-difference, ediff-previous-difference)
16580 (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
16581 (ediff-save-buffer):
16582 * lisp/vc/ediff-wind.el (ediff-make-wide-display):
16583 * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
16584 (ediff-directories-internal, ediff-directory-revisions-internal)
16585 (ediff-regions-wordwise, ediff-regions-linewise)
16586 (ediff-load-version-control): Use user-error.
16587 (debug-ignored-errors): No longer modify.
16589 2017-04-18 Glenn Morris <rgm@gnu.org>
16591 mh-e: use user-error rather than debug-ignored-errors
16593 * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
16594 * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
16595 (debug-ignored-errors): No longer modify.
16597 2017-04-18 Glenn Morris <rgm@gnu.org>
16599 ispell.el: use user-error rather than debug-ignored-errors
16601 * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
16602 (debug-ignored-errors): No longer modify.
16604 2017-04-17 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
16606 * src/xterm.c (x_fill_rectangle): Now static.
16608 2017-04-17 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
16610 Tighten recently-added UTF-8 check
16612 * src/coding.c (encode_coding_utf_8): Now extern.
16613 * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
16614 Check for UTF-8, not just for multibyte.
16616 2017-04-17 David Engster <deng@randomsample.de>
16618 xml: Properly handle symbol-qnames for attribute parsing
16620 * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
16621 xml-ns argument (reverts aea67018) (Bug#26533).
16622 (xml-maybe-do-ns): Properly handle default namespace by not
16623 interning new symbol when 'special' flag is set.
16625 * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
16626 (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
16628 2017-04-17 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
16630 * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
16632 2017-04-17 Eli Zaretskii <eliz@gnu.org>
16634 Fix assertion violations when displaying thread-related error
16636 * src/process.c (Faccept_process_output): Don't assume a thread's
16637 name is always a string.
16639 2017-04-17 Paul Eggert <eggert@cs.ucla.edu>
16641 dired ‘M’ should not complain about ‘.’ and ‘..’
16643 * lisp/dired-aux.el (dired-do-redisplay):
16644 Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
16646 2017-04-17 Paul Eggert <eggert@cs.ucla.edu>
16648 Remove unused coding enums
16650 * src/coding.h (enum coding_system_type, enum end_of_line_type):
16653 2017-04-17 Paul Eggert <eggert@cs.ucla.edu>
16655 Work around bug with unibyte Linux consoles
16657 * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
16658 the terminal's coding system is unibyte (Bug#26396).
16660 2017-04-16 Teemu Likonen <tlikonen@iki.fi>
16662 Fix org-agenda's command for calendar-lunar-phases
16664 Function org-agenda-phases-of-moon tries to call a non-existing
16665 function calendar-phases-of-moon. The correct function is
16666 calendar-lunar-phases.
16668 2017-04-16 Michael Albinus <michael.albinus@gmx.de>
16670 Tuning for `separate' Tramp syntax
16672 * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
16673 (tramp-completion-file-name-regexp-separate): Simplify.
16675 * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
16678 2017-04-16 Alan Mackenzie <acm@muc.de>
16680 Fix bug #26529: C-h k errors with a lambda function bound to a key.
16682 * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
16683 `function' is a symbol before trying to get property `reader-construct' from
16686 2017-04-16 Simen Heggestøyl <simenheg@gmail.com>
16688 Fix highlighting of short selectors in CSS mode
16690 * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
16691 selectors where the part before a colon is only one character long,
16694 2017-04-16 Eli Zaretskii <eliz@gnu.org>
16696 Fix redisplay performance problems with some fonts
16698 * src/font.c (font_list_entities): Revert part of the changes
16699 introduced on Apr 2, 2014 to fix bug#17125. It turns out having
16700 zero_vector in the font-cache is an important indication that
16701 cannot be removed. (Bug#21028)
16703 2017-04-16 Eli Zaretskii <eliz@gnu.org>
16705 Add assertion to STRING_SET_CHARS
16707 * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
16708 to prevent incorrect usage. For details, see this discussion:
16709 http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00412.html.
16711 2017-04-16 Eli Zaretskii <eliz@gnu.org>
16713 Avoid compilation warnings on MS-Windows
16715 * src/w32term.c (w32_read_socket): Avoid compiler warnings about
16716 parentheses around assignment.
16717 * src/w32fns.c (w32_createwindow): Remove unused variable
16718 dwStyle. Use "|=" where appropriate.
16720 2017-04-16 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
16725 2017-04-14 intprops: try to avoid tickling similar bugs
16726 2017-04-14 intprops: port to Oracle Studio 12.3 x86
16727 * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
16729 2017-04-15 Martin Rudalics <rudalics@gmx.at>
16731 Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
16733 * lisp/window.el (with-displayed-buffer-window): When a
16734 'window-height' action alist entry specifies a function, call
16735 `temp-buffer-window-show' with a '(window-height . t)' dummy
16736 entry so `window--try-to-split-window' will bind
16737 `window-combination-limit' to t and that function does not
16738 resize any other window but the one we split this one off
16739 (Bug#25055, Bug#25179).
16740 (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
16741 we steal space only from windows in the same combination.
16742 Stealing space from other windows would not allow us to return
16743 that space later when this window is deleted (Bug#25055,
16746 2017-04-15 Glenn Morris <rgm@gnu.org>
16748 Avoid userlock queries hanging forever in batch mode
16750 * lisp/userlock.el (ask-user-about-lock)
16751 (ask-user-about-supersession-threat): Abort in batch mode.
16753 2017-04-14 Martin Rudalics <rudalics@gmx.at>
16755 Fix segfault when calling frame_ancestor_p (Bug#26493)
16757 * src/xterm.c (handle_one_xevent): Check that hf was not reset
16758 before calling frame_ancestor_p (Bug#26493).
16760 2017-04-14 Martin Rudalics <rudalics@gmx.at>
16762 A few additional copy-edits in documentation of frames
16764 * doc/lispref/frames.texi (Frame Layout)
16765 (Implied Frame Resizing): Windows -> MS-Windows.
16766 (Deleting Frames): Fix typo.
16768 2017-04-14 Glenn Morris <rgm@gnu.org>
16770 Use user-error for some ert.el errors
16772 * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
16773 (ert-results-find-test-at-point-other-window, ert-describe-test):
16776 2017-04-14 Glenn Morris <rgm@gnu.org>
16778 Use user-error for customize's "invalid face" error
16780 * lisp/cus-edit.el (customize-face): Use user-error.
16781 (debug-ignored-errors): No more need to add "Invalid face".
16783 2017-04-14 Glenn Morris <rgm@gnu.org>
16785 Remove duplicate lisp-eval-defun definition
16787 * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
16788 Autoload rather than defining a stub.
16790 2017-04-14 Glenn Morris <rgm@gnu.org>
16792 * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
16794 2017-04-14 Glenn Morris <rgm@gnu.org>
16796 Create generated lisp files before main loaddefs.el
16798 This should improve reproducibility of lisp/loaddefs.el.
16799 * lisp/Makefile.in (gen-lisp): New phony target.
16800 ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
16801 * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
16802 * lisp/cedet/semantic.el (semantic-mode):
16803 * lisp/cedet/semantic/fw.el (top-level):
16804 * lisp/emacs-lisp/eieio-core.el (top-level):
16805 Robustify to generated input files maybe not yet existing.
16807 2017-04-14 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
16809 Fix minor quoting issues in Makefile.in
16811 * Makefile.in (install-arch-dep, uninstall):
16812 Quote EMACS and EMACS_NAME more consistently.
16814 2017-04-13 Glenn Morris <rgm@gnu.org>
16816 * Makefile.in (install-etc): Use existing Makefile variables.
16818 2017-04-13 Eli Zaretskii <eliz@gnu.org>
16820 Minor copyedits of recent changes in documentation
16822 * doc/lispref/frames.texi (Frame Layout, Frame Position)
16823 (Frame Size, Frame Interaction Parameters, Input Focus)
16824 (Raising and Lowering, Child Frames): Improve wording and indexing.
16825 * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
16827 2017-04-13 Glenn Morris <rgm@gnu.org>
16829 Small src/Makefile simplification
16831 * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
16832 ($(lispsource)/term/ns-win.elc): Combine rules.
16834 2017-04-13 Simen Heggestøyl <simenheg@gmail.com>
16836 Add grid layout module to CSS property list
16838 * lisp/textmodes/css-mode.el (css-property-alist)
16839 (css-value-class-alist): Add new properties and value classes from CSS
16840 Grid Layout Module.
16842 2017-04-13 Martin Rudalics <rudalics@gmx.at>
16844 Describe recent frame and window changes in manuals
16846 * doc/emacs/emacs.texi (Top):
16847 * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
16848 "outer border" (for the X border which can be set from within
16849 Emacs) and "external border" (for the border which is added by
16850 the window manager).
16851 * doc/lispref/display.texi (Tooltips): Clarify slightly.
16852 * doc/lispref/elisp.texi (Top): Update node and section names.
16853 * doc/lispref/frames.texi (Frames): Describe difference between
16854 top-level and child frames.
16855 (Frame Layout): Describe outer border. Add more details about
16856 how Emacs obtains the outer size and position of a frame and
16857 about menu bar/tool bar wrapping. Add references to new frame
16859 (Size and Position): Remove subsection.
16860 (Frame Position): New subsection excerpted from the earlier Size
16861 and Position subsection. Clarify positioning concepts and
16862 some of their shortcomings. Describe `move-frame-functions'.
16863 (Frame Size): New subsection excerpted from the earlier Size
16864 and Position subsection. Describe how to track frame size
16865 changes and the new function `frame-size-changed-p'.
16866 (Position Parameters): Describe child frame positioning. Warn
16867 about negative offsets. Describe 'z-group' parameter.
16868 (Size Parameters): Describe 'text-pixels' specification
16869 facility and new 'min-width' and 'min-height' parameters.
16870 (Layout Parameters): Clarify description of 'tool-bar-lines' and
16871 'menu-bar-lines' parameters.
16872 (Frame Interaction Parameters): New subsubsection describing
16873 'parent-frame', 'delete-before', 'mouse-wheel-frame' and
16874 'no-other-frame' parameters.
16875 (Management Parameters): Describe 'skip-taskbar',
16876 'no-focus-on-map', 'no-accept-focus', 'undecorated' and
16877 'override-redirect' parameters.
16878 (Deleting Frames): Describe handling of 'delete-before'
16879 parameter and child frames for `delete-frame' and
16880 `delete-other-frames'.
16881 (Finding All Frames): Describe `frame-list-z-order' and handling
16882 of 'no-other-frame' parameter by `next-frame'.
16883 (Minibuffers and Frames): Minor clarifications.
16884 (Input Focus): Document `x-focus-frame'. Clarify descriptions
16885 of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
16886 (Visibility of Frames): Describe mapping and how the visibility
16887 of a parent frame affects that of its child frames.
16888 (Raising and Lowering): Describe restacking of frames and
16890 (Child Frames): New section.
16891 * doc/lispref/windows.texi (Selecting Windows): Describe
16892 additional semantics of NORECORD argument of `select-window' and
16893 how `buffer-list-update-hook' can emulate a "select window
16895 (Mouse Window Auto-selection): New section.
16897 2017-04-13 Damien Cassou <damien@cassou.me>
16899 Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
16901 * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
16903 * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
16905 2017-04-13 Eli Zaretskii <eliz@gnu.org>
16907 Avoid unnecessary regeneration of the entire loaddefs.el
16909 * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
16910 why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
16911 ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
16912 loaddefs.tmp before running 'batch-update-autoloads' on it, to
16913 avoid slow regeneration of the full contents. (Bug#26459)
16914 Use 'move-if-change' instead of 'mv', to avoid producing a new
16915 Emacs binary when not necessary.
16917 2017-04-13 Dmitry Gutov <dgutov@yandex.ru>
16919 Handle indentation of nested ternary operators in JS
16921 * lisp/progmodes/js.el (js--looking-at-operator-p):
16922 Handle nested ternary operators.
16924 2017-04-12 Eli Zaretskii <eliz@gnu.org>
16926 Don't call 'kill-this-buffer' outside of menus
16928 * lisp/simple.el (kill-current-buffer): New function.
16929 (completion-list-mode-map): Use it instead of kill-this-buffer.
16930 * lisp/type-break.el (type-break-mode):
16931 * lisp/term/ns-win.el (global-map):
16932 * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
16933 (gdb-disassembly-mode-map, gdb-frames-mode-map)
16934 (gdb-locals-mode-map, gdb-registers-mode-map):
16935 * lisp/org/org-mhe.el (org-mhe-follow-link):
16936 * lisp/net/secrets.el (secrets-mode-map):
16937 * lisp/net/eudc.el (eudc-mode-map):
16938 * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
16939 kill-current-buffer instead of kill-this-buffer. (Bug#26466)
16941 2017-04-12 Eli Zaretskii <eliz@gnu.org>
16943 * lisp/menu-bar.el (kill-this-buffer): Doc fix. (Bug#26466)
16945 2017-04-12 Martin Rudalics <rudalics@gmx.at>
16947 New internal-border face and args for select-window and x-focus-frame
16949 Add `internal-border' face and handle it whenever clearing the
16950 internal border. If NORECORD equals the symbol
16951 'mark-for-redisplay', `select-window' will not record the window
16952 but still mark it for redisplay. The new argument NOACTIVATE
16953 for `x-focus-frame' tries to not activate FRAME when set.
16955 * lisp/faces.el (internal-border): New face.
16956 * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
16957 `mark-for-redisplay'.
16958 * lisp/scroll-bar.el (scroll-bar-drag)
16959 (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
16960 (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
16961 (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
16962 with `mark-for-redisplay'.
16963 * lisp/window.el (handle-select-window): When
16964 `focus-follows-mouse' is not 'auto-raise' try to not activate
16966 * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
16967 * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
16968 * src/frame.h (x_focus_frame): Update extern declaration.
16969 * src/gtkutil.c (xg_clear_under_internal_border): Remove
16971 (xg_frame_resized, xg_frame_set_char_size): Call
16972 x_clear_under_internal_border.
16973 (xg_tool_bar_callback): Adapt x_focus_frame call.
16974 * src/gtkutil.h (xg_clear_under_internal_border): Remove
16976 * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
16977 * src/w32fns.c (x_clear_under_internal_border): Fill border
16978 with internal-border background if specified.
16979 * src/w32term.h (x_clear_under_internal_border): Add extern
16981 * src/w32term.c (x_after_update_window_line): Fill border
16982 with internal-border background if specified.
16983 (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
16984 (x_scroll_bar_clear, w32_read_socket): Call
16985 x_clear_under_internal_border.
16986 (x_focus_frame): New argument NOACTIVATE.
16987 * src/window.c (select_window): Mark WINDOW for redisplay when
16988 NORECORD equals 'mark-for-redisplay'.
16989 (Fselect_window): Update doc-string.
16990 (syms_of_window): Define Qmark_for_redisplay.
16991 * src/xdisp.c (clear_garbaged_frames, echo_area_display)
16992 (redisplay_internal): Call x_clear_under_internal_border.
16993 * src/xfaces.c (lookup_basic_face): Handle `window-divider'
16994 and `internal-border' faces.
16995 (realize_basic_faces): Realize `internal-border' face.
16996 (syms_of_xfaces): Define Qinternal_border.
16997 * src/xfns.c (x_set_internal_border_width): Remove call for
16998 xg_clear_under_internal_border.
16999 (x_focus_frame): New argument NOACTIVATE. When non-nil try to not
17001 * src/xterm.c (x_fill_rectangle): No more static.
17002 (x_clear_under_internal_border, x_after_update_window_line):
17003 Fill border with internal-border background if specified.
17004 (xt_horizontal_action_hook): Rewrite.
17005 (handle_one_xevent): Call x_clear_under_internal_border.
17006 * src/xterm.h (x_fill_rectangle): Add extern declaration.
17008 2017-04-12 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
17010 Port recent frame changes to --enable-gcc-warnings
17012 * src/frame.c (next_frame, prev_frame):
17013 Remove now-redundant assertions.
17014 * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
17016 2017-04-12 Tak Kunihiro <tkk@misasa.okayama-u.ac.jp>
17018 Scroll right and left using wheel-right and wheel-left.
17020 These changes also make use of touchpad and trackpad (Bug#26347).
17022 * doc/emacs/frames.texi (Mouse Commands): Document horizontal
17023 scrolling using the mouse wheel.
17025 * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
17026 (mwheel-tilt-scroll-p, mwheel-flip-direction)
17027 (mwheel-scroll-left-function, mwheel-scroll-right-function): New
17029 (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
17030 events that calls wheel-left/right.
17032 * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
17034 2017-04-12 Eli Zaretskii <eliz@gnu.org>
17036 * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
17038 2017-04-12 Martin Rudalics <rudalics@gmx.at>
17040 Add new frame parameters and associated functions
17042 Add new frame parameters `undecorated', `override-redirect',
17043 `parent-frame', `skip-taskbar', `no-focus-on-map',
17044 `no-accept-focus', `z-group', `delete-before', `no-other-frame',
17045 `mouse-wheel-frame', `min-width', `min-height'. Add new
17046 functions `frame-restack' and `frame-list-z-order'.
17048 * lisp/cus-start.el (focus-follows-mouse): Adapt customization
17050 * lisp/frame.el (handle-delete-frame): Handle child and
17051 `delete-before' frames.
17052 (other-frame): Stop looking for other frame after one round.
17053 (frame-list-z-order, frame-restack): New functions.
17054 (delete-other-frames): Handle child frames.
17055 * lisp/frameset.el (frameset-persistent-filter-alist)
17056 (frameset--record-relationships): Handle `delete-before',
17057 `parent-frame' and `mouse-wheel-frame' parameters. Rename
17058 latter from `frameset--record-minibuffer-relationships'.
17059 (frameset--restore-frame): Handle ‘parent-frame’ parameter
17061 (frameset-restore): Handle `delete-before', `parent-frame' and
17062 `mouse-wheel-frame' parameters.
17063 * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
17065 * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
17066 (mouse-autoselect-window-select, handle-select-window): Major
17067 rewrite. Try to not ignore errors. Handle auto-selection of
17068 child frames and different values of `focus-follows-mouse'.
17069 * src/frame.c (frame_windows_min_size): Handle new `min-width'
17070 and `min-height' frame parameters.
17071 (make_frame): Initialize new frame structure members.
17072 (do_switch_frame): Don't reset internal_last_event_frame for
17074 (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
17076 (candidate_frame): Don't return `no-other-frame' frame.
17077 (other_frames): New function replacing other_visible_frames.
17078 (delete_frame): Rewrite. Handle child and `delete-before' frames.
17079 (Fmake_frame_invisible): Call other_frames.
17080 (store_frame_param): Check `delete-before' and `parent-frame'
17081 parameters for circular dependencies.
17082 (frame_parms, syms_of_frame): Add entries for and define new
17084 (focus_follows_mouse): New meaningful value `auto-raise'.
17085 * src/frame.h (z_group): New enumeration type.
17086 (frame): New slots parent_frame, undecorated, override_redirect,
17087 skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
17088 (fset_parent_frame): New inlined function.
17089 (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
17090 (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
17091 (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
17092 (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
17093 (FRAME_Z_GROUP_BELOW): New macros.
17094 (frame_ancestor_p): Add declaration.
17095 * src/gtkutil.c (xg_create_frame_widgets): Handle
17096 `undecorated' and `override-redirect' frame parameters.
17097 (x_wm_set_size_hint): None for child frames.
17098 (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
17099 (xg_set_no_focus_on_map, xg_set_no_accept_focus)
17100 (xg_set_override_redirect): New functions.
17101 (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
17102 Don't let scrollbars obscure child frames.
17103 * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
17104 (xg_set_skip_taskbar, xg_set_no_focus_on_map)
17105 (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
17107 * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
17109 (Fx_create_frame): Install `min-width' and `min-height' frame
17111 * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
17112 * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
17113 (x_real_positions): Handle child frames.
17114 (x_set_menu_bar_lines): Don't for child frames.
17115 (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
17116 (x_set_no_focus_on_map, x_set_no_accept_focus)
17117 (x_set_z_group): New functions.
17118 (w32_createvscrollbar, w32_createhscrollbar): Don't draw
17119 scroll bars over child frames.
17120 (w32_createwindow): Handle new frame parameters and child frames.
17121 (w32_wnd_proc): Let mouse clicks into a child frame activate
17122 the frame. Try to handle the `no-accept-focus' parameter. Do
17123 SetFocus when our window is brought to top or becomes the
17125 (w32_window): Don't initialize menu bar for child frames.
17126 (Fx_create_frame): Handle new frame parameters.
17127 (x_create_tip_frame): Set explicit_parent slot.
17128 (w32_dialog_in_progress): New function.
17129 (Fx_file_dialog): Handle `z-group-above' frames.
17130 (w32_frame_list_z_order, Fw32_frame_list_z_order)
17131 (w32_frame_restack, Fw32_frame_restack): New functions.
17132 (w32_frame_parm_handlers): Add entries for new frame
17134 * src/w32font.c (Fx_select_font): Handle `z-group-above'
17135 frames during font selection dialogue.
17136 * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
17137 event from F's w32 window.
17138 (w32_mouse_position): Handle child frames.
17139 (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
17140 Don't draw scroll bars over child frames.
17141 (w32_read_socket): Always erase background of child frames.
17142 When generating SELECT_WINDOW_EVENTs handle new value of
17143 `focus-follows-mouse' and handle `no-accept-focus' parameter.
17144 Handle `mouse-wheel-frame' parameter.
17145 (x_calc_absolute_position, x_set_offset, x_set_window_size):
17146 Handle child frames.
17147 (x_make_frame_visible): Handle child frames specially. Handle
17148 `no-focus-on-map' parameter.
17149 * src/w32term.h (w32_dialog_in_progress): Add external
17151 * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
17153 * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
17154 (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
17155 non-Motif, non-GTK case.
17156 (x_real_pos_and_offsets): Handle child frames.
17157 (x_set_undecorated, x_set_parent_frame)
17158 (x_set_no_focus_on_map, x_set_no_accept_focus)
17159 (x_set_override_redirect): New functions.
17160 (x_set_menu_bar_lines): Not for child frames.
17161 (x_window): Handle `undecorated' and `override_redirect' cases.
17162 (Fx_create_frame): Handle new frame parameters.
17163 (frame_geometry): Handle child frames and outer border.
17164 (x_frame_list_z_order, Fx_frame_list_z_order)
17165 (x_frame_restack, Fx_frame_restack): New functions.
17166 (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
17167 (x_frame_parm_handlers): Add entries for new frame parameters.
17168 * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
17170 * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
17172 (XTmouse_position): Handle child frames.
17173 (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
17174 bars obscure child frames.
17175 (handle_one_xevent): Handle child frame positions. If necessary
17176 set `skip-taskbar' and reassign proper `z-group' when we are
17177 mapped. When generating SELECT_WINDOW_EVENTs handle new value
17178 of `focus-follows-mouse'. Handle `mouse-wheel-frame' parameter.
17179 Let mouse clicks into a child frame activate the frame.
17180 (x_calc_absolute_position, x_set_offset): Handle child frames
17182 (x_set_skip_taskbar, x_set_z_group): New functions.
17183 (x_make_frame_visible): Handle child frames.
17184 (ATOM_REFS_INIT): Add entries for
17185 Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
17186 Xatom_net_wm_state_below.
17187 * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
17188 Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
17189 (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
17191 2017-04-11 Glenn Morris <rgm@gnu.org>
17193 Update a package test for hydra
17195 * test/lisp/emacs-lisp/package-tests.el (with-package-test):
17196 Also bind package-gnupghome-dir, see eg
17197 http://hydra.nixos.org/build/51462182 .
17199 2017-04-11 Martin Rudalics <rudalics@gmx.at>
17201 Frame movement, focus and hook related changes
17203 New hook `move-frame-functions'. Run `focus-in-hook'
17204 after switching to frame that gets focus. Don't run
17205 XMoveWindow for GTK.
17207 * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
17210 * src/frame.c (do_switch_frame): Simplify code.
17211 (Fhandle_switch_frame): Switch frame before running
17213 (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
17214 (Vmove_frame_functions): New hook variable.
17215 * src/keyboard.c (kbd_buffer_get_event): Handle
17216 MOVE_FRAME_EVENT. Handle SELECT_WINDOW_EVENT separately.
17217 (head_table): Add Qmove_frame entry.
17218 (syms_of_keyboard): Add Qmove_frame.
17219 (keys_of_keyboard): Define key for `move-frame'.
17220 * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
17221 * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
17222 * src/window.c (run_window_size_change_functions): Record size of
17223 FRAME's minibuffer window too.
17224 * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
17225 (x_set_offset): For GTK call gtk_widget_move instead of
17228 2017-04-11 Werner LEMBERG <wl@gnu.org>
17230 Avoid abort in ftfont.c due to faulty fonts
17232 * src/ftfont.c (ftfont_get_metrics): Try loading the font without
17233 hinting, before aborting. (Bug#25945)
17235 2017-04-11 Eli Zaretskii <eliz@gnu.org>
17237 Document 'line-pixel-height'
17239 * doc/lispref/display.texi (Size of Displayed Text): Document
17240 line-pixel-height. Suggested by Tak Kunihiro
17241 <tkk@misasa.okayama-u.ac.jp>. (Bug#26379)
17243 2017-04-11 Jens Lechtenboerger <jens.lechtenboerger@fsfe.org>
17245 Introduce customizable variable 'package-gnupghome-dir'
17247 * lisp/emacs-lisp/package.el (package-import-keyring)
17248 (package--check-signature-content, package-check-signature):
17249 Use new variable package-gnupghome-dir to control which GnuPG
17251 * doc/emacs/package.texi: Mention package-gnupghome-dir.
17252 * etc/NEWS: Mention package-gnupghome-dir.
17254 2017-04-11 Martin Rudalics <rudalics@gmx.at>
17256 Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
17258 This activates a change that was installed a few weeks ago but whose
17259 ChangeLog was inadvertently dropped during its commit. The proper
17260 ChangeLog is included below as part of the present commit.
17262 * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
17263 is set avoid calling x_gtk_parse_geometry (Bug#25851).
17264 (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
17265 PPosition, USPosition and USSize flags if requested.
17266 * src/xterm.c (x_set_offset): With GTK when
17267 x_gtk_use_window_move is set, leave it entirely to
17268 gtk_window_move to position the window and skip any
17269 post-adjustments (Bug#25851 and Bug#25943).
17270 (x_gtk_use_window_move): New variable.
17272 2017-04-10 Alan Mackenzie <acm@muc.de>
17274 Fix a loop in C Mode caused by inadequate analysis of comments.
17276 After M-;, and the insertion of the opening "/*", the CC Mode after-change
17277 function got confused, since the new comment opener matched the end of a
17278 subsequent comment, but moving back over that comment did not come back to the
17279 starting point. Fix this.
17281 * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
17282 point is left if no end-of-macro is found before it.
17283 (c-forward-sws): Change the `safe-start' mechanism. Now `safe-start' is
17284 non-nil except where we have an unclosed block comment at the end of a macro.
17285 This enables us to populate the cache more fully, at the cost of some run
17288 2017-04-10 Lars Brinkhoff <lars@nocrew.org>
17290 Add PVSIZE function to return the size of a pseudovector.
17292 * src/lisp.h (PVSIZE): New function.
17294 * src/chartab.c (copy_char_table):
17295 * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
17296 * src/doc.c (Fdocumentation, store_function_docstring):
17297 * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
17298 * src/fns.c (Flength, Fcopy_sequence):
17299 * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
17300 * src/lread.c (substitute_object_recurse):
17301 * src/print.c (print_object):
17304 2017-04-10 Michael Albinus <michael.albinus@gmx.de>
17308 * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
17310 * test/lisp/net/tramp-tests.el
17311 (tramp-test01-file-name-syntax-simplified)
17312 (tramp-test01-file-name-syntax-separate)
17313 (tramp-test02-file-name-dissect-simplified)
17314 (tramp-test02-file-name-dissect-separate): New tests.
17316 2017-04-10 Martin Rudalics <rudalics@gmx.at>
17318 Make sure that `shell' makes BUFFER current
17320 * lisp/shell.el (shell): Restrict scope of recently added
17321 `with-current-buffer' to make sure that BUFFER is current when
17324 2017-04-10 Jim Blandy <jimb@red-bean.com>
17326 Default to PCRE syntax when reading .hgignore
17328 * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
17329 Default to the PCRE syntax (bug#26249).
17331 2017-04-09 Michael Albinus <michael.albinus@gmx.de>
17333 Document Tramp changes
17335 * doc/misc/tramp.texi (Change file name syntax): New node.
17337 * etc/NEWS: Mention `tramp-change-syntax'.
17339 * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
17340 External packages uses it.
17341 (tramp-syntax): Set also `tramp-file-name-regexp'.
17343 2017-04-09 Paul Eggert <eggert@cs.ucla.edu>
17345 Merge from gnulib (Bug#26398)
17348 2017-04-08 getopt: prefer - to _ in new file names
17349 2017-04-08 getopt: port recent getopt changes to macOS
17350 * .gitignore: Add lib/getopt-cdefs.h.
17351 * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
17352 * lib/getopt-core.h: Rename from lib/getopt_core.h.
17353 * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
17354 * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
17355 * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
17356 * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
17358 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
17360 2017-04-09 Ken Raeburn <raeburn@raeburn.org>
17362 Write updated loaddefs to a temporary file and rename into place.
17364 In a parallel build, byte compilation can be running at the same times
17365 as loaddefs.el is being regenerated. However, in a CANNOT_DUMP build,
17366 loaddefs.el is read at startup and must always be in a usable state.
17368 * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
17369 loaddefs.el.new and then rename it to loaddefs.el.
17371 2017-04-09 Glenn Morris <rgm@gnu.org>
17373 In the manual, mention pops and imaps
17375 * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
17376 Mention pops and imaps protocols.
17378 2017-04-09 Glenn Morris <rgm@gnu.org>
17380 * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
17382 2017-04-09 Sergey Poznyakoff <gray@gnu.org>
17384 Fix rmail handling of movemail protocols (bug#18278)
17386 * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
17387 (rmail-parse-url): Return protocol in second list element.
17388 Only use passwords with remote mailboxes.
17389 (rmail-insert-inbox-text): Handle non-simple local
17390 mailboxes (maildir, MH, etc.).
17392 2017-04-09 Glenn Morris <rgm@gnu.org>
17394 Fix typos in manual re movemail local mailboxes
17396 * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
17397 Fix examples of local mailbox urls.
17399 2017-04-08 Glenn Morris <rgm@gnu.org>
17401 * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
17403 2017-04-08 Glenn Morris <rgm@gnu.org>
17405 Remove references to OS/2 in code, doc, and comments
17407 * lisp/gnus/nnheader.el (nnheader-read-timeout)
17408 (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
17409 * lisp/emulation/viper-util.el (viper-color-defined-p):
17410 * lisp/net/pop3.el (pop3-read-timeout):
17411 * lisp/net/imap.el (imap-read-timeout):
17412 * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
17413 * lisp/emulation/viper-ex.el (viper-glob-function):
17414 * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
17415 * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
17416 * doc/emacs/msdos-xtra.texi (MS-DOS):
17417 * doc/misc/gnus.texi (Various Various):
17418 * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
17420 2017-04-08 Michael Albinus <michael.albinus@gmx.de>
17424 * lisp/net/tramp-cmds.el (tramp-change-syntax):
17425 Use `tramp-syntax-values'.
17427 * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
17429 * lisp/net/tramp.el (tramp-syntax): Rename possible values.
17430 (tramp-syntax-values): New defun.
17431 (tramp-prefix-format, tramp-method-regexp)
17432 (tramp-postfix-method-format, tramp-prefix-ipv6-format)
17433 (tramp-postfix-ipv6-format, tramp-postfix-host-format)
17434 (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
17435 and changed values.
17436 (tramp-completion-file-name-regexp-default): Rename from
17437 `tramp-completion-file-name-regexp-unified'. Adapt docstring.
17438 (tramp-completion-file-name-regexp-simplified): Rename from
17439 `tramp-completion-file-name-regexp-old-style'. Adapt docstring.
17440 (tramp-initial-completion-file-name-regexp):
17441 Use `tramp-completion-file-name-regexp-default'.
17442 (tramp-run-real-handler): Do not autoload any longer.
17444 2017-04-08 Mark Oteiza <mvoteiza@udel.edu>
17446 Replace more nested ifs with cond
17448 This is a continuation of d526047 "Replace more nested ifs with cond".
17449 * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
17450 when and cond where appropriate.
17452 2017-04-08 Mark Oteiza <mvoteiza@udel.edu>
17454 Adjust the edebug spec of if-let*
17456 This was fixed in Bug#24748, but now looking more closely, using gate in
17457 the spec seems correct. See (info "(elisp) Backtracking").
17458 * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
17460 2017-04-08 Mark Oteiza <mvoteiza@udel.edu>
17462 Replace some uses of cl-member-if with apply
17464 From the mhtml-mode series. Some of the uses of cl-lib are not
17466 * lisp/align.el: Don't require cl-lib.
17467 (align-region): Use apply instead of cl-member-if.
17468 * lisp/emulation/viper.el: Don't require cl-lib.
17469 (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
17472 2017-04-08 Philipp Stephani <phst@google.com>
17474 Validate SPEC of `dolist', cf. Bug#25477.
17476 * lisp/subr.el (dolist): Test type and length of SPEC.
17477 * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
17480 2017-04-08 Philipp Stephani <phst@google.com>
17482 Add unit test for Bug#26378
17484 * test/lisp/vc/ediff-diff-tests.el
17485 (ediff-diff-tests--ediff-exec-process--nil): New unit test.
17487 2017-04-08 Lars Brinkhoff <lars@nocrew.org>
17489 Fix circular read syntax for records.
17491 * src/lread.c (substitute_object_recurse): Work with records.
17493 * test/src/lread-tests.el (lread-record-1): New test.
17495 2017-04-08 Paul Eggert <eggert@cs.ucla.edu>
17497 Deprecate copy-record in favor of copy-sequence
17499 Since copy-sequence seems to be needed anyway for records, have it
17500 work on records, and remove copy-record as being superfluous.
17501 * doc/lispref/records.texi (Records, Record Functions):
17502 * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
17503 * lisp/emacs-lisp/eieio.el (make-instance, clone):
17504 * test/src/alloc-tests.el (record-3):
17505 Use copy-sequence, not copy-record, to copy records.
17506 * doc/lispref/sequences.texi (Sequence Functions)
17507 (Array Functions): Document that aref and copy-sequence
17509 * etc/NEWS: Omit copy-record.
17510 * src/alloc.c (Fcopy_record): Remove.
17511 * src/data.c (Faref): Document that arg can be a record.
17512 * src/fns.c (Fcopy_sequence): Copy records, too.
17514 2017-04-08 Paul Eggert <eggert@cs.ucla.edu>
17516 Fix dependency checking in src/Makefile.in
17518 * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
17519 dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
17520 Otherwise, some dependencies will be missed.
17522 2017-04-08 Paul Eggert <eggert@cs.ucla.edu>
17524 Minor tuneup of write-region change
17526 * src/fileio.c (write_region): Use SCHARS, not Flength,
17527 on a value known to be a string.
17529 2017-04-08 Noam Postavsky <npostavs@gmail.com>
17531 Adjust write-region so file name is at the beginning again
17533 * lisp/epa-file.el (epa-file-write-region):
17534 * lisp/gnus/mm-util.el (mm-append-to-file):
17535 * lisp/jka-compr.el (jka-compr-write-region):
17536 * lisp/net/ange-ftp.el (ange-ftp-write-region):
17537 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17538 * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17539 * src/fileio.c (write_region): Put file name at the beginning and move
17540 number of characters to the end of the message.
17542 2017-04-08 Kaushal Modi <kaushal.modi@gmail.com>
17544 Check that file argument is a string
17546 * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
17547 passed to `file-local-copy' is a string (Bug#26378). Also fix
17548 the existing comment for this function, and convert it to its
17551 2017-04-08 Noam Postavsky <npostavs@gmail.com>
17553 Fix handling of non-integer START param to write-region
17555 The previous patch for Bug#354 incorrectly assumed that START would
17556 always be an integer.
17558 * lisp/epa-file.el (epa-file-write-region):
17559 * lisp/jka-compr.el (jka-compr-write-region):
17560 * lisp/net/ange-ftp.el (ange-ftp-write-region):
17561 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17562 * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17563 * src/fileio.c (write_region): Handle nil and string values of START.
17565 2017-04-07 Glenn Morris <rgm@gnu.org>
17567 * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
17569 2017-04-07 Michael Albinus <michael.albinus@gmx.de>
17571 Add Tramp versions to `customize-package-emacs-version-alist'
17573 * lisp/net/trampver.el (customize-package-emacs-version-alist):
17574 Add Tramp versions to `customize-package-emacs-version-alist'.
17576 2017-04-07 Tom Tromey <tom@tromey.com>
17578 * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
17580 2017-04-07 Lars Brinkhoff <lars@nocrew.org>
17582 * doc/lispref/records.texi (Record Functions): fix typo.
17584 2017-04-07 Paul Eggert <eggert@cs.ucla.edu>
17586 More casefiddle minor fixes
17588 * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
17589 (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
17590 (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
17592 2017-04-07 Jeff Clough <kb1vqh@gmail.com>
17594 Output number of characters added to file (Bug#354)
17596 * src/fileio.c (write_region):
17597 * lisp/epa-file.el (epa-file-write-region):
17598 * lisp/jka-compr.el (jka-compr-write-region):
17599 * lisp/net/ange-ftp.el (ange-ftp-write-region):
17600 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
17601 * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
17602 * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
17603 characters written in addition to file name.
17604 * doc/lispref/files.texi: Added documentation to write-region and
17605 append-to-file describing their output.
17607 2017-04-07 Noam Postavsky <npostavs@users.sourceforge.net>
17609 Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
17611 The recent changes to src/casefiddle.c cause build failure as seen
17614 Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
17615 --batch --load loadup bootstrap
17616 [Thread debugging using libthread_db enabled]
17617 Using host libthread_db library "/usr/lib/libthread_db.so.1".
17618 Loading loadup.el (source)...
17619 Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
17620 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
17621 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
17622 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
17623 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
17624 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
17625 Loading emacs-lisp/byte-run (source)...
17626 Loading emacs-lisp/backquote (source)...
17627 Loading subr (source)...
17628 Loading version (source)...
17629 Loading widget (source)...
17630 Loading custom (source)...
17631 Loading emacs-lisp/map-ynp (source)...
17632 Loading international/mule (source)...
17633 Loading international/mule-conf (source)...
17635 lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
17637 Breakpoint 1, terminate_due_to_signal at emacs.c:363
17638 363 signal (sig, SIG_DFL);
17640 #0 0x0000000000579826 in terminate_due_to_signal at emacs.c:363
17641 #1 0x000000000060ec33 in die at alloc.c:7352
17642 #2 0x000000000066db40 in intern_c_string_1 at lread.c:3914
17643 #3 0x0000000000576884 in intern_c_string at lisp.h:3790
17644 #4 0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
17645 #5 0x00000000005dd37f in casify_object at casefiddle.c:311
17646 #6 0x00000000005dd47f in Fcapitalize at casefiddle.c:356
17647 #7 0x00000000006325ac in eval_sub at eval.c:2219
17648 #8 0x0000000000632368 in eval_sub at eval.c:2184
17649 #9 0x000000000063446c in apply_lambda at eval.c:2875
17650 #10 0x00000000006329af in eval_sub at eval.c:2294
17651 #11 0x000000000062d462 in Fprogn at eval.c:449
17652 #12 0x000000000062d4cf in prog_ignore at eval.c:461
17653 #13 0x000000000062f19c in Fwhile at eval.c:982
17654 #14 0x00000000006321f4 in eval_sub at eval.c:2172
17655 #15 0x000000000062d462 in Fprogn at eval.c:449
17656 #16 0x000000000062f0c4 in Flet at eval.c:963
17657 #17 0x00000000006321f4 in eval_sub at eval.c:2172
17658 #18 0x0000000000632963 in eval_sub at eval.c:2290
17659 #19 0x000000000062d462 in Fprogn at eval.c:449
17660 #20 0x000000000062f0c4 in Flet at eval.c:963
17661 #21 0x00000000006321f4 in eval_sub at eval.c:2172
17662 #22 0x0000000000668caa in readevalloop at lread.c:1927
17663 #23 0x0000000000667253 in Fload at lread.c:1332
17664 #24 0x0000000000632683 in eval_sub at eval.c:2233
17665 #25 0x0000000000668caa in readevalloop at lread.c:1927
17666 #26 0x0000000000667253 in Fload at lread.c:1332
17667 #27 0x0000000000632683 in eval_sub at eval.c:2233
17668 #28 0x0000000000631be5 in Feval at eval.c:2041
17669 #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
17670 #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
17671 #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
17672 #32 0x000000000062f51e in internal_catch at eval.c:1091
17673 #33 0x000000000057e0ea in command_loop at keyboard.c:1090
17674 #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
17675 #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
17676 #36 0x000000000057b55b in main at emacs.c:1687
17679 "capitalize" (0xffffcf70)
17680 "format" (0xffffd130)
17681 "define-charset" (0xffffd370)
17682 "while" (0xffffd560)
17684 "dolist" (0xffffd910)
17686 "load" (0xffffdfe0)
17687 "load" (0xffffe4a0)
17689 * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
17690 Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
17691 Qspecial_titlecase.
17692 (prepare_casing_context): Use aforementioned symbols.
17694 2017-04-07 Paul Eggert <eggert@cs.ucla.edu>
17698 This merges some getopt fixes from Zack Weinberg, and affects only
17699 non-GNUish platforms. It incorporates:
17700 2017-04-06 getopt-gnu: omit some duplicate code
17701 2017-04-06 getopt-posix: use angle-bracket include
17702 2017-04-06 getopt: annotate files with relationship to glibc
17703 2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
17704 2017-04-06 getopt: better handling of ambiguous options
17705 2017-04-06 getopt: refactor long-option handling
17706 2017-04-06 getopt: tidy up _getopt_initialize a bit
17707 2017-04-06 getopt: merge from glibc: repetition reduction
17708 2017-04-06 getopt: clean up error reporting
17709 2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
17710 2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
17711 2017-04-06 getopt: harmonize comments with glibc
17712 2017-04-06 getopt: remove USE_NONOPTION_FLAGS
17713 2017-04-06 getopt: tabify, in preparation for merge with glibc
17714 2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
17715 * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
17716 * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
17717 * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
17718 * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
17720 * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
17721 * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
17722 New files, taken from gnulib.
17723 * lib/gnulib.mk.in, m4/gnulib-comp.m4:
17726 2017-04-07 Hong Xu <hong@topbug.net>
17728 * src/search.c (Fre_search_forward, Fre_search_backward): Improve
17731 2017-04-07 Noam Postavsky <npostavs@gmail.com>
17733 Mention that processes start in default-directory (Bug#18515)
17735 * doc/lispref/processes.texi (Synchronous Processes):
17736 (Asynchronous Processes):
17737 * lisp/subr.el (start-process):
17738 * src/callproc.c (call-process): Mention that the subprocess starts in
17739 `default-directory' when local, suggest `start-file-process' and
17740 `process-file' otherwise.
17742 2017-04-07 Noam Postavsky <npostavs@gmail.com>
17744 * src/xdisp.c (vmessage, message): Clarify commentary.
17746 2017-04-07 Paul Eggert <eggert@cs.ucla.edu>
17748 Minor casefiddle.c cleanups
17750 * src/casefiddle.c: Redo recent changes to match GNU style,
17751 and prefer C99-style decls within blocks.
17752 (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
17753 we are merely using the Unicode name, and make it a constant
17754 rather than a macro. All uses changed.
17755 (SMALL_SIGMA): Remove; unused.
17756 (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
17757 and make it a constant rather than a macro. All uses changed.
17758 (do_casify_multibyte_string): Use ‘verify’ rather than an
17759 unportable static_assertion local.
17761 2017-04-07 Paul Eggert <eggert@cs.ucla.edu>
17763 * lisp/international/README: Update to match current list.
17765 2017-04-06 Paul Eggert <eggert@cs.ucla.edu>
17767 Fix 'make clean' in lib subdirectory
17769 * lib/Makefile.in (clean): Remove *-t files.
17770 (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
17771 This removes files like lib/getopt.h that should be removed
17772 even if this configuration did not need to build them.
17773 (maintainer-clean): Remove TAGS here, not in distclean,
17774 to be consistent with ../src/Makefile.in.
17776 2017-04-06 Michael Albinus <michael.albinus@gmx.de>
17778 Add new Tramp syntax
17780 * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
17782 * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
17784 (tramp-prefix-port-format): Simplify.
17785 (tramp-file-name-regexp-separate): Remove.
17786 (tramp-initial-file-name-regexp)
17787 (tramp-completion-file-name-regexp-old-style)
17788 (tramp-initial-completion-file-name-regexp): New defconst.
17789 (tramp-prefix-format, tramp-prefix-regexp)
17790 (tramp-method-regexp, tramp-postfix-method-format)
17791 (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
17792 (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
17793 (tramp-postfix-ipv6-regexp)
17794 (tramp-postfix-host-format, tramp-postfix-host-regexp)
17795 (tramp-remote-file-name-spec-regexp)
17796 (tramp-file-name-structure, tramp-file-name-regexp)
17797 (tramp-completion-file-name-regexp)
17798 (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
17799 (tramp-tramp-file-p, tramp-find-method)
17800 (tramp-dissect-file-name, tramp-make-tramp-file-name)
17801 (tramp-completion-make-tramp-file-name)
17802 (tramp-rfn-eshadow-update-overlay)
17803 (tramp-register-autoload-file-name-handlers)
17804 (tramp-register-file-name-handlers)
17805 (tramp-unload-file-name-handlers)
17806 (tramp-completion-handle-file-name-all-completions)
17807 (tramp-completion-dissect-file-name, tramp-clear-passwd):
17808 * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
17809 * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
17810 (tramp-compute-multi-hops): Use them.
17812 2017-04-06 Michal Nazarewicz <mina86@mina86.com>
17814 Implement special sigma casing rule (bug#24603)
17816 In Greek, a sigma character has two lower case forms which depend on
17817 their position in the word. Implement logic determining it.
17819 * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
17820 assume inword is true when flag is CASE_UP and false when flag is
17821 CASE_DOWN. For final sigma detection we need this information tracked
17823 (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
17824 Unicode code point of different forms of sigma letter.
17825 (case_character): Implement support for final sigma casing.
17826 (do_casify_multibyte_string, do_casify_multibyte_region): Update after
17827 changes to case_character.
17829 * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
17830 cases for final sigma.
17832 2017-04-06 Michal Nazarewicz <mina86@mina86.com>
17834 Support casing characters which map into multiple code points (bug#24603)
17836 Implement unconditional special casing rules defined in Unicode standard.
17838 Among other things, they deal with cases when a single code point is
17839 replaced by multiple ones because single character does not exist (e.g.
17840 ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
17843 * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
17844 standard distribution.
17845 * admin/unidata/README: Mention SpecialCasing.txt.
17847 * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
17848 unidata-gen-table-special-casing--do-load): New functions generating
17849 ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
17850 character Unicode properties built from the SpecialCasing.txt Unicode
17853 * src/casefiddle.c (struct casing_str_buf): New structure for
17854 representing short strings used to handle one-to-many character
17857 (case_character_imlp): New function which can handle one-to-many
17858 character mappings.
17859 (case_character, case_single_character): Wrappers for the above
17860 functions. The former may map one character to multiple (or no)
17861 code points while the latter does what the former used to do (i.e.
17862 handles one-to-one mappings only).
17864 (do_casify_natnum, do_casify_unibyte_string,
17865 do_casify_unibyte_region): Use case_single_character.
17866 (do_casify_multibyte_string, do_casify_multibyte_region): Support new
17867 features of case_character.
17868 * (do_casify_region): Updated to reflact do_casify_multibyte_string
17871 (casify_word): Handle situation when one character-length of a word
17872 can change affecting where end of the word is.
17874 (upcase, capitalize, upcase-initials): Update documentation to mention
17875 limitations when working on characters.
17877 * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
17878 Add test cases for the newly introduced character properties.
17879 (casefiddle-tests-casing): Update test cases which are now passing.
17881 * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
17882 char-fold--ascii-downcase): New functions which behave like old ‘upcase’
17884 (char-fold--test-match-exactly): Use the new functions. This is needed
17885 because otherwise fi and similar characters are turned into their multi-
17886 -character representation.
17888 * doc/lispref/strings.texi: Describe issue with casing characters versus
17890 * doc/lispref/nonascii.texi: Describe the new character properties.
17892 2017-04-06 Michal Nazarewicz <mina86@mina86.com>
17894 Split up casify_region function (bug#24603)
17896 No functional changes at this time but splitting casify_region into
17897 a function dealing with multibyte and another dealing with unibyte
17898 buffers will make future code changes slightly easier.
17900 * src/casefiddle.c (casify_region): Move most of the code into two
17902 (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
17904 2017-04-06 Michal Nazarewicz <mina86@mina86.com>
17906 Add support for title-casing letters (bug#24603)
17908 * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
17909 titlecase_char_table member. It’s set to the ‘titlecase’ Unicode
17910 property table if capitalisation has been requested.
17911 (case_character): Make use of the titlecase_char_table to title-case
17912 initial characters when capitalising.
17914 * test/src/casefiddle-tests.el (casefiddle-tests--characters,
17915 casefiddle-tests-casing): Update test cases which are now passing.
17917 2017-04-06 Michal Nazarewicz <mina86@mina86.com>
17919 Introduce case_character function
17921 Move single-character casing logic into a separate function so that
17922 it is collected in a single place. This will make future changes to
17923 the logic easier. This commit introduces no functionality changes.
17925 * src/casefiddle.c (struct casing_context, prepare_casing_context): New
17926 sturcture for saving casing context and function to initialise it.
17927 (case_character): New function which cases character base on provided
17929 (do_casify_integer, do_casify_multibyte_string,
17930 do_casify_unibyte_string, casify_object, casify_region): Convert to
17931 use casing_context and case_character.
17933 2017-04-06 Michal Nazarewicz <mina86@mina86.com>
17935 Split casify_object into multiple functions
17937 casify_object had three major cases to cover and those were mostly
17938 independent of each other. Move those branches to separate function
17939 so it’s easier to comprehend each individual case.
17941 While at it, use somewhat more descriptive ch and cased variable names
17942 rather than c and c1.
17944 This commit introduces no functional changes.
17946 * src/casefiddle.c (casify_object): Split into…
17947 (do_casify_integer, do_casify_multibyte_string,
17948 do_casify_unibyte_string): …new functions.
17950 2017-04-06 Lars Brinkhoff <lars@nocrew.org>
17952 Update documentation for type semantics of records.
17954 * doc/lispref/objects.texi (Record Type): improve description of what
17955 `type-of' returns for records.
17956 (Type Descriptors): new section.
17957 * doc/lispref/elisp.texi: reference it.
17958 * doc/lispref/records.texi (Records): reference it. Document
17959 behaviour when type slot is a record.
17961 * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
17963 2017-04-06 Stefan Monnier <monnier@iro.umontreal.ca>
17965 * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
17967 2017-04-06 Tom Tromey <tom@tromey.com>
17969 require cl-lib to fix fallout from mhtml series
17971 * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
17972 lisp/emulation/viper.el: Require cl-lib.
17974 2017-04-06 Ken Raeburn <raeburn@raeburn.org>
17976 In CANNOT_DUMP builds, allow editing of files named "dump".
17978 * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
17979 calling dump-emacs only if dump-emacs is defined; otherwise, don't
17980 treat those command-line argument specially.
17982 2017-04-06 Ken Raeburn <raeburn@raeburn.org>
17984 In CANNOT_DUMP builds, don't prepare for unexec.
17986 Having a command-line argument of "dump" or "bootstrap" would trigger
17987 behavior like not installing signal handlers. In CANNOT_DUMP modes,
17988 we should get signal handlers installed regardless of whatever funny
17989 file names we decide to edit.
17991 src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
17992 alterations to initialization that prepares the process for unexec.
17994 2017-04-06 Ken Raeburn <raeburn@raeburn.org>
17996 Allow a CANNOT_DUMP build to use exec-path during bootstrap.
17998 During a bootstrap, loading rmail.el invokes movemail to determine its
17999 flavor, but call-process doesn't work if exec-path is nil.
18001 * lisp/loadup.el: Only clear exec-path if dumping.
18003 2017-04-06 Ken Raeburn <raeburn@raeburn.org>
18005 Fix CANNOT_DUMP build on Darwin/macOS.
18007 * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
18008 CANNOT_DUMP]: Don't define as unexec_malloc, etc.
18009 * src/emacs.c (main): Don't call unexec_init_emacs_zone.
18011 2017-04-05 Tom Tromey <tom@tromey.com>
18013 add two more mhtml tests
18015 * test/manual/indent/html-multi-2.html: New file.
18016 * test/manual/indent/html-multi-3.html: New file.
18018 2017-04-05 Tom Tromey <tom@tromey.com>
18020 enable mhtml-mode by default
18022 * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
18024 (magic-fallback-mode-alist): Likewise.
18025 * lisp/net/eww.el (eww-view-source): Use mthml-mode.
18027 2017-04-05 Tom Tromey <tom@tromey.com>
18031 * etc/NEWS: Update.
18032 * lisp/textmodes/mhtml-mode.el: New file.
18033 * test/manual/indent/html-multi.html: New file.
18034 * test/lisp/textmodes/mhtml-mode-tests.el: New file.
18035 * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
18037 2017-04-05 Tom Tromey <tom@tromey.com>
18039 change sgml-mode to help multi-html mode
18041 * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
18043 (sgml-syntax-propertize): Use it.
18044 (sgml--find-<>-backward): New function.
18045 (sgml-parse-tag-backward): Use it.
18047 2017-04-05 Tom Tromey <tom@tromey.com>
18049 make js.el respect prog-first-column
18051 * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
18053 2017-04-05 Tom Tromey <tom@tromey.com>
18055 make smie.el respect prog-first-column
18057 * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
18059 2017-04-05 Tom Tromey <tom@tromey.com>
18061 change viper to use derived-mode-p
18063 * lisp/subr.el (provided-mode-derived-p): New function.
18064 (derived-mode-p): Use it.
18065 * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
18066 (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
18067 (set-viper-state-in-major-mode): Use derived-mode-p.
18069 2017-04-05 Tom Tromey <tom@tromey.com>
18071 change align to use derived-mode-p
18073 * lisp/align.el (align-region): Use derived-mode-p.
18075 2017-04-05 Tom Tromey <tom@tromey.com>
18077 change org to use derived-mode-p
18079 * lisp/org/org-list.el (org-list-insert-radio-list): Use
18081 * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
18084 2017-04-05 Tom Tromey <tom@tromey.com>
18086 change semantic to use derived-mode-p
18088 * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
18090 2017-04-05 Tom Tromey <tom@tromey.com>
18092 change calc to use derived-mode-p
18094 * lisp/calc/calc-embed.el (calc-embedded-find-modes)
18095 (calc-embedded-make-info): Use derived-mode-p.
18097 2017-04-05 Tom Tromey <tom@tromey.com>
18099 change auto-insert to use derived-mode-p
18101 * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
18103 2017-04-05 Paul Eggert <eggert@cs.ucla.edu>
18105 * lisp/info.el (Info-search): Fix typo in April 1 change.
18107 2017-04-05 Paul Eggert <eggert@cs.ucla.edu>
18109 Minor cleanups related to type-of
18111 * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
18112 * src/data.c (syms_of_data):
18113 * src/frame.c (syms_of_frame): Put all the primitive type names
18114 together, under the "Types that type-of returns" comment.
18116 2017-04-05 Glenn Morris <rgm@gnu.org>
18118 * doc/lispref/package.texi (Package Archives): Mention https.
18120 2017-04-05 Glenn Morris <rgm@gnu.org>
18122 Advertise https for homepage of gnu.org packages
18124 * lisp/emacs-lisp/package.el (describe-package-1):
18125 Use https, if supported, for the homepage of packages on gnu.org.
18127 2017-04-05 Glenn Morris <rgm@gnu.org>
18129 Default to https for elpa.gnu.org if gnutls available
18131 * lisp/emacs-lisp/package.el (package-archives):
18132 Default to https for elpa.gnu.org if gnutls is available. Ref:
18133 http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00130.html
18135 2017-04-04 Paul Eggert <eggert@cs.ucla.edu>
18137 Minor simplifications and doc for records
18139 * doc/lispref/records.texi (Records): Mention size limit.
18140 * etc/NEWS: Mention records.
18141 * src/alloc.c (allocate_pseudovector, allocate_record):
18142 Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
18143 (allocate_record): Check arg range here, not in callers, as this
18144 simplifies the code. Use allocate_vectorlike instead of
18145 allocate_vector, to avoid duplicate runtime tests.
18146 (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
18147 the doc string, as it is not visible to the user.
18148 (Fmake_record, record, Fcopy_record):
18149 Prefer make_lisp_ptr to XSETVECTOR.
18150 (record): Broaden memcpy to copy the type, too.
18152 2017-04-04 Eli Zaretskii <eliz@gnu.org>
18154 Fix recent changes in record data type
18156 * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
18157 compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
18159 2017-04-04 Philipp Stephani <phst@google.com>
18161 Make subprocess functions resolve the default directory
18163 `call-process' doesn't respect file name handlers in
18164 `default-directory', so `file-name-non-special' has to resolve them
18165 for `process-file', `start-file-process', and
18166 `shell-command' (Bug#25949).
18168 * lisp/files.el (file-name-non-special): Also resolve default
18169 directory for 'process-file', 'start-file-process', and
18171 * test/lisp/files-tests.el
18172 (files-tests--file-name-non-special--subprocess): Add unit test.
18174 2017-04-04 Philipp Stephani <phst@google.com>
18176 Make ediff handle remote and quoted file names
18178 Quoted file names need to be unquoted before passed to
18179 subprocesses (Bug#25950).
18181 * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
18183 * test/lisp/vc/ediff-diff-tests.el
18184 (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
18186 2017-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
18188 Backward compatibility with pre-existing struct instances.
18190 * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
18191 (cl-old-struct-compat-mode): New minor mode.
18193 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
18194 cl-struct-define to signal use of record objects.
18196 * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
18197 cl-struct-define): Enable legacy defstruct compatibility.
18199 * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
18200 old-struct): New tests.
18202 * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
18203 `old-struct-compat'.
18205 2017-04-04 Lars Brinkhoff <lars@nocrew.org>
18207 Make the URL library use records.
18209 * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
18210 lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
18211 lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
18213 * lisp/url/url-http.el (url-http): Check for type `url' instead of
18216 2017-04-04 Stefan Monnier <monnier@iro.umontreal.ca>
18218 Make EIEIO use records.
18220 * lisp/emacs-lisp/eieio-compat.el
18221 (eieio--generic-static-object-generalizer): Adjust to new tags.
18223 * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
18225 (eieio--object-class): Adjust to new tag representation.
18226 (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
18227 (eieio-defclass-internal): Use `make-record'.
18228 (eieio--generic-generalizer): Adjust generalizer code accordingly.
18230 * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
18232 * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
18235 * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
18237 2017-04-04 Lars Brinkhoff <lars@nocrew.org>
18239 Make cl-defstruct use records.
18241 * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
18242 (cl--describe-class-slots): Use the new `type-of'.
18244 * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
18245 (cl--generic-struct-specializers): Adjust to new tag.
18247 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
18248 Use the type symbol as the tag. Use copy-record to copy structs.
18249 (cl--defstruct-predicate): New function.
18250 (cl--pcase-mutually-exclusive-p): Use it.
18251 (cl-struct-sequence-type): Can now return `record'.
18253 * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
18254 code to new format.
18255 (cl--struct-register-child): Work with records.
18256 (cl-struct-define): Don't touch the tag's symbol-value and
18257 symbol-function slots when we use the type as tag.
18259 * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
18261 * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
18264 * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
18266 2017-04-04 Lars Brinkhoff <lars@nocrew.org>
18268 Add record objects with user-defined types.
18270 * src/alloc.c (allocate_record): New function.
18271 (Fmake_record, Frecord, Fcopy_record): New functions.
18272 (syms_of_alloc): defsubr them.
18273 (purecopy): Work with records.
18275 * src/data.c (Ftype_of): Return slot 0 for record objects, or type
18276 name if record's type holds class.
18277 (Frecordp): New function.
18278 (syms_of_data): defsubr it. Define `Qrecordp'.
18279 (Faref, Faset): Work with records.
18281 * src/fns.c (Flength): Work with records.
18283 * src/lisp.h (prec_type): Add PVEC_RECORD.
18284 (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
18286 * src/lread.c (read1): Add syntax for records.
18288 * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
18289 (print_object): Add syntax for records.
18291 * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
18294 * test/src/alloc-tests.el (record-1, record-2, record-3):
18297 * doc/lispref/elisp.texi, doc/lispref/objects.texi,
18298 doc/lispref/records.texi: Add documentation for records.
18300 2017-04-04 Tino Calancha <tino.calancha@gmail.com>
18302 Fix a test in python-test.el
18304 Fix a test that breaks the test suite when it is run within a
18305 virtual environment.
18306 See following link for details:
18307 https://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00857.html
18308 * test/lisp/progmodes/python-tests.el
18309 (python-shell-calculate-process-environment-7): Bind
18310 python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
18313 2017-04-04 Noam Postavsky <npostavs@gmail.com>
18315 Throw a `search-failed' derived error in Info search
18317 The original fix for Bug#6106 switched from signalling `search-failed'
18318 to `user-error'. However, this breaks incremental searching over
18319 multiple nodes because the isearch code doesn't expect a `user-error'.
18321 * src/search.c (syms_of_search): New error, `user-search-failed',
18322 with `user-error' and `search-failed' as parents.
18323 * doc/lispref/errors.texi (Standard Errors): Document it.
18324 * etc/NEWS: Announce it.
18325 * lisp/info.el (Info-search): Use it instead of `user-error' so that
18326 isearch will handle failed searches correctly.
18328 2017-04-03 Michael Albinus <michael.albinus@gmx.de>
18332 * doc/misc/tramp.texi (Remote processes): Fix typo.
18334 * lisp/shell.el (shell): Fix typo.
18336 * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
18338 * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
18340 (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
18341 (tramp-test31-vc-registered)
18342 (tramp-test32-make-auto-save-file-name)
18343 (tramp-test33-make-nearby-temp-file)
18344 (tramp-test34-special-characters)
18345 (tramp-test34-special-characters-with-stat)
18346 (tramp-test34-special-characters-with-perl)
18347 (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
18348 (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
18349 (tramp-test35-utf8-with-ls)
18350 (tramp-test36-asynchronous-requests)
18351 (tramp-test37-recursive-load, tramp-test38-unload): Rename.
18353 2017-04-03 Stefan Monnier <monnier@iro.umontreal.ca>
18355 * lisp/ses.el: Silence byte-compiler warnings.
18357 (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
18358 byte-compiler warnings.
18360 2017-04-02 Glenn Morris <rgm@gnu.org>
18362 Belated fixes for admin.el's M-x make-manuals-dist
18364 * admin/admin.el (make-manuals-dist-output-variables): Additions.
18365 (make-manuals-dist--1): Also copy docstyle.texi.
18367 2017-04-02 Paul Eggert <eggert@cs.ucla.edu>
18369 Fix bugs in simplified test dependencies
18371 Problem reported by Glenn Morris in:
18372 http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00017.html
18373 * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
18374 (TESTS): Omit unnecessary patsubst.
18375 (test_template): Redo dependency heuristic, hopefully
18376 correctly this time. It's the .log file that depends,
18377 not the phony test target. Declare the phonies to be PHONY.
18378 Resurrect the exception for the *-tests subdirectory.
18379 Adjust to the fact that leading "./" is omitted now.
18381 2017-04-02 Wilfred Hughes <me@wilfred.me.uk>
18383 Fix typo in docstring
18385 * lisp/help.el: Fix typo.
18387 2017-04-02 Michael Albinus <michael.albinus@gmx.de>
18389 Apply connecion-local variables for shells
18391 * doc/misc/tramp.texi (Remote processes): Show use of connection-local
18392 variables. Don't mention Emacs 23 anymore.
18393 (Frequently Asked Questions): Precise Emacs and MS Windows version.
18395 * lisp/files-x.el (connection-local-normalize-criteria):
18396 Suppress nil properties.
18397 (connection-local-set-profiles, with-connection-local-profiles):
18400 * lisp/shell.el (shell): Apply connecion-local variables.
18402 2017-04-01 Evgeni Kolev <evgenysw@gmail.com> (tiny change)
18404 Propertize only perl prototype chars `][$%&*;+@\' as punctuation
18406 This prevents variables in signatures such as `sub add ($a, $b)' from
18407 being treated as punctuation.
18408 * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
18409 Strictly match only prototype characters as punctuation. (Bug#26037)
18411 2017-04-01 Tom Tromey <tom@tromey.com>
18413 fix two js-mode syntax propertization bugs
18416 * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
18417 zero-or-one to regular expression.
18418 (js-syntax-propertize-regexp): Update. Propertize body of regexp
18420 * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
18421 (js-mode-propertize-bug-2): New tests.
18423 2017-04-01 Paul Eggert <eggert@cs.ucla.edu>
18425 Simplify test dependency generation
18427 Generate default dependencies by using GNU extensions to ‘make’
18428 rather than via a hacky auxiliary program and script.
18429 * .gitignore: Remove test/make-test-deps.mk.
18430 * test/Makefile.in (ELFILES, LOGFILES, TESTS):
18431 Use :=, not =, to avoid multiple redundant invocations of ‘find’.
18432 (test_template): Infer dependency directly instead of via
18434 (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
18435 (clean): No need to clean make-test-deps.mk.
18436 (make-test-deps.mk): Remove rule.
18437 * test/make-test-deps.emacs-lisp: Remove.
18439 2017-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
18441 * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
18443 (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
18445 (cl-lib-symbol-macrolet-2): New test.
18447 2017-04-01 Tino Calancha <tino.calancha@gmail.com>
18449 Use only posix options in a ediff-ptch test
18451 * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
18452 Use just "-b" patch option. Don't assume a particular suffix for
18455 2017-04-01 Jarno Malmari <jarno@malmari.fi>
18457 Initial implementation of HTTP Digest qop for url
18459 This also refactors digest authentication functions in url-auth.el.
18461 * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
18462 (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
18463 (url-digest-auth-name-value-string, url-digest-auth-source-creds):
18464 (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
18465 (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
18466 to simplify code and aid in unit testing.
18467 (url-digest-auth-build-response): Hook up new functionality, or fall
18469 (url-digest-auth-make-request-digest-qop):
18470 (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
18471 (url-digest-auth-name-value-string): Add new helper functions.
18472 * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
18473 (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
18474 (url-auth-test-digest-request-digest): Add a few tests as now more
18475 features are testable via intermediate functions.
18476 (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
18477 the new implementation. Parts of these were accidentally already
18478 merged in the past.
18480 2017-04-01 Tino Calancha <tino.calancha@gmail.com>
18482 Tweak ediff-ptch test in previous commit a bit more
18484 * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
18485 Apply patches without requiring a shell. Add some comments.
18487 2017-03-31 Glenn Morris <rgm@gnu.org>
18489 Tweak an ediff-ptch test
18491 * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
18492 Add skip conditions. Avoid going through shell where not needed.
18494 2017-03-31 Michael Albinus <michael.albinus@gmx.de>
18496 * lisp/net/tramp-smb.el (tramp-smb-errors):
18498 Add "NT_STATUS_PASSWORD_MUST_CHANGE".
18500 2017-03-31 Stefan Monnier <monnier@iro.umontreal.ca>
18502 * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
18504 2017-03-31 Tino Calancha <tino.calancha@gmail.com>
18506 dired-mark-suffix: New command
18508 Now dired-mark-extension prepends '.' to extension when not present.
18509 Add command dired-mark-suffix to preserve the previous
18510 behaviour (Bug#25942).
18511 * lisp/dired-x.el (dired-mark-suffix): New command;
18512 mark files ending in a given suffix.
18513 (dired--mark-suffix-interactive-spec): New defun.
18514 (dired-mark-extension, dired-mark-suffix): Use it.
18515 * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
18516 * test/lisp/dired-x-tests.el: New test suite; add test for these features.
18518 2017-03-31 Tino Calancha <tino.calancha@gmail.com>
18520 default-directory: Remark that it must be a directory name
18522 * src/buffer.c (default-directory): Update docstring (Bug#26272).
18524 2017-03-31 Tino Calancha <tino.calancha@gmail.com>
18526 Delete confuse statement in manual
18528 * doc/misc/cl.texi (For Clauses): Delete confuse statement
18529 and its example (Bug#23550).
18531 2017-03-31 Paul Eggert <eggert@cs.ucla.edu>
18533 Use find -delete if available
18535 This shortens the ‘make’ output and should avoid some
18536 repetitive scanning of directories during a build.
18537 * configure.ac (FIND_DELETE): New var.
18538 * lisp/Makefile.in (compile-always, bootstrap-clean):
18539 * test/Makefile.in (clean, bootstrap-clean): Use it.
18540 * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
18542 2017-03-31 Mark Oteiza <mvoteiza@udel.edu>
18546 * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
18548 * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
18550 2017-03-31 Niels Möller <nisse@lysator.liu.se> (tiny change)
18552 Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
18554 * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
18555 end of line after deleting horizontal whitespace.
18557 2017-03-31 Paul Eggert <eggert@cs.ucla.edu>
18559 * src/inotify.c (add_watch): Add comment.
18561 2017-03-31 Andreas Politz <politza@hochschule-trier.de>
18563 Minor filenotify.el fixes
18565 * lisp/filenotify.el: Require subr-x.
18566 (file-notify-callback): Use equal, not eq.
18568 2017-03-31 Noam Postavsky <npostavs@gmail.com>
18570 Improve packaging documentation
18572 * doc/lispref/package.texi (Packaging Basics):
18573 * doc/lispref/tips.texi (Library Headers): Clarify some header
18574 formats, relation between file headers and package
18575 attributes (Bug#13281).
18577 2017-03-31 John Mastro <john.b.mastro@gmail.com>
18579 Fix a small incompatibility in ibuffer
18581 Translate nil values from column functions to the empty string, so that
18582 subsequent calls to string-width don't signal an error (Bug#26317).
18583 * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
18584 nil, treat it like the empty string.
18586 2017-03-30 Alan Mackenzie <acm@muc.de>
18588 Fix C++ fontification problems 500 bytes after typing a space, and other bugs
18590 Also implement the "asymmetric space" rule for fontifying otherwise
18592 declarations/expressions.
18594 * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
18595 c-new-BEG or c-new-END when there is no need.
18596 (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
18599 * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
18600 extracted from c-font-lock-declarations. Add to this function processing to
18601 make `context' 'decl for lines contained within parens when these are also
18603 (c-font-lock-declarations): Call the newly extracted function above in place
18606 * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
18609 * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
18611 * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
18612 "asymmetric fontification" rule, including the variable
18613 c-asymmetric-fontification-flag.
18615 2017-03-30 Paul Eggert <eggert@cs.ucla.edu>
18617 Some inotify cleanup
18619 This catches some problems with integer overflow and races
18620 that I noticed in inotify.c after reviewing the changes
18621 installed to fix Bug#26126.
18622 * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
18623 * src/inotify.c (aspect_to_inotifymask):
18624 Check for cycles and for improper lists.
18625 (make_lispy_mask, lispy_mask_match_p): Remove.
18626 All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
18627 (inotifyevent_to_event, add_watch):
18628 Don’t assume watch descriptors and cookies fit in fixnums.
18629 (add_watch): Use assoc_no_quit, not Fassoc.
18630 Avoid integer overflow in (very!) long-running processes where
18631 the Emacs watch ID could overflow. Avoid some duplicate code.
18632 (find_descriptor): New function.
18633 (remove_descriptor): First arg is now the returned value from
18634 find_descriptor, rather than the descriptor. This way, the
18635 value can be removed without calling Fdelete, which might quit.
18636 Wait until the end (when watch_list is consistent) before signaling
18638 (remove_watch, inotify_callback):
18639 Use find_descriptor to avoid the need for Fdelete.
18640 (inotify_callback): Use simpler tests for ioctl failure.
18641 Free temporary buffer if signaled, and put it on the stack if small.
18642 Use ssize_t to index through read results, to avoid a cast.
18643 (valid_watch_descriptor): New function, with a tighter check.
18644 (Finotify_rm_watch, Finotify_valid_p): Use it.
18645 (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
18646 of Fassoc. Do not assume the first assoc succeeds.
18647 * test/src/inotify-tests.el (inotify-valid-p-simple):
18648 Add inotify-valid-p tests, some of which dump core without
18649 the fixes noted above.
18651 2017-03-30 Michael Albinus <michael.albinus@gmx.de>
18653 * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
18655 2017-03-30 Stefan Monnier <monnier@iro.umontreal.ca>
18657 * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
18659 2017-03-30 Paul Eggert <eggert@cs.ucla.edu>
18661 Fix assoc_no_quit so that it does not quit
18663 The problem was that it called Fequal, which can quit.
18664 * src/fns.c (enum equal_kind):
18665 New enum, to be used in place of a boolean.
18666 (equal_no_quit): New function.
18667 (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
18668 (assoc_no_quit): Use it to avoid quitting, the main point here.
18669 (internal_equal): Generalize bool to enum equal_kind arg, so that
18670 there are now 3 possibilities instead of 2. Do not signal an
18671 error if EQUAL_NO_QUIT. Put the arg before the depth, since depth
18672 should be irrelevant if the arg is EQUAL_NO_QUIT. All callers
18675 2017-03-29 Alan Mackenzie <acm@muc.de>
18677 Amend gitmerge to recognize the injunction "don't merge".
18679 * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
18682 2017-03-29 Simen Heggestøyl <simenheg@gmail.com>
18684 Add one more CSS pseudo-class
18686 * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
18689 2017-03-29 Simen Heggestøyl <simenheg@gmail.com>
18691 Update list of CSS pseudo-classes
18693 * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
18696 2017-03-29 Noam Postavsky <npostavs@gmail.com>
18698 Adjust some search failure errors in info.el
18700 * lisp/info.el (Info-select-node): The search for beginning of node is
18701 an internal detail, and is not normally expected to fail, so it should
18702 not be a user error.
18703 (Info-complete-menu-item): Failing to find a menu indicates the user
18704 searched for a menu when there isn't one, so change to `use-error'.
18706 2017-03-28 Alan Mackenzie <acm@muc.de>
18708 * lisp/progmodes/cc-defs.el (c-version): Restore c-version to 5.33
18710 2017-03-28 Paul Eggert <eggert@cs.ucla.edu>
18712 Don’t mishandle (format "%i" -1.0)
18714 * src/editfns.c (styled_format): Treat %i like %d when converting arg.
18716 2017-03-28 Noam Postavsky <npostavs@gmail.com>
18718 * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
18720 2017-03-28 Michael Albinus <michael.albinus@gmx.de>
18722 * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
18724 2017-03-28 Noam Postavsky <npostavs@gmail.com>
18726 Don't add `search-failed' to ignored errors in info.el (Bug#6106)
18728 * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
18729 (Info-select-node, Info-search): Replace (signal 'search-failed ...)
18730 with (user-error "Search failed: "...).
18732 2017-03-27 Paul Eggert <eggert@cs.ucla.edu>
18734 Fix obsolete ‘test/automated’ references
18736 * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
18737 (bootstrap-clean, maintainer-clean):
18738 Clean ‘test’, not ‘test/automated’. Test for existence of
18739 subdirectory only for ‘test’, not for directories that should
18741 * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
18742 * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
18743 * lisp/man.el (Man-parse-man-k):
18744 * lisp/url/url-domsuf.el, make-dist:
18745 * test/file-organization.org:
18746 Fix obsolete references to test/automated.
18748 2017-03-27 Katsumi Yamaoka <yamaoka@jpl.org>
18750 shr-image-fetched: Work for narrowed Gnus article
18752 See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
18754 * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
18756 2017-03-27 Michael Albinus <michael.albinus@gmx.de>
18758 * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
18760 2017-03-27 Eric Abrahamsen <eric@ericabrahamsen.net>
18762 Expand manual section on quitting windows
18764 * doc/lispref/windows.texi (Quitting Windows): Provide more
18765 information about the elements of the quit-restore window parameter,
18766 and how they affect the behavior of quit-restore-window.
18768 2017-03-26 Philipp Stephani <phst@google.com>
18770 Add check for expected backtrace in module calls.
18772 * test/manual/cedet/tests/test.el
18773 (mod-test-non-local-exit-signal-test): Compare actual backtrace to
18774 expected backtrace.
18776 2017-03-26 Eli Zaretskii <eliz@gnu.org>
18778 Fix redisplay glitches due to recent change in redisplay_internal
18780 * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
18781 See http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00695.html
18782 for the problems caused by the original fix.
18784 2017-03-26 Michael Albinus <michael.albinus@gmx.de>
18788 * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
18789 * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
18790 * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
18791 * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
18792 Autoload. Call `tramp-register-foreign-file-name-handler'. (Bug#26258)
18794 * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
18795 (tramp-register-autoload-file-name-handlers)
18796 (tramp-register-file-name-handlers): Do not handle
18797 `tramp-autoload-file-name-handler' anymore. Mark `operations'
18798 the handlers are responsible for.
18799 (tramp-register-foreign-file-name-handler): New defun.
18801 2017-03-26 Noam Postavsky <npostavs@gmail.com>
18803 Fix docstring of dabbrev-abbrev-char-regexp
18805 * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
18806 is equivalent to "\\sw\\|\\s_", and has no special behavior. If the
18807 previous character doesn't match, we search backwards for one that
18808 does, not throw an error. Replace Lisp example with C based one to
18809 make it clear that "symbol" means a sequence of word and symbol
18810 constituent characters, not a Lisp symbol (Bug#358).
18812 2017-03-26 Johan Claesson <johanclaesson@bredband.net> (tiny change)
18814 * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
18816 2017-03-26 Andreas Politz <politza@hochschule-trier.de>
18818 Minor fixes for inotify.c and filenotify.el
18820 * lisp/filenotify.el (file-notify--watch-absolute-filename):
18822 (file-notify-callback): Simplify.
18824 * src/inotify.c (Finotify_add_watch): Adapt docstring.
18826 2017-03-26 Andreas Politz <politza@hochschule-trier.de>
18828 Fix issues regarding inotify file-notification
18830 Remove special code handling the inotify back-end.
18831 * lisp/filenotify.el (file-notify--watch): New struct
18832 representing a file-watch.
18833 (file-notify-descriptors): Use the new struct as hash-value.
18834 (file-notify-handle-event): Check that event is a cons.
18835 (file-notify--rm-descriptor, file-notify--event-watched-file)
18836 (file-notify--event-file-name, file-notify--event-file1-name)
18837 (file-notify-callback, file-notify-add-watch)
18838 (file-notify-rm-watch, file-notify-valid-p): Use new struct.
18839 Remove special code handling inotify descriptors. Remove code
18840 handling multiple clients per descriptor.
18841 (file-notify--descriptor): Remove unused function.
18843 Let inotify-add-watch return a unique descriptor on every
18844 call, like every other back-end does (Bug#26126). Prevent
18845 multiple clients from interfering with each other, when
18846 watching a shared descriptor.
18847 * src/inotify.c (watch_list): Extend the format by including a
18848 id and the provided mask.
18849 (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
18850 (make_watch_descriptor): Removed.
18851 (make_lispy_mask, lispy_mask_match_p): New functions.
18852 (inotifyevent_to_event): Match event against the mask provided
18854 (add_watch, remove_descriptor, remove_watch): New functions
18855 for managing the watch_list.
18856 (inotify_callback): Use the new functions.
18857 (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
18858 flags from documentation. Add check for validity of provided
18859 descriptor. Use the new functions. Use the default mask.
18860 (INOTIFY_DEBUG): Add new debug conditional.
18861 (inotify-watch-list, inotify-allocated-p): New debug functions.
18862 (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
18864 * test/lisp/filenotify-tests.el:
18865 (file-notify-test02-rm-watch): Remove expected failure for inotify.
18867 2017-03-26 Paul Pogonyshev <pogonyshev@gmail.com>
18869 * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
18871 2017-03-25 Jens Uwe Schmidt <ju.schmidt@gmx.de> (tiny change)
18873 Stop edebug getting stuck on backquote (Bug#23651)
18875 * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
18876 reading backquote or comma.
18878 2017-03-25 Eric Abrahamsen <eric@ericabrahamsen.net>
18880 Expand manual section on quitting windows
18882 * doc/lispref/windows.texi (Quitting Windows): Provide more
18883 information about the elements of the quit-restore window parameter,
18884 and how they affect the behavior of quit-restore-window.
18886 2017-03-25 Eli Zaretskii <eliz@gnu.org>
18888 Support in ispell.el multiple dictionaries loaded by Hunspell
18890 * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
18891 Support Hunspell configurations that load more than one dictionary
18892 by default. Doc fix. (Bug#25830)
18894 2017-03-25 Michael Albinus <michael.albinus@gmx.de>
18896 Simplify Tramp autoloading.
18898 * lisp/net/tramp.el (tramp-completion-file-name-handler):
18899 Simplify autoloading. Give it the `operations' property.
18900 (tramp-completion-handle-expand-file-name): Remove.
18902 2017-03-25 Eli Zaretskii <eliz@gnu.org>
18904 Fix a segfault due to failure to realize some faces
18906 * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
18907 while redisplaying its windows, redisplay all of its windows
18909 (init_iterator): When freeing all realized faces on all frames,
18910 reset the 'face_change' flag of the frame whose window we are
18913 2017-03-25 Philipp Stephani <phst@google.com>
18915 Use a named function for 'safe-local-variable
18917 This improves the help screen for `version-control' (Bug#25431).
18919 * lisp/files.el (version-control-safe-local-p): New function.
18920 (version-control): Use it.
18922 2017-03-25 Eli Zaretskii <eliz@gnu.org>
18924 ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing. (Bug#26236)
18926 2017-03-25 Helmut Eller <eller.helmut@gmail.com>
18928 Make it easier to abort a series of tests with C-g
18930 * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg. If
18931 interactively is true and a test was aborted then ask if the remaining
18932 tests should be aborted too.
18933 (ert-run-tests-batch, ert-run-tests-interactively): Pass in
18936 2017-03-24 Paul Eggert <eggert@cs.ucla.edu>
18938 Don’t require chown/chgrp for game installation
18940 Problem reported by Joseph Mingrone in:
18941 http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00622.html
18942 * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
18943 chgrp fails with update-game-score and the game directory.
18944 Instead, expect the installer to fix this up afterwards.
18946 2017-03-24 Stefan Monnier <monnier@iro.umontreal.ca>
18948 * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
18950 (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
18951 Don't highlight \ at BOL. Don't assume syntax-ppss preserves match-data.
18953 2017-03-23 Philipp Stephani <phst@google.com>
18955 Protect against an infloop in python-mode
18957 There appears to be an edge case caused by using `syntax-ppss' in a
18958 narrowed buffer during JIT lock inside of Python triple-quote strings.
18959 Unfortunately it is impossible to reproduce without manually
18960 destroying the syntactic information in the Python buffer, but it has
18961 been observed in practice. In that case it can happen that the syntax
18962 caches get sufficiently out of whack so that there appear to be
18963 overlapping strings in the buffer. As Python has no nested strings,
18964 this situation is impossible and leads to an infloop in
18965 `python-nav-end-of-statement'. Protect against this by checking
18966 whether the search for the end of the current string makes progress.
18968 * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
18970 * test/lisp/progmodes/python-tests.el
18971 (python-tests--python-nav-end-of-statement--infloop): Add unit test.
18973 2017-03-23 Michael Albinus <michael.albinus@gmx.de>
18975 * doc/lispref/os.texi (File Notifications):
18977 Strengthen the recommendation to use filenotify.el.
18979 2017-03-23 Paul Eggert <eggert@cs.ucla.edu>
18984 2017-03-22 getopt: merge from glibc
18985 * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
18986 * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
18987 * lib/gnulib.mk.in: Regenerate.
18989 2017-03-23 Michael Albinus <michael.albinus@gmx.de>
18991 Use lexical-bind in Tramp
18993 * lisp/net/tramp*.el: Add lexical-binding cookie. Move declarations up.
18995 * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
18996 rather than `add-to-list'.
18997 (tramp-adb-get-device): Remove unused variable.
18999 * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
19002 * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
19003 (tramp-find-file-name-coding-system-alist): Use `push' rather
19004 than `add-to-list'.
19006 * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
19007 Require 'dired. Move declarations up.
19008 (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
19009 and `temporary-file-directory' calls with `with-no-warnings'.
19010 (tramp-test35-asynchronous-requests): Mark unused variable.
19012 2017-03-23 Kaushal Modi <kaushal.modi@gmail.com>
19013 Noam Postavsky <npostavs@gmail.com>
19015 Do not include comment start chars in ffap string
19017 * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
19018 ensure that the returned string does not contain the comment start
19019 characters (especially for major modes that have '//' as comment start
19020 characters). Otherwise, in a major mode like c-mode, with `ido-mode'
19021 enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
19022 C-f" on a "//foo" comment will initiate an attempt to access a path
19023 "//foo" (Bug#24057).
19025 2017-03-23 Martin Rudalics <rudalics@gmx.at>
19027 c:/Temp/gtk-window-move/ChangeLog.txt
19029 2017-03-22 Michael Albinus <michael.albinus@gmx.de>
19031 Fix filenotify.el issue for kqueue
19033 * lisp/filenotify.el (file-notify-add-watch): Use directory
19034 for remote file name handlers.
19036 * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
19037 Create/delete temporary file only for "kqueue".
19038 (file-notify-test02-rm-watch): Create/delete temporary files.
19040 2017-03-22 Michael Albinus <michael.albinus@gmx.de>
19042 Extend `file-notify-test02-rm-watch'
19044 * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
19045 Expect it failed for inotify. Divide tests into different
19046 `unwind-protect' clauses. Check, that removing watch
19047 descriptors out of order do not harm. (Bug#26126)
19049 2017-03-22 Noam Postavsky <npostavs@gmail.com>
19051 * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
19053 2017-03-22 Graham Dobbins <gdobbins@protonmail.com> (tiny change)
19055 * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
19057 2017-03-21 Paul Eggert <eggert@cs.ucla.edu>
19059 Improve configure --with-pop etc. diagnostics
19061 * configure.ac: Improve diagnostics re --with-pop and
19062 --with-mailutils (Bug#26102).
19064 2017-03-21 Eli Zaretskii <eliz@gnu.org>
19066 Revert "Make --without-pop the default."
19068 This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
19070 2017-03-21 Paul Eggert <eggert@cs.ucla.edu>
19072 Don’t remove dependency files when configuring
19074 Problem reported by Tom Tromey in:
19075 http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00533.html
19076 * configure.ac: Don’t remove */*.o and */deps/* when
19077 --enable-autodepend is in effect.
19079 2017-03-21 Paul Eggert <eggert@cs.ucla.edu>
19081 Make --without-pop the default.
19083 Suggested by Angelo Graziosi in:
19084 http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
19085 * configure.ac: Change the default from --with-pop to
19086 --without-pop. Adjust diagnostics to match.
19088 2017-03-21 Paul Eggert <eggert@cs.ucla.edu>
19090 Streamline dependency-file generation
19092 * configure.ac (AUTODEPEND_PARENTS): New var.
19093 mkdir the dependency directories here, to simplify ‘make’.
19094 Remove dependency files just before outputting Makefiles, so that
19095 they are preserved if ‘configure’ exits early due to some other problem.
19096 * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
19097 * src/Makefile.in: Adjust deps strategies to be similar, as follows:
19098 (MKDEPDIR): Remove. All uses removed. This cuts down on the
19099 number of processes spun off by ‘make’.
19100 (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
19101 (distclean): Remove $(DEPDIR) itself.
19102 * lwlib/Makefile.in (all): Move to front, so that depdir includes
19103 do not alter default action.
19105 2017-03-21 Paul Eggert <eggert@cs.ucla.edu>
19107 Port and simplify example sh script
19109 * doc/misc/org.texi (noweb-ref): Simplify shell script example and
19110 don’t use ‘tail -1’, which is not portable.
19112 2017-03-21 Noam Postavsky <npostavs@gmail.com>
19114 Narrow scope of modification hook renabling in org-src fontification
19116 Modification hooks should be enabled while modifying text in the
19117 org-src temp buffer, but in 2017-01-29 "Call modification hooks in
19118 org-src fontify buffers" the hooks were enabled also for modifications
19119 to the original org buffer. This causes fontification errors when
19120 combined with certain packages, as reported in
19121 http://lists.gnu.org/archive/html/emacs-orgmode/2017-03/msg00420.html.
19123 * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
19124 of inhibit-modification-hooks let-binding.
19126 2017-03-21 Tino Calancha <tino.calancha@gmail.com>
19128 epatch: Save right backups in Git multipatches
19130 Multipatches on N Git files save wrong backups for
19131 N-1 files; only the last one has a correct backup (Bug#26084).
19132 * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
19133 * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
19134 * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
19135 Rename from ibuffer-test-bug25010.
19136 (ediff-ptch-test-bug26084): New test.
19138 2017-03-21 Michael R. Mauger <michael@mauger.com>
19140 * lisp/progmodes/sql.el: Version 3.6
19142 (sql-login-params): Added :must-match for completition of
19143 `server' and `database' login parameters.
19144 (sql-sqlite-login-params, sql-postgres-login-params): Set
19145 :must-match to `confirm'.
19146 (sql-get-login-ext): Use :must-match value to control
19147 `read-file-name' or `completing-read'.
19148 (sql-connect): Added optional BUF-NAME parameter; Reworked
19149 connection variable processing; Pass buffer name to
19150 `sql-product-interactive'.
19151 (sql-product-interactive): Pass buffer name along.
19152 (sql-comint): Add optional BUF-NAME and calculate reasonable default.
19153 (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
19154 (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
19155 (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
19156 (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
19157 (sql-comint-vertica): Add optional BUF-NAME, pass to
19159 (sql-oracle--list-oracle-name): New function.
19160 (sql-oracle-list-all): Use it.
19161 (sql-oracle-completion-object): Enhanced.
19163 2017-03-20 Vincent Belaïche <vincentb1@users.sourceforge.net>
19165 Solve ses-recalculate-cell updating only current line bug.
19167 * lisp/ses.el (ses-recalculate-cell): Add optional argument
19168 ses--curcell to avoid overwriting ses--curcell when function is
19169 called from ses-recalculate-all. Update docstring accordingly.
19170 (ses-recalculate-all): Call ses-recalculate-cell with argument
19171 ses--curcell to avoid its overwriting.
19173 2017-03-20 Paul Eggert <eggert@cs.ucla.edu>
19175 Fix problem with out-of-date dependencies
19177 Problem reported by Robert Marshall in:
19178 http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00501.html
19179 Although this problem has been with us for a while, the recent
19180 change from Automake to GNU Make exposed it again.
19181 * configure.ac (AUTO_DEPEND): When autodepending, clean out any
19182 leftover dependency and object files, since the previous sources'
19183 dependencies may disagree with the current ones. Reconfiguring
19184 typically needs to force a rebuild anyway.
19186 2017-03-20 Mark Oteiza <mvoteiza@udel.edu>
19188 Simpler filter implementation
19190 * lisp/play/dunnet.el (dun-endgame-question): Get or set
19191 dun-endgame-questions one time only. Use dolist and an index to
19194 2017-03-20 Mark Oteiza <mvoteiza@udel.edu>
19196 * lisp/button.el (forward-button): Use user-error instead.
19198 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19202 This gets Emacs working again with HP-UX Itanium cc.
19204 2017-03-19 stdalign: tweak version# and test for HP-UX IA64
19205 2017-03-18 stdalign: restore previous behavior for HP-UX IA64
19206 2017-03-17 stat-time, timespec: Support header files in C++ mode
19207 2017-03-17 stdalign: Make it work with HP-UX cc
19208 2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
19209 2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
19210 2017-03-14 gnulib-tool: don't produce tests with only snippets
19211 2017-03-14 limits-h: Make it work with HP-UX cc.
19212 * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
19213 * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19214 * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
19215 * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
19218 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19220 * ChangeLog.2: Merge from emacs-25.
19222 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19224 Fixups after merge from emacs-25
19226 * etc/NEWS: Remove stray entry.
19227 * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
19228 * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
19229 Make it nondecreasing.
19231 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19233 Merge from origin/emacs-25
19235 d71e071 Improve documentation of interactive "r".
19237 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19239 Merge from origin/emacs-25
19241 a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
19242 1925dd9 Fix duplicate wording in Emacs manual
19243 6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
19244 2d671fd Fix wording in Emacs manual
19245 a8766a2 Document how to customize input methods
19246 6eb8995 * lisp/net/eww.el (eww-reload): Doc fix. (Bug#25981)
19247 aceac95 Fix warning message about native completion (Bug#25984)
19248 a314c1f Clarify documentation of 'raise' and 'height' display specs
19249 f366f6e Mention problems with GPaste in PROBLEMS
19250 6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
19251 6406618 Fix doc strings in info.el
19252 c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
19253 eed9677 Fix doc string of 'posn-at-point'
19254 0d5957e Documentation fix in elisp reference manual
19256 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19258 Merge from origin/emacs-25
19260 ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
19261 2b774fa Mention "editor" in Emacs man page header
19262 ae60d0c Document problems with nerd-fonts
19263 2fdb5a9 ; Details about pinning Emacs to w32 task bar
19264 5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
19265 4c51ef4 Clarify what is the "cursor"
19266 8303c32 ; * etc/NEWS: Copyedits.
19267 3f7493e ; Fix a typo in comment
19268 c54cf8d Improve commentary in lisp.h
19269 8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
19270 0ba9932 Disable native completion for ipython (Bug#25067)
19271 38fc456 Fix a typo in ada-mode manual
19272 00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
19273 a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
19279 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19281 Merge from origin/emacs-25
19283 02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
19285 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19287 Merge from origin/emacs-25
19289 e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
19291 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19293 Merge from origin/emacs-25
19295 ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
19296 7e02a47 Index byte-compile-debug
19297 7c1e598 Document `byte-compile-debug' in the ELisp manual
19298 4d81eb4 Document variable `byte-compile-debug'
19299 72ef710 Fix call to debugger on assertion failure
19300 ae8264c Call modification hooks in org-src fontify buffers
19301 b3139da ; Fix last change in doc/lispref/strings.texi
19302 c331f39 Improve documentation of 'format' conversions
19303 9f52f67 Remove stale functions from ert manual
19304 c416b14 Fix a typo in Eshell manual
19305 06695a0 ; Fix a typo in ediff-merg.el
19306 954e9e9 Improve documentation of hooks related to saving buffers
19307 9fcab85 Improve documentation of auto-save-visited-file-name
19308 2236c53 fix typo in mailcap-mime-extensions
19309 85a3e4e Fix typos in flymake.el
19310 a1ef10e More NEWS checking for admin.el's set-version
19313 # lisp/emacs-lisp/bytecomp.el
19315 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19317 Merge from origin/emacs-25
19319 5569e64 ; Spelling fixes
19320 24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
19321 9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
19322 69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix. (Bug#2...
19323 42eae54 Improve documentation of dabbrevs
19324 b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
19325 3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
19328 # lisp/textmodes/rst.el
19330 2017-03-19 Paul Eggert <eggert@cs.ucla.edu>
19332 Merge from origin/emacs-25
19334 0e35405 Improve documentation of coding-systems
19335 c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
19336 16fb50d Fix an error message in python.el
19337 a2a2073 Clarify major mode switching
19338 fc38671 Add helpful comment to compile-command's docstring
19339 ee65d85 Fix ':version' of 'select-enable-primary'
19341 2017-03-19 Paul Pogonyshev <pogonyshev@gmail.com>
19343 Fix bug in generator function with pcase (Bug#26068)
19345 * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
19348 2017-03-19 Alan Mackenzie <acm@muc.de>
19350 Fix chaotic indentation of C++ lambda. Enhance documentation thereof
19352 * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
19353 invocation of c-on-identifier with a check we're not at the _end_ of an
19356 * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
19357 perl versions of texi2dvi haven't implemented it.
19358 (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
19360 (Statement Block Symbols): Add a section illustrating a C++ lambda function.
19361 (FAQ): Add a question about "excessive" indentation of the contents of a C++
19362 lambda function, and how to get rid of it.
19364 2017-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
19366 Remove unused vars in cl-extra.el and tramp.el.
19368 * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
19370 * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
19371 (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
19372 (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
19374 2017-03-19 Stefan Monnier <monnier@iro.umontreal.ca>
19376 Improve describe-symbol's layout of slots when describing types
19378 * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
19379 (cl--describe-class-slots): Use it.
19381 2017-03-18 Michael Albinus <michael.albinus@gmx.de>
19385 * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
19386 <expand-file-name>: Remove handler. (Bug#26156)
19388 2017-03-18 Stefan Monnier <monnier@iro.umontreal.ca>
19390 * lisp/obarray.el (obarray-size): Avoid compiler warning.
19392 2017-03-18 Eli Zaretskii <eliz@gnu.org>
19394 Fix last change in lib/Makefile.in
19396 * lib/Makefile.in (srcdir): Define, as including
19397 $(srcdir)/../nt/gnulib-cfg.mk needs that.
19399 2017-03-18 Paul Eggert <eggert@cs.ucla.edu>
19401 * configure.ac: Fix typo in diagnostic.
19403 2017-03-18 Paul Eggert <eggert@cs.ucla.edu>
19405 Port out-of-source builds to windows-nt
19407 Problem reported by Angelo Graziosi in:
19408 http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00431.html
19409 * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
19410 to handle out-of-source builds if windows-nt.
19412 2017-03-17 Eli Zaretskii <eliz@gnu.org>
19414 MS-Windows followup for switch from Automake
19417 * nt/INSTALL.W64: Remove references to Automake. (Bug#26100)
19419 2017-03-17 Eli Zaretskii <eliz@gnu.org>
19421 Improve documentation of interactive "r".
19423 * doc/lispref/commands.texi (Interactive Codes): Mention that mark
19424 must be set for "r" to work.
19426 2017-03-17 Paul Eggert <eggert@cs.ucla.edu>
19428 Fixups for GNU Make switchover
19430 This fixes some minor problems introduced in the recent switch to GNU
19431 Make, discovered by further testing. Without some of these changes
19432 'make -j' would sometimes have race conditions caused by missing
19433 dependencies. (Bug#26100)
19434 * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
19435 * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
19436 src/config.in, since the former's timestamp now represents
19438 ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
19439 with other autogen.sh invocations.
19440 ($(srcdir)/src/stamp-h.in):
19441 Remove rule, as this file is no longer created.
19442 * Makefile.in (top_distclean):
19443 * src/Makefile.in (bootstrap-clean):
19444 No need to remove stamp-h1, as that was an Automake byproduct
19445 and Automake is no longer in use.
19446 * lib/Makefile.in, src/Makefile.in:
19447 (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
19448 (../config.status, Makefile): Simplify by limiting dependencies
19449 to files we care about and files in the repository, and by
19450 using just one file to represent the timestamps on multiple
19451 targets updated by the same rule.
19452 * autogen.sh: Do not create or use src/stamp-h.in.
19453 Instead, have 'find' test the two output files directly.
19455 2017-03-17 Paul Eggert <eggert@cs.ucla.edu>
19457 Switch from Automake to GNU Make
19459 Emacs assumes GNU Make, and GNU Make has much of the functionality of
19460 Automake built-in. The Emacs build process uses Automake primarily
19461 because Emacs uses some Gnulib code and Gnulib formerly required
19462 Automake. Now that Gnulib no longer requires Automake, Emacs can
19463 stop using Automake and this should simplify Emacs maintenance
19464 in the future (Bug#26100). Although this patch may look long, most of
19465 it is generated automatically: the changes to build-aux/config.guess,
19466 build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
19467 all done by admin/merge-gnulib.
19468 * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
19469 build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
19470 build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
19471 as they are no longer built by autogen.sh.
19472 Add lib/gnulib.mk, as it is now built by 'configure'.
19473 Remove nt/gnulib.mk, as it is no longer built by 'make'.
19474 * INSTALL.REPO, README, admin/make-tarball.txt:
19475 Remove mention of Automake.
19476 * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
19477 (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
19478 ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
19479 ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
19481 ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
19482 ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
19483 ($(srcdir)/src/config.in):
19484 Use autogen.sh instead of doing it by hand.
19485 * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
19486 New vars, to simplify processing of avoided modules.
19487 (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
19488 Add --gnu-make, and change makefile name to gnulib.mk.in.
19489 Copy config.guess, config.sub, and install-sh too, since
19490 Automake no longer does that for us.
19491 * admin/notes/copyright:
19492 * admin/update_autogen (genfiles):
19493 Update list of files.
19494 Remove hack for nt/gnulib.mk, a file that is no longer needed.
19495 * autogen.sh (progs): Remove Automake.
19496 (automake_min): Remove.
19497 Build aclocal.m4 so that autoreconf need not use aclocal.
19498 * build-aux/config.guess, build-aux/config.sub:
19499 * build-aux/install-sh:
19500 New files, copied from Gnulib. These are now updated by
19501 admin/merge-gnulib instead by autogen.sh.
19502 * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
19504 (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
19505 (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
19506 (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
19507 (--disable-silent-rules): New option, since Automake no longer
19509 (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
19510 with AM_SUBST_NOTMAKE.
19511 (AC_PROG_INSTALL): Add call.
19512 (MAKEINFO): Do not bother with the 'missing' program.
19513 (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
19514 (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
19515 (SUBDIR_MAKEFILES): Remove duplication.
19516 * lib/Makefile.am: Remove, replacing with:
19517 * lib/Makefile.in: New file, with the old Makefile.am contents
19518 and with the following changes:
19519 (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
19520 (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
19521 (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
19522 (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
19524 (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
19525 (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
19526 (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
19527 (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
19528 New macros and rules, since Automake no longer does them.
19529 Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
19530 instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
19531 Include dependency files if AUTO_DEPEND.
19532 (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
19534 (bootstrap-clean): Depend on distclean, not maintainer-clean,
19535 and remove gnulib.mk.
19536 (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
19537 New macros and rules, copied from ../Makefile.in.
19538 ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
19539 (.c.o, e-%.o): New generic rules.
19540 * lib/gnulib.mk: Remove.
19541 * lib/gnulib.mk.in: New file, which is built by autogen.sh
19542 and contains much of what used to be in lib/gnulib.mk.
19543 * m4/gnulib-common.m4: Copy from gnulib.
19544 * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
19545 build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
19546 nt/gnulib-modules-to-delete.cfg. Distribute lib/Makefile.in,
19547 lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
19548 * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
19549 (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
19550 * nt/gnulib-cfg.mk: New file, which supersedes ...
19551 * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
19552 * src/Makefile.in (ACLOCAL_INPUTS): Remove.
19553 (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
19554 ($(top_srcdir)/configure, ../config.status, config.in Makefile):
19555 Defer to parent Makefile.
19557 2017-03-17 Paul Eggert <eggert@cs.ucla.edu>
19559 Don't suggest Mailutils on MS-Windows
19561 * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
19562 hasn't been ported.
19564 2017-03-17 Thien-Thi Nguyen <ttn@gnu.org>
19566 Fix bug: Range-check integer ‘alpha’ frame parm value
19568 Typo introduced 2013-04-01, "Prefer < to >
19569 in range checks such as 0 <= i && i < N".
19571 * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
19573 2017-03-17 Thien-Thi Nguyen <ttn@gnu.org>
19575 Fix bug: Range-check integer ‘alpha’ frame parm value
19577 Typo introduced 2013-04-01, "Prefer < to >
19578 in range checks such as 0 <= i && i < N".
19580 * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
19582 2017-03-17 Michael Albinus <michael.albinus@gmx.de>
19586 * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
19587 there is a function which could be called. (Bug#26127)
19589 * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
19590 Clear also `file-notify-descriptors'.
19591 (file-notify--test-make-temp-name): Move up.
19592 (file-notify-test02-rm-watch): New test.
19593 (file-notify-test03-events, file-notify-test04-autorevert)
19594 (file-notify-test05-file-validity)
19595 (file-notify-test06-dir-validity)
19596 (file-notify-test07-many-events, file-notify-test08-backup)
19597 (file-notify-test09-watched-file-in-watched-dir)
19598 (file-notify-test10-sufficient-resources): Rename.
19600 2017-03-17 Paul Eggert <eggert@cs.ucla.edu>
19602 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
19604 2017-03-17 Paul Eggert <eggert@cs.ucla.edu>
19606 Emacs 'movemail' is now a configure-time option
19608 The new configure option --with-mailutils lets the builder say
19609 that Emacs should assume that GNU Mailutils is installed, instead
19610 of continuing to build and install its own limited and insecure
19611 substitute for 'movemail'.
19612 * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
19613 * configure.ac: Add --with-mailutils option.
19614 (with_mailutils): New variable.
19615 Do not bother configuring 'movemail' when not building it.
19616 Warn about issues relating to --with-mailutils.
19617 * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
19618 (Movemail, Remote Mailboxes): Document port numbers in
19620 * lib-src/Makefile.in (with_mailutils): New macro.
19621 (UTILITIES): Use it.
19623 2017-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
19625 Add obarray-size and fix tests accordingly. Use obarrayp in cedet.
19627 * lisp/obarray.el (obarray-size): New function.
19629 * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
19630 (semantic-lex-spp-save-table, semantic-lex-spp-macros):
19631 * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
19634 * test/lisp/obarray-tests.el (obarray-make-default-test)
19635 (obarray-make-with-size-test): Use it.
19637 2017-03-16 Michael Albinus <michael.albinus@gmx.de>
19639 Document remote file name syntax change
19641 * doc/emacs/files.texi (Remote Files, Quoted File Names):
19642 * doc/misc/org.texi (dir): Change examples to use a method.
19644 * doc/misc/tramp.texi (Top) [trampf]: Remove macro. Add
19645 `Testing' menu entry.
19646 (History): Fix typos. Mention syntax change.
19647 (Configuration, Default Host, File name Syntax)
19648 (File name completion, Frequently Asked Questions):
19649 Change examples to use a method.
19650 (External methods, Default Host, Multi-hops, Remote processes):
19652 (Default Method): Mention pseudo method "-".
19653 (External packages): Rewrite intention of `non-essential'.
19655 * etc/NEWS: Mark recent Tramp entries as documented.
19657 2017-03-16 Stefan Monnier <monnier@iro.umontreal.ca>
19659 (semantic-lex-type-invalid): Fix nested backquote.
19661 * lisp/cedet/semantic/lex.el: Use lexical-binding.
19662 (semantic-lex-type-invalid): Fix nested backquote.
19663 (semantic-lex-map-symbols, semantic-lex-type-symbol)
19664 (semantic-lex-keyword-symbol): Use obarrayp.
19666 2017-03-15 Michael Albinus <michael.albinus@gmx.de>
19668 * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
19670 2017-03-15 Mark Oteiza <mvoteiza@udel.edu>
19672 Write a named function
19674 * lisp/comint.el (comint-nonblank-p): New function.
19675 (comint-input-filter): Use it.
19677 2017-03-15 Mark Oteiza <mvoteiza@udel.edu>
19679 Replace more nested ifs with cond
19681 This is a continuation of 0db5ba4 "Replace nested ifs with cond".
19682 * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
19683 (dun-drop-check, dun-swim, dun-break): Use when and cond where
19685 (dun-examine): Fix indentation.
19686 (dun-doverb): Use when.
19687 (dun-read-line): Refactor.
19689 2017-03-15 Noam Postavsky <npostavs@gmail.com>
19691 Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
19693 Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
19694 \n as whitespace" from 2016-07-04. Setting \n to non-whitespace
19695 causes the regex engine to backtrack a lot when searching for
19696 "\\s-+$" (Bug#26079).
19698 * lisp/simple.el (delete-trailing-whitespace): Don't change newline
19699 syntax, search for "\\s-$" and then skip backward over trailing
19702 2017-03-14 Paul Eggert <eggert@cs.ucla.edu>
19707 2017-03-14 snippets: move unadjusted snippet sources to lib
19708 2017-03-14 gnulib-tool: fix typo in comment output
19709 2017-03-14 snippets: work around GNU Make 3.82 VPATH
19710 2017-03-13 gnulib-tool: minor --gnu-make fixups
19711 2017-03-12 gnulib-tool: new option --gnu-make
19712 * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
19713 lib/warn-on-use.h. Change exception from
19714 build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
19715 * admin/authors.el (authors-renamed-files-regexps):
19716 * admin/notes/copyright, make-dist:
19717 The snippet files moved from build-aux/snippet to lib.
19718 * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
19719 * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
19720 * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
19721 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
19722 * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
19724 2017-03-14 Eli Zaretskii <eliz@gnu.org>
19726 Fix duplicate wording in Emacs manual
19728 * doc/emacs/programs.texi (Which Function): Delete duplicate
19729 wording. (Bug#26098)
19731 2017-03-14 Michael Albinus <michael.albinus@gmx.de>
19733 Reenable lost Tramp test case
19735 * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
19736 Reenable lost test case.
19738 2017-03-14 Alan Third <alan@idiocy.org>
19740 Revert "Remove NSEvent loop from ns_select (bug#25265)"
19742 This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
19744 2017-03-14 Alan Third <alan@idiocy.org>
19746 Revert "Add missing timeout value in ns_select"
19748 This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
19750 2017-03-14 Alan Third <alan@idiocy.org>
19752 Remove old macOS compatibility code
19754 * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
19755 macOS versions below 10.6 as they are not supported in Emacs 25+.
19757 2017-03-14 Michael Albinus <michael.albinus@gmx.de>
19759 Tune `tramp-completion-file-name-regexp-unified'
19761 * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
19762 Extend this regexp to match also "/".
19764 2017-03-14 Tino Calancha <tino.calancha@gmail.com>
19766 Show ancestor buffer in 3way merges
19768 Add an option ediff-show-ancestor', to control if the ancestor buffer
19769 must be shown in 3way merges (Bug#25493); set it non-nil by default.
19770 Add a toggle to change this option interactively; the original
19771 value of the option is restored on exit.
19773 Update the window setup so that the ancestor buffer is
19774 shown in 3way merges when ediff-show-ancestor is non-nil.
19776 Any operation on ediff windows must take in account the
19777 ancestor window as well, when this is shown.
19779 * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
19780 (ediff--show-ancestor-orig): New defvar.
19781 * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
19782 (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
19783 Display ancestor buffer if ediff-show-ancestor is non-nil.
19784 (ediff-keep-window-config): Expect ancestor window in
19785 ediff-window-config-saved.
19786 (ediff-window-alist): Add entry for the ancestor window.
19787 * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
19788 ediff-window-config-saved contains ancestor window.
19789 (ediff-show-ancestor): Delete this command.
19790 (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
19791 (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
19792 don't cheat it to think that is performing a comparison, that trick is not
19793 necessary anymore: simply call 'ediff-setup-diff-regions-function'
19794 with file-A, file-B and the file ancestor.
19795 (ediff-recenter): Update doc string. Consider the ancestor buffer.
19796 (ediff--check-ancestor-exists): New defun.
19797 (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
19798 (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
19799 (ediff-scroll-vertically, ediff-scroll-horizontally)
19800 (ediff-operate-on-windows): Consider the ancestor as well.
19801 * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
19802 List ediff-toggle-show-ancestor.
19803 * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
19805 2017-03-14 Tino Calancha <tino.calancha@gmail.com>
19807 diff-mode: Improve default faces for buffer ancestor
19809 * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
19810 (ediff-fine-diff-Ancestor): Use defaults consistent with
19811 faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
19813 2017-03-14 Hong Xu <hong@topbug.net>
19815 * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
19817 2017-03-13 Paul Eggert <eggert@cs.ucla.edu>
19821 * make-dist: Fix typo introduced in the Bug#25895 fix.
19823 2017-03-13 Eli Zaretskii <eliz@gnu.org>
19825 Fix wording in Emacs manual
19827 * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
19830 2017-03-13 Michael Albinus <michael.albinus@gmx.de>
19832 etc/NEWS: Remote file names require a method.
19834 2017-03-13 Michael Albinus <michael.albinus@gmx.de>
19836 Require method in remote file name syntax
19838 * lisp/minibuffer.el (completion--nth-completion):
19839 Do not bind `non-essential'.
19841 * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
19842 * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
19843 * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
19844 * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
19845 `tramp-check-proper-method-and-host'.
19847 * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
19848 (tramp-maybe-open-connection): Do not use argument for
19849 ´tramp-completion-mode-p'.
19851 * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
19852 (tramp-prefix-format, tramp-postfix-method-format)
19853 (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
19854 (tramp-prefix-port-format, tramp-postfix-host-format)
19855 (tramp-file-name-regexp, tramp-completion-file-name-regexp):
19856 Use `eq' instead of `eqal'.
19857 (tramp-method-regexp, tramp-domain-regexp)
19858 (tramp-remote-file-name-spec-regexp)
19859 (tramp-file-name-regexp-unified)
19860 (tramp-completion-file-name-regexp-unified)
19861 (tramp-completion-file-name-regexp-separate): Adapt regexp.
19862 (tramp-completion-file-name-handler-alist)
19863 (tramp-run-real-handler): Autoload them.
19864 (tramp-find-method): Handle `tramp-default-method-marker'.
19865 (tramp-check-proper-method-and-host)
19866 (tramp-completion-run-real-handler): Remove them.
19867 (tramp-error-with-buffer, tramp-connectable-p): Do not use
19868 argument for ´tramp-completion-mode-p'.
19869 (tramp-find-foreign-file-name-handler): Remove COMPLETION
19870 argument. Do not apply heuristic for completion.
19871 (tramp-file-name-handler): Do not modify `non-essential'.
19872 (tramp-completion-file-name-handler): Change implementation.
19873 (tramp-autoload-file-name-handler)
19874 (tramp-completion-handle-file-name-all-completions):
19875 Call `tramp-run-real-handler'.
19876 (tramp-completion-mode-p): Do not autoload. Remove argument.
19877 Do not apply heuristic for completion.
19878 (tramp-completion-dissect-file-name): Simplify implementation.
19879 (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
19881 * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
19882 (tramp-test02-file-name-dissect)
19883 (tramp-test03-file-name-defaults)
19884 (tramp-test06-directory-file-name): Adapt to the new syntax.
19885 (tramp-test11-copy-file, tramp-test12-rename-file)
19886 (tramp--test-check-files): Deactivate temporarily tests with
19888 (tramp-test16-directory-files, tramp-test17-insert-directory):
19890 (tramp-test24-file-name-completion): Do not check for
19892 (tramp-test31-make-auto-save-file-name): Deactivate temporarily
19895 2017-03-13 Eli Zaretskii <eliz@gnu.org>
19897 Fix bidi paragraph direction when inserting text at newline
19899 * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
19900 paragraph cache when inserting immediately after a newline.
19903 2017-03-13 Tino Calancha <tino.calancha@gmail.com>
19905 * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
19907 2017-03-13 Stefan Monnier <monnier@iro.umontreal.ca>
19909 * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
19911 (cl-print-object) <compiled-function>: Print the docstring and
19912 interactive form. Obey cl-print-compiled.
19914 2017-03-13 Noam Postavsky <npostavs@gmail.com>
19916 Fix indent-sexp when called from inside a string (Bug#21343)
19918 * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
19919 state from `syntax-ppss'.
19921 2017-03-13 Noam Postavsky <npostavs@gmail.com>
19923 * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
19925 * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
19926 (indent-subsexp, indent-sexp-in-string): New tests.
19928 2017-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
19930 Use switch on pseudovector types; plus cleanups along the way
19932 * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
19933 (PSEUDOVECTOR_TYPEP): Change type of `code'.
19935 * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
19936 (mark_object): Use PSEUDOVECTOR_TYPE.
19938 * src/data.c (Ftype_of): Use switch on pvec type.
19940 * src/print.c (print_object): Use switch on pvec type.
19942 * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
19943 Add recently added types.
19945 2017-03-12 Paul Eggert <eggert@cs.ucla.edu>
19947 Install update-game-score only on request
19949 Most distributions do not install update-game-score properly
19950 due to setuid/setgid complications, so install it only when
19951 the installer specifies a user or group (Bug#25895).
19952 * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
19953 * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
19955 (epaths-force): Use PATH_GAME.
19956 (uninstall): Remove snake-scores and tetris-scores only if shared.
19957 * configure.ac: Default --with-gameuser to 'no'.
19958 (UPDATE_MANIFEST): Remove.
19959 * etc/NEWS: Mention this.
19960 * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
19961 (use_gamedir): New macro.
19962 (UTILITIES): Remove update-game-score unless use_gamedir.
19963 (SCRIPTS): Remove $(UPDATE_MANIFEST).
19964 ($(DESTDIR)${archlibdir}): Install game directory program and data
19965 only if use_gamedir.
19966 * lib-src/update-game-score.exe.manifest: Remove, as
19967 update-game-score is no longer installed on MS-Windows.
19968 * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
19969 Use auxiliary program only if setuid or setgid.
19970 * make-dist: Do not distribute update-game-score.exe.manifest.
19971 * src/callproc.c (init_callproc):
19972 Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
19973 (syms_of_callproc): Remove unnecessary initialization of
19974 Vshared_game_score_directory.
19976 2017-03-12 Simen Heggestøyl <simenheg@gmail.com>
19978 Add `touch-action' to list of CSS properties
19980 * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
19983 2017-03-12 Eli Zaretskii <eliz@gnu.org>
19985 Teach etags to process ENUM_BF correctly
19987 * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
19988 (hash): Regenerated values for asso_values[] array.
19989 (in_word_set): Update values of TOTAL_KEYWORDS and
19990 MAX_HASH_VALUE. Add "ENUM_BF" to the wordlist[] array.
19991 (in_enum_bf): New file-global variable.
19992 (consider_token): Skip ENUM_BF if not in a macro definition.
19993 (C_entries): Reset the in_enum_bf flag when past its closing
19996 * test/manual/etags/ETAGS.good_1:
19997 * test/manual/etags/ETAGS.good_2:
19998 * test/manual/etags/ETAGS.good_3:
19999 * test/manual/etags/ETAGS.good_4:
20000 * test/manual/etags/ETAGS.good_5:
20001 * test/manual/etags/ETAGS.good_6:
20002 * test/manual/etags/CTAGS.good: Adapt to changes in etags.
20004 2017-03-12 Michael Albinus <michael.albinus@gmx.de>
20006 Use path/to/file instead of path/to.file in tramp.texi
20008 * doc/misc/tramp.texi (Configuration, File name Syntax):
20009 Use path/to/file instead of path/to.file.
20011 2017-03-12 Paul Eggert <eggert@cs.ucla.edu>
20013 Remove some stray gnulib files
20015 * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
20016 (GNULIB_MODULES): Remove unsetenv, as it is not needed and
20017 the --avoid=unsetenv option avoided most of it anyway.
20018 * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
20019 * lib/gnulib.mk: Regenerate.
20021 2017-03-12 Paul Eggert <eggert@cs.ucla.edu>
20026 2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
20027 * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
20029 2017-03-12 Glenn Morris <rgm@gnu.org>
20031 Remove trivial duplication in epg-config
20033 * lisp/epg-config.el (epg-config--program-alist):
20034 Use epg-gpg-minimum-version.
20036 2017-03-12 Glenn Morris <rgm@gnu.org>
20038 Small epg-find-configuration improvement
20040 * lisp/epg-config.el (epg-find-configuration):
20041 Handle epg-gpg-program customized but not saved. (Bug#25947)
20043 2017-03-11 Stefan Monnier <monnier@iro.umontreal.ca>
20045 Improve last change
20047 * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
20048 Use ppss to check escaping and add help-echo.
20050 2017-03-11 Stefan Monnier <monnier@iro.umontreal.ca>
20052 Highlight useless backslashes in Elisp strings
20054 * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
20055 Put warning face on backslashes that have no effect.
20057 2017-03-11 Eli Zaretskii <eliz@gnu.org>
20059 Document how to customize input methods
20061 * doc/emacs/mule.texi (Input Methods): Document how to customize
20064 2017-03-11 Eli Zaretskii <eliz@gnu.org>
20066 * lisp/net/eww.el (eww-reload): Doc fix. (Bug#25981)
20068 2017-03-11 Eli Zaretskii <eliz@gnu.org>
20070 Fix generation of nt/gnulib.mk on macOS
20072 * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
20073 to Sed, as that is not portable with non-GNU Sed variants.
20076 2017-03-11 Eli Zaretskii <eliz@gnu.org>
20078 Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
20080 * src/xdisp.c (handle_single_display_spec): If position to be
20081 restored after processing the display property comes from an
20082 overlay, protect against that overlay's end point being outside of
20083 the narrowed region.
20084 Reported by Filipe Silva <filipe.silva@gmail.com> in
20085 http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00176.html.
20087 2017-03-10 Glenn Morris <rgm@gnu.org>
20089 Small improvement for epa-display-error (bug#24553)
20091 * lisp/epa.el (epa-display-error): Report the actual program in use.
20093 2017-03-10 Paul Eggert <eggert@cs.ucla.edu>
20095 Tweak X toolkit code to pacify modern GCC
20097 * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
20098 Don’t include <stdlib.h>, since this code now calls emacs_abort
20100 * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
20101 (wm_delete_window):
20102 * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
20103 * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
20104 * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
20105 (separator_height, XlwMenuInitialize):
20106 Use emacs_abort, not abort. Without this change, some calls
20107 to ‘abort’ were invalid, as stdlib.h was not always included.
20108 * src/widget.c (resources, emacsFrameClassRec):
20109 * src/xfns.c (x_window) [USE_X_TOOLKIT]:
20110 * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
20111 * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
20112 (x_term_init) [USE_X_TOOLKIT]:
20113 Cast string constants to char * to pacify --enable-gcc-warnings.
20115 2017-03-10 Michael Albinus <michael.albinus@gmx.de>
20117 * doc/misc/tramp.texi (Android shell setup): Require adb program
20119 2017-03-10 Michael Albinus <michael.albinus@gmx.de>
20121 Adapt tramp-tests.el
20123 * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
20124 (tramp-test24-file-name-completion): Call
20125 `tramp-completion-mode-p' with argument.
20127 2017-03-10 Thien-Thi Nguyen <ttn@gnu.org>
20129 [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
20131 * doc/lispref/processes.texi (Bindat Examples):
20132 Mention two examples in intro blurb; rewrite first example.
20134 2017-03-10 Paul Eggert <eggert@cs.ucla.edu>
20136 Simplify checks for xdg-open and xdg-email
20138 browse-url's xdg-open detection was too picky on some GNU/Linux
20139 desktops; see Bug#25778. Simplify the code by assuming xdg-open works
20140 if it is executable, as nowadays this is more likely to be correct than
20141 trying to use heuristics from a few years ago. Don't test for nohup: it
20142 is ineffective nowadays, as xdg-open's child uses the default action for
20143 SIGHUP even if xdg-open's invoker ignores SIGHUP. While we're at it,
20144 allow for Wayland here, as "emacs -nw" might be running in a non-X
20146 * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
20147 * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
20148 Simplify to a test for DISPLAY and whether the helper program is
20149 executable. Allow WAYLAND_DISPLAY as an option.
20151 2017-03-09 Vibhav Pant <vibhavp@gmail.com>
20153 Byte compile cond clauses without any bodies correctly.
20155 * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
20156 cond clause has no body, push t on to the stack.
20158 2017-03-09 Michael Albinus <michael.albinus@gmx.de>
20162 * lisp/minibuffer.el (completion--nth-completion):
20163 Let-bind `non-essential'.
20165 * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
20166 (tramp-completion-mode-p): Optional parameter VEC. Replace
20167 check for `last-input-event' by analysing VEC argument.
20168 (tramp-error-with-buffer, tramp-file-name-handler)
20169 (tramp-connectable-p, tramp-handle-file-name-as-directory):
20170 * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
20172 2017-03-09 Vibhav Pant <vibhavp@gmail.com>
20174 etc/NEWS: Add entry for new `switch' bytecode.
20176 2017-03-08 Paul Eggert <eggert@cs.ucla.edu>
20178 * src/data.c (arithcompare): Add comments.
20180 2017-03-08 Glenn Morris <rgm@gnu.org>
20182 Update a cl-print test
20184 * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
20185 Update for recent change in cl-print-object function output.
20187 2017-03-08 Sam Steingold <sds@gnu.org>
20189 Replace change-log-date-face -> change-log-date
20191 This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
20193 2017-03-08 Michael Albinus <michael.albinus@gmx.de>
20197 * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
20198 Check, whether file is too large. (Bug#26011)
20200 2017-03-08 Andreas Schwab <schwab@linux-m68k.org>
20202 * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
20203 (Fmax, Fmin): Restore documentation.
20205 * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
20206 comparisons that are written backward.
20208 2017-03-08 Thien-Thi Nguyen <ttn@gnu.org>
20210 [doc elisp] Add some index entries for "old" advice mechanism
20212 * doc/lispref/functions.texi (Porting old advice):
20213 Add one @cindex and two @findex entries.
20215 2017-03-08 Paul Eggert <eggert@cs.ucla.edu>
20217 * etc/NEWS: Adjust to match previous patch.
20219 2017-03-08 Paul Eggert <eggert@cs.ucla.edu>
20221 min and max should not return markers
20223 Problem reported by Glenn Morris in:
20224 http://lists.gnu.org/archive/html/emacs-devel/2017-03/msg00147.html
20225 * src/data.c (minmax_driver): Convert any marker result to an
20226 integer, since some callers assume this.
20227 * test/src/data-tests.el (data-tests-max, data-tests-min):
20230 2017-03-08 Stefan Monnier <monnier@iro.umontreal.ca>
20232 * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
20234 2017-03-08 Alan Third <alan@idiocy.org>
20236 Add missing timeout value in ns_select
20238 * src/nsterm.m (ns_select): Set timeout to distant future when relying
20239 on fd_handler's timeout.
20241 2017-03-07 Glenn Morris <rgm@gnu.org>
20243 * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
20245 2017-03-07 Paul Eggert <eggert@cs.ucla.edu>
20247 Remove isnan hack for Solaris 10 gcc 3.4.3
20249 This seems to have been a false alarm (Bug#26018).
20250 * src/data.c (isnan):
20251 * src/floatfns.c (isfinite, isnan):
20252 Use standard implementation if available.
20254 2017-03-07 Eli Zaretskii <eliz@gnu.org>
20256 Support browsing URLs with embedded spaces on MS-Windows
20258 * lisp/net/browse-url.el (browse-url-default-windows-browser):
20259 Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
20260 support that in file:// URLs. (Bug#26014)
20262 2017-03-07 Paul Eggert <eggert@cs.ucla.edu>
20264 Define copysign on all platforms
20266 * configure.ac (copysign): Remove test.
20267 * src/floatfns.c (signbit): New macro, if not already defined.
20268 (Fcopysign): Use it instead of copysign.
20269 (Fcopysign, syms_of_floatfns): Define the function on all platforms.
20271 2017-03-07 Phillip Lord <phillip.lord@russet.org.uk>
20273 Revert "Replace ldefs-boot with a much smaller file"
20275 This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
20277 This commit has been reverted because the new mechanism was too
20278 sensitive to changes in the lisp source, generation of new ldefs-boot
20279 files was platform specific and resulted in warnings about undefined
20282 See also 11436e2890d.
20284 2017-03-07 Phillip Lord <phillip.lord@russet.org.uk>
20286 Revert "Record autoloads till emacs dump"
20288 This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
20290 This commit has been reverted because the new mechanism was too
20291 sensitive to changes in the lisp source, generation of new ldefs-boot
20292 files was platform specific and resulted in warnings about undefined
20295 See also 11436e2890d.
20297 2017-03-07 Phillip Lord <phillip.lord@russet.org.uk>
20299 Revert "Remove unused ldefs-boot.el"
20301 This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
20303 This commit has been reverted because the new mechanism was too
20304 sensitive to changes in the lisp source, generation of new ldefs-boot
20305 files was platform specific and resulted in warnings about undefined
20308 See also 11436e2890d.
20310 2017-03-07 Phillip Lord <phillip.lord@russet.org.uk>
20312 Revert "Remove conditional includes from bootstrap"
20314 This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
20316 This commit has been reverted because the new mechanism was too
20317 sensitive to changes in the lisp source, generation of new ldefs-boot
20318 files was platform specific and resulted in warnings about undefined
20321 See also 11436e2890d.
20323 2017-03-07 Phillip Lord <phillip.lord@russet.org.uk>
20325 Revert "Speed generation of ldefs-boot-auto"
20327 This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
20329 This commit has been reverted because the new mechanism was too
20330 sensitive to changes in the lisp source, generation of new ldefs-boot
20331 files was platform specific and resulted in warnings about undefined
20334 See also 11436e2890d.
20336 2017-03-07 Phillip Lord <phillip.lord@russet.org.uk>
20338 Revert "Fix minor problems with loaddefs autogeneration"
20340 This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
20342 This commit has been reverted because the new mechanism was too
20343 sensitive to changes in the lisp source, generation of new ldefs-boot
20344 files was platform specific and resulted in warnings about undefined
20347 2017-03-07 Noam Postavsky <npostavs@gmail.com>
20349 Set default when asking for send-mail-function (Bug#25874).
20351 * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
20352 option as default for `completing-read'.
20354 2017-03-07 Paul Eggert <eggert@cs.ucla.edu>
20356 min and max now return one of their arguments
20358 * doc/lispref/numbers.texi (Comparison of Numbers):
20359 * etc/NEWS: Document this.
20360 * src/data.c (Amax, Amin): Remove constants. All uses removed.
20361 (minmax_driver): New function.
20362 (Fmax, Fmin): Use it instead of arith_driver.
20363 * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
20365 2017-03-06 Alan Third <alan@idiocy.org>
20367 Remove NSEvent loop from ns_select (bug#25265)
20369 * src/nsterm.m (ns_select): Remove event processing loop and replace
20370 with simple test for a new event.
20372 2017-03-06 Eli Zaretskii <eliz@gnu.org>
20374 A better fix for bug#25845
20376 * src/xdisp.c (font_for_underline_metrics): New function.
20377 * src/dispextern.h: Add its prototype.
20378 * src/xterm.c (x_draw_glyph_string):
20379 * src/w32term.c (x_draw_glyph_string):
20380 * src/nsterm.m (ns_draw_text_decoration): Call it. This avoids
20381 having identical code 3 times in 3 different files.
20383 2017-03-06 Noam Postavsky <npostavs@gmail.com>
20385 Fix warning message about native completion (Bug#25984)
20387 * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
20388 The relevant variable is `python-shell-completion-native-enable'.
20390 2017-03-06 Tom Tromey <tom@tromey.com>
20392 Fix typos in EIEIO manual
20394 * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
20396 2017-03-05 Paul Eggert <eggert@cs.ucla.edu>
20401 2017-03-04 dtotimespec: simplify
20402 * lib/dtotimespec.c: Copy from gnulib.
20404 2017-03-05 Paul Eggert <eggert@cs.ucla.edu>
20406 ffloor etc. now accept only floats
20408 * etc/NEWS: Say why.
20409 * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
20410 Require arg to be float.
20411 * test/src/floatfns-tests.el (fround-fixnum): Check this.
20413 2017-03-05 Eli Zaretskii <eliz@gnu.org>
20415 Fix display of cursor on underlined text
20417 * src/nsterm.m (ns_draw_text_decoration):
20418 * src/xterm.c (x_draw_glyph_string):
20419 * src/w32term.c (x_draw_glyph_string): Compute the position and
20420 thickness of the underline by looking for the first glyph of the
20421 run of underlined glyphs that includes the glyph string we are
20422 drawing. (Bug#25845)
20424 2017-03-05 Mark Oteiza <mvoteiza@udel.edu>
20426 Add more CL concept index items, print Concept Index
20428 * doc/misc/cl.texi: Print concept index.
20429 (Generalized Variables, Variable Bindings):
20430 (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
20431 (Blocks and Exits, Iteration, Multiple Values): Add concept index
20434 2017-03-05 Mark Oteiza <mvoteiza@udel.edu>
20436 Add 'loop facility' to the CL concept index
20438 * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
20441 2017-03-05 martin rudalics <rudalics@gmx.at>
20443 In `window--display-buffer' fix behavior reported in Bug#25946
20445 * lisp/window.el (window--display-buffer): Set the dedicated
20446 status of the window used and clear its history of previous
20447 buffers also for the case that the window already shows the
20448 buffer to be displayed. (Bug#25946)
20450 2017-03-05 Paul Eggert <eggert@cs.ucla.edu>
20452 Compare and round more carefully
20454 * etc/NEWS: Document this.
20455 * src/data.c (store_symval_forwarding):
20456 * src/sound.c (parse_sound):
20457 Do not botch NaN comparison.
20458 * src/data.c (cons_to_unsigned, cons_to_signed):
20459 Signal an error if a floating-point arg is not integral.
20460 * src/data.c (cons_to_unsigned, cons_to_signed):
20461 * src/fileio.c (file_offset):
20462 Use simpler overflow check.
20463 * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
20464 Avoid rounding error in overflow check.
20465 (Fcar_less_than_car): Use arithcompare directly.
20466 * test/src/charset-tests.el: New file.
20468 2017-03-05 Paul Eggert <eggert@cs.ucla.edu>
20470 Fewer rounding errors with (format "%f" fixnum)
20472 * etc/NEWS: Document this.
20473 * src/editfns.c (styled_format): When formatting integers via a
20474 floating-point format, use long double instead of double
20475 conversion, if long double’s extra precision might help.
20477 2017-03-05 Paul Eggert <eggert@cs.ucla.edu>
20479 * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
20481 * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
20483 2017-03-04 Eli Zaretskii <eliz@gnu.org>
20485 Clarify documentation of 'raise' and 'height' display specs
20487 * doc/lispref/display.texi (Other Display Specs): Clarify the
20488 effect of 'height' display spec on the following 'raise'.
20491 2017-03-04 Eli Zaretskii <eliz@gnu.org>
20493 Fix header shown by Info 'L' command
20495 * lisp/info.el (Info-history-find-node): A better heading for the
20496 list of visited nodes. (Bug#25876)
20498 2017-03-04 K. Handa <handa@gnu.org>
20500 Add a section about incorrect Bengali rendering.
20502 2017-03-04 Eli Zaretskii <eliz@gnu.org>
20504 Fix minor problems with loaddefs autogeneration
20506 * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
20507 and coding-system-for-write, to produce a UTF-8 file with Unix
20508 EOLs on MS-Windows.
20510 * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
20512 2017-03-04 David Bremner <david@tethera.net> (tiny change)
20514 Fix issues with dedicated windows in shr.el
20516 * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
20517 the window not dedicated, to avoid errors if it was, before
20518 setting its buffer temporarily. (Bug#25828)
20520 2017-03-04 Eli Zaretskii <eliz@gnu.org>
20522 Mention problems with GPaste in PROBLEMS
20524 * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
20525 GPaste, and its solution. (Bug#25902)
20527 2017-03-04 Glenn Morris <rgm@gnu.org>
20529 Avoid duplicate gud menu items with gdb-mi
20531 * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
20532 entries in gdbmi mode. (Bug#23923)
20534 2017-03-03 Paul Eggert <eggert@cs.ucla.edu>
20536 * src/editfns.c (styled_format): Omit unnecessary code.
20538 2017-03-03 Paul Eggert <eggert@cs.ucla.edu>
20540 logb now works correctly on large integers
20542 * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
20543 * etc/NEWS: Document the change.
20544 * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
20545 * m4/count-leading-zeros.m4: New files, copied from Gnulib.
20546 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
20547 * src/floatfns.c: Include count-leading-zeros.h.
20548 (Flogb): Do not convert fixnum to float before taking the log,
20549 as the rounding error can cause the answer to be off by 1.
20550 * src/lisp.h (EMACS_UINT_WIDTH): New constant.
20551 * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
20553 2017-03-03 Paul Eggert <eggert@cs.ucla.edu>
20558 2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
20559 2017-02-24 ftoastr: port to -Wdouble-promotion
20560 * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
20562 2017-03-03 Eli Zaretskii <eliz@gnu.org>
20564 Avoid duplicating characters recorded in macros
20566 * src/keyboard.c (record_char): Don't store in macro definitions
20567 characters that came from executing a macro. (Bug#25860)
20569 2017-03-03 Eli Zaretskii <eliz@gnu.org>
20571 Fix color component calculations in color.el
20573 * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
20574 (color-rgb-to-hex): Accept an optional argument
20575 DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
20576 notation either for 8 or 16 bits per component. (Bug#25890)
20577 * lisp/net/shr-color.el (shr-color->hexadecimal): Call
20578 color-rgb-to-hex with the optional argument of 2, to match color
20579 processing on the Web.
20581 2017-03-03 Tino Calancha <tino.calancha@gmail.com>
20583 Use lexical binding in benchmark.el
20585 * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
20586 (benchmark-elapse): Use 'declare'.
20587 * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
20589 2017-03-03 Noam Postavsky <npostavs@gmail.com>
20591 Switch pp.el to lexical binding
20593 Additionally, do some minor code cleanup.
20595 * lisp/emacs-lisp/pp.el: Set lexical-binding.
20596 (pp-buffer): Use skip-syntax-forward.
20597 (pp-eval-expression): Use push.
20598 (pp-last-sexp): Use with-syntax-table.
20599 * test/lisp/emacs-lisp/pp-tests.el: New tests.
20601 2017-03-03 Chunyang Xu <mail@xuchunyang.me> (tiny change)
20603 Fix completing-read call in reb-change-syntax
20605 * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
20606 of completing-read.
20608 2017-03-03 Rolf Ade <rolf@pointsman.de> (tiny change)
20610 sql-mode w/ sqlite: In-memory database
20612 Enable the usage of an in-memory database. Prior to this, sql-mode w/
20613 sqlite could only be used with file databases.
20614 * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
20615 file name provided by the user, but call sub-process sqlite with that,
20616 in which case it uses an in-memory database.
20618 2017-03-03 Allen Li <vianchielfaura@gmail.com>
20620 Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
20622 `abbrev--before-point' does not adjust `pos' to account for when it
20623 deletes the "-" left by abbrev-prefix-mark. Therefore, when
20624 `abbrev-before-point' goes to restore point, it moves point one
20625 character too far forward.
20627 * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
20629 2017-03-03 Tino Calancha <tino.calancha@gmail.com>
20631 * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
20633 2017-03-02 Paul Eggert <eggert@cs.ucla.edu>
20635 Restore XFLOATINT but with restricted args
20637 Turn instances of extract_float into XFLOAT_DATA when possible,
20638 and to a resurrected XFLOATINT when the arg is a number.
20639 The resurrected XFLOATINT is more like XFLOAT and XINT in
20640 that is valid only if its arg is a number. This clarifies
20641 the ways in which floats can be extracted at the C level.
20642 * src/editfns.c (styled_format):
20643 * src/floatfns.c (extract_float, Fexpt):
20644 Use XFLOATINT rather than open-coding it.
20645 * src/fns.c (internal_equal):
20646 * src/image.c (imagemagick_load_image):
20647 * src/xdisp.c (resize_mini_window):
20648 Prefer XFLOAT_DATA to extract_float on values known to be floats.
20649 * src/frame.c (x_set_screen_gamma):
20650 * src/frame.h (NUMVAL):
20651 * src/image.c (x_edge_detection, compute_image_size):
20652 * src/lread.c (read_filtered_event):
20653 * src/window.c (Fset_window_vscroll):
20654 * src/xdisp.c (handle_single_display_spec, try_scrolling)
20655 (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
20657 Prefer XFLOATINT to extract_float on values known to be numbers.
20658 * src/lisp.h (XFLOATINT): Bring back this function, except
20659 it now assumes its argument is a number.
20661 2017-03-02 Glenn Morris <rgm@gnu.org>
20663 Ert commands to error if no test at point (bug#25931)
20665 * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
20666 Deactivate some items if no test at point.
20667 (ert--results-test-at-point-no-redefinition):
20668 Add option to signal an error rather than return nil.
20669 (ert-results-pop-to-backtrace-for-test-at-point)
20670 (ert-results-pop-to-messages-for-test-at-point)
20671 (ert-results-pop-to-should-forms-for-test-at-point)
20672 (ert-results-describe-test-at-point): Error if no test at point.
20674 2017-03-02 Paul Eggert <eggert@cs.ucla.edu>
20678 * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
20679 All callers changed to use extract_float.
20680 * src/frame.h (NUMVAL): Now an inline function, not a macro.
20682 2017-03-02 Paul Eggert <eggert@cs.ucla.edu>
20684 Fix rounding errors in <, =, etc.
20686 * etc/NEWS: Document this.
20687 * src/bytecode.c (exec_byte_code):
20688 * src/data.c (arithcompare):
20689 Do not lose information when comparing floats to integers.
20690 * test/src/data-tests.el (data-tests-=, data-tests-<)
20691 (data-tests->, data-tests-<=, data-tests->=):
20694 2017-03-02 Eli Zaretskii <eliz@gnu.org>
20696 Fix display of mouse-highlight produced by overlapping overlays
20698 * src/xfaces.c (face_at_buffer_position): If called to find the
20699 mouse-face, only consider the highest-priority source for that
20700 face, and ignore the rest. Previously, all the mouse-face
20701 definitions at POS were merged in that case.
20702 * src/xdisp.c (note_mouse_highlight): Record the overlay that
20703 specifies mouse-face _after_ clearing the info about the previous
20704 overlay, so as not to clear the information about the just-recorded
20705 overlay. (Bug#25906)
20707 2017-03-02 Eli Zaretskii <eliz@gnu.org>
20709 Fix display of strike-through text in variable-height lines
20711 * src/nsterm.m (ns_draw_text_decoration):
20712 * src/xterm.c (x_draw_glyph_string):
20713 * src/w32term.c (x_draw_glyph_string): Fix calculation of the
20714 strike-through y-coordinate for a glyph row which is taller than
20715 the strike-through text. (Bug#25907)
20717 2017-03-02 Martin Rudalics <rudalics@gmx.at>
20719 Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
20721 * src/xterm.c (handle_one_xevent): For ConfigureNotify events
20722 don't call x_net_wm_state when the window is a scroll bar window.
20723 (Bug#24963, Bug#25887)
20725 2017-03-02 Katsumi Yamaoka <yamaoka@jpl.org>
20727 gnus-summary-select-article-buffer: Don't re-render existing article
20729 * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
20730 Don't re-render existing article.
20732 2017-03-02 Katsumi Yamaoka <yamaoka@jpl.org>
20734 Don't add debbugs address to message body (bug#25896)
20736 * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
20737 Don't add debbugs address to message body (bug#25896), and
20738 don't add it to message header either if it already exists.
20740 2017-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
20742 * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
20744 (semanticdb--ih): Declare.
20745 (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
20746 (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
20747 (semanticdb-find-tags-for-completion-method): Silence compiler warning.
20749 2017-03-02 Stefan Monnier <monnier@iro.umontreal.ca>
20751 * lisp/help-fns.el (describe-variable): Use cl-print for the value
20753 Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
20755 2017-03-02 Glenn Morris <rgm@gnu.org>
20757 * test/lisp/net/puny-tests.el: New file.
20759 2017-03-02 Glenn Morris <rgm@gnu.org>
20763 * lisp/net/puny.el (puny-decode-string-internal):
20764 Handle strings with no ascii parts. (Bug#23688)
20766 2017-03-02 Glenn Morris <rgm@gnu.org>
20768 Small recover-this-file improvement
20770 * lisp/files.el (recover-this-file): Explicit error if not
20771 visiting a file. (Bug#23671)
20773 2017-03-01 Glenn Morris <rgm@gnu.org>
20775 Fix for coding-system completion (bug#23670)
20777 * lisp/international/mule.el (read-buffer-file-coding-system):
20778 Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
20779 so that completion-pcm--pattern->regex can append "*?".
20781 2017-03-01 Paul Eggert <eggert@cs.ucla.edu>
20783 Fix rounding error in ‘ceiling’ etc.
20785 Without this fix, (ceiling most-negative-fixnum -1.0) returns
20786 most-negative-fixnum instead of correctly signaling range-error,
20787 and similarly for floor, round, and truncate.
20788 * configure.ac (trunc): Add a check, since Gnulib’s doc says
20789 ‘trunc’ is missing from MSVC 9. The Gnulib doc says ‘trunc’ is
20790 also missing from some other older operating systems like Solaris
20791 9 which I know we don’t care about any more, so MSVC is the only
20792 reason to worry about ‘trunc’ here.
20793 * src/editfns.c (styled_format): Formatting a float with %c is now an
20794 error. The old code did not work in general, because FIXNUM_OVERFLOW_P
20795 had rounding errors. Besides, the "if (FLOATP (...))" was in there
20796 only as a result of my misunderstanding old code that I introduced
20797 2011. Although %d etc. is sometimes used on floats that represent
20798 huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
20799 happen with characters.
20800 * src/floatfns.c (rounding_driver): Rework to do the right thing
20801 when the intermediate result equals 2.305843009213694e+18, i.e.,
20802 is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
20803 Simplify so that only one section of code checks for overflow,
20805 (double_identity): Remove. All uses changed to ...
20806 (emacs_trunc): ... this new function. Add replacement for
20807 platforms that lack ‘trunc’.
20808 * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
20809 Make it clear that the arg cannot be floating point.
20810 * test/src/editfns-tests.el (format-c-float): New test.
20811 * test/src/floatfns-tests.el: New file, to test for this bug.
20813 2017-03-01 Glenn Morris <rgm@gnu.org>
20815 Small help--loaded-p fix
20817 * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
20818 with nil file name. (Bug#25847)
20820 2017-03-01 Leo Liu <sdl.web@gmail.com>
20822 * src/fns.c (Fbuffer_hash): Doc fix.
20824 2017-03-01 Eric Abrahamsen <eric@ericabrahamsen.net>
20826 Don't use mapconcat with chars in gnus registry marks (Bug#25839)
20828 * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
20829 Instead, use a plain concat, which will create a string out of a list
20832 2017-03-01 Noam Postavsky <npostavs@gmail.com>
20834 Fix epg-tests with dummy-pinentry program (Bug#23619)
20836 * test/data/epg/dummy-pinentry: New file.
20837 * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
20838 when a passphrase is required. Add debug declaration. Set
20839 GPG_AGENT_INFO non-destructively.
20841 2017-02-28 Phillip Lord <phillip.lord@russet.org.uk>
20843 Speed generation of ldefs-boot-auto
20845 Previously, generation of ldefs-boot-auto required at least one full
20846 bootstrap and, in extreme cases, two. Now, from build system, it
20847 requires the same time as taken to dump Emacs.
20849 * Makefile.in: Remove all calls, pass to src.
20850 * admin/ldefs-clean.el: Update for changed messages.
20851 * lisp/Makefile.in (compile-first-delete): Add.
20852 * lisp/ldefs-boot-auto.el: Update.
20853 * src/Makefile.in (generate-ldefs-boot): Add.
20855 2017-02-28 Phillip Lord <phillip.lord@russet.org.uk>
20857 Add error handling to magic-mode-alist
20859 * lisp/files.el (set-auto-mode): Add explicit error handling in two
20862 2017-02-28 Phillip Lord <phillip.lord@russet.org.uk>
20864 Remove conditional includes from bootstrap
20866 Previously, bootstrap-emacs includes optional functionality, depending
20867 on the platform which is not needed for bootstrap function. As a
20868 result, bootstrap-emacs contains different functions in different
20869 circumstances. If ldefs-boot-auto.el is generated, then loaded
20870 functions will not be added to ldefs-boot-auto.el, although they may be
20871 required during some builds. With this change, bootstrap-emacs should
20872 always behave the same way and, therefore, require the same autoloads.
20874 * lisp/loadup.el: No longer load optional includes during bootstrap
20876 * lisp/ldefs-boot-auto.el: Regenerate.
20877 * lisp/ldefs-boot-manual.el: Add two autoloads.
20879 2017-02-28 Phillip Lord <phillip.lord@russet.org.uk>
20881 Do not use find-file non-interactively
20883 * lisp/international/titdic-cnv.el (miscdic-convert): Use
20884 insert-file-contents in place of find-file.
20886 2017-02-28 Stefan Monnier <monnier@iro.umontreal.ca>
20888 * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
20890 (update_overlay_arrows): Skip non-markers.
20892 2017-02-28 Ken Brown <kbrown@cornell.edu>
20894 Try to avoid hang when logging out of MS-Windows
20896 * src/w32term.c (x_update_window_begin, x_update_window_end)
20897 (my_show_window, my_set_window_pos, my_set_focus)
20898 (my_set_foreground_window, my_destroy_window)
20899 (my_bring_window_to_top, x_iconify_frame): Replace calls to
20900 SendMessage by calls to SendMessageTimeout with a 6-second
20901 timeout. (Bug#25875)
20903 2017-02-28 Stefan Monnier <monnier@iro.umontreal.ca>
20905 * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
20907 2017-02-28 Stefan Monnier <monnier@iro.umontreal.ca>
20909 * doc/misc/eieio.texi: Update to account for the cl-generic facilities
20911 (Quick Start, Class Options, Generics): Adjust names for cl-generic.
20912 (Methods): Document cl-defmethod.
20913 Explain in more detail the order in which the various
20914 methods are executed. Document the conditions under which a method
20915 is redefined. Remove reference to `eieio-generic-call-arglst`.
20916 Don't document the precise return value of cl-next-method-p.
20917 (Static Methods): Adjust to use `subclass` specializer.
20918 (Method Invocation): Use cl-call-next-method and drop mention of :primary.
20919 (Signal Handling, Signals): Adjust names and args for cl-generic; add
20920 cl-no-primary-method.
20921 (CLOS compatibility, Wish List): Adjust to new featureset.
20923 2017-02-28 Stefan Monnier <monnier@iro.umontreal.ca>
20925 * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
20927 * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
20929 2017-02-28 Stefan Monnier <monnier@iro.umontreal.ca>
20931 * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
20933 (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
20934 (sgml-syntax-propertize-inside): New fun.
20936 2017-02-28 Stefan Monnier <monnier@iro.umontreal.ca>
20938 * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
20940 ": ;" after completing a property.
20942 2017-02-28 Tino Calancha <tino.calancha@gmail.com>
20944 Show Ibuffer and jump to line listing current buffer
20946 * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
20948 2017-02-27 Juri Linkov <juri@linkov.net>
20950 * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
20952 before adding it to the list of files.
20954 2017-02-27 Juri Linkov <juri@linkov.net>
20956 Put text properties on query-replace separator string instead of "\0"
20958 * lisp/replace.el (query-replace--split-string):
20959 Split at a substring instead of just character.
20960 (query-replace-read-from): Put text properties on the
20961 separator string instead of "\0". (Bug#25482)
20963 2017-02-27 Juri Linkov <juri@linkov.net>
20965 Add file name and its extension to suggestions in dired-mark-files-regexp
20967 * lisp/dired.el (dired-mark-files-regexp): Add file name
20968 and its extension to the list of suggested defaults. (Bug#25578)
20970 2017-02-27 Chunyang Xu <mail@xuchunyang.me> (tiny change)
20972 Prompt default extension in dired-mark-extension
20974 * lisp/dired-x.el (dired-mark-extension): Prompt default extension
20975 based on extension of file at point. (Bug#25578)
20977 2017-02-27 Tino Calancha <tino.calancha@gmail.com>
20979 Prevent for consing in cl-mapc and cl-mapl
20981 * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
20982 If non-nil, accumulate values in the result (Bug#25826).
20983 (cl-mapc): Do computations inside function instead of call cl-map.
20984 (cl-mapl): Do computations inside function instead of call cl-maplist.
20985 * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
20986 Call cl--mapcar-many with non-nil 3rd argument.
20987 * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
20988 (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
20989 (cl-extra-test-maplist): New tests.
20991 2017-02-27 Tino Calancha <tino.calancha@gmail.com>
20993 Choose the right target dir on dired operations
20995 Prevent from changing the input target dir
20996 when dired-dwim-target is non-nil (Bug#25609).
20997 * lisp/dired-aux.el (dired-do-create-files):
20998 If dired-dwim-target is non-nil, then bind 'default' to nil.
20999 * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
21001 2017-02-27 Stefan Monnier <monnier@iro.umontreal.ca>
21003 * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
21005 2017-02-27 Noam Postavsky <npostavs@gmail.com>
21007 Don't record eshell/clear "command" in history (Bug#25838)
21009 `eshell/clear' is implemented by sending a series of blank lines,
21010 which is not a useful thing to have in the history.
21012 * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
21013 `string-blank-p' which does check for newlines (even though newlines
21014 have comment-end syntax, not whitespace syntax class).
21015 * lisp/eshell/esh-mode.el (eshell/clear): Remove
21016 `eshell-add-to-history' from `eshell-input-filter-functions' while
21017 sending the blank lines. This change is needed to solve the bug if
21018 the user customizes `eshell-input-filter' to something that doesn't
21021 2017-02-26 Paul Eggert <eggert@cs.ucla.edu>
21023 Remove a few unused C functions
21025 * src/eval.c (let_shadows_global_binding_p):
21026 * src/print.c (write_string):
21027 * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
21029 * src/print.c (write_string): Rename from write_string_1.
21032 2017-02-26 Eli Zaretskii <eliz@gnu.org>
21034 Avoid segfault in overlay_arrows_changed_p
21036 * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
21037 to avoid a segfault.
21039 2017-02-26 Noam Postavsky <npostavs@gmail.com>
21041 Don't call package--ensure-init-file if initialized during startup
21043 * lisp/emacs-lisp/package.el (package-initialize): Check
21044 `after-init-time' rather than `load-file-name' to decide if
21045 `package--ensure-init-file' should be called. Depending on
21046 `load-file-name' will fail if the user calls `pacakge-initialize' in
21047 file which is loaded from the init file (Bug#24643, Bug#25819).
21049 2017-02-26 Eli Zaretskii <eliz@gnu.org>
21051 Fix display of before- and after-strings at invisible text
21053 * src/xdisp.c (next_overlay_string): Don't raise the
21054 ignore_overlay_strings_at_pos_p flag if the iterator is already
21055 set to continue at a buffer position different from the one
21056 where the overlay strings we just processed were loaded. (Bug#25856)
21058 2017-02-26 Michael Albinus <michael.albinus@gmx.de>
21060 Work on `tramp-completion-mode-p'
21062 * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
21064 * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
21065 (tramp-completion-mode-p): Reintroduce the check for 'tab.
21067 2017-02-25 Tom Tromey <tom@tromey.com>
21069 Use font-lock-doc-face in js-mode
21072 * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
21075 * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
21078 2017-02-25 Noam Postavsky <npostavs@gmail.com>
21080 Don't use IP 0.0.0.0 for package test server (Bug#22582)
21082 * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
21083 'server_address' when port number is given on the command line. Print
21084 IP and port number as a URL, and flush it after printing.
21085 * test/lisp/emacs-lisp/package-tests.el:
21086 (package-test-update-archives-async): Grab the whole URL from server
21089 2017-02-25 Tom Tromey <tom@tromey.com>
21091 Add more branch support to vc-dir
21094 * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
21095 * lisp/vc/vc.el (vc-revision-history): New defvar.
21096 (vc-read-revision): Use vc-revision-history.
21097 (vc-print-branch-log): New function.
21098 * doc/emacs/maintaining.texi (VC Directory Commands): Document new
21100 * etc/NEWS: Mention new vc-dir bindings.
21102 2017-02-25 Alan Mackenzie <acm@muc.de>
21104 Allow for the :: operator in C++ "enum class" declarations.
21106 * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
21109 2017-02-25 Michael Albinus <michael.albinus@gmx.de>
21113 * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
21114 Simplify error handling for huge inodes.
21115 (tramp-convert-file-attributes): Handle very huge inodes. (Bug#25854)
21117 2017-02-25 Eli Zaretskii <eliz@gnu.org>
21119 Avoid leaving garbage on screen when using 'raise' display property
21121 * src/xdisp.c (display_line): Reset voffset value of the iterator
21122 when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
21123 which then leaves stuff on screen that needs to be cleared by
21124 redisplay. (Bug#25855)
21126 2017-02-25 Eli Zaretskii <eliz@gnu.org>
21128 Fix doc strings in info.el
21130 * lisp/info.el (Info-selection-hook, Info-mode-hook)
21131 (Info-edit-mode-hook): Doc fixes. (Bug#25794)
21133 2017-02-25 Eli Zaretskii <eliz@gnu.org>
21135 Fix doc string of 'posn-at-point'
21137 * src/keyboard.c (Fposn_at_point): Clarify the doc string.
21140 2017-02-25 Peder O. Klingenberg <peder@klingenberg.no>
21142 New option -u / --suppress-output to emacsclient
21144 * lib-src/emacsclient.c (print_help_and_exit, longopts)
21145 (decode_options, main): Implement new option --suppress-output / -u to
21146 suppress printing of eval-results.
21147 * doc/emacs/misc.texi (emacsclient Options): Document the new
21148 "--suppress-output/-u" options.
21149 * etc/NEWS: Mention the new options.
21151 2017-02-25 Noam Postavsky <npostavs@gmail.com>
21153 Fix scrolling with partial line corner case (Bug#25792)
21155 Also fix up the scrolling tests so that they don't make so many
21156 assumptions about the current window configuration.
21158 * src/xdisp.c (try_window): Take partial line height into account when
21159 comparing cursor position against scroll margin.
21161 * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
21162 HEIGHT argument, to allow setting up window with exact height and
21164 (scroll-tests-display-buffer-with-height): New display-buffer action
21166 (scroll-tests-scroll-margin-over-max):
21167 (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
21168 `scroll-tests--scroll-margin-whole-window'.
21169 (scroll-tests-conservative-show-trailing-whitespace): New test.
21170 (scroll-tests-scroll-margin-negative): Fix line counting.
21171 (scroll-tests--point-in-middle-of-window-p): Set window height
21174 2017-02-25 Tom Tromey <tom@tromey.com>
21176 Fix indentation error in js.el
21178 * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
21179 call in condition-case.
21180 * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
21183 2017-02-24 Tom Tromey <tom@tromey.com>
21185 add "async" and "await" keywords
21187 * lisp/progmodes/js.el (js--keyword-re): Add async, await.
21189 2017-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
21191 Use cl-print for Edebug and EIEIO
21193 * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
21194 (edebug-prin1, edebug-print): Remove.
21196 * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
21197 (cl-print-object): Add a method for EIEIO objects.
21198 (eieio-edebug-prin1-to-string): Delete.
21199 (edebug-prin1-to-string): Don't advise any more.
21201 * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
21202 Replace `object-print' -> `cl-prin1-to-string'.
21204 2017-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
21206 Fix left over uses of `call-next-method'
21208 * lisp/cedet/semantic/db-global.el (object-print):
21209 * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
21211 2017-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
21213 Minor redisplay optimisations
21215 * src/frame.c (Ficonify_frame): No need to redisplay everything.
21217 * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
21218 (redisplay_internal): Use it to avoid redisplaying everything.
21219 (try_window_id): Use it keep the same behavior as before.
21221 2017-02-24 Stefan Monnier <monnier@iro.umontreal.ca>
21223 * lisp/emacs-lisp/cl-print.el: New file
21225 * lisp/emacs-lisp/nadvice.el (advice--where): New function.
21226 (advice--make-docstring): Use it.
21228 * src/print.c (print_number_index): Don't declare here any more.
21229 (Fprint_preprocess): New function.
21231 * test/lisp/emacs-lisp/cl-print-tests.el: New file.
21233 2017-02-24 Peder O. Klingenberg <peder@klingenberg.no>
21235 Make calc's least common multiple positive (bug#25255)
21237 * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
21238 * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
21240 2017-02-24 Tino Calancha <tino.calancha@gmail.com>
21242 Documentation fix in elisp reference manual
21244 * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
21245 on 'declare' forms (Bug#25846).
21247 2017-02-24 Gemini Lasswell <gazally@runbox.com>
21249 Support read syntax for circular objects in Edebug (Bug#23660)
21251 * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
21252 for edebug-read-function. Handle the read syntax for circular
21254 (edebug-read-objects): New variable.
21255 (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
21257 * src/lread.c (Fsubstitute_object_in_subtree): Make
21258 substitute_object_in_subtree into a Lisp primitive.
21260 2017-02-24 Lixin Chin <lixinchin@gmail.com> (tiny change)
21262 Add Conference to the list of valid bibtex entry types
21264 * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
21265 Add Conference as a duplicate of InProceedings. (Bug#25143)
21267 2017-02-23 Glenn Morris <rgm@gnu.org>
21269 * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
21271 2017-02-23 Glenn Morris <rgm@gnu.org>
21273 Small dunnet score file improvements
21275 * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
21276 (dun-do-logfile): Handle non-existing score file.
21278 2017-02-23 Glenn Morris <rgm@gnu.org>
21280 * lisp/play/dunnet.el (dun-help): Doc fix.
21282 2017-02-23 Mark Oteiza <mvoteiza@udel.edu>
21284 Declare dun-line and dun-line-list
21286 Previously, there were free variables 'line' and 'line-list'.
21287 * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
21288 (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
21289 (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
21290 (dun-batch-unix-interface): Use them.
21292 2017-02-23 Paul Eggert <eggert@cs.ucla.edu>
21297 2017-02-16 xbinary-io: rename from xsetmode
21298 2017-02-15 xsetmode: new module
21299 * lib-src/etags.c (main):
21300 * lib-src/hexl.c (main):
21301 * src/emacs.c (main) [MSDOS]:
21302 Prefer set_binary_mode to the obsolescent SET_BINARY.
21303 * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
21305 2017-02-23 Paul Eggert <eggert@cs.ucla.edu>
21307 hexl: handle large files and I/O errors
21309 * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
21310 Do not include ctype.h, as the code no longer uses isdigit.
21311 (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
21312 (DEFAULT_BASE, endian): Remove; was not really used.
21313 (usage): Remove; now done by ‘main’, as that’s simpler.
21314 (progname): Now static.
21315 (output_error, hexchar): New functions.
21316 (main): Use them. Simplify. Remove "-oct", "-big-endian", and
21317 "-little-endian" options, as they did not work and were not used.
21318 Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
21319 Use SET_BINARY only once on stdout.
21320 Do not assume file offsets fit in ‘long’.
21321 If an I/O error occurs, report it and exit with nonzero status.
21323 2017-02-23 Eli Zaretskii <eliz@gnu.org>
21325 Avoid quitting inside a critical section on MS-Windows
21327 * src/w32uniscribe.c (uniscribe_list_family):
21328 * src/w32font.c (w32font_list_family, w32font_text_extents)
21329 (w32font_list_internal, w32font_match_internal)
21330 (list_all_matching_fonts): Prevent quitting while these functions
21331 cons lists of fonts, to avoid leaving the critical section taken
21332 by the main thread, which will then cause any other thread
21333 attempting to enter the critical section to hang. (Bug#25279)
21335 2017-02-22 Dmitry Gutov <dgutov@yandex.ru>
21337 Use revision-completion-table in vc-retrieve-tag
21339 * lisp/vc/vc.el (vc-retrieve-tag): Use the
21340 revision-completion-table command for completion (bug#25710).
21342 2017-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
21344 * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
21346 remove entries whose car can't be returned by type-of.
21347 (cl--generic-all-builtin-types): New var.
21348 (cl-generic-generalizers): Use it to avoid requiring
21349 extra entries in cl--generic-typeof-types.
21351 2017-02-22 Noam Postavsky <npostavs@gmail.com>
21353 Find macro binding for symbol-bound macros too (Bug#6848)
21355 There are 2 ways to bind a macro: with global-set-key or
21356 kmacro-bind-to-key. The former binds a key to a symbol, while the
21357 latter binds to a lambda. In 2010-03-03 "Fix keyboard macro key
21358 lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
21359 case, but broke the symbol case.
21361 * lisp/macros.el (insert-kbd-macro): Also check for bindings of
21364 2017-02-22 Stefan Monnier <monnier@iro.umontreal.ca>
21366 * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
21368 2017-02-22 Juri Linkov <juri@linkov.net>
21370 * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
21372 2017-02-22 Juri Linkov <juri@linkov.net>
21374 * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
21376 (isearch-lazy-highlight-update): Check it to decide whether to apply
21377 overlays only on the selected window.
21379 * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
21380 (Bug#17453, bug#21092)
21382 2017-02-22 Paul Eggert <eggert@cs.ucla.edu>
21384 Minor weak hash table performance tweaks
21386 * src/fns.c (make_hash_table): Omit unnecessary assignment to
21387 h->next_weak when the hash table is not weak.
21388 (copy_hash_table): Put the copy next to the original in the
21389 weak_hash_tables list, as this should have better locality
21390 when scanning the weak hash tables.
21392 2017-02-22 Paul Eggert <eggert@cs.ucla.edu>
21394 Use float instead of Lisp_Object for rehash_size
21396 * src/alloc.c (purecopy_hash_table):
21397 * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
21398 (Fhash_table_rehash_size):
21399 * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
21400 The rehash_size member of struct Lisp_Hash_Table is now a
21401 float, not a Lisp_Object.
21402 * src/alloc.c (purecopy_hash_table): Assign members in order.
21403 * src/fns.c (make_hash_table): Use EMACS_INT for size and
21404 float for rehash_size, instead of Lisp_Object for both.
21405 All callers changed.
21406 * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
21408 * src/print.c (print_object): Simplify by calling
21409 Fhash_table_rehash_size and Fhash_table_rehash_threshold.
21410 Avoid unnecessary NILP.
21412 2017-02-22 Paul Eggert <eggert@cs.ucla.edu>
21414 Use ptrdiff_t instead of Lisp_Object for collision
21416 * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
21417 * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
21418 arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
21419 integer (or Qnil if empty). All callers changed.
21420 (larger_vecalloc): New static function.
21421 (larger_vector): Use it.
21422 (HASH_NEXT, HASH_INDEX): Move here from lisp.h. Return ptrdiff_t
21423 index (or -1) not Lisp_Object integer (or Qnil). All callers changed.
21424 * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
21425 (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
21426 * src/profiler.c (evict_lower_half, record_backtrace):
21427 -1, not nil, is now the convention for end of collision list.
21428 * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
21429 of the free list. Reallocate H->next last, in case other
21430 reallocations exhaust memory.
21431 * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
21432 ptrdiff_t, not Lisp_Object. Adjust commentary for ‘next’ and
21433 ‘index’, which no longer contain nil.
21434 (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
21436 2017-02-22 Paul Eggert <eggert@cs.ucla.edu>
21438 Hash table threshold is now float, not double
21440 Change default from 0.8 to 0.8125 so it fits in float without
21442 * doc/lispref/hash.texi (Creating Hash):
21443 * doc/lispref/objects.texi (Hash Table Type):
21446 * src/fns.c (make_hash_table, maybe_resize_hash_table)
21447 (Fmake_hash_table): Threshold is now float, not double.
21448 Be consistent about how this is rounded.
21449 * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
21450 Change back to float, now that the other code rounds consistently.
21451 (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
21453 2017-02-22 Juri Linkov <juri@linkov.net>
21455 Avoid flicker in lazy-highlight by doing all updates without redisplay.
21457 * lisp/isearch.el (lazy-highlight-max-at-a-time):
21458 Change default value from 20 to nil to not trigger redisplay
21459 between updating iterations.
21460 (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
21461 overlays when non-nil.
21462 (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
21463 with non-nil second arg when the search string is not empty.
21464 Run timer with isearch-lazy-highlight-start instead of
21465 isearch-lazy-highlight-update.
21466 (isearch-lazy-highlight-start): New function. (Bug#25751)
21468 2017-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
21470 * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
21472 * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
21474 2017-02-21 Stefan Monnier <monnier@iro.umontreal.ca>
21476 * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
21478 which resulted in incomplete list of parents in one copy of the
21479 cl-structure-class class.
21481 2017-02-21 Glenn Morris <rgm@gnu.org>
21483 Tweak recent custom-reevaluate-setting change
21485 * lisp/custom.el (custom-reevaluate-setting):
21486 Tweak previous change to avoid font-lock init issues.
21488 2017-02-21 Glenn Morris <rgm@gnu.org>
21490 Ensure delayed-init custom variables get marked special
21492 * lisp/custom.el (custom-reevaluate-setting):
21493 If the variable has never been set, defvar it. (Bug#25770)
21495 2017-02-21 Mark Oteiza <mvoteiza@udel.edu>
21497 Turn on lexical-binding in dunnet.el
21499 * lisp/play/dunnet.el: Turn on lexical-binding. Re-instate lexical
21500 byte compile warnings.
21502 2017-02-21 Mark Oteiza <mvoteiza@udel.edu>
21504 Make dunnet insertion functions n-ary
21506 * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
21507 (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
21508 any number of arguments.
21509 (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
21510 (dun-take, dun-go, dun-move, dun-press, dun-score):
21511 (dun-compile-save-out, dun-do-logfile): Collect arguments from
21512 multiple insertion calls into less calls with more args.
21514 2017-02-21 Katsumi Yamaoka <yamaoka@jpl.org>
21516 message-goto-body-1: Fix regexp so as not to match multi-line
21518 * lisp/gnus/message.el (message-goto-body-1):
21519 Fix regexp so as not to match multi-line.
21521 2017-02-20 Noam Postavsky <npostavs@gmail.com>
21523 Simplify cl-get using `plist-member'
21525 * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
21526 `plist-member' instead of explicit loop.
21527 * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
21529 2017-02-20 Paul Eggert <eggert@cs.ucla.edu>
21531 Verify xwidget USE_LSB_TAG assumption
21533 * src/xwidget.c (Fxwidget_webkit_execute_script):
21534 Add verification. Problem reported by Andreas Schwab (Bug#25816#8).
21536 2017-02-20 Stefan Monnier <monnier@iro.umontreal.ca>
21538 * src/insdel.c (make_gap): Improve comment.
21540 2017-02-20 Mark Oteiza <mvoteiza@udel.edu>
21542 Do not use switch-to-buffer for working in a temp buffer
21544 * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
21546 (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
21547 with-temp-buffer instead.
21549 2017-02-20 Mark Oteiza <mvoteiza@udel.edu>
21551 Make dun-room-shorts a defconst
21553 * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
21554 initial value into the declaration.
21555 (dun-space-to-hyphen): Remove.
21557 2017-02-20 Paul Eggert <eggert@cs.ucla.edu>
21559 Port xwidget to -DCHECK_LISP_OBJECT_TYPE
21561 * src/xwidget.c (webkit_javascript_finished_cb)
21562 (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
21563 integer. This fix is just a hack; I’ll file a bug report about
21564 the underlying problem.
21566 2017-02-20 Katsumi Yamaoka <yamaoka@jpl.org>
21568 mm-decode.el: Simplify regexp used to search html meta tag
21570 * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
21571 Simplify regexp used to search html meta tag.
21573 2017-02-20 Katsumi Yamaoka <yamaoka@jpl.org>
21575 mm-shr: Ignore coding-system `ascii'
21577 * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
21579 2017-02-20 Tom Tromey <tom@tromey.com>
21581 vc-log-outgoing fixes for git; add binding to vc-dir
21583 * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
21584 * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
21586 (vc-git-log-view-mode): Also truncate lines for log-outgoing and
21588 * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
21589 as remote-location argument.
21591 2017-02-20 Tom Tromey <tom@tromey.com>
21593 Remove stale comments from vc-git and vc-hg
21595 * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
21596 * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
21598 2017-02-20 Mark Oteiza <mvoteiza@udel.edu>
21600 Remove member clone
21602 * lisp/play/dunnet.el (dun-answer): Use member instead.
21603 (dun-members): Remove.
21605 2017-02-20 Mark Oteiza <mvoteiza@udel.edu>
21609 * lisp/play/dunnet.el (room): Rename to dun-room.
21610 (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
21611 (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
21613 2017-02-20 Mark Oteiza <mvoteiza@udel.edu>
21615 Replace nested ifs with cond
21617 * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
21618 (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
21619 and cond where appropriate.
21620 (dun-sauna-heat): Accept sauna level as an argument. Use cond.
21621 (dun-take): Use null and dun-mprincl.
21622 (dun-inven-weight, dun-load-d): Reformat.
21623 (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
21625 2017-02-19 Paul Eggert <eggert@cs.ucla.edu>
21627 Fix glitches in recent hash table changes
21629 * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
21630 by using 0 rather than -1.
21631 * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
21632 than a bitfield, for speed (the bitfield did not save space).
21633 (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
21634 float, since the float caused unwanted rounding errors, e.g.,
21635 (hash-table-rehash-threshold (make-hash-table)) yielded
21636 0.800000011920929 instead of the correct 0.8.
21638 2017-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
21640 * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
21642 2017-02-19 Eli Zaretskii <eliz@gnu.org>
21644 Avoid aborts during loadup
21646 * src/emacs-module.c (syms_of_module):
21647 * src/image.c (xpm_make_color_table_h): Update calls to
21648 make_hash_table to adjust to a recent change in fns.c.
21649 * src/fns.c (make_hash_table):
21650 * src/lisp.h (make_hash_table): 4th arg is now of type double.
21652 2017-02-19 Michael Albinus <michael.albinus@gmx.de>
21654 Rework connection local variables
21656 For connection local variables interface, `class' is renamed
21657 to `profile'. All arguments `criteria' are a plist now.
21659 * doc/lispref/variables.texi (Connection Local Variables):
21662 * lisp/files-x.el (connection-local-profile-alist): Rename
21663 from `connection-local-class-alist'. Adapt docstring.
21664 (connection-local-criteria-alist): Adapt docstring.
21665 (connection-local-normalize-criteria): New defun.
21666 (connection-local-get-profiles): Rename from
21667 `connection-local-get-classes'. Rewrite.
21668 (connection-local-set-profiles): Rename from
21669 `connection-local-set-classes'. Rewrite.
21670 (connection-local-get-profile-variables): Rename from
21671 `connection-local-get-class-variables'. Rewrite.
21672 (connection-local-set-profile-variables): Rename from
21673 `connection-local-set-class-variables'. Rewrite.
21674 (hack-connection-local-variables)
21675 (hack-connection-local-variables-apply)): Rewrite.
21676 (with-connection-local-profiles): Rename from
21677 `ith-connection-local-classes'. Rewrite.
21679 * lisp/net/tramp.el (tramp-set-connection-local-variables):
21682 * lisp/net/tramp-cmds.el (tramp-bug):
21683 Use `connection-local-profile-alist'.
21685 * test/lisp/files-x-tests.el (files-x-test--variables1)
21686 (files-x-test--variables2, files-x-test--variables3)
21687 (files-x-test--variables4, files-x-test--criteria1)
21688 (files-x-test--criteria2): Make them a defconst.
21689 (files-x-test--application)
21690 (files-x-test--another-application, files-x-test--protocol)
21691 (files-x-test--user, files-x-test--machine): New defconst.
21692 (files-x-test--criteria): New defvar.
21693 (files-x-test--criteria3): Remove.
21694 (files-x-test-connection-local-set-profile-variables):
21695 Rename from `files-x-test-connection-local-set-class-variables'.
21697 (files-x-test-connection-local-set-profiles): Rename from
21698 `files-x-test-connection-local-set-classes'. Rewrite.
21699 (files-x-test-hack-connection-local-variables-apply) Rewrite.
21700 (files-x-test-with-connection-local-profiles): Rename from
21701 `files-x-test-with-connection-local-classes'. Rewrite.
21703 2017-02-19 Mark Oteiza <mvoteiza@udel.edu>
21705 Set up combination and random item location
21707 * lisp/play/dunnet.el (dun-combination): Make defconst.
21708 (tloc, tcomb): Remove. Replace with a top-level form.
21710 2017-02-19 Mark Oteiza <mvoteiza@udel.edu>
21712 Replace movement variables with an alist and accessor
21714 * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
21715 (northwest, southwest, up, down, in, out): Remove.
21716 (dun-movement-alist): New constant.
21717 (dun-movement): New function.
21718 (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
21719 (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
21720 (dun-move, dun-special-move): Translate movement symbol to an
21723 2017-02-19 Mark Oteiza <mvoteiza@udel.edu>
21725 Change top-level setq forms to defvar or defconst
21727 Also collect some code onto fewer lines and reindent.
21728 * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
21729 (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
21730 (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
21731 (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
21732 (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
21733 (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
21734 (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
21735 (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
21736 (dun-mode, dun-sauna-level, north, south, east, west, northeast):
21737 (southeast, northwest, southwest, up, down, in, out, dungeon-map):
21738 (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
21739 (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
21740 (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
21741 (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
21742 declaration to use defvar or defconst.
21743 (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
21744 (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
21745 dun-verblist. Those are now constants and the byte compiler doesn't
21746 allow defconsts in lambda lists.
21748 2017-02-19 Mark Oteiza <mvoteiza@udel.edu>
21750 Move all dunnet globals up to the top
21752 * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
21753 (dun-visited, dun-current-room, dun-exitf):
21754 (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
21755 (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
21756 (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
21757 (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
21758 (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
21759 (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
21760 (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
21761 (dun-mode, dun-sauna-level, north, south, east, west, northeast):
21762 (southeast, northwest, southwest, up, down, in, out, dungeon-map):
21763 (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
21764 (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
21765 (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
21766 (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
21767 top of the file, before any uses.
21769 2017-02-19 Michael Albinus <michael.albinus@gmx.de>
21773 * lisp/net/tramp.el (tramp-autoload-file-name-handler):
21774 Do not load tramp.el just for "/". (Bug#25788)
21776 2017-02-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
21778 Fix fringe bitmap initialization on MS-Windows
21780 * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
21781 of fb->bits. (Bug#25673)
21783 2017-02-19 Stefan Monnier <monnier@iro.umontreal.ca>
21785 Change type of `rehash_threshold' and `pure' fields in hash-tables
21787 * src/lisp.h (struct Lisp_Hash_Table): Change type of
21788 `rehash_threshold' and `pure' fields and move them after `count'.
21789 * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
21790 (Fmake_hash_table, Fhash_table_rehash_threshold):
21791 * src/category.c (hash_get_category_set):
21792 * src/xterm.c (syms_of_xterm):
21793 * src/profiler.c (make_log):
21794 * src/print.c (print_object):
21795 * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
21797 2017-02-19 Paul Eggert <eggert@cs.ucla.edu>
21799 Use 'char *FOO' instead of 'char* FOO'
21801 2017-02-19 Mark Oteiza <mvoteiza@udel.edu>
21803 More json.el changes
21805 * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
21806 (json-read-array): Just use = for char comparison.
21808 2017-02-18 Noam Postavsky <npostavs@gmail.com>
21810 * lisp/woman.el (woman): Fix docstring prefix arg description.
21812 2017-02-18 Alan Mackenzie <acm@muc.de>
21814 Fix edebug-spec on c-lang-defvar.
21816 This allows c-lang-defvars with the symbol 'dont-doc in the place of the
21817 optional documentation to be instrumented for edebug.
21819 lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
21821 (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
21824 2017-02-18 Lars Ingebrigtsen <larsi@gnus.org>
21826 Lists used as plists now have to be an even length
21828 * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
21829 (eww-process-text-input): Not here, either.
21831 2017-02-18 Michael Albinus <michael.albinus@gmx.de>
21833 Unset `non-essential' in Tramp when not needed anymore
21835 * doc/misc/trampver.texi:
21836 * lisp/net/trampver.el: Change version to "2.3.2-pre".
21838 * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
21839 Use `tramp-completion-mode-p'.
21841 * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
21842 when file name doesn't match `tramp-completion-file-name-regexp'.
21844 2017-02-18 Eli Zaretskii <eliz@gnu.org>
21846 Automatically regenerate emacs.1 and *.rc files
21848 * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
21849 non-Makefile files produced by config.status.
21850 ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
21851 their targets are regenerated when the source changes.
21853 2017-02-18 Alan Mackenzie <acm@muc.de>
21855 Set the syntax table in AWK Mode.
21857 This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
21858 It fixes bug #25722.
21860 lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
21862 2017-02-18 Eli Zaretskii <eliz@gnu.org>
21864 Mention "editor" in Emacs man page header
21866 * doc/man/emacs.1.in: Mention "editor" in the header line.
21867 (Bug#25771, Bug#25779)
21869 2017-02-18 Göktuğ Kayaalp <self@gkayaalp.com>
21871 Fix Turkish language environment setup
21873 * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
21874 language setup. (Bug#25763)
21876 2017-02-18 Rami Ylimäki <rami.ylimaki@vincit.fi>
21878 Support 24-bit direct colors on text terminals
21880 * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
21881 foreground and background functions are present in terminal type
21883 * src/tparam.h: Define prototype for tigetstr.
21885 * lisp/term/tty-colors.el (tty-color-define): Convert color palette
21886 index to pixel value on 16.7M color terminals.
21887 (tty-color-24bit): New function to convert color palette index to
21888 pixel value on 16.7M color terminals.
21889 (tty-color-desc): Don't approximate colors on 16.7M color terminals.
21890 * lisp/term/xterm.el (xterm-register-default-colors): Define all named
21891 TTY colors on 16.7M color terminals.
21893 * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
21894 enable direct color TTY mode.
21895 * etc/NEWS: Mention direct color TTY mode and point to FAQ.
21897 2017-02-18 Rami Ylimäki <rami.ylimaki@vincit.fi>
21899 Remove unused TN_max_pairs field
21901 * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
21902 describing maximum number of terminal background/foreground color pairs.
21903 * src/term.c (tty_default_color_capabilities, tty_setup_colors)
21904 (init_tty): Remove references to TN_max_pairs.
21906 2017-02-18 Eli Zaretskii <eliz@gnu.org>
21908 Improve documentation of query-replace-from-to-separator
21910 * doc/emacs/search.texi (Query Replace): Document the meaning of
21911 the nil value of query-replace-from-to-separator. (Bug#25482)
21913 2017-02-18 Eli Zaretskii <eliz@gnu.org>
21915 Document problems with nerd-fonts
21917 * etc/PROBLEMS (fonts): Describe the potential problems with
21918 nerd-fonts that cause slow display. (Bug#25697)
21920 2017-02-18 Eli Zaretskii <eliz@gnu.org>
21922 Improve commentary for a recent change in keyboard.c
21924 * src/keyboard.c (Fset__this_command_keys): Add a comment about
21925 the magic 248 value. (Bug#25612)
21927 2017-02-18 Eli Zaretskii <eliz@gnu.org>
21929 Avoid infloop in rect.el
21931 * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
21932 with argument N whose absolute value is greater than 1. (Bug#25773)
21934 2017-02-18 Eli Zaretskii <eliz@gnu.org>
21936 Remove annoying warnings about let-binding
21938 * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
21939 Remove warnings about making symbols local while let-bound.
21942 2017-02-18 Hong Xu <hong@topbug.net>
21944 Avoid errors when flyspell-generic-check-word-predicate is a lambda.
21946 * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
21947 functionp instead of fboundp on
21948 flyspell-generic-check-word-predicate (Bug#25765).
21950 2017-02-18 Glenn Morris <rgm@gnu.org>
21952 Remove the build number from emacs-version variable
21954 It's a largely internal detail that can confuse users. (Bug#25590)
21955 * lisp/version.el (emacs-build-number): New constant.
21956 (emacs-version): Use emacs-build-number.
21957 * lisp/loadup.el (top-level): When dumping, increment
21958 emacs-build-number rather than emacs-version.
21959 * src/emacs.c (emacs-version): Doc fix.
21960 * doc/lispref/intro.texi (Version Info): Update emacs-version details.
21961 Mention emacs-build-number.
21962 * lisp/gnus/gnus-util.el (gnus-emacs-version):
21963 * lisp/mail/emacsbug.el (report-emacs-bug):
21964 * admin/admin.el (set-version): Update for emacs-version change.
21966 2017-02-18 Glenn Morris <rgm@gnu.org>
21968 Ensure that user-mail-address always has a value
21970 * lisp/startup.el (user-mail-address): Initialize in the normal way.
21971 (command-line): Reset user-mail-address if needed using
21972 standard custom machinery.
21973 * lisp/mail/feedmail.el (feedmail-fiddle-from):
21974 * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
21975 * lisp/mail/rmailsum.el (rmail-header-summary):
21976 Simplify now that user-mail-address is always set.
21978 2017-02-18 Mark Oteiza <mvoteiza@udel.edu>
21980 Turn on lexical-binding in ruby-mode
21982 * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
21983 (ruby-font-lock-syntax-table): Use make-syntax-table.
21984 (ruby-mode): 'define-derived-mode' writes the keys for us.
21986 2017-02-18 Mark Oteiza <mvoteiza@udel.edu>
21988 Turn on lexical-binding in elint.el
21990 * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
21991 (elint-running, elint-current-pos): Move these dynamic vars to toward
21992 the top of the file.
21993 (elint-check-quote-form): Ignore unused argument.
21994 (elint-check-conditional-form): Remove unused binding.
21996 2017-02-18 Gemini Lasswell <gazally@runbox.com>
21998 * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
22000 2017-02-18 Mark Oteiza <mvoteiza@udel.edu>
22002 Enable erc-accidental-paste-threshold-seconds by default
22004 * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
22005 default to 0.2 (Bug#25709).
22007 2017-02-17 Michal Nazarewicz <mina86@mina86.com>
22009 Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
22011 The [5ec3a584: Generate upcase and downcase tables from Unicode data]
22012 commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
22013 one created with ‘make extraclean’), see
22014 <http://hydra.nixos.org/build/48774928>.
22016 The failure was caused by characters.el trying to read Unicode
22017 property tables which aren’t available so early in the build process.
22019 Wrap the part that requires Unicode property tables in a condition
22020 checking if those are available. If they aren’t they case and syntax
22021 tables won’t be fully set but later on, the characters.el file will be
22022 evaluated again and this time with Unicode properties available so
22023 final Emacs ends up with the exact same case and syntax tables.
22025 2017-02-17 Katsumi Yamaoka <yamaoka@jpl.org>
22027 mm-add-meta-html-tag: Improve regexp
22029 * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
22030 Improve regexp to search html meta tag.
22032 2017-02-17 Katsumi Yamaoka <yamaoka@jpl.org>
22034 mm-shr: Prefer charset specified in html meta tag
22036 * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
22037 meta tag than mail-parse-charset in the case there is no charset spec
22040 2017-02-17 Glenn Morris <rgm@gnu.org>
22042 Stop duplicating some custom-types in message.el
22044 * lisp/gnus/message.el (user-mail-address, user-full-name):
22045 No need to re-specify custom-type.
22047 2017-02-17 Glenn Morris <rgm@gnu.org>
22049 Whitespace trivia in dunnet.el
22051 * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
22052 (dun-rlogin-endgame): Whitespace trivia.
22054 2017-02-17 Glenn Morris <rgm@gnu.org>
22056 Explicit error on changing case of negative integers
22058 * src/casefiddle.c (casify_object): Reject negative integers:
22059 Emacs characters are positive integers. (Bug#25684)
22061 2017-02-17 Dmitry Gutov <dgutov@yandex.ru>
22063 Fix buffers update in vc-retrieve-tag
22065 * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
22066 `repository', use the repository root and pass it to
22067 vc-resynch-buffer (bug#25714).
22069 2017-02-16 Paul Eggert <eggert@cs.ucla.edu>
22071 * src/buffer.h: Fix indenting.
22073 2017-02-16 Paul Eggert <eggert@cs.ucla.edu>
22075 Add sanity checks for Bswitch hash tables
22077 * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
22078 Check that operand is a hash table and hashes to ints.
22080 2017-02-16 Paul Eggert <eggert@cs.ucla.edu>
22082 * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
22084 2017-02-16 Vibhav Pant <vibhavp@gmail.com>
22086 bytecomp.el: Avoid unnecessary calculation for jump table addresses.
22088 * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
22089 redundant operations while calculating the correct jump addresses
22090 from TAGs in jump tables.
22092 2017-02-16 Mark Oteiza <mvoteiza@udel.edu>
22094 Minor changes in json.el
22096 * lisp/json.el (json-advance): Simpler docstring.
22097 (json-read-escaped-char): Use xdigit subform in rx expression.
22098 (json-read-string): Just use = for char comparison.
22100 2017-02-16 Mark Oteiza <mvoteiza@udel.edu>
22102 Don't expand body inside a let-binding when there are no bindings
22104 * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
22107 2017-02-16 Glenn Morris <rgm@gnu.org>
22109 Handle user-mail-address being the empty string
22111 * lisp/mail/feedmail.el (feedmail-fiddle-from):
22112 * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
22113 * lisp/mail/rmailsum.el (rmail-header-summary):
22114 Belated update for 2002-09-29 startup.el change, 680ebfa, where
22115 the value of user-mail-address during initialization was changed
22116 from nil to the empty string.
22118 2017-02-15 Michael Albinus <michael.albinus@gmx.de>
22120 Continue to fix bug#25607
22122 * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
22123 (ido-file-name-all-completions-1): Do not bind `non-essential'.
22125 * lisp/net/tramp.el: (tramp-completion-file-name-handler):
22126 Improve autoloaded version.
22127 (tramp-completion-file-name-handler): Remove old compat code.
22128 Check only for `tramp-completion-mode-p'.
22129 (tramp-completion-mode-p): Autoload. Do not check any longer
22130 for `last-input-event'.
22131 (tramp-completion-handle-expand-file-name): Simplify. (Bug#25607)
22133 2017-02-15 Michal Nazarewicz <mina86@mina86.com>
22135 casing: don’t assume letters are *either* upper- or lower-case (bug#24603)
22137 A compatibility digraph characters, such as Dž, are neither upper- nor
22138 lower-case. At the moment however, those are reported as upper-case¹
22139 despite the fact that they change when upper-cased.
22141 Stop checking if a character is upper-case before trying to up-case it
22142 so that title-case characters are handled correctly. This fixes one of
22143 the issues mentioned in bug#24603.
22145 ¹ Because they change when converted to lower-case. Notice an asymmetry
22146 in that for a character to be considered lower-case it must not be
22147 upper-case (plus the usual condition of changing when upper-cased).
22149 * src/buffer.h (upcase1): Delete.
22150 (upcase): Change to upcase character unconditionally just like downcase
22151 does it. This is what upcase1 was.
22153 * src/casefiddle.c (casify_object, casify_region): Use upcase instead
22154 of upcase1 and don’t check !uppercasep(x) before calling upcase.
22156 * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
22157 downcase(x) and see if it changed.
22159 * test/src/casefiddle-tests.el (casefiddle-tests--characters,
22160 casefiddle-tests-casing): Update test cases which are now passing.
22162 2017-02-15 Michal Nazarewicz <mina86@mina86.com>
22164 Generate upcase and downcase tables from Unicode data (bug#24603)
22166 Use Unicode data to generate case tables instead of mostly repeating
22167 them in lisp code. Do that in a way which maps ‘Dz’ (and similar)
22168 digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
22170 https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
22171 changes to syntax table and case tables introduced by this commit.
22173 * lisp/international/characters.el: Remove case-pairs defined with
22174 explicit Lisp code and instead use Unicode character properties.
22176 * test/src/casefiddle-tests.el (casefiddle-tests--characters,
22177 casefiddle-tests-casing): Update test cases which are now working
22180 2017-02-15 Michal Nazarewicz <mina86@mina86.com>
22182 Add tests for casefiddle.c (bug#24603)
22184 Fixes cases marked FIXME upcoming in followup commits.
22186 * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
22187 casefiddle-tests-case-table, casefiddle-tests-casing-character,
22188 casefiddle-tests-casing, casefiddle-tests-casing-byte8,
22189 casefiddle-tests-casing-byte8-with-changes): New tests.
22190 (casefiddle-tests--test-casing): New helper function for runnig
22193 2017-02-15 Michal Nazarewicz <mina86@mina86.com>
22195 oldXMenu: add missing #include <string.h>
22197 Some of the files in oldXMenu use functions from string.h without
22198 including that header which results in compile warnings:
22200 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
22201 ChgPane.c:46:20: warning: incompatible implicit declaration of
22202 built-in function ‘strlen’
22203 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
22204 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
22206 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
22207 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
22208 InsPane.c:65:20: warning: incompatible implicit declaration of
22209 built-in function ‘strlen’
22210 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
22211 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
22213 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
22215 Add the necessary ‘#include <string.h>’.
22217 oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
22218 oldXMenu/InsSel.c: add missing #include <string.h>
22220 2017-02-15 Paul Eggert <eggert@cs.ucla.edu>
22222 Fixup recent rmail patch
22224 * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
22226 2017-02-15 Richard Stallman <rms@gnu.org>
22230 * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
22231 as element 4 of the value.
22232 (rmail-epa-decrypt): Take the text to insert from that element.
22234 2017-02-15 Vibhav Pant <vibhavp@gmail.com>
22236 bytecomp-tests.el: Store all test forms in one constant.
22238 * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
22239 in a single constant (byte-opt-testsuite-arith-data), add new forms
22240 which generate lapcode with adjacent/redundant tags.
22242 2017-02-15 Glenn Morris <rgm@gnu.org>
22246 * doc/lispref/os.texi (User Identification):
22247 Remove extraneous detail about user-mail-address.
22249 2017-02-15 Katsumi Yamaoka <yamaoka@jpl.org>
22251 Document fill-separate-heterogeneous-words-with-space (bug#25685)
22253 * doc/lispref/text.texi (Filling):
22254 Document fill-separate-heterogeneous-words-with-space (bug#25685).
22256 2017-02-15 Noam Postavsky <npostavs@gmail.com>
22258 Test comment-multi-line = nil auto fill case too
22260 * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
22261 `comment-multi-line' both nil and non-nil.
22262 * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
22264 * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
22266 2017-02-15 Katsumi Yamaoka <yamaoka@jpl.org>
22268 Don't delete leading and trailing space from CJK word (bug#25685)
22270 * lisp/textmodes/fill.el (fill-delete-newlines):
22271 Don't delete leading and trailing space from CJK word.
22272 (fill-separate-heterogeneous-words-with-space):
22273 New user option that controls it (bug#25685).
22275 2017-02-15 Juri Linkov <juri@linkov.net>
22277 ‘M-s w RET word C-s’ repeats incremental search.
22279 * lisp/isearch.el (isearch-new-nonincremental): New variable.
22280 (with-isearch-suspended): Bind isearch-new-nonincremental to
22281 isearch-nonincremental, and restore it afterwards.
22282 (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
22283 Set isearch-new-nonincremental to nil. (Bug#25562)
22285 2017-02-14 Tom Tromey <tom@tromey.com>
22287 Make vc-git detect conflict state for vc-dir
22289 * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
22290 (vc-git-dir-status-update-file): New function.
22291 (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
22292 vc-git-dir-status-state; add 'ls-files-conflict state.
22293 (vc-git-dir-status-files): Create a vc-git-dir-status-state.
22295 2017-02-14 Vibhav Pant <vibhavp@gmail.com>
22297 byte-opt: Replace merged tags in jump tables too. (bug#25716)
22299 * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
22300 adjacent tags, make sure that the old tag is replaced in all jump
22301 tables, if any. This fixes the bytecode VM jumping to the wrong
22302 address in compiled cond forms where the body of a clause was a loop
22305 2017-02-14 Glenn Morris <rgm@gnu.org>
22307 Remove overly broad element from default mail-dont-reply-to-names
22309 * lisp/mail/mail-utils.el (mail-dont-reply-to):
22310 Do not include just "user@" in mail-dont-reply-to-names, and simplify.
22311 Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
22312 * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
22313 * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
22315 2017-02-14 Juri Linkov <juri@linkov.net>
22317 * etc/NEWS: Mention query-replace-from-to-separator. (Bug#25482)
22319 2017-02-13 Arash Esbati <arash@gnu.org>
22321 Match all characters in optional argument of \documentclass
22323 * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
22324 characters in optional argument containing name of the main file.
22326 2017-02-13 Vibhav Pant <vibhavp@gmail.com>
22328 Merge branch 'master' into feature/byte-switch
22330 2017-02-13 Katsumi Yamaoka <yamaoka@jpl.org>
22332 Fix non-ASCII text encoding (bug#25658)
22334 * lisp/gnus/mm-bodies.el (mm-encode-body):
22335 Fix non-ASCII text encoding (bug#25658).
22337 2017-02-13 Vibhav Pant <vibhavp@gmail.com>
22339 test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
22341 2017-02-13 Stefan Monnier <monnier@iro.umontreal.ca>
22343 * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
22345 2017-02-13 Glenn Morris <rgm@gnu.org>
22347 Fix recent bootstrap issue by moving string-to-list
22349 * lisp/international/mule-util.el (string-to-list, string-to-vector):
22351 * lisp/subr.el (string-to-list, string-to-vector): ...to here.
22352 The implementation is trivial and at least string-to-list
22353 has ended up being needed early during bootstrap.
22355 2017-02-13 Glenn Morris <rgm@gnu.org>
22357 Doc fixes related to mail-host-address
22359 * lisp/startup.el (mail-host-address): Doc fix.
22360 * doc/lispref/os.texi (System Environment):
22361 Remove extraneous details of mail-host-address.
22363 2017-02-13 Glenn Morris <rgm@gnu.org>
22365 Simplify time-stamp mail host usage
22367 * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
22368 (time-stamp-string-preprocess): Handle "h" (mail host) directly.
22370 2017-02-13 Glenn Morris <rgm@gnu.org>
22372 Doc fix for vhdl-mode re mail-host-address
22374 * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
22375 (mail-host-address): Do not add to vhdl-related custom group,
22376 since vhdl-template-replace-header-keywords doesn't use it.
22378 2017-02-13 Mark Oteiza <mvoteiza@udel.edu>
22380 Substitute leading $HOME/ in xdg-user-dirs
22382 * lisp/xdg.el (xdg--substitute-home-env): New function.
22383 (xdg--user-dirs-parse-line): Use it.
22384 (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
22386 2017-02-13 Mark Oteiza <mvoteiza@udel.edu>
22388 * lisp/buff-menu.el: Turn on lexical-binding.
22390 2017-02-13 Juri Linkov <juri@linkov.net>
22392 * lisp/replace.el (query-replace-from-to-separator): Move propertize
22394 and char-displayable-p test to query-replace-read-from.
22395 Add choice nil to disable this feature.
22396 (query-replace-read-from): Don't reevaluate custom setting.
22397 Use char-displayable-p to test the first non-whitespace character
22398 in query-replace-from-to-separator, use " -> " when fails.
22399 Add prompt for the case when separator is nil but
22400 query-replace-defaults is non-nil.
22401 Remove unused test for regexp-flag.
22402 Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
22404 2017-02-13 Karl Fogel <kfogel@red-bean.com>
22406 Convert more uses of `looking-at' to `following-char'
22408 This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
22409 (commit 91478f46238a) with more of the same.
22411 * lisp/bookmark.el (bookmark-send-edited-annotation):
22412 (bookmark-bmenu-execute-deletions): Replace instances of looking-at
22413 with char comparisons using following-char.
22415 2017-02-12 Paul Eggert <eggert@cs.ucla.edu>
22417 Fix typos in tests for lax-plist-get etc.
22419 Problem reported by Eli Zaretskii (Bug#25606#62).
22420 * test/src/fns-tests.el (test-cycle-lax-plist-get)
22421 (test-cycle-plist-put, test-cycle-lax-plist-put):
22422 Fix tests to match behavior.
22424 2017-02-12 Michael Albinus <michael.albinus@gmx.de>
22428 * lisp/net/tramp.el (tramp-completion-file-name-handler):
22429 Improve autoloaded version.
22430 (tramp-autoload-file-name-handler): Avoid recursive load.
22431 (tramp-completion-handle-expand-file-name): Handle empty NAME.
22434 2017-02-12 Mark Oteiza <mvoteiza@udel.edu>
22436 Remove server-buffer-clients string from minor-mode-alist
22438 * lisp/server.el: Don't put an element for server-buffer-clients into
22439 minor-mode-alist. (Bug#20201)
22441 2017-02-12 Mark Oteiza <mvoteiza@udel.edu>
22443 Nix some useless uses of looking-at, looking-back
22445 * lisp/allout.el (allout-kill-topic):
22446 (allout-next-topic-pending-encryption):
22447 * lisp/bookmark.el (bookmark-kill-line):
22448 * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
22449 * lisp/cus-theme.el (custom-theme-write-variables):
22450 (custom-theme-write-faces):
22451 * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
22452 * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
22453 * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
22454 (checkdoc-interactive-ispell-loop):
22455 (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
22456 (checkdoc-this-string-valid-engine):
22457 * lisp/emacs-lisp/elint.el (elint-get-top-forms):
22458 * lisp/emulation/viper-cmd.el (viper-backward-indent):
22459 * lisp/image-dired.el (image-dired-delete-char):
22460 * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
22461 looking-back with char comparisons using following-char, preceding-char.
22463 2017-02-12 Eli Zaretskii <eliz@gnu.org>
22465 Clarify what is the "cursor"
22467 * doc/lispref/windows.texi (Window Point): Clarify the notion of
22470 2017-02-11 Tom Tromey <tom@tromey.com>
22472 Recognize JS regexp literals more correctly
22475 * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
22477 (js-syntax-propertize-regexp): Use it. Remove "end" argument.
22478 (js--syntax-propertize-regexp-syntax-table): Remove.
22479 (js-syntax-propertize): Update.
22480 * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
22483 2017-02-11 Vibhav Pant <vibhavp@gmail.com>
22485 src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
22487 This avoids using XUINT every time while comparing it with
22488 HASH_HASH (h, i), replacing it with EQ.
22490 2017-02-11 Vibhav Pant <vibhavp@gmail.com>
22492 src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
22494 2017-02-11 Tom Tromey <tom@tromey.com>
22496 Fix bug in css--mdn-find-symbol
22498 * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
22499 before skipping word characters.
22500 test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
22503 2017-02-11 Vibhav Pant <vibhavp@gmail.com>
22505 src/bytecode.c: Add optional sanity check for jump tables.
22507 * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
22508 check that the jump table's size is equal to it's count.
22510 2017-02-11 Vibhav Pant <vibhavp@gmail.com>
22512 Merge branch 'master' into feature/byte-switch
22514 * src/bytecode.c: Refactor to follow GNU coding standards
22516 2017-02-11 Eli Zaretskii <eliz@gnu.org>
22518 Fix handling of XBM images on MS-Windows
22520 * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
22521 'nbytes' when inverting XBM data bits. (Bug#25661)
22523 2017-02-11 Eli Zaretskii <eliz@gnu.org>
22525 Fix handling of PBM data
22527 * src/image.c (pbm_load): Handle PBM data with no blanks between
22528 individual pixel values correctly. (Bug#25660)
22530 2017-02-10 Noam Postavsky <npostavs@gmail.com>
22532 Fix warnings in debug tracing code
22534 * src/xdisp.c (dump_glyph, dump_glyph_string):
22535 * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
22536 specifiers to match signedness.
22538 2017-02-10 Sam Steingold <sds@gnu.org>
22540 Extract grep-find-ignored-directories processing from rgrep-default-command
22542 (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
22543 Some Emacs packages use `grep-find-ignored-directories' to ignore some
22544 directories, so will use this function instead of custom code.
22545 (rgrep-default-command): Use `rgrep-find-ignored-directories'.
22547 2017-02-10 Vibhav Pant <vibhavp@gmail.com>
22549 src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
22551 * src/bytecode.c: (exec_byte_code) While linear searching the jump
22552 table, compare the value's hash table first to avoid calling
22553 h->test.cmpfn every time.
22555 2017-02-10 Paul Eggert <eggert@cs.ucla.edu>
22557 Fix a few integer-overflow glitches
22559 * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
22560 * src/dispextern.h (struct composition_it.rule_idx):
22561 * src/keyboard.c (Fset__this_command_keys):
22562 * src/xwidget.c (webkit_js_to_lisp):
22563 Don’t assume object sizes fit in ‘int’.
22564 * src/xwidget.c (Fxwidget_resize):
22565 Don’t assume Emacs integers fit in ‘int’.
22567 2017-02-10 Eli Zaretskii <eliz@gnu.org>
22569 Fix a bug with displaying an image after a TAB
22571 * src/xdisp.c (display_line): Handle TAB at end of screen line
22572 specially only when we are displaying characters. (Bug#25662)
22574 2017-02-10 Eli Zaretskii <eliz@gnu.org>
22576 Improve commentary in lisp.h
22578 * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
22579 object is discouraged.
22581 2017-02-10 Paul Eggert <eggert@cs.ucla.edu>
22583 Move cyclic tests to fns-tests.el
22585 * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
22586 (test-cycle-length, test-cycle-safe-length, test-cycle-member)
22587 (test-cycle-memq, test-cycle-memql, test-cycle-assq)
22588 (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
22589 (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
22590 (test-cycle-plist-get, test-cycle-lax-plist-get)
22591 (test-cycle-plist-member, test-cycle-plist-put)
22592 (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
22594 * test/manual/cyclic-tests.el: File deleted.
22596 2017-02-10 Gemini Lasswell <gazally@runbox.com>
22598 Fix instrumenting code with propertized strings in Edebug
22600 * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
22601 'read' to decide what is and isn't a syntax error. (Bug#25068)
22603 2017-02-10 Vladimir Panteleev <vladimir@thecybershadow.net>
22605 Improve fontification in bat-mode
22607 * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
22608 word and symbol constituents when looking for variable names
22609 to fontify; also, correct the syntax table and mark the equal
22610 sign (=) character as punctuation. Improve fontification
22611 accuracy of iteration/positional variables.
22612 (bat-mode): Set comment-start-skip. (Bug#25541)
22614 * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
22617 2017-02-10 Eli Zaretskii <eliz@gnu.org>
22619 Restore special setting of this-command-keys by M-x
22621 It was lost when execute-extended-command was reimplemented in Lisp.
22623 * src/keyboard.c (Fset__this_command_keys): New function.
22624 (syms_of_keyboard): Defsubr it.
22626 * lisp/simple.el (execute-extended-command): Set this-command-keys
22627 as novice.el expects. (Bug#25612)
22629 2017-02-09 Juri Linkov <juri@linkov.net>
22631 * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
22633 to t to display "Pending" in the search prompt for lax
22634 word/symbol search (bug#25562). Don't use lax for lazy-highlighting
22635 when 'bound' is non-nil.
22636 (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
22637 at the beginning of regexp (bug#22589).
22639 * lisp/info.el (Info-isearch-search):
22640 Use isearch--lax-regexp-function-p.
22642 * doc/emacs/search.texi (Word Search, Symbol Search):
22643 Mention "Pending" prompt for lax word/symbol search.
22645 2017-02-09 Vibhav Pant <vibhavp@gmail.com>
22647 src/bytecode.c (exec_byte_code): Remove unneeded assert.
22649 bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
22651 2017-02-09 Vibhav Pant <vibhavp@gmail.com>
22653 bytecode.c (exec_byte_code): don't check hash code in linear search.
22655 * src/bytecode.c (exec_byte_code): Don't check that the hash code is
22656 not nil when linear scanning the jump table. Hash tables for are
22657 declared with :size as the exact number of cases, so each entry i
22658 should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
22661 2017-02-09 Tino Calancha <tino.calancha@gmail.com>
22663 Ibuffer: Update mode documentation
22665 * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
22667 2017-02-09 Steven Allen <steven@stebalien.com> (tiny change)
22669 Fix environment variable for xdg-data-dirs
22671 * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
22673 2017-02-09 Tino Calancha <tino.calancha@gmail.com>
22675 Ibuffer: Erase output buffer before shell commands
22677 * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
22678 BEFORE and AFTER; they are forms to run before/after the operation.
22679 * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
22680 New defun; if shell-command-dont-erase-buffer is nil, then
22681 erase shell command output buffer.
22682 (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
22684 2017-02-09 Tino Calancha <tino.calancha@gmail.com>
22686 Ibuffer: Don't truncate shell command output
22688 * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
22689 (ibuffer-do-shell-command-pipe-replace)
22690 Use 'call-shell-region' (Bug#22679).
22691 (ibuffer-do-shell-command-file): Use call-process-shell-command.
22692 If FILE, the file that the buffer object is visiting,
22693 exists and the buffer is up-to-date, then use
22694 FILE instead of creating a temporary file (Bug#22679).
22696 2017-02-09 Vibhav Pant <vibhavp@gmail.com>
22698 Improve byte-switch execution.
22700 * lisp/emacs-lisp/byte-opt.el,
22701 lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
22702 (byte-compile-lapcode): Calculate the actual jump address while
22703 compiling, store it in the jump table.
22705 * src/bytecode.c: Jump to the looked up value directly, do a linear
22706 search when the number of elements is <= 5.
22708 2017-02-09 Noam Postavsky <npostavs@gmail.com>
22710 Make sure eshell pipelines don't drop data
22712 * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
22713 handling output of the process, make sure to close the pipes only later,
22714 so that the next process in the pipeline recieves EOF only after getting
22715 all its input (Bug#25549).
22717 2017-02-09 Katsumi Yamaoka <yamaoka@jpl.org>
22719 Make mm-shr use mail-parse-charset by default
22721 * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
22722 This helps an html message with no charset spec to be decoded.
22724 2017-02-08 Stephen Berman <stephen.berman@gmx.net>
22726 describe-char: unambiguous name for inserting ASCII 7
22728 * lisp/descr-text.el (describe-char): Make the input
22729 suggestion for inserting ASCII character 7 by name use the
22730 unambiguous name "BELL (BEL)" (bug#25641).
22732 2017-02-08 Michael Albinus <michael.albinus@gmx.de>
22734 Modify suppressing `vc-refresh-state' in filenotify-tests.el
22736 * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
22737 Use an advice rather than an alias for suppressing `vc-refresh-state'.
22739 2017-02-08 Noam Postavsky <npostavs@gmail.com>
22741 Disable native completion for ipython (Bug#25067)
22743 * lisp/progmodes/python.el:
22744 (python-shell-completion-native-disabled-interpreters): Add "ipython".
22746 2017-02-07 Michael Albinus <michael.albinus@gmx.de>
22748 Suppress undesired error messages in filenotify-tests.el
22750 * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
22751 Suppress `vc-refresh-state', it produces undesired error messages.
22753 2017-02-07 Eli Zaretskii <eliz@gnu.org>
22755 Fix a typo in ada-mode manual
22757 * doc/misc/ada-mode.texi (Project file variables): Add a missing
22758 right bracket. Reported by Jean-Christophe Helary
22759 <jean.christophe.helary@gmail.com>.
22761 2017-02-07 Lars Ingebrigtsen <larsi@gnus.org>
22763 Ensure that Gnus bugs show up in the Emacs tracker
22765 * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
22768 2017-02-07 Lars Ingebrigtsen <larsi@gnus.org>
22770 Revert "Don't tag Gnus bugs with "gnus""
22772 This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
22774 The debbugs syntax requires a package name
22776 2017-02-07 Vibhav Pant <vibhavp@gmail.com>
22778 Add tests for checking byte-switch code.
22780 * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
22781 test byte-switch bytecode.
22783 2017-02-07 Mark Oteiza <mvoteiza@udel.edu>
22787 * etc/NEWS: Mention new library.
22788 * lisp/xdg.el: New file.
22790 2017-02-07 Paul Eggert <eggert@cs.ucla.edu>
22792 Do not trick info/dir’s timestamp
22794 * Makefile.in (${srcdir}/info/dir): When making this file, do not
22795 do anything special about its timestamp. Previously this rule
22796 used move-if-change, which meant that this file’s timestamp could
22797 end up being older than the files it depends on, and this caused
22798 ‘make --question info’ to fail, which caused ‘make-dist’ to fail
22799 now that ‘make-dist’ invokes ‘make --question info’.
22801 2017-02-07 Paul Eggert <eggert@cs.ucla.edu>
22803 Make FOR_EACH_TAIL more like other FOR_EACH macros
22805 See comments by Stefan Monnier in:
22806 http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00181.html
22807 and by Eli Zaretskii in:
22808 http://lists.gnu.org/archive/html/emacs-devel/2017-02/msg00207.html
22809 * src/fns.c (internal_equal): Do not bypass check for depth
22810 overflow when tail-recursing via a dotted list tail or an overlay
22811 plist, to avoid a rare infloop.
22812 * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
22813 arg, and update it at each iteration, rather than have callers
22814 access it.tail. All callers changed.
22815 (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
22816 the caller’s responsibility. All callers changed.
22817 (FOR_EACH_TAIL_CONS): Remove. All callers changed.
22818 (struct for_each_tail_internal.tail): Remove; no longer needed.
22819 (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
22820 arg each time through the loop. All callers changed.
22822 2017-02-05 Paul Eggert <eggert@cs.ucla.edu>
22824 Port to clang 3.8.0
22826 It does not allow a for-loop's control var to be an anonymous struct.
22827 * src/lisp.h (struct for_each_tail_internal): New type.
22828 (FOR_EACH_TAIL_INTERNAL): Use it.
22830 2017-02-05 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
22832 Add cyclic-list tests
22834 * test/manual/cycle-tests.el: New file (Bug#25606).
22836 2017-02-05 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
22838 FOR_EACH_TAIL now checks for quit
22840 As per Eli Zaretskii (Bug#25606#20). Although these calls to
22841 maybe_quit are unnecessary in practice, Eli was not convinced
22842 that the calls are unnecessary.
22843 * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
22844 Call maybe_quit every so often.
22845 (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT. All callers changed.
22847 2017-02-05 Paul Eggert <eggert@cs.ucla.edu>
22849 Signal list cycles in ‘length’ etc.
22851 Use macros like FOR_EACH_TAIL instead of maybe_quit to
22852 catch list cycles automatically instead of relying on the
22853 user becoming impatient and typing C-g (Bug#25606).
22854 * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
22855 (Frassoc, Fdelete, Freverse):
22856 Use FOR_EACH_TAIL instead of maybe_quit.
22857 (Fnreverse): Use simple EQ to check for circular list instead
22858 of rarely_quit, as this suffices in this unusual case.
22859 (Fplist_put, Flax_plist_put, Flax_plist_put):
22860 Use FOR_EACH_TAIL_CONS instead of maybe_quit.
22861 (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
22862 of by-hand tail recursion that did not catch cycles.
22863 * src/fns.c (Fsafe_length, Fplist_get):
22864 * src/xdisp.c (display_mode_element):
22865 Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
22866 * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
22867 (rarely_quit): Simply count toward USHRT_MAX + 1, since the
22868 fancier versions are no longer needed.
22869 (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
22870 (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
22871 mostly taken from FOR_EACH_TAIL.
22872 (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
22874 2017-02-05 Paul Eggert <eggert@cs.ucla.edu>
22876 Simplify use of FOR_EACH_TAIL
22878 * src/data.c (circular_list): New function.
22879 * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
22880 decl, to eliminate the need for the args TAIL, TORTOISE and N, and
22881 to speed things up a bit on typical hosts with optimization.
22882 All uses changed (Bug#25605).
22884 2017-02-05 Simen Heggestøyl <simenheg@gmail.com>
22886 * lisp/textmodes/css-mode.el: Require subr-x at compile time
22888 2017-02-05 Eli Zaretskii <eliz@gnu.org>
22890 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
22892 * doc/lispref/nonascii.texi (Text Representations): Clarify that
22893 'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
22894 'filepos-to-bufferpos' can lead to expensive and slow processing.
22896 * lisp/international/mule-util.el (filepos-to-bufferpos)
22897 (bufferpos-to-filepos): Doc fix. (Bug#25626)
22899 2017-02-05 Vibhav Pant <vibhavp@gmail.com>
22901 Merge remote-tracking branch 'origin/master' into feature/byte-switch
22903 2017-02-05 Vibhav Pant <vibhavp@gmail.com>
22905 bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
22907 * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
22908 (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
22909 make sure that obj1/obj2 can be compared with `eq'.
22911 2017-02-05 Vibhav Pant <vibhavp@gmail.com>
22913 * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
22915 2017-02-05 Vibhav Pant <vibhavp@gmail.com>
22917 bytecomp.el: Inline lapcode containing `byte-switch' correctly.
22919 * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
22920 Restore value of byte-compile-depth after emitting a jump to a tag
22921 in a jump table, or default/done tags.
22922 Set the depth of final tags for byte-switch to nil after emitting
22925 2017-02-05 Vibhav Pant <vibhavp@gmail.com>
22927 byte-opt.el: Replace jump tables while decompiling correctly.
22929 * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
22930 Don't make a copy of the constant vector, as it isn't used with
22931 the decompiled lapcode.
22932 Make sure that the correct lapcode pair/list is being modified while
22933 replacing the jump table.
22935 2017-02-05 Vibhav Pant <vibhavp@gmail.com>
22937 bytecomp.el: Don't store non-keyword symbols in jump-tables.
22939 * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
22940 nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
22941 table can only be used when comparing variables with constant values.
22943 2017-02-04 Tom Tromey <tom@tromey.com>
22947 (css--colon-inside-selector-p): Fix typo in docstring.
22949 2017-02-04 Tom Tromey <tom@tromey.com>
22951 Set comment-multi-line in js-mode
22954 * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
22955 * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
22957 2017-02-04 Simen Heggestøyl <simenheg@gmail.com>
22959 * test/manual/indent/scss-mode.scss: Fix indentation
22961 2017-02-04 Simen Heggestøyl <simenheg@gmail.com>
22963 Fix indentation of multiline CSS property values
22965 * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
22966 to properties higher precedence.
22967 (css--colon-inside-selector-p, css--colon-inside-funcall): New
22968 functions for helping SMIE during tokenization.
22969 (css-smie--forward-token, css-smie--backward-token): Distinguish
22970 colons belonging to properties from other colons.
22972 * test/manual/indent/css-mode.css: Add tests for the changes above.
22974 * test/manual/indent/scss-mode.scss: Ditto.
22976 2017-02-04 Gemini Lasswell <gazally@runbox.com>
22978 Add tests for lisp/kmacro.el
22980 * test/lisp/kmacro-tests.el: New file. (Bug#24939)
22982 2017-02-04 Eli Zaretskii <eliz@gnu.org>
22984 Fix autorevert-tests on MS-Windows
22986 * test/lisp/autorevert-tests.el
22987 (auto-revert-test02-auto-revert-deleted-file): Don't check that
22988 auto-revert-use-notify was reset to nil on w32.
22990 2017-02-04 Gemini Lasswell <gazally@runbox.com>
22992 New macro 'ert-with-message-capture'
22994 * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
22997 * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
22998 (auto-revert-test00-auto-revert-mode)
22999 (auto-revert-test01-auto-revert-several-files)
23000 (auto-revert-test02-auto-revert-deleted-file)
23001 (auto-revert-test03-auto-revert-tail-mode)
23002 (auto-revert-test04-auto-revert-mode-dired):
23003 * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
23004 ert-with-message-capture.
23006 2017-02-04 Gemini Lasswell <gazally@runbox.com>
23008 Avoid invalid read syntax errors due to 'ert-with-test-buffer'
23010 * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
23011 'declare' form. (Bug#24722)
23013 2017-02-04 Eli Zaretskii <eliz@gnu.org>
23015 Fix a syntax error when evaluating pcase.el under Edebug
23017 * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
23018 with an explicit 'put' form. Suggested by Gemini Lasswell
23019 <gazally@runbox.com>. (Bug#24717)
23021 2017-02-04 Gemini Lasswell <gazally@runbox.com>
23022 Eli Zaretskii <eliz@gnu.org>
23024 Change edebug-max-depth from defconst to defcustom
23026 * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
23029 * etc/NEWS: Mention edebug-max-depth.
23031 * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
23032 edebug-max-depth and index it. Add cross-references for
23033 max-lisp-eval-depth and max-specpdl-size.
23035 2017-02-04 Eli Zaretskii <eliz@gnu.org>
23037 Support options with embedded whitespace in 'dired-listing-switches'
23039 * lisp/dired.el (dired-listing-switches): Document how to quote
23040 options with embedded whitespace.
23042 * lisp/files.el (insert-directory): Use split-string-and-unquote
23043 to support dired-listing-switches that specify command-line
23044 options with embedded spaces. (Bug#25485)
23046 2017-02-04 Gemini Lasswell <gazally@runbox.com>
23047 Noam Postavsky <npostavs@users.sourceforge.net>
23049 Add tests for lisp/emacs-lisp/testcover.el
23051 * test/lisp/emacs-lisp/testcover-tests.el: New file.
23052 * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
23054 2017-02-04 Eli Zaretskii <eliz@gnu.org>
23056 Document 'save-some-buffers-default-predicate'
23058 * doc/lispref/files.texi (Saving Buffers):
23059 * doc/emacs/files.texi (Save Commands): Document
23060 save-some-buffers-default-predicate.
23062 2017-02-04 Richard Stallman <rms@gnu.org>
23064 New defcustom 'save-some-buffers-default-predicate'
23066 * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
23067 (save-some-buffers): Use it when PRED is nil or omitted.
23069 2017-02-04 Mark Oteiza <mvoteiza@udel.edu>
23071 Rename to if-let* and when-let*
23073 Make the existing if-let and when-let aliases.
23074 * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros. Rewrite
23075 docstrings, incorporating that from let* and the existing if-let.
23076 (if-let, when-let, and-let*): Alias them.
23078 2017-02-03 Vibhav Pant <vibhavp@gmail.com>
23080 Revert "Use maphash instead of cl-loop."
23082 This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
23084 2017-02-03 Nicolas Petton <nicolas@petton.fr>
23086 Bump Emacs version to 25.2 RC1
23090 * msdos/sed2v2.inp:
23091 * nt/README.W32: Bump Emacs version.
23092 * lisp/ldefs-boot.el: Update.
23094 2017-02-03 Nicolas Petton <nicolas@petton.fr>
23096 * admin/make-tarball.txt: Add documentation regarding the release banner.
23098 2017-02-03 Tino Calancha <tino.calancha@gmail.com>
23100 * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
23102 2017-02-03 Paul Eggert <eggert@cs.ucla.edu>
23104 Re-port alloc.c to Solaris sparc and simplify
23106 alloc.c had bitrotted a bit, and used an undefined symbol
23107 stack_base when Emacs was built on Solaris sparc, leading to
23108 compilation failures. Also, code related to __builtin_unwind_init
23109 was unnecessarily duplicated. Fix the bitrot and remove some
23111 * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
23113 (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
23114 Define a no-op dummy, to simplify use.
23115 (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
23116 than in the caller, to simplify use.
23117 (stacktop_sentry): New type.
23118 (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
23119 (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
23120 (flush_stack_call_func, Fgarbage_collect): Use it.
23121 (init_alloc): Omit unnecessary initialization.
23122 After dumping, Emacs need not re-test setjmp.
23124 2017-02-03 Noam Postavsky <npostavs@gmail.com>
23126 Add tests for scrolling
23128 * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
23130 2017-02-03 Noam Postavsky <npostavs@gmail.com>
23132 Fix scrolling with partial lines
23134 * src/xdisp.c (partial_line_height): New function.
23136 * src/window.c (window_scroll_pixel_based): Use it for calculating the
23137 pixel scroll margin correctly in a window with partial lines.
23139 2017-02-03 Noam Postavsky <npostavs@gmail.com>
23141 Make limit on scroll-margin variable
23143 * src/xdisp.c (maximum-scroll-margin): New variable.
23144 * lisp/cus-start.el: Make it customizable.
23145 * etc/NEWS: Mention it.
23146 * doc/emacs/display.texi (Auto Scrolling):
23147 * doc/lispref/windows.texi (Textual Scrolling): Document it.
23148 * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
23149 division by 4 (Bug #5718).
23151 2017-02-03 Noam Postavsky <npostavs@gmail.com>
23153 Don't count mode line for scroll-margin limit
23155 * src/window.c (window_scroll_margin): Use window_box_height to avoid
23156 counting header line, scrollbars for scroll-margin limit (Bug #5718).
23158 2017-02-03 Noam Postavsky <npostavs@gmail.com>
23160 Refactor uses of scroll_margin to a function
23162 Its effective range needs to be clamped between 0 and (window height /
23163 4), so it's better to have this constraint in a single place.
23165 * src/window.c (window_scroll_margin): New function.
23166 (window_scroll_pixel_based, window_scroll_line_based):
23167 (Frecenter, Fmove_to_window_line):
23168 * src/xdisp.c (try_scrolling, try_cursor_movement):
23169 (redisplay_window, try_window, try_window_id): Use it.
23171 2017-02-03 Dmitry Gutov <dgutov@yandex.ru>
23173 (xref-collect-matches): Use '-E' together with '-e'
23175 * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
23176 together with '-e', as suggested by Noam Postavsky
23177 (http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00780.html).
23179 2017-02-03 Paul Eggert <eggert@cs.ucla.edu>
23181 Pacify Oracle Studio 12.5
23183 * src/emacs.c (main): Do not silently convert char * to bool.
23185 2017-02-02 Paul Eggert <eggert@cs.ucla.edu>
23187 Fix lisp.h underparenthesization
23189 * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
23190 Parenthesize compound literals that are function call args.
23191 Although this does not fix any bugs, it is the proper style for
23192 macro parenthesization as it means this code will continue to
23193 work even if make_lisp_ptr is changed to a macro.
23195 2017-02-02 Stefan Monnier <monnier@iro.umontreal.ca>
23197 * lisp/doc-view.el (doc-view-mode): Don't require a final newline
23199 (doc-view-revert-buffer): Silence overflow warnings.
23201 2017-02-02 Paul Eggert <eggert@cs.ucla.edu>
23205 2017-01-30 Port to PGI 16.10 x86-64
23206 2017-01-20 time_rz: fix comment typo
23207 2017-01-14 strftime: %z is -00 if unknown
23209 * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
23210 * lib/time-internal.h, lib/verify.h:
23213 2017-02-02 Tino Calancha <tino.calancha@gmail.com>
23215 Check if there are hunks before kill or refine a hunk
23217 * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
23218 (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
23220 2017-02-02 Tino Calancha <tino.calancha@gmail.com>
23222 Ignore error after kill last file or hunk
23224 * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
23225 Ignore error after kill last hunk (Bug#25570).
23226 (diff-file-kill): Idem.
23228 2017-02-02 Tino Calancha <tino.calancha@gmail.com>
23230 Show current line highlighted in *Occur* buffer
23232 * lisp/replace.el (list-matching-lines-current-line-face)
23233 (list-matching-lines-jump-to-current-line): New user options.
23234 (occur--orig-line, occur--orig-line-str): New variables.
23235 (occur, occur-engine): Use them.
23236 (occur--final-pos): New variable.
23238 (occur-engine): Idem.
23239 Show the current line with 'list-matching-lines-current-line-face'.
23240 Set point on the first matching line after the current one.
23241 * etc/NEWS: Add entry for the new option.
23243 2017-02-02 Tino Calancha <tino.calancha@gmail.com>
23245 Allow occur command to operate on the region
23248 https://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01084.html
23249 * lisp/replace.el (occur--region-start, occur--region-end)
23250 (occur--matches-threshold): New variables.
23251 (occur-engine): Use them.
23253 Add optional arg REGION; if non-nil occur applies in that region.
23254 * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
23255 * doc/emacs/search.texi (Other Repeating Search): Idem.
23257 2017-02-02 Mark Oteiza <mvoteiza@udel.edu>
23259 Treat list-buffers-directory as a string
23261 Another step in the long history of list-buffers-directory. A thread
23262 branch discussing the meaning/use of the variable starts here
23263 https://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00684.html
23264 Also see (info "(elisp) Buffer File Name").
23265 * lisp/buff-menu.el: Relocate special case code into info.el. Nix
23267 (Buffer-menu--pretty-file-name): Remove special case. Use
23269 (Buffer-menu-info-node-description): Remove.
23270 * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
23271 list-buffers-directory as a string.
23272 * lisp/info.el (Info-node-description): New function.
23273 (Info-select-node): Use it.
23275 2017-02-02 Mark Oteiza <mvoteiza@udel.edu>
23277 Turn on lexical-binding in parse-time.el
23279 * lisp/calendar/parse-time.el: Turn on lexical-binding.
23280 (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
23283 2017-02-02 Mark Oteiza <mvoteiza@udel.edu>
23285 Prevent creating thumbnails of all gif frames
23287 With the previous defaults, doing image-dired on a directory with an
23288 animated foo.gif would cause creation of foo.thumb-N.gif for each of
23289 N frames in foo.gif. By default image-dired looks for foo.thumb.gif, so
23290 there additionally is no usable thumbnail after all the needless effort.
23291 image-dired never handled animation, regardless.
23292 * lisp/image-dired.el: Mention limitation.
23293 (image-dired-cmd-create-thumbnail-options):
23294 (image-dired-cmd-create-temp-image-options):
23295 (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
23296 filename to indicate only converting the 0th frame.
23297 (image-dired-display-image-mode): Don't show a cursor.
23299 2017-02-02 Paul Eggert <eggert@cs.ucla.edu>
23301 Fix quitting bug when buffers are frozen
23303 Problem noted by Eli Zaretskii in:
23304 http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00721.html
23305 This patch also fixes some other issues in that report.
23306 * src/lisp.h (incr_rarely_quit): Remove.
23307 All callers changed to use rarely_quit directly.
23308 * src/search.c (freeze_buffer_relocation)
23309 (thaw_buffer_relocation): New functions.
23310 (looking_at_1, fast_looking_at, search_buffer):
23311 Use them to fix bug when quitting when buffers are frozen.
23312 * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
23315 2017-02-02 Paul Eggert <eggert@cs.ucla.edu>
23317 Revamp quitting and fix infloops
23319 This fixes some infinite loops that cannot be quitted out of,
23320 e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
23321 when byte-compiled and when run under X. See:
23322 http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00577.html
23323 This also attempts to keep the performance improvements I recently
23324 added, as much as possible under the constraint that the infloops
23325 must be caught. In some cases this fixes infloop bugs recently
23326 introduced when I removed immediate_quit.
23327 * src/alloc.c (Fmake_list):
23328 Use rarely_quit, not maybe_quit, for speed in the usual case.
23329 * src/bytecode.c (exec_byte_code):
23330 * src/editfns.c (Fcompare_buffer_substrings):
23331 * src/fns.c (Fnthcdr):
23332 * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
23333 (Fbackward_prefix_chars):
23334 Use rarely_quit so that users can C-g out of long loops.
23335 * src/callproc.c (call_process_cleanup, call_process):
23336 * src/fileio.c (read_non_regular, Finsert_file_contents):
23337 * src/indent.c (compute_motion):
23338 * src/syntax.c (scan_words, Fforward_comment):
23339 Remove now-unnecessary maybe_quit calls.
23340 * src/callproc.c (call_process):
23341 * src/doc.c (get_doc_string, Fsnarf_documentation):
23342 * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
23343 * src/lread.c (safe_to_load_version):
23344 * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
23345 Use emacs_read_quit instead of emacs_read in places where
23346 C-g handling is safe.
23347 * src/eval.c (maybe_quit): Move comment here from lisp.h.
23348 * src/fileio.c (Fcopy_file, e_write):
23349 Use emacs_write_quit instead of emacs_write_sig in places where
23350 C-g handling is safe.
23351 * src/filelock.c (create_lock_file): Use emacs_write, not
23352 plain write, as emacs_write no longer has a problem.
23353 (read_lock_data): Use emacs_read, not read, as emacs_read
23354 no longer has a problem.
23355 * src/fns.c (rarely_quit): Move to lisp.h and rename to
23356 incr_rarely_quit. All uses changed..
23357 * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
23358 * src/indent.c (compute_motion):
23359 * src/syntax.c (find_defun_start, back_comment, forw_comment)
23360 (Fforward_comment, scan_lists, scan_sexps_forward):
23361 Use incr_rarely_quit so that users can C-g out of long loops.
23362 * src/fns.c (Fnconc): Move incr_rarely_quit call to within
23363 inner loop, so that it catches C-g there too.
23364 * src/keyboard.c (tty_read_avail_input): Remove commented-out
23365 and now-obsolete code dealing with interrupts.
23366 * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
23367 the latter moved here from fns.c and renamed from rarely_quit.
23368 (emacs_read_quit, emacs_write_quit): New decls.
23369 * src/search.c (find_newline, search_buffer, find_newline1):
23370 Add maybe_quit to catch C-g.
23371 * src/sysdep.c (get_child_status): Always invoke maybe_quit
23372 if interruptible, so that the caller need not bother.
23373 (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
23375 (emacs_read): Rewrite in terms of emacs_nointr_read.
23376 Do not handle C-g or signals; that is now for emacs_read_quit.
23377 (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
23378 with INTERRUPTIBLE three-way arg. All uses changed.
23380 2017-02-02 Paul Eggert <eggert@cs.ucla.edu>
23382 Remove immediate_quit.
23384 The old code that sets and clears immediate_quit was
23385 ineffective except when Emacs is running in terminal mode, and
23386 has problematic race conditions anyway, so remove it. This
23387 will introduce some hangs when Emacs runs in terminal mode,
23388 and these hangs should be fixed in followup patches.
23389 * src/keyboard.c (immediate_quit): Remove. All uses removed.
23391 2017-02-01 Alan Mackenzie <acm@muc.de>
23393 Allow C++ nested brace-list-entries to be better indented.
23395 This fixes bug #24431. The key change of this bug fix is correctly analyzing
23396 nested brace lists when the opening element stands on the same line as both
23397 its introductory brace and an enclosing parameter list parenthesis.
23399 * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
23401 * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
23402 presence of exactly an identifier between an open parenthesis and an open
23403 brace as evidence of the brace starting a brace list.
23404 (c-looking-at-statement-block): New function, extracted from
23405 c-looking-at-inexpr-block. Enhance it to analyze inner blocks recursively
23407 (c-looking-at-inexpr-block): Extract new function (see above) and call it.
23408 (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
23409 prime syntactic symbol with a fixed anchor point. When this is used, restrict
23410 all added syntactic symbols to those having an anchor point on the same line.
23411 Add, in addition to the current additional symbols, c-brace-list-entry when
23412 needed; use c-looking-at-statement-block to determine the latter.
23413 (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
23414 c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
23415 getting, possibly, several accompanying syntactic entries.
23417 * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
23418 'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
23420 * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
23421 offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
23423 * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
23425 (Brace List Symbols): Amend the example to show the new analysis of brace
23426 lists when the first element comes on the same line as the opening brace.
23427 (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
23429 2017-02-01 Lars Ingebrigtsen <larsi@gnus.org>
23431 Revert "DOn't use string-as-unibyte in Gnus"
23433 This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
23435 Not all the cases where we had string-as-unibyte were characters,
23436 so this needs to be considered more thoroughly before being redone.
23438 2017-02-01 Vibhav Pant <vibhavp@gmail.com>
23440 Use maphash instead of cl-loop.
23442 * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
23445 2017-02-01 Michael Albinus <michael.albinus@gmx.de>
23447 Fix a subtle problem in Tramp with timers
23449 * lisp/net/tramp.el (tramp-accept-process-output): Change argument
23450 list. Make it work when called inside a timer. See
23451 <http://lists.gnu.org/archive/html/tramp-devel/2017-01/msg00010.html>.
23453 2017-01-31 Eli Zaretskii <eliz@gnu.org>
23455 Index byte-compile-debug
23457 * doc/lispref/compile.texi (Compilation Functions): Index
23458 byte-compile-debug.
23460 2017-01-31 Philipp Stephani <phst@google.com>
23462 Document `byte-compile-debug' in the ELisp manual
23464 * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
23466 2017-01-31 Ted Zlatanov <tzz@lifelogs.com>
23468 read-multiple-choice: explain dialog popups more
23470 * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
23471 when a graphical popup is used and how it can be avoided.
23473 2017-01-31 Ted Zlatanov <tzz@lifelogs.com>
23475 auth-source-user-and-password: add forgotten user parameter
23477 * lisp/auth-source.el (auth-source-user-and-password): Use
23478 accidentally unused "user" parameter.
23479 Reported by Oscar Najera <najera.oscar@gmail.com>.
23481 2017-01-31 Simen Heggestøyl <simenheg@gmail.com>
23483 Fix typo in a NEWS entry for CSS mode
23485 2017-01-31 Philipp Stephani <phst@google.com>
23487 Document variable `byte-compile-debug'
23489 * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
23491 2017-01-31 Lars Ingebrigtsen <larsi@gnus.org>
23493 DOn't use string-as-unibyte in Gnus
23495 * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
23497 (nnmail-insert-xref): Ditto.
23499 * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
23501 * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
23503 * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
23504 (gnus-browse-foreign-server): Ditto.
23505 (gnus-browse-foreign-server): Ditto.
23507 * lisp/gnus/gnus-start.el
23508 (gnus-update-active-hashtb-from-killed): Ditto.
23509 (gnus-read-newsrc-el-file): Ditto.
23511 * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
23513 * lisp/gnus/nnir.el (nnir-get-active): Ditto.
23514 (nnir-get-active): Ditto.
23516 2017-01-31 Juri Linkov <juri@linkov.net>
23518 Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
23520 * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
23521 M-. in article buffers work for `foo' strings, and still allow
23522 C-s C-w to yank ' to the search ring (bug#22248).
23524 2017-01-31 Paul Eggert <eggert@cs.ucla.edu>
23526 * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
23528 2017-01-31 Tino Calancha <tino.calancha@gmail.com>
23530 * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
23532 2017-01-31 Dima Kogan <dima@secretsauce.net>
23534 New test for diff-mode handling trailing --
23536 test/lisp/vc/diff-mode-tests.el: New test file
23538 2017-01-31 Dima Kogan <dima@secretsauce.net>
23540 Handle patch terminators produced by git and bzr patch export
23542 Patch by Juri Linkov posted in the #9597 bug report
23544 * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
23545 terminator (Bug #9597, #5302)
23547 2017-01-31 Dima Kogan <dima@secretsauce.net>
23549 Revert two accidental commits
23551 This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
23552 This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
23554 2017-01-31 Dima Kogan <dima@secretsauce.net>
23558 2017-01-31 Dima Kogan <dima@secretsauce.net>
23560 comint-get-old-input-default: behavior follows docstring
23562 lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
23563 docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
23564 if point is on an output field.
23566 2017-01-31 Noam Postavsky <npostavs@gmail.com>
23568 Fix call to debugger on assertion failure
23570 * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
23571 argument must be `error', and the second is a list of arguments for
23574 2017-01-30 Tom Tromey <tom@tromey.com>
23576 css-mode documentation lookup feature
23578 * etc/NEWS: Mention new feature.
23579 * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
23580 (css--mdn-lookup-history): New defvar.
23581 (css-lookup-url-format): New defcustom.
23582 (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
23583 (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
23585 * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
23588 2017-01-30 Glenn Morris <rgm@gnu.org>
23590 edt-mapper: just loading a library should not run code
23592 * lisp/emulation/edt-mapper.el (edt-mapper): New function,
23593 containing code previously at top-level.
23594 * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
23595 run edt-mapper function.
23597 2017-01-30 Glenn Morris <rgm@gnu.org>
23599 mh-compat.el: remove duplicate definition
23601 * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
23602 Remove duplicate definition.
23604 2017-01-30 Paul Eggert <eggert@cs.ucla.edu>
23606 Add delq list arg check
23608 * src/fns.c (Fdelq): Check that list is a proper list.
23609 This is more compatible with what ‘delete’ does.
23611 2017-01-30 Stefan Monnier <monnier@iro.umontreal.ca>
23613 * lisp/indent.el (indent-region-line-by-line): New function.
23615 Extracted from indent-region.
23616 (indent-region, indent-region-function): Use it.
23618 2017-01-30 Stefan Monnier <monnier@iro.umontreal.ca>
23620 * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
23622 2017-01-30 Eli Zaretskii <eliz@gnu.org>
23624 More fixes to prevent crashes on C-g
23626 * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
23627 before returning, to avoid crashes in quit. (Bug#25566)
23629 2017-01-30 Eli Zaretskii <eliz@gnu.org>
23631 Avoid crashes on C-g in TTY sessions
23633 * src/keyboard.c (handle_interrupt): Don't quit if
23634 waiting_for_input is set, as doing that is "unsafe": it will
23637 2017-01-30 Vibhav Pant <vibhavp@gmail.com>
23639 * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
23641 Merge remote-tracking branch 'origin/master' into feature/byte-switch
23643 2017-01-30 Vibhav Pant <vibhavp@gmail.com>
23645 Fix hash tables not being purified correctly.
23648 (purecopy_hash_table) New function, makes a copy of the given hash
23649 table in pure storage.
23650 Add new struct `pinned_object' and `pinned_objects' linked list for
23652 (Fpurecopy) Allow purifying hash tables
23653 (purecopy) Pin hash tables that are either weak or not declared with
23654 `:purecopy t`, use purecopy_hash_table otherwise.
23655 (marked_pinned_objects) New function, marks all objects in pinned_objects.
23656 (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
23657 * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
23658 * src/fns.c: Add `purecopy' parameter to hash tables.
23659 (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
23660 to make_hash_table.
23661 (make_hash_table): Add `pure' parameter, set h->pure to it.
23662 (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
23664 * src/lread.c: (read1) Parse for `purecopy' parameter while reading
23666 * src/print.c: (print_object) add the `purecopy' parameter while
23667 printing hash tables.
23668 * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
23669 src/xterm.c: Use new (make_hash_table).
23671 2017-01-29 Dmitry Gutov <dgutov@yandex.ru>
23673 Escape dash in xref rgrep regexp
23675 * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
23676 in REGEXP if it's the first character.
23678 2017-01-29 Dmitry Gutov <dgutov@yandex.ru>
23680 Say JavaScript, not Javascript
23682 * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
23683 (js-js-error, js-eval, js-set-js-context)
23684 (js--get-js-context):
23685 Refer to the language consistently as JavaScript.
23687 2017-01-29 Juanma Barranquero <lekktu@gmail.com>
23689 lisp/*.el: Fix some warnings
23691 * lisp/battery.el (dbus-get-property):
23692 * lisp/dired-aux.el (format-spec): Declare function.
23694 * lisp/net/zeroconf.el (zeroconf-list-service-names)
23695 (zeroconf-list-service-types, zeroconf-list-services):
23696 Mark unused lexical arg.
23698 * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
23699 * lisp/progmodes/sql.el (sql-end-of-statement):
23700 Pass LIMIT to 'looking-back'.
23702 2017-01-29 Noam Postavsky <npostavs@gmail.com>
23704 Don't warn about obsolete defgenerics when defining them
23706 * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
23707 should run after the definition code (Bug#25556).
23709 2017-01-29 Noam Postavsky <npostavs@gmail.com>
23711 Call modification hooks in org-src fontify buffers
23713 * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
23714 `inhibit-modification-hooks' to nil, since this function can be called
23715 from jit-lock-function which binds that variable to t (Bug#25132).
23717 2017-01-29 Tino Calancha <tino.calancha@gmail.com>
23721 * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
23722 Return position at the beginning off the hunk.
23723 (diff-file-junk-re): Add SVN keywords.
23725 2017-01-28 Stephen Berman <stephen.berman@gmx.net>
23727 hl-line.el: Don't try to operate on a killed buffer
23729 * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
23730 live buffers (bug#25522).
23732 2017-01-28 Mark Oteiza <mvoteiza@udel.edu>
23734 Use access-file in EWW to check before downloading a file
23736 * lisp/net/eww.el (eww-download): Check accessibility of
23737 eww-download-directory to prevent starting a download that will fail
23739 * src/fileio.c (Faccess_file): Clarify the use of string argument in
23742 2017-01-28 Yuri D'Elia <wavexx@thregr.org>
23744 Subject: Check Bcc after the Messag hook has run
23746 * lisp/gnus/message.el (message-send): If the hook modifies
23747 the message (mml tags or headers), we should check bcc on the
23748 final message, not on the original.
23750 2017-01-28 Eli Zaretskii <eliz@gnu.org>
23752 Improve documentation of 'format' conversions
23754 * src/editfns.c (Fformat): More accurate description of %g and
23755 effects of the various flags on it. More accurate description of
23756 integer conversions.
23758 * doc/lispref/strings.texi (Formatting Strings): More accurate
23759 description of %g and effects of the various flags on it. More
23760 accurate description of integer conversions. (Bug#25557)
23762 2017-01-28 Juanma Barranquero <lekktu@gmail.com>
23764 test/*.el: Avoid byte-compiler warnings
23766 * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
23768 * test/lisp/faces-tests.el (faces--test): New customization group.
23769 (faces--test1, faces--test2): Use it.
23771 * test/lisp/ffap-tests.el (ffap-tests-25243):
23772 Call 'mark-whole-buffer' interactively.
23774 * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
23775 (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
23776 (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
23777 (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
23779 * test/lisp/minibuffer-tests.el (completion-test1):
23780 Mark unused lexical arguments.
23782 * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
23783 'with-no-warnings' to avoid them when the macro is invoked for effect.
23785 * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
23786 Mark unused lexical arguments.
23788 * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
23789 Mark unused lexical arguments.
23790 (let-alist-cons): Remove unused let binding.
23792 * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
23793 (dbus-get-unique-name): Declare.
23795 * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
23796 Call 'font-lock-fontify-buffer' interactively.
23798 * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
23799 Mark unused lexical argument.
23801 2017-01-27 Eli Zaretskii <eliz@gnu.org>
23803 Restore a test that was removed by a recent commit
23805 * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
23806 errno value unless it's necessary. (Bug#25419)
23808 2017-01-27 Mark Oteiza <mvoteiza@udel.edu>
23810 Fix a couple eww customization types
23812 * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
23813 Change customization type to "directory".
23815 2017-01-27 Philipp Stephani <phst@google.com>
23817 Don't require a shell when loading htmlfontify
23819 * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
23820 detecting the etags version (Bug#25468).
23821 * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
23824 2017-01-27 Paul Eggert <eggert@cs.ucla.edu>
23826 Slightly tune file-accessible-directory-p fix
23828 * src/fileio.c (Ffile_accessible_directory_p):
23829 Remove unnecessary test (Bug#25419).
23831 2017-01-27 Arash Esbati <arash@gnu.org>
23833 Add \citetitle to biblatex cite format
23835 * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
23836 \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
23838 http://lists.gnu.org/archive/html/auctex/2017-01/msg00049.html.
23840 2017-01-27 Lars Ingebrigtsen <larsi@gnus.org>
23842 Fix charsets and encodings from non-file MIME parts
23844 * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
23845 encoding right for parts that do not originate from files.
23847 2017-01-27 Eli Zaretskii <eliz@gnu.org>
23849 Fix 'describe-variable' for longish variable values
23851 * lisp/help-fns.el (describe-variable): Don't accidentally remove
23852 the last character of a variable's value. (Bug#25545)
23854 2017-01-27 Vladimir Panteleev <git@thecybershadow.net> (tiny change)
23856 Remove stale functions from ert manual
23858 * doc/misc/ert.texi (Useful Techniques when Writing Tests):
23859 Replace ert--mismatch references with its cl-lib replacement,
23862 2017-01-27 Eli Zaretskii <eliz@gnu.org>
23864 Fix a typo in Eshell manual
23866 * doc/misc/eshell.texi (History): Fix a typo. Reported by Mak
23867 Kolybabi <mak@kolybabi.com>.
23869 2017-01-27 Eli Zaretskii <eliz@gnu.org>
23871 Ensure last line is at window bottom in shell buffers
23873 * lisp/shell.el (shell-mode): Use setq-local. Set
23874 scroll-conservatively to 101 locally. See the discussion at
23875 http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00736.html
23878 2017-01-27 Michael Hoffman <emacs-hoffman@sneakemail.com> (tiny change)
23880 Support Bash Ctrl-Z indication of directory name in term.el
23882 * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
23883 codes even when 'handled-ansi-message' is non-nil. (Bug#11919)
23885 2017-01-27 Eli Zaretskii <eliz@gnu.org>
23887 Don't report zero errno for inaccessible directory
23889 * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
23890 a file handler reports a failure. (Bug#25419)
23892 2017-01-27 Eli Zaretskii <eliz@gnu.org>
23894 Fix filenotify-tests on MS-Windows
23896 * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
23897 (file-notify-test05-dir-validity)
23898 (file-notify-test06-many-events)
23899 (file-notify-test08-watched-file-in-watched-dir): Manually remove
23900 the watch descriptor before calling file-notify--test-cleanup-p.
23903 2017-01-27 Hong Xu <hong@topbug.net>
23905 python-mode: Fix detection for opening blocks.
23907 * lisp/progmodes/python.el
23908 (python-info-dedenter-opening-block-positions): There can't be any
23909 back-indented lines between an opening block and the current line.
23911 * test/lisp/progmodes/python-tests.el
23912 (python-indent-electric-colon-4): Add an indent test case where
23913 there is one-more indented previous opening block.
23915 2017-01-27 Lars Ingebrigtsen <larsi@gnus.org>
23917 Fix Message check for bogus domain names
23919 * lisp/gnus/message.el (message-make-fqdn): Fix check for
23920 bogus system names (bug#24570).
23922 2017-01-27 Øyvind Stegard <oyvind@stegard.net> (tiny change)
23924 Subject: Restore correct Gnus newsgroup name after sending message
23926 * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
23927 gnus-newsgroup-name in the correct buffer (bug#24329).
23929 2017-01-27 Lars Ingebrigtsen <larsi@gnus.org>
23931 Mention the new Gnus sorting command
23933 2017-01-27 Lars Ingebrigtsen <larsi@gnus.org>
23935 Don't try to find charsets of non-text MIME parts
23937 * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
23938 to try to determine the charset of non-text message parts, so
23939 skip that (bug#24190). This will also remove messages like
23940 "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
23941 if you include such files.
23943 2017-01-27 Lars Ingebrigtsen <larsi@gnus.org>
23945 Add new command gnus-article-sort-by-marks
23947 * doc/misc/gnus.texi (Summary Sorting): Mention
23948 gnus-summary-sort-by-marks.
23950 * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
23951 function (bug#23393).
23952 (gnus-thread-sort-by-marks): Ditto.
23953 (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
23954 (gnus-summary-mode-map): Add keystroke.
23955 (gnus-summary-make-menu-bar): Add to menu.
23957 2017-01-26 Katsumi Yamaoka <yamaoka@jpl.org>
23959 Make `C-h b' work correctly in Gnus article buffer (bug#18257)
23961 * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
23962 Ignore summary commands that aren't bound to
23963 gnus-article-read-summary-keys keys (bug#18257).
23965 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
23967 Fix crossposting in non-primary groups
23969 * lisp/gnus/message.el
23970 (message-cross-post-followup-to-header): Gnus server prefixes
23971 shouldn't be included in the group names (bug#21661).
23972 (message-cross-post-followup-to): Ditto.
23974 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
23976 Gnus doc clarification
23978 * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
23979 that "unreachable" is the same as disabling it (bug#21630).
23981 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
23983 Remove dead code from rfc2047
23985 * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
23987 It's been disabled since 2005, when I made the change with the
23990 (rfc2047-encode-message-header): Disabled header folding -- not
23991 all headers can be folded, and this should be done by the message
23992 composition mode. Probably. I think.
23994 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
23996 Fill too long mail headers
23998 * lisp/gnus/message.el (message--fold-long-headers): New
23999 function to fold too-long headers (bug#21608).
24000 (message-send-mail): Use it to fill headers longer than 998
24001 characters (which is the protocol limit).
24003 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24005 Make nndoc more resilient against corrupted files
24007 * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
24008 out on invalid files, like invalid .gz files (bug#21538).
24009 This may hinder Gnus from starting up.
24011 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24013 Respect buffer-local message-fcc-handler-function
24015 * lisp/gnus/message.el (message-do-fcc): Copy the local
24016 variables from the Message buffer so that local settings of
24017 `message-fcc-handler-function' etc are respected (bug#21174).
24019 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24021 (message-do-fcc): Modernise the code slightly.
24023 * lisp/gnus/message.el (message-do-fcc): Modernise the code slightly.
24025 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24027 Avoid a regexp overflow in message-goto-body
24029 * lisp/gnus/message.el (message-goto-body-1): Avoid using a
24030 complicated backtracking regexp, because they may overflow on
24031 large headers (bug#21160).
24033 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24035 Refactor message-goto-body
24037 * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
24039 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24041 Fix typo in last checkin
24043 * lisp/gnus/nnimap.el (nnimap-shell-program): Document
24044 nnimap-shell-program (bug#20651).
24046 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24048 Document nnimap-shell-program
24050 * lisp/gnus/nnimap.el (nnimap-shell-program): Document
24051 nnimap-shell-program (bug#20651).
24053 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24055 Document :shell-command in `make-network-process'
24057 * doc/lispref/processes.texi (Network): Document :shell-command.
24059 * lisp/net/network-stream.el (open-network-stream): Document
24060 the :shell-command parameter (bug#20651).
24062 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24064 Gnus doc clarification
24066 * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
24067 the gnus-prompt-before-saving variable (bug#20500).
24069 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24071 Fix the previous mml patch better
24073 * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
24074 previous patch in a better way (bug#20480).
24076 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24078 Give a slight better error message in mml-minibuffer-read-file
24080 * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
24081 better error message when the user enters nothing (bug#20480).
24083 2017-01-26 Vibhav Pant <vibhavp@gmail.com>
24085 * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
24087 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24089 Make eww buffers prettier in the buffer listing
24091 * lisp/net/eww.el (eww-render): Put the currently visited URL
24092 into the buffer listing (bug#23738).
24093 (eww-render): Ditto.
24095 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24097 Allow mml-attach-file to prompt less
24099 * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
24100 prompt for type/description/disposition, but use defaults
24103 2017-01-26 Lars Ingebrigtsen <larsi@gnus.org>
24105 Don't allow message-newline-and-reformat to be run outside the body
24107 * lisp/gnus/message.el (message-newline-and-reformat): Error
24108 out if run outside the body of a message (bug#18820).
24110 2017-01-26 Vibhav Pant <vibhavp@gmail.com>
24112 * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
24114 * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
24115 byte-compile-constant instead of byte-compile-form to push nil.
24117 2017-01-26 Vibhav Pant <vibhavp@gmail.com>
24119 * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
24121 2017-01-26 Paul Eggert <eggert@cs.ucla.edu>
24123 Replace QUIT with maybe_quit
24125 There’s no longer need to have QUIT stand for a slug of C statements.
24126 Use the more-obvious function-call syntax instead.
24127 Also, use true and false when setting immediate_quit.
24128 These changes should not affect the generated machine code.
24129 * src/lisp.h (QUIT): Remove. All uses replaced by maybe_quit.
24131 2017-01-26 Paul Eggert <eggert@cs.ucla.edu>
24133 A quicker check for quit
24135 On some microbenchmarks this lets Emacs run 60% faster on my
24136 platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
24137 * src/atimer.c: Include keyboard.h, for pending_signals.
24138 * src/editfns.c (Fcompare_buffer_substrings):
24139 * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
24140 (Fnconc, Fplist_member):
24141 Set and clear immediate_quit before and after loop instead of
24142 executing QUIT each time through the loop. This is OK for loops
24143 that affect only locals.
24144 * src/eval.c (process_quit_flag): Now static.
24145 (maybe_quit): New function, containing QUIT’s old body.
24146 * src/fns.c (rarely_quit): New function.
24147 (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
24148 (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
24149 Use it instead of QUIT, for
24150 speed in tight loops that might modify non-locals.
24151 * src/keyboard.h (pending_signals, process_pending_signals):
24152 These belong to keyboard.c, so move them here ...
24153 * src/lisp.h: ... from here.
24154 (QUIT): Redefine in terms of the new maybe_quit function, which
24155 contains this macro’s old definiens. This works well with branch
24156 prediction on processors with return stack buffers, e.g., x86
24157 other than the original Pentium.
24159 2017-01-26 Paul Eggert <eggert@cs.ucla.edu>
24161 Simplify make-list implementation
24163 * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
24164 is not worth it these days.
24166 2017-01-26 Mark Oteiza <mvoteiza@udel.edu>
24168 Make use of cl-loop destructuring
24170 * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
24172 (with-js): Add declare forms.
24174 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24176 Revert "Bind C-c keys in the article buffer"
24178 This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
24180 The commit somehow lead to problems in other parts of Emacs.
24182 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24184 Document how to quote MML tags
24186 * doc/misc/emacs-mime.texi (MML Definition): Mention how to
24187 quote MML tags (bug#18881).
24189 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24191 Make address parsing more robust
24193 * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
24194 bug out on addresses like
24195 (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
24198 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24200 Fix the %P (line number) thing in Gnus summary buffers
24202 * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
24204 * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
24205 "pick" mode line number on entry instead of relying in a hack (bug#18311).
24207 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24209 Fix wrong documentation on nnmairix keystrokes
24211 * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
24212 nnmairix commands are on G G, not $ (bug#18260).
24214 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24216 Bind C-c keys in the article buffer
24218 * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
24219 C-c keys so that they execute in the summary buffer
24220 (bug#18257). This makes commands like `C-c C-f' work from the
24223 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24225 Don't mark articles in Gnus as displayed when they aren't
24227 * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
24228 mark any articles as selected if we're not selecting any
24229 articles (bug#18255).
24231 2017-01-25 Vibhav Pant <vibhavp@gmail.com>
24233 * lisp/emacs-lisp/disass.el: Display jump tables for switch.
24235 * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
24237 * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
24239 * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
24241 2017-01-25 Vibhav Pant <vibhavp@gmail.com>
24243 * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
24245 * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
24246 constant encountered precedes a byte-switch op, replace all the
24247 addresses in the jump table with tags.
24249 2017-01-25 Mark Oteiza <mvoteiza@udel.edu>
24251 Move cXXXr and cXXXXr to subr.el
24253 * etc/NEWS: Mention new core Elisp.
24254 * doc/lispref/lists.texi (List Elements): Document and index the new
24256 * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
24257 * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
24258 (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
24259 (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
24260 (cddddr): New functions.
24261 * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
24262 (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
24263 (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
24264 (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
24265 (cl-cdddar, cl-cddddr): Alias to new subr functions.
24266 * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
24269 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24271 Only save .newsrc file if the native method is NNTP
24273 * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
24274 the .newsrc file if the native select method is NNTP
24275 (bug#18198). This avoids problems with invalid IMAP group
24276 names and the like in the .newsrc file.
24278 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24280 Only save .newsrc file if the native method is NNTP
24282 * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
24283 the .newsrc file if the native select method is NNTP
24284 (bug#18198). This avoids problems with invalid IMAP group
24285 names and the like in the .newsrc file.
24287 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24289 Gnus custom spec fix
24291 * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
24292 spec to match the doc string (bug#17679).
24294 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24296 Clarify confusing Gnus error message
24298 * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
24299 confusing error message (bug#17677).
24301 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24303 Make C-u C-x m work with Message as documented
24305 * lisp/gnus/message.el (message-mail): Respect the CONTINUE
24306 parameter (bug#17175).
24308 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24310 Fix problem with auto-mode and dir-locals-collect-variables
24312 * lisp/files.el (dir-locals-collect-variables): When run from
24313 auto-mode, the file in question may not be an absolute path
24318 Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
24319 dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
24320 hack-dir-local-variables()
24321 hack-local-variables(no-mode)
24322 run-mode-hooks(diff-mode-hook)
24324 mm-display-inline-fontify((#<buffer *mm*-923037> ("text/x-diff" (
24326 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24328 Attach text files correctly in Message
24330 * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
24331 system has been used in attached text files, and don't try to
24332 do any encoding of these files (bug#13808).
24334 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24336 Build fix for older gnutls versions
24338 * src/gnutls.c (emacs_gnutls_handle_error):
24339 GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
24342 2017-01-25 Tino Calancha <tino.calancha@gmail.com>
24344 ediff-difference-vector-alist: Drop duplicated definition
24346 * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
24347 Drop duplicated definition.
24348 (ediff-difference-vector-A, ediff-difference-vector-B)
24349 (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
24350 Move definition before 'ediff-difference-vector-alist'.
24352 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24354 Revert "nnimap.el: support additional expunge options"
24356 This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
24358 The patch broke fetching new mail:
24360 Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
24361 format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
24362 (looking-at (format "%d .*\n" sequence))
24363 (not (looking-at (format "%d .*\n" sequence)))
24364 (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
24366 2017-01-25 Nikolaus Rath <Nikolaus@rath.org>
24368 nnimap.el: support additional expunge options
24370 * lisp/gnus/nnimap.el (nnimap-close-group)
24371 (nnimap-request-expire-articles, nnimap-delete-article)
24372 (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
24373 settings for nnimap-expunge (bug#20670).
24375 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24377 Don't tag Gnus bugs with "gnus"
24379 * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
24381 * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
24382 have its own package any more in the bug tracker.
24384 2017-01-25 Lars Ingebrigtsen <larsi@gnus.org>
24386 Tweak TLS error messaging on closed connections
24388 * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
24389 peer-closed-connection "The TLS connection was non-properly
24390 terminated" message to a lower level so that it isn't shown to
24391 the user by default.
24393 2017-01-24 Lars Ingebrigtsen <larsi@gnus.org>
24395 Avoid having eww unexpectedly open external browsers
24397 * lisp/net/eww.el (eww-render): Instead of opening unsupported
24398 content types like audio/mpeg directly in an external browser
24399 (which can be very confusing especially when something
24400 redirects to a file like that), just display a simple
24401 interstitial that people can choose to click on or not
24404 2017-01-24 Lars Ingebrigtsen <larsi@gnus.org>
24406 When opening new eww buffers, use buffer names based on the host name
24408 * lisp/net/eww.el (eww-browse-url): When opening in a new
24409 window, use a buffer name based on the host name (bug#23738).
24410 (eww--dwim-expand-url): Refactored out into its own function
24413 2017-01-24 David Engster <deng@randomsample.de>
24415 xml: Fix parsing of default namespace with quoted names
24417 * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
24418 parsing is done with quoted symbol names (bug#23440).
24419 * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
24420 (xml-parse-test-default-namespace-qnames): Test for the above.
24422 2017-01-24 Lars Ingebrigtsen <larsi@gnus.org>
24424 Fix rendering of some complex SVG images
24426 * lisp/net/shr.el (shr-parse-image-data): Don't transform
24427 SVG->DOM->XML unless we're blocking images, as this is apt to
24428 destroy the SVG (bug#24111).
24430 2017-01-24 Lars Ingebrigtsen <larsi@gnus.org>
24432 Clarify the last clarification
24434 * lisp/net/shr.el (shr-width): Clarify the interaction with
24435 `shr-use-fonts' (bug#24928).
24437 2017-01-24 Lars Ingebrigtsen <larsi@gnus.org>
24439 shr-width doc clarification
24441 * lisp/net/shr.el (shr-width): Clarify the interaction with
24442 `shr-use-fonts' (bug#24928).
24444 2017-01-24 Lars Ingebrigtsen <larsi@gnus.org>
24446 Allow passing in max-width/height
24448 * lisp/net/shr.el (shr-rescale-image): Allow passing in
24449 max-width/height (bug#25287).
24451 2017-01-24 Stefan Monnier <monnier@iro.umontreal.ca>
24453 * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
24455 Require `cl' for `pushnew'.
24456 (vhdl-scan-project-contents, vhdl-compose-wire-components)
24457 (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
24459 2017-01-24 Noam Postavsky <npostavs@gmail.com>
24461 Fix comment detection on open parens
24463 Characters having both open paren syntax and comment start syntax were
24464 being detected as open parens even when they should have been part a
24465 comment starter (Bug#24870).
24467 * src/syntax.c (in_2char_comment_start): New function, extracted from
24468 `scan_sexps_forward'.
24469 (scan_sexps_forward): Add check for a 2-char comment starter before the
24470 loop. Inside the loop, do that check after incrementing the 'from'
24471 character index. Move the single char comment syntax cases into the
24472 switch instead of special casing them before.
24473 * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
24474 (parse-partial-sexp-continue-over-comment-marker): New tests.
24476 2017-01-23 Alan Mackenzie <acm@muc.de>
24478 Give , and .@ doc strings. Fixes bug #24561.
24480 Also make *Help* links to ``' possible. Also make usable as such doc strings
24481 on the function-documentation property of a symbol.
24483 * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
24484 function-documentation property. Also give these symbols a reader-construct
24487 * lisp/help-fns.el (describe-function): Allow the function-documentation
24488 property to work. Use princ rather than prin1 to print the function's name
24489 when it has a reader-construct property.
24490 (help-fns-signature): Don't insert `high-usage' for a reader-construct.
24491 (describe-function-1): Adapt to process documentation on the
24492 function-documentation property. Print "a reader construct" when appropriate.
24494 * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
24497 2017-01-22 Paul Eggert <eggert@cs.ucla.edu>
24499 Improve uses of CHECK_LIST etc.
24501 * src/eval.c (FletX): Report an error for invalid constructs like
24502 ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
24503 (lambda_arity): Use plain CHECK_CONS.
24504 * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
24505 (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
24506 concat does that for us.
24507 (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
24508 Use CHECK_LIST_END, not CHECK_LIST_CONS. This hoists a
24509 runtime check out of the loop.
24510 (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
24511 (Fassq, Fassoc, Frassq, Frassoc):
24512 Simplify and use CHECK_LIST_END instead of CAR.
24513 (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
24514 (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
24515 * src/fontset.c (Fnew_fontset):
24516 * src/frame.c (Fmodify_frame_parameters):
24517 Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
24518 more-complete check.
24519 * src/gfilenotify.c (Fgfile_add_watch):
24520 Omit unnecessary CHECK_LIST, since Fmember does that for us.
24521 * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
24522 Remove; no longer used.
24523 (CHECK_LIST_END): New inline function.
24525 2017-01-22 Tino Calancha <tino.calancha@gmail.com>
24527 Prevent to use tabulated-list--near-rows unbound
24529 * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
24530 Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
24532 2017-01-22 Juri Linkov <juri@linkov.net>
24534 * lisp/simple.el (region-bounds): New function.
24536 (region-noncontiguous-p): Use it.
24537 http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00044.html
24539 2017-01-21 Alan Mackenzie <acm@muc.de>
24541 Fix low-level handling of (big) C macros.
24543 In particular, ensure that a comment detected by its syntax is not a CPP
24544 construct marked with generic comment delimiter syntax-table text
24547 * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
24548 c-macro-cache-syntactic to nil when the cached macro changes.
24549 (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
24550 (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
24551 (c-state-pp-to-literal, c-parse-ps-state-to-cache)
24552 (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
24553 (c-determine-limit): When checking a parse syntax for a comment, check that
24554 we're not in a CPP construct marked by syntax-table generic comment delimiter
24556 (c-state-pp-to-literal): Change from a defsubst to a defun.
24558 * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
24559 parse syntax as described above under cc-engine.el.
24561 2017-01-21 Vibhav Pant <vibhavp@gmail.com>
24563 * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
24565 2017-01-21 Noam Postavsky <npostavs@gmail.com>
24567 Don't wait for frame to become visible
24569 * src/xterm.c (x_make_frame_visible): Remove code that waits for the
24570 frame to become visible. We have to deal with invisible frames anyway,
24571 the loop could sometimes before the frame turned visible, and for some
24572 window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
24573 busy loop (Bug#24091).
24575 2017-01-21 Tino Calancha <tino.calancha@gmail.com>
24577 diff-hunk-kill independent of point inside headers
24579 Make diff-apply-hunk and diff-hunk-kill independent of the point
24580 position in a diff header (Bug#17544).
24581 This change allows to apply hunks in order. It also makes possible to
24582 press M-k repeatedly to kill hunks in the order they appear in the buffer.
24583 See discussion on #Bug25105.
24584 * lisp/vc/diff-mode.el (diff-file-junk-re):
24585 Move definition before it's used.
24586 (diff--at-diff-header-p): New predicate; return non-nil when point
24587 is inside a hunk header, a file header, or within a line
24588 matching diff-file-junk-re.
24589 (diff-beginning-of-hunk): Use it.
24590 Check if the point is inside a diff header, in the middle of a hunk,
24591 or before the first hunk.
24592 (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
24593 before apply the hunk.
24594 (diff-hunk-kill, diff-file-kill):
24595 Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
24596 (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
24598 2017-01-20 Eli Zaretskii <eliz@gnu.org>
24600 Improve documentation of hooks related to saving buffers
24602 * lisp/files.el (write-file-functions, write-contents-functions)
24603 (before-save-hook, after-save-hook): Note that these are only used
24606 * doc/lispref/backups.texi (Auto-Saving):
24607 * doc/lispref/files.texi (Saving Buffers): Mention that
24608 save-related hooks are not run by auto-saving. (Bug#25460)
24610 2017-01-20 Eli Zaretskii <eliz@gnu.org>
24612 Improve documentation of auto-save-visited-file-name
24614 * doc/emacs/files.texi (Auto Save Files): Mention subtle
24615 differences between saving the buffer and auto-saving with
24616 auto-save-visited-file-name set non-nil. (Bug#25478)
24618 2017-01-20 Noam Postavsky <npostavs@gmail.com>
24620 Fix free var FOO-mode-{syntax,abbrev}-table warnings
24622 * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
24623 defvar the syntax and abbrev tables so that the compiler will know that
24624 they are dynamically bound variables (Bug#25446).
24626 2017-01-19 Vibhav Pant <vibhavp@gmail.com>
24628 * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
24630 * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
24631 eval obj2 to avoid quoted forms being stored as is.
24633 2017-01-19 Vibhav Pant <vibhavp@gmail.com>
24635 lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
24637 2017-01-19 Vibhav Pant <vibhavp@gmail.com>
24639 * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
24641 * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
24642 default-case for last cond clause.
24644 2017-01-19 Philipp Stephani <phst@google.com>
24646 Check that variable lists are actually lists
24648 'let' and 'let*' document that their first argument has to be a list,
24649 but don't check for that; instead, they allow (and silently ignore)
24650 other types. Introduce an explicit type check.
24652 * src/eval.c (Flet, FletX): Check that the variable list is indeed a
24654 * test/src/eval-tests.el: Add unit tests.
24656 2017-01-19 Vibhav Pant <vibhavp@gmail.com>
24658 Add type checking for Bswitch, when enabled at compile time.
24660 * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
24661 compile time, use CHECK_TYPE to verify that the jump table is a hash table.
24663 2017-01-19 Vibhav Pant <vibhavp@gmail.com>
24665 Use byte-switch for all symbols.
24667 * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
24668 t for all symbols (instead for just keywords)
24670 2017-01-19 Noam Postavsky <npostavs@gmail.com>
24672 Avoid inefficient regex in diff-refine-hunk (Bug#25410)
24674 * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
24675 (diff-refine-hunk): Use it instead of trying to match multiple lines
24676 with a single lines.
24678 2017-01-18 Eli Zaretskii <eliz@gnu.org>
24680 Remove lock file when auto-saving into the visited file
24682 * src/fileio.c (write_region): When auto-saving into the visited
24683 file, unlock the file whenever we mark the buffer unmodified.
24686 2017-01-18 Vibhav Pant <vibhavp@gmail.com>
24688 * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
24690 Fgethash type checks the provided table object, which is unnecessary
24691 for compiled bytecode.
24693 2017-01-18 Tom Tromey <tom@tromey.com>
24695 fix typo in mailcap-mime-extensions
24697 * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
24698 not "test/x-patch". (Bug#25472)
24700 2017-01-18 Lele Gaifax <lele@metapensiero.it> (tiny change)
24702 Fix typos in flymake.el
24704 * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
24705 Spelling fixes in the doc string.
24707 2017-01-18 Eli Zaretskii <eliz@gnu.org>
24709 Fix a bug with signaling a thread that waits for condvar
24711 * src/thread.c (lisp_mutex_lock_for_thread): New function,
24712 with all the guts of lisp_mutex_lock.
24713 (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
24714 (condition_wait_callback): Don't call post_acquire_global_lock
24715 before locking the mutex, as that could cause a signaled thread to
24716 exit prematurely, because the condvar's mutex is recorded to be
24717 not owned by any thread, and with-mutex wants to unlock it as part
24718 of unwinding the stack in response to the signal.
24720 2017-01-18 Eli Zaretskii <eliz@gnu.org>
24722 Rudimentary error handling for non-main threads
24724 * src/thread.c (last_thread_error): New static variable.
24725 (syms_of_threads): Staticpro it.
24726 (record_thread_error, Fthread_last_error): New functions.
24727 (syms_of_threads): Defsubr Fthread_last_error.
24729 * doc/lispref/threads.texi (Basic Thread Functions): Document
24732 * test/src/thread-tests.el (thread-errors, thread-signal-early)
24733 (threads-condvar-wait): Test the values returned by
24736 2017-01-17 Tom Tromey <tom@tromey.com>
24738 Add info-lookup help for gdb-script-mode
24741 * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
24743 Add help for gdb-script-mode.
24745 2017-01-17 Tom Tromey <tom@tromey.com>
24747 Treat ":root" as a css-selector
24749 * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
24750 ":root" as selector.
24752 2017-01-17 Tom Tromey <tom@tromey.com>
24754 Fix JS regexp literal syntax propertization in expressions
24757 * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
24758 literal after "!", "&", and "|".
24759 test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
24761 2017-01-17 Glenn Morris <rgm@gnu.org>
24763 More NEWS checking for admin.el's set-version
24765 * admin/admin.el (set-version): Warn if temporary NEWS markup
24766 still present in release candidates.
24768 2017-01-17 Mark Oteiza <mvoteiza@udel.edu>
24770 Mark unused arguments and remove unused variables
24772 * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
24773 (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
24774 (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
24775 (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
24776 (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
24777 (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
24778 (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
24779 (dungeon-nil): Mark arguments as unused.
24780 (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
24781 (dun-restore): Remove unused variable.
24783 2017-01-17 Michael Albinus <michael.albinus@gmx.de>
24785 Fix auto-save-file-name problem in Tramp on MS Windows
24787 * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
24788 rather than an ange-ftp regexp.
24790 * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
24791 Fix a problem when running on MS Windows.
24793 * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
24796 2017-01-17 Michael Albinus <michael.albinus@gmx.de>
24798 Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
24800 * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
24801 Fix a problem when running on MS Windows.
24803 2017-01-17 Paul Eggert <eggert@cs.ucla.edu>
24805 Merge from origin/emacs-25
24807 42614fa Update remaining copyright years with admin.el M-x set-copyright
24808 f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
24810 2017-01-17 Mark Oteiza <mvoteiza@udel.edu>
24812 Nix some uses of eval
24814 * lisp/play/dunnet.el: Fix triple negative.
24815 (dun-doverb): Use funcall instead of eval.
24816 (dun-echo): Just call dun-mprinc.
24817 (dun-save-val): Just bind value without eval.
24819 2017-01-17 Tom Tromey <tom@tromey.com>
24821 Fix comment in css-mode.el
24823 * lisp/textmodes/css-mode.el: Remove obsolete comment.
24825 2017-01-16 Vibhav Pant <vibhavp@gmail.com>
24829 2017-01-16 Ian Dunn <dunni@gnu.org> (tiny change)
24831 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
24833 2017-01-15 Noam Postavsky <npostavs@gmail.com>
24835 Improve ffap-gopher-at-point handling of long lines
24837 * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part. Note
24838 setting to nil is now supported.
24839 (ffap--gopher-var-on-line): New function.
24840 (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
24841 which could overflow the regexp stack on long lines (Bug#25391). Use
24842 `let-alist' instead of calling `set' on local variables.
24843 * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
24845 2017-01-15 Vibhav Pant <vibhavp@gmail.com>
24847 * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
24849 * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
24850 finding the tag in a jump table.
24852 2017-01-15 Vibhav Pant <vibhavp@gmail.com>
24854 * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
24856 2017-01-14 Vibhav Pant <vibhavp@gmail.com>
24858 Add new 'switch' byte-code.
24860 'switch' takes two arguments from the stack: the variable to test, and
24861 a jump table (implemented as a hash-table with the appropriate :test
24862 function). By looking up the value of the variable in the hash table,
24863 the interpreter can jump to the label pointed to by the value, if any.
24864 This implementation can only be used for `cond' forms of the type
24865 `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
24866 variable `x` is same for all clauses.
24868 * lisp/emacs-lisp/bytecomp.el:
24870 * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
24871 (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
24872 (byte-compile-cond-jump-table), byte-compile-jump-tables.
24874 * Add defcustom `byte-compile-cond-use-jump-table'.
24876 * (byte-compile-cond): Use them.
24878 * (byte-compile-lapcode): Patch tags present in jump tables, if any.
24880 * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
24881 some peephole optimizations to prevent them from messing up any code
24882 involving `byte-switch`.
24884 * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
24886 2017-01-14 Alan Third <alan@idiocy.org>
24888 Fix NS main thread check (bug#25265)
24890 * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
24893 2017-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
24895 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
24897 `:sqli-comint-func' does not have to be a symbol.
24899 2017-01-14 Alan Mackenzie <acm@muc.de>
24901 Correct c-parse-state-get-strategy for moving HERE backward into a macro.
24903 * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
24904 its previous value, we chose strategy 'forward, and the new HERE is in a
24905 (different) macro, ensure the returned START-POINT is not above the start of
24908 2017-01-14 Eli Zaretskii <eliz@gnu.org>
24910 Include "Date:" in mail messages filed by 'sendmail-send-it'
24912 * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
24913 into the filed message. In the outgoing message, sendmail will
24914 add the date, but the composed message body doesn't have it.
24917 2017-01-14 Eli Zaretskii <eliz@gnu.org>
24919 * lisp/progmodes/sql.el (sql-product-alist): Doc fix. (Bug#25440)
24921 2017-01-14 Dmitry Gutov <dgutov@yandex.ru>
24923 Remove leftover references to log-view-message-face
24925 * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
24927 * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
24929 * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
24931 2017-01-13 Phillip Lord <phillip.lord@russet.org.uk>
24933 Record autoloads till emacs dump
24935 * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
24936 * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
24938 Previously, autoloads were collected till loaddefs.el was generated as
24939 part of the build. However, bootstrap-emacs does not load
24940 loaddefs (rather it is dumped), hence we must record autoloads until the
24941 full emacs binary is dumped.
24943 2017-01-13 Tom Tromey <tom@tromey.com>
24945 Add chained indentation to js-mode
24948 * lisp/progmodes/js.el (js-chain-indent): New variable.
24949 (js--skip-term-backward, js--skip-terms-backward)
24950 (js--chained-expression-p): New functions.
24951 (js--proper-indentation): Call js--chained-expression-p.
24952 * test/manual/indent/js-chain.js: New file.
24953 * test/manual/indent/js.js: Add (non-)chained indentation test.
24955 2017-01-13 Tom Tromey <tom@tromey.com>
24957 Fix js-mode indentation bug
24960 * lisp/progmodes/js.el (js--find-newline-backward): New function.
24961 (js--continued-expression-p): Use it.
24962 * test/manual/indent/js.js: Add new test.
24964 2017-01-13 Tom Tromey <tom@tromey.com>
24966 Fix definition of EMACS in test/manual/indent/Makefile
24968 * test/manual/indent/Makefile (EMACS): Add one more "..".
24970 2017-01-13 Tom Tromey <tom@tromey.com>
24972 Add .jsx to auto-mode-alist
24975 * lisp/files.el (auto-mode-alist): Add entry for .jsx.
24977 2017-01-13 Tom Tromey <tom@tromey.com>
24979 Fix two js-mode filling bugs
24981 Bug#19399 and Bug#22431:
24982 * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
24983 c-block-comment-start-regexp.
24984 * test/lisp/progmodes/js-tests.el: New file.
24986 2017-01-13 Eli Zaretskii <eliz@gnu.org>
24990 * test/src/thread-tests.el (threads-condvar-wait): Revert
24991 previous change. Make sure no other threads from previous
24992 tests are running, to avoid interfering with our thread counts.
24994 2017-01-13 Eli Zaretskii <eliz@gnu.org>
24996 Fix the new condvar test
24998 * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
24999 time we sleep in the main thread to let the other thread
25000 process notifications.
25002 2017-01-13 Eli Zaretskii <eliz@gnu.org>
25004 Minor improvements in the new condvar test
25006 * test/src/thread-tests.el (threads-test-condvar-wait): Use
25007 with-mutex instead of emulating it inline.
25008 (threads-condvar-wait): Improve comments. Check that the new
25009 thread is alive before waiting for it to become blocked on the
25010 conditional variable.
25012 2017-01-13 Eli Zaretskii <eliz@gnu.org>
25014 Fix a bug in waiting for condition variable
25016 * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
25017 (lisp_mutex_unlock_for_wait, condition_wait_callback)
25018 (condition_notify_callback): Improve commentary.
25019 (condition_wait_callback): Call post_acquire_global_lock before
25020 attempting to lock the mutex, to make sure the lock's owner is
25021 recorded correctly.
25023 * test/src/thread-tests.el (threads-condvar-wait): New test.
25025 2017-01-13 Eli Zaretskii <eliz@gnu.org>
25027 Improve documentation of dabbrevs
25029 * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
25030 to "Dabbrev Customization".
25031 (Dabbrev Customization): More details about the default value of
25032 dabbrev-abbrev-char-regexp and use cases when it might not be good
25033 enough. (Bug#25432)
25035 2017-01-13 Katsumi Yamaoka <yamaoka@jpl.org>
25037 Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
25039 2017-01-13 Katsumi Yamaoka <yamaoka@jpl.org>
25041 mm-uu.el: Don't dissect patch part
25043 This fixes a bug that the patch part is broken in the article
25044 <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
25046 * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
25047 Don't dissect patch part.
25049 2017-01-13 Dmitry Lazurkin <dilaz03@gmail.com>
25051 Fix extracting async def type and name in python mode imenu
25053 * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
25055 (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
25056 extract async or simple def type and name at current
25057 position (Bug#24820).
25058 * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
25059 (python-imenu-create-flat-index-1): Add async def's.
25061 2017-01-13 Katsumi Yamaoka <yamaoka@jpl.org>
25063 Remove garbage from Content-Transfer-Encoding value (bug#25420)
25065 * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
25066 (ietf-drums-remove-garbage): New function.
25067 (ietf-drums-remove-whitespace): Remove CR as well.
25069 * lisp/mail/mail-parse.el (mail-header-strip-cte):
25070 Alias to ietf-drums-strip-cte.
25072 * lisp/gnus/gnus-art.el (article-decode-charset):
25073 * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
25074 * lisp/gnus/mm-decode.el (mm-dissect-buffer):
25075 * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
25076 (nndoc-rfc822-forward-generate-article):
25077 * lisp/mh-e/mh-mime.el (mh-decode-message-body):
25078 Replace mail-header-strip with mail-header-strip-cte.
25080 2017-01-13 Paul Eggert <eggert@cs.ucla.edu>
25082 Restore behavior of ‘./autogen.sh autoconf git’
25084 * autogen.sh: Do both autoconf and git setup when invoked
25085 as ‘./autogen.sh autoconf git’. Avoid unnecessary newline in chatter.
25086 Mention new --no-check option in usage message. (Bug#25359)
25088 2017-01-12 Glenn Morris <rgm@gnu.org>
25090 * autogen.sh: Simplify argument parsing.
25092 2017-01-12 Noam Postavsky <npostavs@gmail.com>
25094 Clarify that easy-menu-add is a nop (Bug#25382)
25096 * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
25097 `ignore', like `easy-menu-remove'.
25099 2017-01-12 Glenn Morris <rgm@gnu.org>
25101 * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
25103 2017-01-11 Glenn Morris <rgm@gnu.org>
25105 * autogen.sh: Add --no-check option. (Bug#25359)
25107 2017-01-11 Glenn Morris <rgm@gnu.org>
25109 Convert some network test failures to skipping
25111 These tests intermittently fail on hydra.nixos.org for unclear
25112 reasons related to starting the external process.
25113 This isn't an Emacs issue, and the failures cause noise on
25114 the emacs-buildstatus list. (Bug#24503)
25115 * test/lisp/net/network-stream-tests.el (echo-server-nowait)
25116 (connect-to-tls-ipv4-nowait): Skip rather than fail if the
25117 external process fails to start properly.
25119 2017-01-11 Eli Zaretskii <eliz@gnu.org>
25121 Revert "Add DNS keywords and remove duplications"
25123 This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
25125 2017-01-11 Alexander Kuleshov <kuleshovmail@gmail.com>
25127 Add DNS keywords and remove duplications
25129 * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
25130 NSEC" DNS related keywords and remove duplication of "NSAP".
25132 2017-01-11 Alexander Kuleshov <kuleshovmail@gmail.com>
25134 Add DNS keywords and remove duplications
25136 * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
25137 NSEC" DNS related keywords and remove duplication of "NSAP".
25139 2017-01-11 Alan Mackenzie <acm@muc.de>
25141 Handle syntactic WS cache properties more accurately at buffer changes.
25143 This fixes bug #25362.
25145 * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
25146 (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
25147 (c-invalidate-sws-region-after-ins): New variables and functions.
25148 (c-invalidate-sws-region-after): Change from a defsubst to a defun.
25150 it the standard OLD-LEN argument. Call both
25151 c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
25155 * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
25158 * lisp/progmodes/cc-mode.el (c-before-change): Call
25159 c-invalidate-sws-region-before.
25160 (c-after-change): Pass old-len to c-invalidate-sws-region-after.
25162 2017-01-11 Michael Albinus <michael.albinus@gmx.de>
25164 Support stat 8.26 in Tramp
25166 * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
25167 environment variable of newer coreutils. (Bug#23422)
25169 2017-01-10 Eli Zaretskii <eliz@gnu.org>
25171 Improve documentation of coding-systems
25173 * doc/lispref/nonascii.texi (Coding System Basics): Mention
25174 'prefer-utf-8'. Index it and 'undecided'.
25175 (Encoding and I/O): Fix a typo.
25176 (User-Chosen Coding Systems): Improve the documentation of
25177 ACCEPT-DEFAULT-P argument to select-safe-coding-system. Document
25178 select-safe-coding-system-function.
25179 (Specifying Coding Systems): Document coding-system-require-warning.
25181 2017-01-10 Paul Eggert <eggert@cs.ucla.edu>
25186 2017-01-09 maint: time stamp -> timestamp
25187 2017-01-07 stdioext: Port to Minix 3.2 and newer
25188 2017-01-06 glob, intprops, xalloc: work around Clang bug
25189 2017-01-02 revert copyright-year change to synced files
25190 * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
25191 * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
25192 * lib/utimens.c, lib/xalloc-oversized.h:
25195 2017-01-10 Eli Zaretskii <eliz@gnu.org>
25197 Don't use unsafe encoding for the bookmark file
25199 * lisp/bookmark.el (bookmark-write-file): Handle the case when the
25200 explicitly specified encoding of the bookmark file cannot encode the
25201 additional bookmarks just added. (Bug#25365)
25203 2017-01-09 Eli Zaretskii <eliz@gnu.org>
25205 Improve definition of 'variable-pitch' face on MS-Windows
25207 * lisp/faces.el (variable-pitch): Don't specify too many
25208 attributes of the font, otherwise faces that request different
25209 weight or slant or size will not get them.
25211 2017-01-09 Eli Zaretskii <eliz@gnu.org>
25213 Fix an error message in python.el
25215 * lisp/progmodes/python.el (python-shell-get-process-or-error):
25216 Don't repeat the same key binding twice. (Bug#25405)
25218 2017-01-09 Phillip Lord <phillip.lord@russet.org.uk>
25220 Remove unused ldefs-boot.el
25222 * lisp/ldefs-boot.el: Remove
25224 This file was not removed as reported in c27b645956a11, but accidentally
25227 2017-01-09 Noam Postavsky <npostavs@gmail.com>
25228 Eli Zaretskii <eliz@gnu.org>
25230 Use expanded stack during regex matches
25232 While the stack is increased in main(), to allow the regex stack
25233 allocation to use alloca we also need to modify regex.c to actually take
25234 advantage of the increased stack, and not limit stack allocations to
25237 * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
25238 allocations in signal handlers which no longer happens and correct
25239 description about when and why MATCH_MAY_ALLOCATE should be defined.
25240 (emacs_re_safe_alloca): New variable.
25241 (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
25243 (emacs_re_max_failures): Rename from `re_max_failures' to avoid
25244 confusion with glibc's `re_max_failures'.
25245 * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
25246 to the stack. Instead of changing emacs_re_max_failures based on the
25247 new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
25248 remains constant regardless, since if we run out stack space SAFE_ALLOCA
25249 will fall back to heap allocation.
25251 2017-01-09 Noam Postavsky <npostavs@gmail.com>
25253 Fix computation of regex stack limit
25255 The regex stack limit was being computed as the number of stack entries,
25256 whereas it was being compared with the current size as measured in
25257 bytes. This could cause indefinite looping when nearing the stack limit
25258 if re_max_failures happened not to be a multiple of sizeof
25259 fail_stack_elt_t (Bug #24751).
25261 * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
25262 limit as numbers of stack entries.
25264 2017-01-08 Alan Third <alan@idiocy.org>
25268 * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
25269 allow app loop to run in main thread.
25271 2017-01-08 Glenn Morris <rgm@gnu.org>
25273 Remove unused configure output variable
25275 * configure.ac (GNULIB_MK):
25276 * Makefile.in (gnulib_mk): Remove, no longer used.
25278 2017-01-08 Glenn Morris <rgm@gnu.org>
25280 Fix automake dependencies
25282 * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk. (Bug#25372)
25283 All platforms need this file to exist.
25285 2017-01-08 Paul Eggert <eggert@cs.ucla.edu>
25287 Remove unnecessary blankp code
25289 * src/character.c (blankp): Remove redundant code that slows Emacs
25290 down a bit. The caller already does the test.
25292 2017-01-08 Stefan Merten <stefan@merten-home.de>
25294 * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
25296 * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
25297 (rst-svn-timestamp)
25298 (rst-official-version, rst-official-cvs-rev)
25299 (rst-package-emacs-version-alist): Maintain version numbers.
25300 (rst-forward-indented-block): Fix. Start searching at next
25301 line again. Fixes fontification of comments continuing on the
25302 same line they started.
25304 2017-01-08 Paul Eggert <eggert@cs.ucla.edu>
25306 Remove @SET_MAKE@ from manually-maintained files
25308 Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
25309 * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
25310 * src/Makefile.in: Remove @SET_MAKE@.
25312 2017-01-07 Michael Albinus <michael.albinus@gmx.de>
25314 Fix a problem with `start-file-process' in Tramp
25316 * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
25317 `start-file-process' shall work when `non-essential' is
25318 non-nil, but there is already an established connection.
25319 <https://github.com/company-mode/company-mode/issues/462>
25321 2017-01-07 Rolf Ade <rolf@pointsman.de> (tiny change)
25323 Fix selecting SQLite database files with sql-mode (Bug#23566)
25325 * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
25326 SQLite database file name, by default.
25327 (sql-get-login-ext): Fixed read-file-name arguments to provide
25328 path completion even if a database name pattern is customized and to
25329 allow creation of new SQLite database files.
25331 2017-01-07 Noam Postavsky <npostavs@gmail.com>
25333 Clarify major mode switching
25335 * doc/emacs/modes.texi (Major Modes):
25336 * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
25337 buffer has exactly one major mode and can't be "turned off", only
25338 switched away from (Bug#25357).
25340 2017-01-07 Noam Postavsky <npostavs@gmail.com>
25342 Add helpful comment to compile-command's docstring
25344 * lisp/progmodes/compile.el (compile-command): Mention trailing space in
25345 docstring (Bug#25337).
25347 2017-01-07 Eli Zaretskii <eliz@gnu.org>
25349 Specify encoding of the bookmark file
25351 * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
25352 Accept an argument CODING and include a 'coding:' cookie in the
25353 bookmark file preamble.
25354 (bookmark-upgrade-file-format-from-0): Call
25355 'bookmark-insert-file-format-version-stamp' with the file buffer's
25356 encoding, as detected when it was read.
25357 (bookmark-file-coding-system): New variable.
25358 (bookmark-load): Set bookmark-file-coding-system to the encoding
25359 of the loaded file.
25360 (bookmark-write-file): Bind coding-system-for-write to either the
25361 user setting via "C-x RET c" or to the existing file encoding,
25362 defaulting to 'utf-8-emacs'. Update the value of
25363 bookmark-file-coding-system. (Bug#25365)
25365 2017-01-07 Eli Zaretskii <eliz@gnu.org>
25367 Avoid infloop in 'ispell-region'
25369 * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
25370 Protect against 'ispell-skip-region-alist' being nil. Reported by
25371 Ernest Adrogué <nfdisco@gmail.com>, see
25372 http://lists.gnu.org/archive/html/help-gnu-emacs/2017-01/msg00007.html.
25374 2017-01-06 Philipp Stephani <phst@google.com>
25376 Add support for Unicode whitespace in [:blank:]
25380 * src/character.c (blankp): New function for checking Unicode
25381 horizontal whitespace.
25382 * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
25384 (BIT_BLANK): New bit for range table.
25385 (re_wctype_to_bit, execute_charset): Use it.
25386 * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
25387 unit test for [:blank:] character class.
25388 * test/src/regex-tests.el (test): Adapt unit test.
25389 * doc/lispref/searching.texi (Char Classes): Document new Unicode
25390 behavior for [:blank:].
25392 2017-01-06 Eli Zaretskii <eliz@gnu.org>
25394 Fix ':version' of 'select-enable-primary'
25396 * lisp/select.el (select-enable-primary): Fix a typo in
25397 ':version'. (Bug#25375)
25399 2017-01-06 Stefan Monnier <monnier@iro.umontreal.ca>
25401 (feedmail-deduce-address-list): Avoid add-to-list on local variables.
25405 * lisp/mail/feedmail.el (feedmail-deduce-address-list):
25406 Avoid add-to-list on local variables.
25408 2017-01-06 Noam Postavsky <npostavs@gmail.com>
25410 Fix isearch handling of C-u C-u...
25412 * lisp/isearch.el: Add `isearch-scroll' property to
25413 universal-argument-more so that `isearch-allow-scroll' will apply to it
25415 (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
25416 `universal-argument-more' as well (Bug#25302).
25418 2017-01-05 Paul Eggert <eggert@cs.ucla.edu>
25420 Shorten autogen.sh script
25422 * autogen.sh: Use a shorter script, as some 'sed' implementations
25423 mishandle long scripts.
25425 2017-01-05 Eli Zaretskii <eliz@gnu.org>
25427 Yet another fix for autogen.sh
25429 * autogen.sh (gnulib.mk): Make the Sed script more portable.
25431 * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
25432 the changes in autogen.sh.
25434 2017-01-05 Eli Zaretskii <eliz@gnu.org>
25436 * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
25438 2017-01-05 Eli Zaretskii <eliz@gnu.org>
25440 Fix dependencies of nt/gnulib.mk
25442 * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
25443 of nt/gnulib.mk on lib/Makefile.in.
25445 2017-01-05 Eli Zaretskii <eliz@gnu.org>
25447 Unbreak macOS build
25449 * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
25452 2017-01-05 Johan Claesson <johanclaesson@bredband.net> (tiny change)
25454 Fix term.el handling of ^Z-sequences spanning chunks
25456 Bash will after each command send ?\032 and the current directory "/tmp"
25457 to inform term.el. Bash output is buffered in 4096 bytes chunks. If a
25458 command outputs roughly 4096 bytes then the end of the first chunk will
25459 be "/tm" (Bug#13350).
25461 * lisp/term.el (term-emulate-terminal): Change the regexp to find the
25462 end of the ?\032 sequence to use \n instead of $, the latter can match
25463 end of string as well.
25465 2017-01-05 Mark Oteiza <mvoteiza@udel.edu>
25467 Turn on lexical-binding in mb-depth.el
25469 * lisp/mb-depth.el: Turn on lexical-binding.
25470 (minibuffer-depth-setup): Bind things used multiple times.
25472 2017-01-04 Alan Third <alan@idiocy.org>
25474 Revert "Rework NS event handling (bug#25265)"
25476 This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
25478 2017-01-04 Glenn Morris <rgm@gnu.org>
25480 Update remaining copyright years with admin.el M-x set-copyright
25482 * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
25484 2017-01-04 Glenn Morris <rgm@gnu.org>
25486 * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
25488 2017-01-04 Paul Eggert <eggert@cs.ucla.edu>
25490 Port recent autogen.sh changes to Darwin
25492 Problem reported by Sam Steingold (Bug#25347).
25493 * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
25494 POSIX does not require it and it does not work on Darwin.
25496 2017-01-04 Stefan Monnier <monnier@iro.umontreal.ca>
25498 Avoid add-to-list on local variables
25500 * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
25501 (nnir-retrieve-headers): Use pcase.
25502 (nnir-search-thread): Avoid add-to-list on local variables.
25504 * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
25505 (smime-verify-region): Avoid add-to-list on local variables.
25507 * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
25508 (rmail-digest-parse-mime, rmail-digest-rfc1153)
25509 (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
25511 * lisp/net/ldap.el (ldap-search): Move init into declaration.
25513 * lisp/net/newst-backend.el (newsticker--cache-add):
25514 Avoid add-to-list on local variables; Simplify code with `assq'.
25516 * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
25517 (dbus-debug): Remove declaration, unused.
25518 (zeroconf-service-add-hook, zeroconf-service-remove-hook)
25519 (zeroconf-service-browser-handler, zeroconf-publish-service):
25520 Avoid add-to-list and *-hook on local variables.
25522 * lisp/org/org-archive.el (org-all-archive-files):
25523 * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
25524 Avoid add-to-list on local variables.
25526 * lisp/org/ox-publish.el (org-publish--run-functions): New function.
25527 (org-publish-projects): Use it to avoid run-hooks on a local variable.
25528 (org-publish-cache-file-needs-publishing): Avoid add-to-list on
25531 * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
25532 (ada-prj-load-from-file): Avoid add-to-list on local variables.
25534 * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
25535 (ada-gnat-parse-gpr, ada-parse-prj-file-1)
25536 (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
25538 * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
25539 Avoid add-to-list on local variables.
25541 2017-01-04 Mark Oteiza <mvoteiza@udel.edu>
25543 Turn on lexical-binding in md4.el
25545 * lisp/md4.el: Turn on lexical-binding.
25546 * test/lisp/md4-tests.el: New file.
25548 2017-01-03 Stefan Merten <stefan@merten-home.de>
25550 Lots of refactorings and a few minor improvements.
25552 User visible improvements and changes:
25553 * Improve and debug `rst-forward-section` and `rst-backward-section`.
25554 * Auto-enumeration may be used with all styles for list insertion.
25555 * Improve and debug `rst-toc-insert`.
25556 * Adapt change in Emacs to use customization group `text` instead of `wp`.
25557 * Bind `n` and `p` in `rst-toc-mode`.
25558 * `z` in `toc-mode` returns to the previous window configuration.
25559 * Require Emacs version >= 24.1.
25561 Lots of refactorings including:
25562 * Silence byte compiler.
25563 * Use lexical binding.
25565 * Add tests and raise test coverage.
25567 2017-01-03 Stefan Monnier <monnier@iro.umontreal.ca>
25569 (cl-defstruct): Improve error message for slots w/o value (bug#25312)
25571 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
25572 emit a warning for those coders who forgot to put a default value in
25575 2017-01-03 Philipp Stephani <p.stephani2@gmail.com>
25577 Small patch for ffap.el
25579 * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
25580 while walking 'ffap-alist'.
25582 2017-01-03 Eli Zaretskii <eliz@gnu.org>
25584 Generate nt/gnulib.mk from lib/gnulib.mk
25586 This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
25587 with the purpose of avoiding manual maintenance of
25590 * nt/gnulib-modules-to-delete.cfg: New file.
25591 * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
25592 (am__v_GEN_1): New variables.
25593 (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
25594 lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
25596 * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
25598 * configure.ac (GNULIB_MK): Compute the value according to $opsys.
25599 * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
25600 running autoreconf.
25601 * Makefile.in (gnulib_mk): New variable.
25602 ($(srcdir)/nt/gnulib.mk): Rule to produce it.
25603 (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
25605 * .gitignore: Add nt/gnulib.mk.
25607 * src/w32.c (acl_errno_valid): Implement it here, as we no longer
25608 build the acl-permissions module from Gnulib.
25610 2017-01-03 Noam Postavsky <npostavs@gmail.com>
25612 Handle multibyte chars spanning chunks in term.el
25614 * lisp/term.el (term-terminal-undecoded-bytes): New variable.
25615 (term-mode): Make it buffer local. Don't make `term-terminal-parameter'
25616 buffer-local twice.
25617 (term-emulate-terminal): Check for bytes of incompletely decoded
25618 characters, and save them until the next call when they can be fully
25619 decoded (Bug#25288).
25621 2017-01-03 Michael Albinus <michael.albinus@gmx.de>
25623 Finish work on filenotify-tests.el
25625 * test/lisp/filenotify-tests.el (file-notify--test-monitors):
25627 (file-notify--test-cleanup, file-notify--test-monitor): Use it.
25628 (file-notify--test-read-event, file-notify-test02-events)
25629 (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
25630 (file-notify-test03-autorevert)
25631 (file-notify-test08-watched-file-in-watched-dir):
25632 Set `file-notify--test-desc' for proper work of
25633 `file-notify--test-monitor'. (Bug#21804)
25635 2017-01-02 Michael Albinus <michael.albinus@gmx.de>
25637 Check also for "gvfs-monitor-dir.exe" in Tramp
25639 * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
25640 for "gvfs-monitor-dir.exe".
25642 2017-01-02 Eli Zaretskii <eliz@gnu.org>
25644 Fix compilation --without-x
25646 * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
25647 font_range only if it is compiled in. (Bug#25334)
25649 2017-01-02 Sašo Živanović <saso.zivanovic@guest.arnes.si>
25651 Fix RefTeX to show table of contents for dtx files (tiny change)
25653 * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
25654 section regexp so that it accepts lines starting with the comment
25655 character. (tiny change)
25656 * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
25657 gathered toc entries, accepting a commented entry if and only if the
25658 source file is a ".dtx" file. (tiny change)
25660 2017-01-02 Paul Eggert <eggert@cs.ucla.edu>
25662 Remove mistakenly-added files
25664 Problem reported by Glenn Morris in:
25665 http://lists.gnu.org/archive/html/emacs-devel/2017-01/msg00008.html
25666 * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
25667 * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
25668 * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
25669 * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
25670 * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
25671 * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
25672 * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
25673 Remove files that were added by mistake during a merge.
25675 2017-01-01 Noam Postavsky <npostavs@gmail.com>
25677 Warn about incomplete untarring of link files
25679 The current tar-mode doesn't really support unpacking symlinks, it
25680 simply creates an empty file of the same name.
25682 * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
25683 `tar--check-descriptor'.
25684 (tar-untar-buffer): Use it to warn about imperfectly untarred link
25687 2017-01-01 Noam Postavsky <npostavs@gmail.com>
25689 Remove sh-mode's skeleton-end-hook
25691 * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
25692 `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
25693 and also respects `skeleton-end-newline' (Bug#16634).
25695 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25697 * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
25699 2017-01-01 Mark Oteiza <mvoteiza@udel.edu>
25703 Since tmux version 2.1, new tmux terminfos are shipped due to oddities
25704 with xterm and screen terminfos. This is simply a duplication of
25705 term/screen.el with screen -> tmux.
25706 * lisp/term/tmux.el: New file.
25708 2017-01-01 Philipp Stephani <phst@google.com>
25710 Fix encoding of JSON surrogate pairs
25712 JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
25713 individual code points; cf. Bug #24784.
25715 * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
25717 (json--decode-utf-16-surrogates): New defun.
25719 * test/lisp/json-tests.el (test-json-read-string): Add test for
25722 2017-01-01 Michael Albinus <michael.albinus@gmx.de>
25724 Remove tramp-gw.el, which was synced from emacs-25 by accident
25726 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25728 Do not use Gnulib’s m4/wint_t.m4.
25730 * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
25731 Fix typo so that warn-on-use.m4 is removed too.
25732 * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
25733 * m4/wint_t.m4: Remove.
25735 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25737 Merge from gnulib, continued
25739 * m4/wint_t.m4: New file, copied from gnulib.
25741 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25743 Update copyright year to 2017 in master
25745 Run admin/update-copyright in the master branch. This fixes files
25746 that were not already fixed in the emacs-25 branch before it was
25749 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25751 Remove test/automated detritus from merge
25753 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25758 2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
25759 2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
25760 2016-12-17 getlogin: Port to newer mingw
25761 2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
25762 2016-12-17 Avoid redefinition errors on MSVC
25763 * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
25764 * m4/stdint.m4, m4/unistd_h.m4:
25766 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
25767 Plus, this commit updates the indenting on copyright notices to
25768 match that of gnulib.
25770 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25772 Merge from origin/emacs-25
25774 2e2a806 Fix copyright years by hand
25775 5badc81 Update copyright year to 2017
25777 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25779 Merge from origin/emacs-25
25781 665be69 ; Update ChangeLog.2 and AUTHORS files
25786 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25788 Merge from origin/emacs-25
25790 697167b ; Improve wording of previous change in variables.texi
25791 d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
25792 8b71826 Don't modify minibuffer variables globally
25793 5b5e036 Revert to pre-25.1 behavior in ffap
25794 19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
25795 3ace730 Attempt to fix 64-bit AIX build
25796 f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
25797 c04ac8a Document that variable binding order is unspecified
25798 272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
25799 08de101 Fix M-x hints on Mac port
25800 86a297a Work around reporting a dpi change in apply_xft_settings
25801 cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
25802 9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99. Don't m...
25803 88cdf14 Improve skeleton docstrings
25805 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25807 Merge from origin/emacs-25
25809 4179238 Improve documentation of 'w32-scroll-lock-modifier'
25811 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25813 Merge from origin/emacs-25
25815 9adb101 Document 'describe-fontset'
25816 229315c ; Add missing symbol quoting.
25817 3d94931 Repair desktop restoration on text terminals
25818 43022f9 Ignore forward-sexp-function in js-mode indentation code
25819 b19fb49 Improve documentation of 'define-coding-system'
25820 467768f Fix Bug#25162
25821 6db78ae Fix a typo in define-abbrev-table
25822 5f7d906 Bump makeinfo requirement from 4.7 to 4.13
25823 442e2f6 Fixes related to select-enable-clipboard
25824 e4ac450 Define struct predicate before acccesors
25825 08decbd Doc fix for vc-git
25826 5531e75 Further improve make-dist checking
25827 953bf67 Improve previous make-dist change
25828 129645a Make make-dist --snapshot do some sanity checks
25833 2017-01-01 Alan Mackenzie <acm@muc.de>
25835 Give eval-and-compile a correct edebug spec. Fixes bug #16184 properly.
25837 * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
25838 from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
25840 * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
25841 t to (&rest def-form).
25843 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25845 Fix copyright years by hand
25847 These are dates that admin/update-copyright did not update, or
25848 updated incorrectly.
25850 2017-01-01 Paul Eggert <eggert@cs.ucla.edu>
25852 Update copyright year to 2017
25854 Run admin/update-copyright.
25856 2016-12-31 Paul Eggert <eggert@cs.ucla.edu>
25858 Clarify internal_catch etc.
25860 The recent change to internal_catch and friends relied on some
25861 confusion I introduced to the code in 2013. Attempt to fix
25862 the confusion by clarifying the code instead. This saves an
25863 instruction and a load dependency in the typical case.
25864 * src/eval.c (internal_catch, internal_condition_case)
25865 (internal_condition_case_1, internal_condition_case_2)
25866 (internal_condition_case_n): Undo the previous change. Instead,
25867 use use ‘c’ rather than ‘handlerlist’ in the typical case.
25868 Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
25870 2016-12-31 Ken Brown <kbrown@cornell.edu>
25872 Further improve filenotify-tests.el
25874 * test/lisp/filenotify-tests.el
25875 (file-notify--test-read-event): Adapt to file monitors of type
25876 GFamFileMonitor, which occur on Cygwin.
25877 (file-notify--test-monitor): Update doc string.
25879 2016-12-31 Paul Eggert <eggert@cs.ucla.edu>
25881 * src/xdisp.c (string_from_display_spec): Simplify.
25883 2016-12-31 Alan Third <alan@idiocy.org>
25885 Rework NS event handling (bug#25265)
25887 * src/nsterm.m (unwind_apploopnr): Remove.
25888 (ns_read_socket): Remove references to apploopnr. Make processing the
25889 NS event loop conditional on being in the main thread.
25890 (ns_select): Remove references to apploopnr. Remove all fd_handler
25891 related stuff. Check if there are events waiting on the NS event
25892 queue rather than running the event loop. Remove unused variables and
25894 (fd_handler): Remove.
25895 (ns_term_init): Remove creation of fd_handler thread.
25896 (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
25897 EmacsView:windowDidExpose): Remove send_appdefined.
25898 (ns_send_appdefined): Always check the event queue for
25899 applicationDefined events rather than relying on send_appdefined var.
25900 * src/nsterm.h: Remove reference to fd_handler method.
25902 2016-12-31 Philipp Stephani <phst@google.com>
25904 Checkdoc: use syntax functions instead of regex
25906 In checkdoc.el, get rid of the error-prone regex to find definition
25907 forms, and use existing syntax-based navigation functions instead.
25908 This fixes a corner case with one-argument `defvar' forms.
25910 * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
25911 (checkdoc-next-docstring, checkdoc-defun): Use it.
25912 * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
25915 2016-12-31 Eli Zaretskii <eliz@gnu.org>
25917 Don't define NOMINMAX on MS-Windows
25919 * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define. This is no
25920 longer needed with the current sources and MinGW headers, while
25921 defining NOMINMAX causes an annoying compiler warning.
25923 2016-12-31 Chris Gregory <czipperz@gmail.com> (tiny change)
25925 Simplify code in eval.c that calls 'setjmp'
25927 * src/eval.c (internal_catch, internal_condition_case)
25928 (internal_condition_case_1, internal_condition_case_2)
25929 (internal_condition_case_n): Factor out the common tail of the
25932 2016-12-31 Chris Gregory <czipperz@gmail.com> (tiny change)
25934 Simplify code in 'string_from_display_spec'
25936 * src/xdisp.c (string_from_display_spec): Eliminate a redundant
25937 test before the loop.
25939 2016-12-31 Eli Zaretskii <eliz@gnu.org>
25941 Serialize random number generation on MS-Windows
25943 * src/w32.c (rand_as183): New function.
25944 (random): Use it instead of MS runtime's 'rand'. This avoids
25945 producing separate and identical random series in each Lisp
25947 (srandom): Modify to supply 3 seed values to 'rand_as183'.
25949 2016-12-31 Michael Albinus <michael.albinus@gmx.de>
25951 * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
25953 2016-12-30 Ken Raeburn <raeburn@raeburn.org>
25955 Don't call xg_select for a NextStep build.
25957 NextStep builds use glib but don't use xg_select.
25959 * src/process.c (wait_reading_process_output): Don't call xg_select
25960 for a NextStep build.
25962 2016-12-30 Ken Raeburn <raeburn@raeburn.org>
25964 Increase the obarray size.
25966 In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
25967 the time we've started. The old obarray size ensured an average chain
25968 length of 10 or more.
25970 * src/lread.c (OBARRAY_SIZE): Increase to 15121.
25972 2016-12-30 Ken Raeburn <raeburn@raeburn.org>
25974 Initialize thread support for Xlib.
25976 * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
25977 before doing anything else with X.
25979 2016-12-30 Paul Eggert <eggert@cs.ucla.edu>
25981 Rename primary_thread to main_thread
25983 This avoids the confusion of using two different phrases "main thread"
25984 and "primary thread" internally to mean the same thing. See:
25985 http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg01142.html
25986 * src/thread.c (main_thread): Rename from primary_thread,
25987 since the new name no longer clashes with main_thread_id
25988 and Emacs internals normally call this the "main thread".
25989 (init_main_thread): Rename from init_primary_thread.
25990 (main_thread_p): Rename from primary_thread_p.
25993 2016-12-30 Paul Eggert <eggert@cs.ucla.edu>
25995 Rename main_thread to main_thread_id and simplify
25997 * src/emacs-module.c: Include syssignal.h, for main_thread_id.
25998 [HAVE_PTHREAD]: Do not include pthread.h.
25999 (main_thread): Remove. All uses replaced by main_thread_id,
26000 or by dwMainThreadId on NT. Since the HAVE_PTHREAD code is now using
26001 the main_thread_id established by sysdep.c, there is no need for a
26002 separate copy of the main thread ID here.
26003 (module_init): Remove. All uses removed.
26004 * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
26005 Rename from main_thread. All uses changed. Now extern.
26007 2016-12-30 Michael Albinus <michael.albinus@gmx.de>
26009 * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
26011 2016-12-30 Paul Eggert <eggert@cs.ucla.edu>
26013 * src/sysdep.c (deliver_process_signal): Improve comment.
26015 2016-12-30 Alan Mackenzie <acm@muc.de>
26017 CC Mode: Fix the fontification of a spuriously recognised enum member.
26019 The "enum" was in an argument list, but triggered the fontification of a
26020 following identifier in the function block as though it were in an enum
26023 * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
26024 (c-basic-matchers-after): Replace the inline stanza for enum elements with a
26025 call to c-font-lock-enum-body.
26027 * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
26030 2016-12-30 Nicolas Petton <nicolas@petton.fr>
26032 Bump Emacs version to 25.1.91
26036 * msdos/sed2v2.inp:
26037 * nt/README.W32: Bump Emacs version.
26038 * lisp/ldefs-boot.el: Update.
26040 2016-12-30 Eli Zaretskii <eliz@gnu.org>
26042 Attempt to fix crashes with threads in GTK builds
26044 * src/xgselect.c (xg_select): Call pselect via thread_select, not
26045 directly, to avoid running Lisp (via unblock_input) when more than
26046 one thread could be running. (Bug#25247)
26047 * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
26048 xg_select directly instead of through thread_select.
26049 * src/xgselect.h (xg_select): Last 2 arguments are no longer
26050 'const', for consistency with thread_select.
26052 2016-12-30 Arash Esbati <arash.esbati@gmail.com>
26054 Add entry for biblatex
26056 * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
26057 entry for biblatex macros.
26059 2016-12-30 Alan Mackenzie <acm@muc.de>
26061 Backport: Remove an ambiguity from defvar's doc string. Fixes bug #25292.
26063 The ambiguity was whether INITVALUE is evaluated when it's not going to be
26064 used to set SYMBOL's value.
26066 * src/eval.c (defvar): Rewrite a paragraph of the doc string.
26068 (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
26070 2016-12-30 Tino Calancha <tino.calancha@gmail.com>
26072 ffap-string-at-point: Limit max length of active region
26074 Prevents that 'ffap-guesser' waste time checking large strings
26075 which are likely not valid candidates (Bug#25243).
26076 * lisp/ffap.el (ffap-max-region-length): New variable.
26077 (ffap-string-at-point): Use it.
26078 * test/lisp/ffap-tests.el: New test suite.
26079 (ffap-tests-25243): Add test for this bug.
26081 2016-12-30 Thien-Thi Nguyen <ttn@gnu.org>
26083 last-chance: Also ignore NEWS files + typo fixes
26085 * admin/last-chance.el: Fix typo in copyright notice.
26086 (last-chance-uninteresting-regexps): Add entry to match NEWS files.
26087 (last-chance-cleanup): Fix typo in docstring.
26089 2016-12-29 Mike Kupfer <mkupfer@alum.berkeley.edu>
26091 * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
26093 2016-12-29 Alan Mackenzie <acm@muc.de>
26095 Remove an ambiguity from defvar's doc string. Fixes bug #25292.
26097 The ambiguity was whether INITVALUE is evaluated when it's not going to be
26098 used to set SYMBOL's value.
26100 * src/eval.c (defvar): Rewrite a paragraph of the doc string.
26102 2016-12-29 Michael Albinus <michael.albinus@gmx.de>
26104 Improve filenotify-tests.el
26106 * src/inotify.c (Finotify_valid_p):
26107 * src/kqueue.c (Fkqueue_valid_p):
26108 * src/w32notify.c (Fw32notify_valid_p):
26109 * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
26110 (Fgfile_monitor_name): New defun.
26111 (syms_of_gfilenotify): Declare Sgfile_monitor_name.
26113 * test/lisp/filenotify-tests.el (file-notify--test-read-event):
26114 New defun, derived from `file-notify--test-read-event-timeout'.
26115 Replace all calls of `read-event' by this.
26116 (file-notify--test-timeout): Fix docstring.
26117 (file-notify--test-monitor): New defun.
26118 (file-notify--deftest-remote): Do not bind
26119 `file-notify--test-read-event-timeout' anymore.
26120 (file-notify-test00-availability): Print also monitor, if existent.
26121 (file-notify--test-with-events): Add an additional
26122 `file-notify--test-read-event' call, in order to get it work
26123 after `file-notify-add-watch'. Remove special timeout for cygwin.
26124 (file-notify-test02-events): Make a better check for cygwin.
26125 (file-notify-test06-many-events): Improve event list for cygwin.
26126 (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
26128 2016-12-29 Alan Mackenzie <acm@muc.de>
26130 Partially correct fontification of "(b*3)", and the like, in C++ Mode
26132 This problem is caused by the fundamental ambiguity in C++ between
26133 argument declarations and initialisation clauses.
26135 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
26136 paren preceded by an arithmetic operator, we give this the context nil, not
26139 * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
26140 New lang consts and vars.
26142 2016-12-29 Alan Mackenzie <acm@muc.de>
26144 Initialize edebug-offset-indices to a cons, not nil. Fixes bug #16184.
26146 This is because there are times when this variable is changed by setcar before
26147 an atom is pushed onto it by debug-enter. This happens, for example, whilst
26148 instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
26150 * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
26152 2016-12-28 Stefan Monnier <monnier@iro.umontreal.ca>
26154 * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
26156 (inline--dont-quote): Quote the function with #' when passing it to `apply'.
26157 Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
26159 2016-12-27 Michael Albinus <michael.albinus@gmx.de>
26161 Release Tramp 2.3.1
26163 * doc/misc/trampver.texi:
26164 * lisp/net/trampver.el: Change version to "2.3.1".
26166 * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
26167 `eshell-mode-hook' but `eshell-first-time-mode-hook'.
26169 * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
26170 (tramp-compat-file-name-quote)
26171 (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
26173 2016-12-27 Paul Eggert <eggert@cs.ucla.edu>
26175 Simplify prog1 implementation
26177 Inspired by a suggestion from Chris Gregory in:
26178 http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00965.html
26179 On my platform, this generates exactly the same machine insns.
26180 * src/eval.c (prog_ignore): Rename from unwind_body, since
26181 it’s more general than that. All callers changed.
26182 (Fprog1): Simplify by using prog_ignore.
26183 (Fwhile): Clarify by using prog_ignore.
26185 2016-12-27 Stefan Monnier <monnier@iro.umontreal.ca>
26187 * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
26189 (inline--dont-quote): Quote the function with #' when passing it to `apply'.
26191 2016-12-27 Mark Oteiza <mvoteiza@udel.edu>
26193 Remove a use of lexical-let
26195 * lisp/gnus/message.el (message-completion-function): Just use let,
26196 since the file now uses lexical-binding.
26198 2016-12-27 Ken Brown <kbrown@cornell.edu>
26200 Improve filenotify-tests.el on Cygwin (Bug #21804)
26202 * test/lisp/filenotify-tests.el [CYGWIN]
26203 (file-notify--test-read-event-timeout): Increase.
26204 (file-notify--test-with-events): Add delay before executing body.
26205 (file-notify-test02-events, file-notify-test04-file-validity):
26206 Adjust expected results.
26208 2016-12-27 Eli Zaretskii <eliz@gnu.org>
26210 Fix expand-file-name on DOS_NT systems when /: escaping is used
26212 * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
26213 file names escaped by "/:". Don't recursively expand
26214 default-directory escaped with "/:" which is not followed by a
26215 drive spec. (Bug#25183)
26217 2016-12-27 Bake Timmons <65pandas@gmail.com>
26219 Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
26221 * doc/misc/gnus.texi (Mail Source Specifiers):
26222 Replace wrong `mail-sources' value of `(group)' in Gnus manual with
26223 the correct `((group))' value. (bug#25275) (tiny change)
26225 2016-12-27 Bake Timmons <65pandas@gmail.com>
26227 Fix bug in customizing `mail-sources' variable (bug#25274)
26229 * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
26230 for lone argument. (bug#25274) (tiny change)
26232 2016-12-26 Philipp Stephani <phst@google.com>
26234 Checkdoc: Don't require a space before an arg list
26238 * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
26239 space before a argument list.
26240 * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
26243 2016-12-26 Eli Zaretskii <eliz@gnu.org>
26245 Document 'default-toplevel-value' and 'set-default-toplevel-value'
26247 * doc/lispref/variables.texi (Default Value): Document
26248 'default-toplevel-value' and 'set-default-toplevel-value'.
26250 2016-12-25 Michihito Shigemura <m_shigemura@shigemk2.com> (tiny change)
26252 Add zshrc and zshenv detection to sh-mode (bug#25217)
26254 * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
26256 2016-12-25 Paul Eggert <eggert@cs.ucla.edu>
26258 Fix typo in lisp.h reordering patch
26260 * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
26261 Reported by Eli Zaretskii (Bug#25128#19).
26263 2016-12-25 Paul Eggert <eggert@cs.ucla.edu>
26265 regex.h now includes sys/types.h
26267 * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
26268 Do not include sys/types.h; no longer needed.
26269 * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
26270 glibc regex.h does, and POSIX has blessed this since 2008.
26272 2016-12-25 Paul Eggert <eggert@cs.ucla.edu>
26274 Reorder lisp.h to declare types before using them
26276 This puts basic functions for types to be after the corresponding
26277 type definitions. This is a more-common programming style in C,
26278 and will make it easier to port Emacs to gcc
26279 -fcheck-pointer-bounds, since the functions now have access to the
26280 corresponding types' sizes. This patch does not change the code;
26281 it just moves declarations and definitions and removes
26282 no-longer-needed forward declarations (Bug#25128).
26283 * src/buffer.c, src/data.c, src/image.c:
26284 Include process.h, for PROCESSP.
26285 * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
26286 * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
26287 * src/termhooks.h (TERMINALP, XTERMINAL):
26288 * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
26289 * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
26290 (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
26291 Move here from lisp.h.
26292 * src/intervals.h: Include buffer.h, for BUFFERP.
26293 Include lisp.h, for Lisp_Object.
26294 * src/lisp.h: Reorder declarations and definitions as described
26295 above. Move thread includes to be later, so that they can use the
26296 reordered definitions. Move some symbols to other headers (noted
26297 elsewhere). Remove forward decls that are no longer needed.
26298 * src/thread.h: Include systhread.h here, not in lisp.h,
26299 since lisp.h itself does not need systhread.h.
26301 2016-12-25 Leo Liu <sdl.web@gmail.com>
26303 Don't modify minibuffer variables globally
26305 * lisp/files.el (cd): Use setq-local instead. (Bug#25260)
26307 2016-12-25 Dima Kogan <dima@secretsauce.net>
26309 diff-mode auto-refines only after a successful motion
26311 Prior to this patch (if enabled) auto-refinement would kick in after all
26312 hunk navigation commands, even if the motion failed. This would result
26313 in a situation where the hunk navigation would signal an error and beep,
26314 but yet still accomplish potentially useful work, by auto-refining.
26315 This patch moves the auto-refinement code to only run when a motion was
26318 * lisp/vc/diff-mode.el (diff--internal-hunk-next,
26319 diff--internal-hunk-prev): Removed auto-refinement-triggering code
26320 * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
26321 auto-refinement-triggering code
26323 2016-12-25 Dima Kogan <dima@secretsauce.net>
26325 diff-mode is able to better handle file headers
26327 This fixes a regression introduced in
26329 http://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
26331 This bug was filed in
26333 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
26335 Patches generated from a VCS such as git contain a patch message at the
26336 start, and diff-mode is now once-again able to properly able to ignore
26337 this message when issuing navigation commands around the message.
26339 * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
26340 thoroughly ignore the header when looking for a beginning of file
26343 2016-12-25 Paul Eggert <eggert@cs.ucla.edu>
26345 Use libpng-config --ldflags, not --libs
26347 Problem reported by James K. Lowden (Bug#25268).
26348 * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
26350 2016-12-24 Eli Zaretskii <eliz@gnu.org>
26352 Revert to pre-25.1 behavior in ffap
26354 * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
26355 the same behavior as in Emacs 24.x. (Bug#25264)
26356 Explain the trade-offs of customizing this in the doc string.
26358 2016-12-24 Noam Postavsky <npostavs@gmail.com>
26360 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
26362 2016-12-24 Noam Postavsky <npostavs@gmail.com>
26364 Remove redundant `save-match-data' in whitespace.el
26366 * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
26367 (whitespace-report-region): Remove redundant `save-match-data' calls.
26369 2016-12-24 Noam Postavsky <npostavs@gmail.com>
26371 Fix whitespace eob cleanup
26373 * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
26374 of empty lines at end of buffer.
26375 * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
26376 (whitespace-tests--cleanup-string): New helper function for tests.
26378 2016-12-24 Hong Xu <hong@topbug.net>
26380 Fix timezone detection of parse-iso8601-time-string
26382 * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
26383 parsing. Add a doc string. (Bug#25086)
26384 * src/editfns.c (Fdecode-time): Doc fix.
26385 * doc/misc/emacs-mime.texi (time-date): Add an example for
26386 parse-iso8601-time-string.
26387 * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
26388 tests for parse-iso8601-time-string.
26390 2016-12-24 Paul Eggert <eggert@cs.ucla.edu>
26392 Simplify exec_byte_code via moving decls etc.
26394 * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
26395 initializers into decls, and by omitting some unnecessary changes
26398 2016-12-24 Paul Eggert <eggert@cs.ucla.edu>
26400 Remove interpreter’s byte stack
26402 This improves performance overall on my benchmark on x86-64,
26403 since the interpreted program-counter resides in a machine
26404 register rather than in RAM.
26405 * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
26406 is no longer a byte stack to decode.
26407 * src/bytecode.c (struct byte_stack, byte_stack_list)
26408 (relocate_byte_stack): Remove. All uses removed.
26409 (FETCH): Simplify now that pc is now local (typically, in a
26410 register) and no longer needs to be relocated.
26411 (CHECK_RANGE): Remove. All uses now done inline, in a different way.
26412 (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
26413 (exec_byte_code): Allocate a copy of the function’s bytecode,
26414 so that there is no problem if GC moves it.
26415 * src/lisp.h (struct handler): Remove byte_stack member.
26417 * src/thread.c (unmark_threads): Remove. All uses removed.
26418 * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
26419 All uses removed. m_stack_bottom is now the first non-Lisp field.
26421 2016-12-24 Paul Eggert <eggert@cs.ucla.edu>
26423 BYTE_CODE_SAFE typo fix
26425 * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
26426 not on whether it is defined.
26428 2016-12-24 Paul Eggert <eggert@cs.ucla.edu>
26430 BYTE_CODE_SAFE cleanups
26432 * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
26433 (struct byte_stack) [BYTE_MAINTAIN_TOP]:
26434 Remove unused members ‘top’ and ‘bottom’.
26435 (exec_byte_code): Nest inside { } to avoid GCC warning about
26436 jumping over declaration when compiled with -DBYTE_CODE_SAFE.
26438 2016-12-24 Thien-Thi Nguyen <ttn@gnu.org>
26440 last-chance: new utility lib for dangling deterrence
26442 * admin/last-chance.el: New file.
26444 2016-12-24 Paul Eggert <eggert@cs.ucla.edu>
26446 Use max_align_t instead of void *
26448 * src/thread.c (run_thread): Don’t assume void * is aligned enough.
26450 2016-12-23 Eli Zaretskii <eliz@gnu.org>
26452 Attempt to fix 64-bit AIX build
26454 * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
26455 type-casts that assumed 32-bit pointers. (Bug#25141)
26457 2016-12-23 Philipp Stephani <phst@google.com>
26459 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
26461 * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
26463 2016-12-23 Philipp Stephani <phst@google.com>
26465 Document that variable binding order is unspecified
26467 * doc/lispref/variables.texi (Local Variables):
26468 * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
26469 'cl-letf' is unspecified.
26471 2016-12-23 Eli Zaretskii <eliz@gnu.org>
26473 Prevent infloops in redisplay due to truncate-lines and overlays
26475 * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
26476 redisplay_window when a screen line ends in an overlay string with
26477 a newline. (Bug#25246)
26479 2016-12-23 Philipp Stephani <phst@google.com>
26481 Treat incomplete integer literals as errors
26485 * src/lread.c (read_integer): Treat incomplete integer literals as errors.
26486 * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
26487 incomplete integer literals.
26489 2016-12-23 Eli Zaretskii <eliz@gnu.org>
26491 * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
26493 2016-12-23 Stefan Monnier <monnier@IRO.UMontreal.CA>
26495 Fix M-x hints on Mac port
26497 * lisp/simple.el (execute-extended-command--shorter): Call
26498 input-pending-p to trigger input processing on some systems, such
26499 as Mac port. (Bug#23002)
26501 2016-12-23 Michael Albinus <michael.albinus@gmx.de>
26503 * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
26505 2016-12-23 Eli Zaretskii <eliz@gnu.org>
26507 Avoid aborts due to unaligned byte stack of threads
26509 * src/thread.c (run_thread): Make sure the pointers to thread byte
26510 stack are properly aligned. (Bug#25247)
26512 2016-12-22 Paul Eggert <eggert@cs.ucla.edu>
26514 Pacify --enable-gcc-warnings
26516 * src/charset.c (load_charset_map):
26517 * src/coding.c (decode_coding_object):
26518 * src/frame.c (make_frame):
26519 * src/window.c (Frecenter):
26520 Mark locals with UNINIT to silence false alarms from
26521 -Wmaybe-uninitialized.
26522 * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
26523 (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
26524 Check and assume that values are nonnull. This pacifies
26525 -Wmaybe-uninitialized in Fmake_variable_buffer_local and
26526 Fmake_local_variable.
26528 2016-12-22 Eli Zaretskii <eliz@gnu.org>
26530 Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
26532 * src/thread.c (primary_thread_p): New function.
26533 * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
26534 meant for thread objects allocated dynamically.
26535 * src/thread.h (primary_thread_p): Add prototype.
26537 2016-12-22 Martin Rudalics <rudalics@gmx.at>
26539 Work around reporting a dpi change in apply_xft_settings
26541 * src/xsettings.c (apply_xft_settings): Don't report a change
26542 when dpi settings do not differ substantially.
26544 2016-12-22 Noam Postavsky <npostavs@gmail.com>
26546 Use completion-at-point in verilog-mode
26548 There were some functions in verilog-mode that implemented in-buffer
26549 completion, but this needlessly duplicates completion-at-point
26550 functionality, and the popup window management had problems
26551 (see Bug #23842). We need to keep them for backwards compatibility with
26552 older emacs versions, but use completion-at-point if available.
26554 * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
26555 obsolete if completion-cycle-threshold is available.
26556 (verilog-mode-map, verilog-menu): Bind completion-at-point and
26557 completion-help-at-point in preference to verilog-complete-word and
26558 verilog-show-completions, respectively.
26559 (verilog-mode): Add verilog-completion-at-point to
26560 completion-at-point-functions.
26561 (verilog-completion-at-point): New function.
26562 (verilog-show-completions, verilog-complete-word): Use it to avoid code
26565 2016-12-21 Reuben Thomas <rrt@sc3d.org>
26567 Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
26569 * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
26570 override CASECHARS and NOT-CASECHARS. The ispell dictionaries
26571 retain their hardwired values, and all other dictionaries are given
26574 2016-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
26576 * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
26577 and xetex commands.
26579 2016-12-21 Eli Zaretskii <eliz@gnu.org>
26581 Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
26583 * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
26584 for thread objects. They are marked via the all_threads list, and
26585 therefore don't need to be inserted into the red-black tree, so
26586 mem_find will never find them. Reported by Daniel Colascione
26587 <dancol@dancol.org> in
26588 http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00817.html.
26590 2016-12-21 Stefan Monnier <monnier@iro.umontreal.ca>
26592 * src/data.c (Fmake_variable_frame_local): Remove
26594 * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
26596 * src/data.c (swap_in_symval_forwarding, set_internal)
26597 (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
26598 (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
26599 Don't pay attention to ->frame_local any more.
26600 (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
26601 Smake_variable_frame_local.
26603 * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
26604 of make-variable-frame-local.
26606 * lisp/help-fns.el (describe-variable): Don't handle the now impossible
26609 * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
26611 * src/frame.c (store_frame_param):
26612 * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
26614 * src/widget.c (first_frame_p): Remove, unused.
26616 2016-12-21 Paul Eggert <eggert@cs.ucla.edu>
26618 Port dumping better to WSL
26620 Problem reported by Angelo Graziosi in:
26621 http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00822.html
26622 * src/sysdep.c (disable_address_randomization):
26623 Detect buggy platforms where 'personality' always returns 0.
26625 2016-12-21 Michael Albinus <michael.albinus@gmx.de>
26627 Remove gateway methods in Tramp
26629 * doc/misc/tramp.texi (Top, Configuration): Remove section
26630 `Gateway methods', insert section `Firewalls' in menu.
26631 (History): Gateways are removed now.
26632 (Gateway methods): Remove section.
26633 (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
26634 (Firewalls): New section.
26636 * etc/NEWS: Gateway methods in Tramp have been removed.
26638 * lisp/net/tramp.el (tramp-methods): Adapt docstring.
26639 (tramp-file-name-port, tramp-accept-process-output): Simplify.
26641 * lisp/net/tramp-gw.el: Remove.
26643 * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
26644 (tramp-gw-socks-method): Remove declarations.
26645 (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
26646 Remove `tramp-gw-args' and `tramp-default-port'. (Bug#18967)
26647 (tramp-do-copy-or-rename-file-out-of-band)
26648 (tramp-compute-multi-hops, tramp-maybe-open-connection):
26649 Remove gateway support.
26651 * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
26652 Remove gateway tests.
26654 2016-12-20 Alan Mackenzie <acm@muc.de>
26656 Amend the version number of CC Mode 5.33 -> 5.32.99. Don't merge to trunk.
26658 lisp/progmodes/cc-defs.el: Amend the version number.
26659 etc/NEWS: Add an item explaining the change.
26661 2016-12-20 Tino Calancha <tino.calancha@gmail.com>
26663 files-test-read-file-in-: Delete temporary dir on exit
26665 * test/lisp/files-tests.el (files-test-read-file-in-~):
26666 Create subdir inside dir.
26668 2016-12-20 Christopher Genovese <genovese@cmu.edu>
26670 ibuffer: New filters and commands
26672 Add several new filters and improve documentation.
26674 https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00399.html
26675 * lisp/ibuf-ext.el: Add paragraph to file commentary.
26676 (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
26677 (ibuffer-filter-groups): Update doc string.
26678 (ibuffer-unary-operand): Add new function that transparently
26679 handles 'not' formats for compound filters.
26680 (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
26681 (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
26682 (ibuffer-decompose-filter): Handle 'and' as well,
26683 and handle 'not' consistently with other uses.
26684 (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
26685 (ibuffer--or-and-filter): New defun.
26686 (ibuffer-or-filter, ibuffer-and-filter): Use it.
26687 (ibuffer-format-qualifier): Handle 'and' filters as well.
26688 (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
26689 (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
26690 (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
26691 Add new pre-defined filters.
26692 (ibuffer-filter-chosen-by-completion): Add new interactive command
26693 for easily choosing a filter from the descriptions.
26694 * lisp/ibuffer.el (ibuffer-mode-map):
26695 Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
26696 ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
26697 ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
26698 respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
26699 'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
26700 'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
26701 and '/ DEL' respectively.
26702 * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
26703 skip specification.
26704 Add menu entries for the new filters.
26705 (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
26706 ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
26707 ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
26708 ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
26709 ibuffer-decompose-filter, ibuffer-and-filter
26710 ibuffer-or-filter): Add new tests; they are skipped unless
26711 ibuf-ext is loaded.
26713 2016-12-20 Mark Oteiza <mvoteiza@udel.edu>
26717 * etc/NEWS (Image-Dired): New section.
26719 2016-12-20 Mark Oteiza <mvoteiza@udel.edu>
26721 Recognize graphicsmagick in image-dired
26723 * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
26724 (image-dired-cmd-create-thumbnail-options):
26725 (image-dired-cmd-create-temp-image-program):
26726 (image-dired-cmd-create-temp-image-options):
26727 (image-dired-cmd-create-standard-thumbnail-options):
26728 (image-dired-cmd-rotate-thumbnail-program):
26729 (image-dired-cmd-rotate-thumbnail-options): Account for existence of
26732 2016-12-20 Noam Postavsky <npostavs@gmail.com>
26734 Improve skeleton docstrings
26736 * lisp/skeleton.el (skeleton-end-newline): Remove mention of
26737 `skeleton-end-hook', its default code was moved into `skeleton-insert'.
26738 (skeleton-insert): Mention `skeleton-end-newline' and move reference to
26739 `skeleton-end-hook' above the explanation of skeleton syntax.
26741 2016-12-20 Mark Oteiza <mvoteiza@udel.edu>
26743 Implement asynchronous thumbnail generation in image-dired
26745 Additionally, all FOO-options defcustoms that were in fact shell command
26746 strings have been converted to argument lists. Another method for
26747 shrinking PNG thumbs with optipng(1) has been added.
26748 * lisp/image-dired.el: Remove TODO item in commentary.
26749 (image-dired-cmd-create-thumbnail-options):
26750 (image-dired-cmd-create-temp-image-options):
26751 (image-dired-cmd-rotate-thumbnail-options):
26752 (image-dired-cmd-rotate-original-options):
26753 (image-dired-cmd-write-exif-data-options):
26754 (image-dired-cmd-read-exif-data-options): Convert to argument lists.
26755 (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
26756 Change string type to file.
26757 (image-dired-cmd-create-standard-thumbnail-command): Remove.
26758 (image-dired-cmd-pngnq-options):
26759 (image-dired-cmd-create-standard-thumbnail-options):
26760 (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
26762 (image-dired-queue, image-dired-queue-active-jobs):
26763 (image-dired-queue-active-limit): New variables.
26764 (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
26765 (image-dired-optipng-thumb): New functions.
26766 (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
26767 Use start-process instead of call-process. Set file modes. Trigger
26768 PNG file optimization in process sentinel.
26769 (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
26770 (image-dired-display-thumbs):
26771 (image-dired-create-thumbs): Don't expect call-process return value.
26772 (image-dired-display-image, image-dired-rotate-thumbnail): Use
26773 start-process instead of call-process.
26774 (image-dired-rotate-original, image-dired-set-exif-data):
26775 (image-dired-get-exif-data): Adapt to arguments being an arg list.
26777 2016-12-19 Andreas Schwab <schwab@linux-m68k.org>
26779 Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
26781 * src/indent.c (restore_window_buffer): New function.
26782 (Fvertical_motion): Use it to restore window's buffer.
26784 2016-12-19 Glenn Morris <rgm@gnu.org>
26786 Improve default load-path for uninstalled CANNOT_DUMP builds
26788 * src/lread.c (load_path_default) [CANNOT_DUMP]:
26789 Use build load-path if we seem to be running uninstalled. (Bug#24974)
26790 I think this became an issue several years ago when we stopped
26791 using EMACSLOADPATH in the Makefiles; however this change should
26792 improve the CANNOT_DUMP uninstalled case in general.
26794 2016-12-19 Eli Zaretskii <eliz@gnu.org>
26796 Improve documentation of 'w32-scroll-lock-modifier'
26798 * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
26799 w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
26801 * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
26804 2016-12-19 Eli Zaretskii <eliz@gnu.org>
26806 Document 'describe-fontset'
26808 * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
26811 2016-12-19 Eli Zaretskii <eliz@gnu.org>
26813 Document 'describe-fontset'
26815 * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
26818 2016-12-19 Eli Zaretskii <eliz@gnu.org>
26820 Fix crashes upon C-g on Posix TTY frames
26822 * src/thread.h (struct thread_state): New member not_holding_lock.
26823 (maybe_reacquire_global_lock): Add prototype.
26824 * src/thread.c: Include syssignal.h.
26825 (maybe_reacquire_global_lock): New function.
26826 (really_call_select): Set the not_holding_lock member of the
26827 thread state before releasing the lock, and rest it after
26828 re-acquiring the lock when the select function returns. Block
26829 SIGINT while doing this to make sure we are not interrupted on TTY
26831 * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
26833 * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
26835 * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
26836 maybe_reacquire_global_lock. (Bug#25178)
26838 2016-12-19 Sam Steingold <sds@gnu.org>
26840 avoid Eager macro-expansion failure: (void-function string-to-list)
26842 * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
26843 in "mule-util", so we have to load "mule-util" before "ucs-normalize",
26844 otherwise I get "Eager macro-expansion failure" on "make bootstrap"
26846 2016-12-19 Michael Albinus <michael.albinus@gmx.de>
26850 * lisp/ido.el (ido-add-virtual-buffers-to-list):
26851 Suppress Tramp invocation. (Bug#24980)
26853 2016-12-18 Philipp Stephani <phst@google.com>
26855 Add a new compile error regexp for Clang includes
26857 Clang uses a slight variation of GCC's include format, causing includes
26858 to be treated as warnings instead of informational messages. Use a new
26859 regular expression instead.
26861 * lisp/progmodes/compile.el
26862 (compilation-error-regexp-alist-alist): New element
26863 `clang-include' for Clang-style "included from" lines.
26864 * test/lisp/progmodes/compile-tests.el
26865 (compile-tests--test-regexps-data): Add unit test.
26867 2016-12-18 Alan Third <alan@idiocy.org>
26869 Reinstate ispell character offset (bug#25219)
26871 * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
26872 ispell-offset used to be.
26874 2016-12-18 Mark Oteiza <mvoteiza@udel.edu>
26876 Bind new image-mode scroll commands in image-dired
26878 * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
26879 to new image-mode commands.
26881 2016-12-18 Noam Postavsky <npostavs@gmail.com>
26883 Fix rx-any with range with ?\] and ?-
26885 * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
26887 * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
26889 2016-12-18 Mark Oteiza <mvoteiza@udel.edu>
26891 Use floor of mtime instead of rounding for thumb property
26893 This seems to be the correct thing to do, at least more in line with
26894 what at least one other implementation does. Anything using
26895 gnome-desktop [0] effectively does the same, as
26896 gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
26897 comparison and time_t on GNU/Linux is a signed int.
26898 [0] https://git.gnome.org/browse/gnome-desktop/
26899 * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
26901 2016-12-17 Reuben Thomas <rrt@sc3d.org>
26903 Fix spelling mistake in private defun name (Bug#25218)
26905 lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
26906 `flyspell-adjust-cursor-point'.
26908 2016-12-17 Reuben Thomas <rrt@sc3d.org>
26910 Remove XEmacs support from flyspell.el (Bug#25218)
26912 lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
26913 (flyspell-word, flyspell-delete-region-overlays):
26914 (flyspell-correct-word-before-point): Remove XEmacs support.
26915 (flyspell-xemacs-popup): Remove XEmacs-specific defun.
26917 2016-12-17 Michael Albinus <michael.albinus@gmx.de>
26919 More tests for Tramp
26921 * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
26924 * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
26927 * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
26928 Mark quoted file name as absolute. (Bug#25183)
26929 (tramp--test-windows-nt-and-batch)
26930 (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
26931 (tramp--test-windows-nt-or-smb-p): Rename from
26932 `tramp--test-smb-windows-nt-p'. Adapt callees.
26933 (tramp--test-check-files): Improve checks for environment variables.
26934 (tramp-test33-special-characters)
26935 (tramp-test33-special-characters-with-stat)
26936 (tramp-test33-special-characters-with-perl)
26937 (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
26938 (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
26939 (tramp-test34-utf8-with-ls): Add more checks for skip.
26941 2016-12-17 Eli Zaretskii <eliz@gnu.org>
26945 * src/thread.h (struct thread_state): Fix comments.
26946 * src/process.c (wait_reading_process_output): Fix a typo in
26949 2016-12-17 Eli Zaretskii <eliz@gnu.org>
26951 Repair desktop restoration on text terminals
26953 * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
26954 frame here, instead of in desktop-restoring-frameset. That's
26955 because desktop-read wants to know whether frameset will actually
26956 be restored, and has fallback procedures up its sleeve when it
26957 won't be; these fallbacks need to be invoked when the frameset is
26958 not going to be restored. (Bug#24298)
26960 2016-12-17 Eli Zaretskii <eliz@gnu.org>
26962 Fix crashes on MS-Windows during dumping
26964 * src/unexw32.c (get_section_info): Make extra_bss_size be the
26965 maximum of extra_bss_size and extra_bss_size_static. This avoids
26966 computing the size of the output file smaller than it actually
26967 needs to be, which then causes copy_executable_and_dump_data to
26968 write beyond the requested size of the file mapping, thus relying
26969 on the OS roundup to page boundary to save us from ourselves. See
26970 http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00642.html
26973 * lib/stdio-impl.h: Revert the workaround fix of not including
26976 2016-12-17 Dmitry Gutov <dgutov@yandex.ru>
26978 Ignore forward-sexp-function in js-mode indentation code
26980 * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
26981 (js--maybe-goto-declaration-keyword-end):
26982 Bind forward-sexp-function to nil (bug#25215).
26984 2016-12-16 Mark Oteiza <mvoteiza@udel.edu>
26986 Be more selective clearing the image cache
26988 * lisp/image-dired.el (image-dired-create-thumbs):
26989 (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
26990 the current thumbnail file from the image cache.
26992 2016-12-16 Eli Zaretskii <eliz@gnu.org>
26994 Unbreak the MinGW build
26996 * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h. Without
26997 this, temacs crashes while dumping.
26999 2016-12-16 Nicolas Petton <nicolas@petton.fr>
27001 Make seq-into return the sequence when no conversion needed
27003 * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
27004 no conversion is needed.
27005 * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
27006 a regression test checking for identity.
27008 2016-12-16 Eli Zaretskii <eliz@gnu.org>
27010 Improve documentation of 'define-coding-system'
27012 * lisp/international/mule.el (define-coding-system): Warn against
27013 possible infinite recursion in pre-write-conversion and
27014 post-read-conversion functions. (Bug#25203)
27016 2016-12-16 Mark Oteiza <mvoteiza@udel.edu>
27018 New commands image-scroll-left and image-scroll-right
27020 * etc/NEWS: Mention them.
27021 * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
27024 2016-12-16 Mark Oteiza <mvoteiza@udel.edu>
27026 More image-dired refactoring
27028 * lisp/image-dired.el (image-dired-thumbnail-mode):
27029 (image-dired-display-image-mode): Add :group 'image-dired so
27030 customize-mode works.
27031 (image-dired-display-image): Rearrange.
27032 (image-dired-copy-with-exif-file-name): This map is for side effect.
27033 (image-dired-dired-edit-comment-and-tags): Just use #'identity.
27035 2016-12-16 Mark Oteiza <mvoteiza@udel.edu>
27037 * lisp/image-dired.el: Turn on lexical-binding.
27039 2016-12-16 Mark Oteiza <mvoteiza@udel.edu>
27041 Teach image-dired to also generate large thumbs
27043 * lisp/image-dired.el (image-dired-thumbnail-storage): Add
27044 standard-large option.
27045 (image-dired-thumb-size): Add condition for standard-large storage.
27046 (image-dired-insert-thumbnail): Check for new option. Change
27047 thumbnail path conditionally.
27048 (image-dired-thumb-size): New function.
27049 (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
27051 2016-12-15 Paul Eggert <eggert@cs.ucla.edu>
27056 2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
27057 2016-12-12 fpending: port to native Windows with MSVC
27058 * .gitignore: Do not ignore lib/stdio-impl.h.
27059 * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
27061 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
27062 * lib/stdio-impl.h:
27063 New file, copied from gnulib.
27064 * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
27066 2016-12-15 Paul Eggert <eggert@cs.ucla.edu>
27068 * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
27071 2016-12-15 Mark Oteiza <mvoteiza@udel.edu>
27073 Don't abuse princ and spam messages
27075 * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
27076 (image-dired-display-thumb-properties):
27077 (image-dired-dired-display-properties): Nix princ. Bind
27078 message-log-max to nil.
27080 2016-12-15 Mark Oteiza <mvoteiza@udel.edu>
27082 Inherit things from special-mode and image-mode
27084 * lisp/image-dired.el: Require image-mode library.
27085 (image-dired-thumbnail-mode-map): Remove superfluous binding.
27086 (image-dired-display-image-mode-map): Remove superfluous binding.
27087 Add movement remaps from image-mode-map.
27088 (image-dired-thumbnail-mode): Derive from special-mode.
27089 (image-dired-display-image-mode): Derive from special-mode. Call
27090 image-mode-setup-winprops.
27092 2016-12-15 Mark Oteiza <mvoteiza@udel.edu>
27094 Fix some image-dired customization types
27096 * lisp/image-dired.el (image-dired): Add info link to defgroup.
27097 (image-dired-dir, image-dired-gallery-dir): Set type to directory.
27098 (image-dired-db-file, image-dired-temp-image-file):
27099 (image-dired-cmd-create-thumbnail-program):
27100 (image-dired-cmd-create-temp-image-program):
27101 (image-dired-cmd-rotate-thumbnail-program):
27102 (image-dired-cmd-rotate-original-program):
27103 (image-dired-temp-rotate-image-file):
27104 (image-dired-cmd-write-exif-data-program):
27105 (image-dired-cmd-read-exif-data-program): Set type to file.
27106 (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
27107 type at runtime, since setting image-dired-thumb-size does not
27108 automatically set image-dired-thumb-width and image-dired-thumb-height.
27110 2016-12-15 Eli Zaretskii <eliz@gnu.org>
27112 Prevent crashes in xg_select due to concurrency
27114 * src/xgselect.c (xg_select): Don't call Glib functions that use
27115 'context' if we failed to acquire it. This means some other
27116 thread owns the context, in which case both using the context and
27117 calling block_input/unblock_input will step on that thread's toes
27118 and eventually lead to crashes. (Bug#25172)
27120 2016-12-15 Nicolas Petton <nicolas@petton.fr>
27122 Fix circular list handling in seq-mapn
27124 * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
27125 * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
27126 Add a regression test.
27128 2016-12-15 Michael Albinus <michael.albinus@gmx.de>
27130 Check in tramp-tests.el, that environment variables are set correctly
27132 * test/lisp/net/tramp-tests.el (tramp--test-check-files):
27133 Check also, that environment variables are set correctly.
27135 2016-12-15 Dominique Quatravaux <dominique.quatravaux@epfl.ch> (tiny change)
27137 Protect environment variables with double quotes in Tramp
27139 * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
27140 Protect environment variables with double quotes.
27142 2016-12-15 Tino Calancha <tino.calancha@gmail.com>
27144 * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
27146 2016-12-15 Mark Oteiza <mvoteiza@udel.edu>
27148 * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
27150 2016-12-14 Mark Oteiza <mvoteiza@udel.edu>
27152 * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
27154 2016-12-14 Mark Oteiza <mvoteiza@udel.edu>
27156 Recognize pngnq or pngnq-s9
27158 * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
27159 pngnq-s9 as a possible executable.
27161 2016-12-14 Mark Oteiza <mvoteiza@udel.edu>
27163 Update standard image-dired thumbnail location
27165 * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
27166 standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
27168 2016-12-14 Mark Oteiza <mvoteiza@udel.edu>
27170 Reset window scroll when displaying an image
27172 When viewing a large image full size and scrolling, for instance, to
27173 the lower right corner, then selecting a much smaller image in the
27174 thumbnail buffer, the window stays scrolled so the new image is out of
27175 the window. One must scroll back to the "origin" to view the new
27176 displayed image, or just kill the image-dired-display-image buffer and
27177 try again. This fixes the issue.
27178 * lisp/image-dired.el (image-dired-display-window-width):
27179 (image-dired-display-window-height): Operate on a window as argument.
27180 (image-dired-display-image): Bind (image-dired-display-window) and use
27181 it. Set window vscroll and hscroll to zero when refreshing the
27184 2016-12-14 Mark Oteiza <mvoteiza@udel.edu>
27186 More image-dired polish
27188 * lisp/image-dired.el (image-dired-file-name-at-point): New function.
27189 (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
27190 undo list. Add image-dired-file-name-at-point to
27191 file-name-at-point-functions to facilitate find-file and friends.
27192 (image-dired-thumbnail-display-external):
27193 (image-dired-dired-display-external): Use start-process instead, to
27194 avoid needlessly blocking and using a shell.
27196 2016-12-13 Phillip Lord <phillip.lord@russet.org.uk>
27198 Replace ldefs-boot with a much smaller file
27200 * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
27201 (bootstrap): Depend on bootstrap-build.
27202 * admin/ldefs-clean.el: New file.
27203 * lisp/Makefile.in (compile-first): Depend on loaddefs.el
27204 * lisp/ldefs-boot.el: Remove.
27205 * lisp/ldefs-boot-auto.el: New file.
27206 * lisp/ldefs-boot-manual.el: New file.
27207 * lisp/loadup.el: Load ldefs-boot-manual.el.
27208 * src/emacs.c (generating_ldefs_boot): New variable.
27209 (main): Check whether we are generating ldefs.
27210 * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
27212 * src/lisp.h (generating_ldefs_boot): New variable.
27213 * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
27214 lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
27215 lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
27217 * admin/update_autogen: Alter mechanism for ldefs-boot generation.
27219 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27221 Remove support for aspell < 0.60 (from 2004)
27223 lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
27224 (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
27226 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27228 Minor docstring and comment fixes to ispell.el
27230 lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
27231 ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
27232 (ispell-set-spellchecker-params): Change double-single quotes to
27233 single single quotes in comment.
27235 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27237 Remove unused variable
27239 * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
27241 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27243 Remove XEmacs-specific ispell-with-no-warnings
27245 * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
27246 defmacro, needed only for XEmacs.
27247 (ispell-command-loop, ispell-message): Use with-no-warnings directly.
27249 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27251 Remove meaningless defconst ispell-version
27253 * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
27254 firmly part of Emacs, and the version hasn’t changed since 2003, and
27255 isn’t used anywhere, remove it. 3rd-party code can better use the
27256 Emacs version, or feature or function checks.
27257 (ispell-check-version): No longer report ispell.el version.
27259 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27261 Remove boundp test for always-bound symbol
27263 * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
27264 defvar’d at the top of the file, so remove a test to see if it is
27267 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27269 Remove support for ispell < 3.1.12
27271 * lisp/textmodes/ispell.el (ispell-offset): Remove.
27272 (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
27273 (ispell-process-line): No longer use ispell-offset.
27275 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27277 Remove unused constant
27279 * lisp/textmodes/ispell.el (ispell-required-version): Remove.
27281 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27283 Remove support for old versions of supercite and GNUS from ispell.el
27285 * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
27286 and GNUS >= 5. Not exactly the bleeding edge!
27288 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27290 Remove remaining mentions of XEmacs from ispell.el
27292 * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
27293 (ispell-add-per-file-word-list): Remove mentions of XEmacs from
27296 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27298 Remove XEmacs-specific minibuffer handling code from ispell.el
27300 * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
27303 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27305 Remove XEmacs-specific horizontal scrollbar handling in ispell.el
27307 * lisp/textmodes/ispell.el (ispell-command-loop): Remove
27308 XEmacs-specific code.
27310 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27312 Remove XEmacs-specific code dealing with enable-multibyte-characters
27314 * lisp/textmodes/ispell.el (ispell-decode-string):
27315 (ispell-init-process): Remove XEmacs-specific guard.
27317 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27319 Remove XEmacs-specific code from ispell.el
27321 * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
27322 (ispell-menu-map-needed): Remove XEmacs-specific check.
27323 (ispell-word): Remove XEmacs-specific extent code.
27324 (ispell-init-process): Remove XEmacs workaround for local add-hook.
27325 Assume we have set-process-query-on-exit-flag.
27326 (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
27327 workaround for called-interactively-p.
27329 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27331 Remove some commented-out code
27333 lisp/textmodes/ispell.el (ispell-process)
27334 ispell-valid-dictionary-list): Remove commented-out code.
27336 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27338 Remove XEmacs and old Emacs highlighting code
27340 * lisp/textmodes/ispell.el
27341 (ispell-highlight-spelling-error-xemacs): Remove.
27342 (ispell-highlight-spelling-error): Assume display-color-p exists.
27344 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27346 Assume Emacs supports [:alpha:] in regexps
27348 * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
27349 (ispell-set-spellchecker-params): Remove tests of
27350 ispell-emacs-alpha-regexp.
27352 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27354 Remove some XEmacs-specific code from ispell.el
27356 * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
27357 (ispell-int-char): Remove.
27359 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27361 Generalise over-specific documentation
27363 * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
27364 document precise personal wordlist filenames for only two supported
27365 spelling checkers, simply say that the default personal dictionary
27366 depends on the chosen spelling checker. The user can check the
27367 spelling checker’s documentation if necessary. This is simpler, and
27368 works for other supported (and future, or unknown) spelling checkers.
27370 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27372 Remove tests for built-in functions
27374 * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
27375 back-up definition.
27376 (ispell-add-per-file-word-list): Remove tests for comment-padright and
27377 comment-normalize-vars.
27379 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27381 Remove unused ispell-looking-back
27383 * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
27385 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27387 Assume we have version<= for checking ispell version
27389 * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
27390 (ispell-check-version): Use version<= directly.
27392 2016-12-13 Reuben Thomas <rrt@sc3d.org>
27394 Remove ispell.el pre-GNU Emacs comments
27396 * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
27397 details, as Emacs version, bug report address and so forth should be
27398 used instead for this version. Remove in-line change history; use
27401 2016-12-13 Mark Oteiza <mvoteiza@udel.edu>
27403 More small fixes for image-dired
27405 * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
27407 (image-dired--with-db-file): Add declare forms.
27408 (image-dired-hidden-p): Rewrite with cl-loop. It's not necessary to
27409 run through the whole list.
27411 2016-12-13 Mark Oteiza <mvoteiza@udel.edu>
27413 Remove image-dired-kill-buffer-and-window
27415 This breaks window layout, especially when quitting a
27416 image-dired-display-image-mode buffer.
27417 * lisp/image-dired.el (image-dired-thumbnail-mode-map):
27418 (image-dired-display-image-mode-map): Replace in keymap and menu items
27419 bindings to image-dired-kill-buffer-and-window with quit-window.
27420 (image-dired-kill-buffer-and-window): Remove.
27422 2016-12-13 Mark Oteiza <mvoteiza@udel.edu>
27424 Replace image-dired-setup-dired-keybindings with a minor mode
27426 * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
27427 remove mention of nonexistent image-dired-dired and to refer to the
27429 (image-dired-minor-mode-map): New keymap assimilated from
27430 image-dired-setup-dired-keybindings. In the future, the keymap parent
27431 should be removed, and perhaps also the duplicate bindings that
27432 already exist in dired-mode-map.
27433 (image-dired-setup-dired-keybindings): Remove. Replace with an
27434 obsolete function alias.
27435 (image-dired-minor-mode): New minor mode, assuming the role of
27436 image-dired-setup-dired-keybindings.
27438 2016-12-13 Paul Eggert <eggert@cs.ucla.edu>
27440 * test/src/regex-resources/PTESTS: Convert to UTF-8.
27442 2016-12-13 Noam Postavsky <npostavs@gmail.com>
27444 Clarify thread-signal semantics
27446 * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
27447 thread will be signaled as soon as possible.
27449 2016-12-13 Noam Postavsky <npostavs@gmail.com>
27451 Clean up var watcher disabling on thread switching
27453 * src/data.c (Fset_default): Move code into new C level function,
27454 `set_default_internal'.
27455 (set_default_internal): New function, like `Fset_default' but also takes
27456 additional bindflag parameter.
27457 (set_internal): Only call `notify_variable_watchers' if bindflag is not
27458 SET_INTERNAL_THREAD_SWITCH.
27459 * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
27460 passed on to set_internal and set_default_internal. Adjust callers.
27461 (rebind_for_thread_switch, unbind_for_thread_switch): Pass
27462 SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
27463 temporarily adjusting symbol's trapped_write field.
27465 2016-12-13 Glenn Morris <rgm@gnu.org>
27467 Minor fix for define-derived-mode
27469 * lisp/emacs-lisp/derived.el (define-derived-mode):
27470 Do not let eg eval-defun reset the values of syntax or abbrev tables,
27471 since they might have been defined externally. (Bug#16160)
27473 2016-12-12 Paul Eggert <eggert@cs.ucla.edu>
27475 * build-aux/git-hooks/pre-commit: Add whitespace comment.
27477 2016-12-12 Clément Pit--Claudel <clement.pitclaudel@live.com>
27479 Move backtrace to ELisp using a new mapbacktrace primitive
27481 * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
27482 (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
27483 (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
27485 * lisp/subr.el (backtrace--print-frame): New function.
27486 (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
27487 (backtrace-frame): Reimplement using `backtrace-frame--internal'.
27489 * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
27490 `mapbacktrace' instead of searching for "(debug" in the output of
27493 * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
27494 (subr-test-backtrace-integration-test): New tests.
27496 * doc/lispref/debugging.texi (Internals of Debugger): Document
27497 `mapbacktrace' and missing argument BASE of `backtrace-frame'.
27499 2016-12-12 Paul Eggert <eggert@cs.ucla.edu>
27501 Use C99 syntax for font drivers
27503 Problem reported by Daniel Colascione in:
27504 http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00515.html
27505 * src/ftcrfont.c (ftcrfont_driver):
27506 * src/ftfont.c (ftfont_driver):
27507 * src/ftxfont.c (ftxfont_driver):
27508 * src/macfont.m (macfont_driver):
27509 * src/nsfont.m (nsfont_driver):
27510 * src/xfont.c (xfont_driver):
27511 * src/xftfont.c (xftfont_driver):
27512 Use C99 syntax, not the old GNU C syntax.
27514 2016-12-12 Glenn Morris <rgm@gnu.org>
27518 * lisp/gs.el: Move to lisp/obsolete. (Bug#1524)
27519 * doc/lispref/display.texi (Image Formats): Remove postscript.
27520 (PostScript Images): Remove section.
27521 * doc/lispref/elisp.texi: Update menu.
27523 2016-12-12 Glenn Morris <rgm@gnu.org>
27525 Un-revert recent Ffset change
27527 * src/data.c (Ffset): Reinstate the check for "nil".
27529 2016-12-12 Glenn Morris <rgm@gnu.org>
27531 Minor advice.el fix
27533 * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
27534 Avoid setting the function definition of nil.
27535 This was happening during bootstrap of org-compat.el,
27536 apparently due to eager macro expansion of code behind
27537 a (featurep 'xemacs) test.
27539 2016-12-12 Eli Zaretskii <eliz@gnu.org>
27541 Make etags-tests work in out-of-tree builds
27543 * test/lisp/progmodes/etags-tests.el (etags-bug-158)
27544 (etags-bug-23164): Make them work in an out-of-tree build.
27545 Reported by Ken Brown <kbrown@cornell.edu>.
27547 2016-12-12 Eli Zaretskii <eliz@gnu.org>
27549 Avoid crashing if a new thread is signaled right away
27551 * src/thread.c (post_acquire_global_lock): Don't raise the pending
27552 signal if the thread's handlers were not yet set up, as that will
27553 cause Emacs to exit with a fatal error. This can happen if a
27554 thread is signaled as soon as make-thread returns, before the new
27555 thread had an opportunity to acquire the global lock, set up the
27556 handlers, and call the thread function.
27558 * test/src/thread-tests.el (thread-signal-early): New test.
27560 2016-12-12 Eli Zaretskii <eliz@gnu.org>
27562 Fix point motion in cloned buffers
27564 * src/thread.c (post_acquire_global_lock): Call
27565 set_buffer_internal_2 instead of tricking set_buffer_internal_1
27566 into resetting the current buffer even if it didn't change. This
27567 avoids bug#25165, caused by failing to record the modified values
27568 of point and mark, because current_buffer was set to NULL. Also,
27569 don't bother re-setting the buffer if there was no thread switch,
27570 as that just wastes cycles.
27571 * src/buffer.c (set_buffer_internal_2): New function, with most of
27572 the body of set_buffer_internal_1, but without the test for B
27573 being identical to the current buffer.
27574 (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
27575 identical to the current buffer.
27576 * src/buffer.h (set_buffer_internal_2): Add prototype.
27578 * test/src/thread-tests.el (thread-sticky-point): New test.
27580 2016-12-12 Michael Albinus <michael.albinus@gmx.de>
27582 Further improvements in Tramp's file name unquoting
27584 * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
27585 (tramp-adb-handle-write-region): Unquote localname.
27586 (tramp-adb-handle-copy-file): Implement direct copy on remote device.
27587 (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
27589 * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
27590 (tramp-handle-file-name-case-insensitive-p):
27591 * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
27592 (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
27593 (tramp-gvfs-maybe-open-connection):
27594 * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
27595 * lisp/net/tramp-smb.el (tramp-smb-get-share)
27596 (tramp-smb-get-localname): Use it.
27598 * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
27599 (tramp--test-special-characters, tramp-test34-utf8)
27600 (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
27601 (tramp-test34-utf8-with-ls): Use it.
27603 2016-12-12 Martin Rudalics <rudalics@gmx.at>
27605 Strengthen conditions for resizing sibling windows (Bug#25169)
27607 * lisp/window.el (window-resize, delete-window): Resize other siblings
27608 only if `window-combination-resize' equals t (Bug#25169).
27610 2016-12-12 Noam Postavsky <npostavs@gmail.com>
27612 Quote filenames containing '~' in prompts
27614 When in a directory named '~', the default value given by
27615 `read-file-name' should be quoted by prepending '/:', in order to
27616 prevent it from being interpreted as referring to the $HOME
27617 directory (Bug#16984).
27619 * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
27620 (completion--sifn-requote, read-file-name-default): Use it instead of
27621 `minibuffer--double-dollars'.
27622 * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
27624 2016-12-11 Eli Zaretskii <eliz@gnu.org>
27626 Undo part of last change
27630 * src/keyboard.h: Undo part of last change:
27631 input_available_clear_time is again a global variable.
27633 2016-12-11 Eli Zaretskii <eliz@gnu.org>
27635 Avoid aborts when a thread signals an error
27637 * src/thread.h (struct thread_state): Add members
27638 m_waiting_for_input and m_input_available_clear_time.
27639 (waiting_for_input, input_available_clear_time): New macros.
27640 * src/keyboard.c (waiting_for_input, input_available_clear_time):
27641 Remove; they are now macros that reference the current thread.
27643 * src/w32select.c: Don't include keyboard.h.
27645 * test/src/thread-tests.el (thread-errors): New test.
27647 2016-12-11 Philipp Stephani <phst@google.com>
27649 Clean up compile-tests.el
27651 Switch to lexical binding. Make checkdoc happy.
27653 * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
27654 (compile-test-error-regexps): Instead of checking a single Boolean
27655 value, use `should' for each attribute of the message to be compared.
27656 (compile-tests--test-regexps-data): Document sixth list element
27659 2016-12-11 Michael Albinus <michael.albinus@gmx.de>
27663 * doc/emacs/files.texi (Reverting): Document
27664 auto-revert-remote-files and auto-revert-verbose.
27666 * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
27667 (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
27669 2016-12-11 Glenn Morris <rgm@gnu.org>
27671 Fix a typo in define-abbrev-table
27673 * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
27675 2016-12-11 Glenn Morris <rgm@gnu.org>
27677 Improve previous cperl-mode change
27679 * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
27680 Improve previous change.
27682 2016-12-11 Glenn Morris <rgm@gnu.org>
27684 Mark default cperl abbrevs as system ones
27686 * lisp/progmodes/cperl-mode.el (cperl-mode):
27687 Mark our abbrevs as system ones. (Bug#10934)
27689 2016-12-11 Glenn Morris <rgm@gnu.org>
27691 Revert earlier Ffset change
27693 * src/data.c (Ffset): Allow nil again, since it caused
27694 eager macro-expansion failures.
27696 2016-12-11 Glenn Morris <rgm@gnu.org>
27698 Tweaks for message bogus address detection
27700 * lisp/gnus/message.el (message-bogus-recipient-p):
27701 Do not require "@", since some mailers deliver to local addresses
27702 without one. (Bug#23054)
27703 Move "@.*@" from here...
27704 (message-bogus-addresses): ...to here, so it can be customized.
27706 2016-12-11 Glenn Morris <rgm@gnu.org>
27708 Do not allow nil to be defined as a function
27710 * lisp/emacs-lisp/byte-run.el (defun):
27711 * src/data.c (Ffset): Do not allow "nil". (Bug#25110)
27713 2016-12-11 Glenn Morris <rgm@gnu.org>
27715 Bump makeinfo requirement from 4.7 to 4.13
27717 * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
27718 We need at least 4.8, and that may be buggy, so go for the last
27719 of the 4 series, which is 8 years old. (Bug#25108)
27721 2016-12-11 Glenn Morris <rgm@gnu.org>
27723 Fixes related to select-enable-clipboard
27725 * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
27726 (clipboard-kill-region):
27727 * lisp/eshell/esh-io.el (eshell-virtual-targets)
27728 (eshell-clipboard-append):
27729 Replace option gui-select-enable-clipboard with
27730 select-enable-clipboard; renamed October 2014. (Bug#25145)
27732 2016-12-11 Nicolas Richard <theonewiththeevillook@yahoo.fr>
27734 Add some sanity checking of defun arglist
27736 * lisp/emacs-lisp/byte-run.el (defun):
27737 Check for malformed argument lists. (Bug#15715)
27739 2016-12-11 Matt Armstrong <marmstrong@google.com> (tiny change)
27741 Minor shell-mode fix for zsh
27743 * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
27744 becoming confused by zsh abbreviations. (Bug#24632)
27746 2016-12-10 Noam Postavsky <npostavs@gmail.com>
27748 Define struct predicate before acccesors
27750 The accessor functions use the predicate function, which causes problems
27751 when reloading after unload-feature: the compiler-macro property is
27752 still present on the predicate symbol, and the compiler fails to find
27753 the definition when trying to inline it into the accessor
27754 function (Bug#25088).
27756 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
27757 before field accessor definitions.
27759 2016-12-10 Andreas Schwab <schwab@linux-m68k.org>
27761 * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
27764 2016-12-10 Eli Zaretskii <eliz@gnu.org>
27766 Support concurrency in Emacs Lisp
27768 Merge branch 'test-concurrency'
27773 * src/systhread.h: New files.
27774 * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
27775 xnmalloc unconditionally.
27776 * src/window.c (struct save_window_data): Rename current_buffer to
27778 * src/w32proc.c (sys_select): Change the function signature to
27779 closer fit 'pselect' on Posix hosts.
27781 * src/regex.h: Convert some globals to macros that reference
27782 thread-specific values.
27783 * src/process.c (pset_thread, add_non_keyboard_read_fd)
27784 (add_process_read_fd, add_non_blocking_write_fd)
27785 (recompute_input_desc, compute_input_wait_mask)
27786 (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
27787 (compute_write_mask, clear_waiting_thread_info)
27788 (update_processes_for_thread_death, Fset_process_thread)
27789 (Fprocess_thread): New functions.
27790 (enum fd_bits): New enumeration.
27791 (fd_callback_data): Add 'thread' and 'waiting_thread', rename
27792 'condition' to 'flags'.
27793 (set_process_filter_masks, create_process, create_pty)
27794 (Fmake_serial_process, finish_after_tls_connection)
27795 (connect_network_socket, deactivate_process)
27796 (server_accept_connection, wait_reading_process_output)
27797 (Fcontinue_process, Fstop_process, keyboard_bit_set)
27798 (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
27799 (delete_keyboard_wait_descriptor): Use the new functions instead
27800 of manipulating fd flags and masks directly.
27801 (syms_of_process): Defsubr the new primitives.
27802 * src/print.c (print_object): Print threads, mutexes, and
27803 conditional variables.
27804 * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
27806 (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
27807 (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
27808 (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
27809 (struct handler): Add back byte_stack. Rename lisp_eval_depth to
27811 * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
27812 (rebind_for_thread_switch, do_one_unbind)
27813 (unbind_for_thread_switch): New functions.
27814 (init_eval): 'handlerlist' is not malloc'ed.
27815 (specbind): Call do_specbind.
27816 (unbind_to): Call do_one_unbind.
27817 (mark_specpdl): Accept 2 arguments.
27818 (mark_specpdl): Mark the saved value in a let-binding.
27819 * src/emacs.c (main): Call init_threads_once, init_threads, and
27821 * src/data.c (Ftype_of): Support thread, mutex, and condvar
27823 (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
27824 (syms_of_data): DEFSYM and defsubr new symbols and primitives.
27825 * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
27826 (BYTE_CODE_QUIT): Add back.
27827 (exec_byte_code): Add back byte stack manipulation.
27828 * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
27829 conditional variables.
27830 (mark_stack): Now extern; accept additional argument 'bottom'.
27831 (flush_stack_call_func): New function.
27832 (garbage_collect_1): Call mark_threads and unmark_threads. Don't
27834 * src/.gdbinit (xbytecode): Add back.
27836 * test/src/thread-tests.el: New tests.
27837 * test/src/data-tests.el (binding-test-manual)
27838 (binding-test-setq-default, binding-test-makunbound)
27839 (binding-test-defvar-bool, binding-test-defvar-int)
27840 (binding-test-set-constant-t, binding-test-set-constant-nil)
27841 (binding-test-set-constant-keyword)
27842 (binding-test-set-constant-nil): New tests.
27844 * doc/lispref/processes.texi (Processes and Threads): New
27846 * doc/lispref/threads.texi: New file
27847 * doc/lispref/elisp.texi (Top): Include it.
27848 * doc/lispref/objects.texi (Thread Type, Mutex Type)
27849 (Condition Variable Type): New subsections.
27850 (Type Predicates): Add thread-related predicates.
27851 * doc/lispref/objects.texi (Editing Types):
27852 * doc/lispref/elisp.texi (Top): Update higher-level menus.
27854 * etc/NEWS: Mention concurrency features.
27856 2016-12-10 Eli Zaretskii <eliz@gnu.org>
27858 Fix error messages in thread.c
27860 * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
27861 (Fcondition_notify, Fthread_join): Fix error messages.
27863 2016-12-10 Eli Zaretskii <eliz@gnu.org>
27865 Improve doc strings in thread.c
27867 * src/thread.c (Fmake_condition_variable, Fcondition_wait)
27868 (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
27869 (Fthread_join, Fall_threads): Doc fixes.
27871 2016-12-10 Eli Zaretskii <eliz@gnu.org>
27873 Fix building with check-lisp-object-type
27875 * src/thread.c (mark_one_thread): Use NILP to compare with
27876 m_saved_last_thing_searched, which is a Lisp object. Reported by
27877 Andreas Politz <politza@hochschule-trier.de>.
27879 2016-12-10 Eli Zaretskii <eliz@gnu.org>
27881 Documentation and commentary improvements
27885 * src/xgselect.c (xg_select): Improve commentary and formatting.
27887 * doc/lispref/objects.texi (Thread Type, Mutex Type)
27888 (Condition Variable Type): New subsections.
27889 (Type Predicates): Add thread-related predicates.
27890 * doc/lispref/objects.texi (Editing Types):
27891 * doc/lispref/elisp.texi (Top): Update higher-level menus.
27893 2016-12-09 Michael Albinus <michael.albinus@gmx.de>
27895 Fix further problems with quoted file names in Tramp
27897 * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
27898 (tramp-unquote-name): Move defsubst ...
27899 * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
27900 (tramp-compat-file-name-quote)
27901 (tramp-compat-file-name-unquote): ... here. Adapt callees.
27903 * lisp/net/tramp-cache.el (tramp-flush-file-property)
27904 (tramp-flush-directory-property):
27905 * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
27906 * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
27907 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
27908 (tramp-smb-handle-substitute-in-file-name)
27909 (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
27911 2016-12-09 Eli Zaretskii <eliz@gnu.org>
27913 *src/sysdep.c: Fix a comment.
27915 2016-12-09 Eli Zaretskii <eliz@gnu.org>
27917 Fix compilation error on Fedora 24
27919 * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
27920 Reported by Paul Eggert <eggert@cs.ucla.edu>.
27922 2016-12-09 Eli Zaretskii <eliz@gnu.org>
27924 Fix compilation warnings due to prototype of thread_select
27926 * src/thread.h <int select_func>: Make the 5th and 6th arguments
27928 * src/process.c [WINDOWSNT]:
27929 * src/w32proc.c: Make the 5th and 6th argument to sys_select be
27932 2016-12-09 Eli Zaretskii <eliz@gnu.org>
27934 Fix compilation on Debian GNU/Linux
27936 * src/thread.h: Include sys/types.h, for ssize_t that regex.h
27937 uses. Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
27939 2016-12-09 Eli Zaretskii <eliz@gnu.org>
27941 Fix subtle errors with let-binding of localized variables
27943 * src/eval.c (do_specbind): Don't require a "symbol" that is
27944 actually a cons cell, in order to call set-default, as there are
27945 no longer such bindings. This makes do_specbind work like the
27946 pre-concurrency implementation in specbind for bindings of
27947 forwarded symbols. Use specpdl_kind to access the type of the
27949 (specpdl_kind): New function.
27951 2016-12-09 Michael Albinus <michael.albinus@gmx.de>
27953 Document file-name-quote, file-name-unquote and file-name-quoted-p
27955 * doc/lispref/files.texi (File Name Expansion):
27956 * etc/NEWS: Mention file-name-quote, file-name-unquote and
27957 file-name-quoted-p.
27959 * lisp/files.el (file-name-non-special): Revert using
27960 file-name-quote, file-name-unquote and file-name-quoted-p.
27962 2016-12-09 Noam Postavsky <npostavs@gmail.com>
27964 Fix bad quoting of python-shell-interpreter
27966 `python-shell-calculate-command' was using `shell-quote-argument' as if
27967 it was generating a shell command, but its callers don't pass the result
27968 to a shell, and they expect to parse it with `split-string-and-unquote'.
27969 This caused problems depending on the flavor of shell quoting in
27970 effect (Bug#25025).
27972 * lisp/progmodes/python.el (python-shell-calculate-command): Use
27973 `combine-and-quote-strings' to quote the interpreter, so that it can be
27974 parsed by `python-shell-make-comint' successfully using
27975 `split-string-and-unquote'.
27977 2016-12-09 Paul Eggert <eggert@cs.ucla.edu>
27979 * src/lisp.h (struct terminal): Remove unnecessary forward decl.
27981 2016-12-08 Paul Eggert <eggert@cs.ucla.edu>
27983 Make read1 more reentrant
27985 This is needed if ‘read’ is called soon after startup, before the
27986 Unicode tables have been set up, and it reads a \N escape and
27987 needs to look up a value the Unicode tables, a lookup that in turn
27988 calls read1 recursively. Although this change doesn’t make ‘read’
27989 fully reentrant, it’s good enough to handle this case.
27990 * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
27991 (grow_read_buffer): Revamp to use locals, not statics, and to
27992 record memory allocation un the specpdl. All callers changed.
27993 (read1): Start with a stack-based buffer, and use the heap
27994 only if the stack buffer is too small. Use unbind_to to
27995 free any heap buffer allocated. Use bool for boolean.
27996 Redo symbol loop so that only one call to grow_read_buffer
27998 (init_obarray): Remove no-longer-needed initialization.
28000 2016-12-08 Eli Zaretskii <eliz@gnu.org>
28002 Fix compilation warnings
28004 * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
28005 compilation warning.
28007 2016-12-08 Paul Eggert <eggert@cs.ucla.edu>
28009 Fix unlikely substitute-command-keys memory leak
28011 * src/doc.c (Fsubstitute_command_keys):
28012 Free buffer when unwinding.
28014 2016-12-08 Michael Albinus <michael.albinus@gmx.de>
28016 Add file-name-quoted-p, file-name-quote, file-name-unquote
28018 * lisp/files.el (file-name-quoted-p, file-name-quote)
28019 (file-name-unquote): New defsubst.
28020 (find-file--read-only, find-file-noselect)
28021 (file-name-non-special): Use them.
28023 2016-12-08 Eli Zaretskii <eliz@gnu.org>
28027 2016-12-08 Glenn Morris <rgm@gnu.org>
28029 Minor fix for symbol-file
28031 * lisp/subr.el (symbol-file): Avoid false matches with "require"
28032 elements in load-history. (Bug#25109)
28034 2016-12-08 Glenn Morris <rgm@gnu.org>
28038 * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
28040 2016-12-08 Tino Calancha <tino.calancha@gmail.com>
28044 * lisp/buff-menu.el (list-buffers--refresh):
28045 List buffers with name starting with " " if they visit a file.
28046 * test/lisp/buff-menu-tests.el (buff-menu-24962):
28047 Update test result as pass.
28049 2016-12-08 Tino Calancha <tino.calancha@gmail.com>
28051 ediff-fixup-patch-map: Improve prompt
28053 * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
28054 Make clear in the prompt when we are applying a multi patch.
28056 2016-12-08 Glenn Morris <rgm@gnu.org>
28058 Retain message logging in map-y-or-n-p
28060 * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
28061 Stop disabling logging to Messages buffer. (Bug#13326)
28063 2016-12-08 Glenn Morris <rgm@gnu.org>
28065 Doc fix for recent change
28067 * lisp/simple.el (region-modifiable-p): Doc fix.
28069 2016-12-08 Glenn Morris <rgm@gnu.org>
28071 Quieten make-dist default operation
28073 * make-dist: Add --verbose option. Default to quieter operation.
28075 2016-12-08 Glenn Morris <rgm@gnu.org>
28077 Further improve make-dist checking
28079 * make-dist: Print status messages when checking.
28081 2016-12-08 Glenn Morris <rgm@gnu.org>
28083 Improve previous make-dist change
28085 * make-dist: Let make check the info files more thoroughly.
28087 2016-12-08 Glenn Morris <rgm@gnu.org>
28089 Make make-dist --snapshot do some sanity checks
28091 * make-dist: Snapshot mode no longer disables checks.
28092 Checks now includes checks for freshness. (Bug#25084)
28093 Checks now exits with an error if problems were found.
28095 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28097 Fix regression introduced by commit 7b1e97f
28099 * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
28100 of cadr; required after commit 20f5a5b.
28102 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28104 Put post-25 ChangeLog entries into ChangeLog.3
28106 * ChangeLog.2: Copy from emacs-25 branch.
28107 * ChangeLog.3: New file, with changes only in master.
28108 * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
28110 2016-12-07 Eli Zaretskii <eliz@gnu.org>
28112 Fix network streams.
28114 The original code messed up flags in fd_callback_data[], and also
28115 didn't call add_process_read_fd for process-related file descriptors.
28117 2016-12-07 Eli Zaretskii <eliz@gnu.org>
28119 Minimize spurious diffs from master.
28121 2016-12-06 Eli Zaretskii <eliz@gnu.org>
28125 * test/automated/bindings.el: Contents moved to
28126 test/src/data-tests.el.
28127 * test/automated/threads.el: Moved to test/src/thread-tests.el.
28129 2016-12-06 Eli Zaretskii <eliz@gnu.org>
28131 Fix a typo in bytecode.c.
28133 2016-12-05 Eli Zaretskii <eliz@gnu.org>
28135 Fix compilation problems.
28137 Fix merged code in process.c and eval.c.
28139 2016-12-04 Eli Zaretskii <eliz@gnu.org>
28141 Merge branch 'concurrency'
28143 Conflicts (resolved):
28155 2015-11-02 Eli Zaretskii <eliz@gnu.org>
28157 Fix the MS-Windows build
28159 * src/thread.h [WINDOWSNT]: Include sys/socket.h.
28161 * src/sysselect.h: Don't define fd_set and FD_* macros for
28163 * src/w32.h: Define them here.
28165 * src/process.h (sys_select): Declare prototype.
28171 * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
28172 * nt/inc/socket.h: Include w32.h instead of sysselect.h
28174 2015-11-01 Ken Raeburn <raeburn@raeburn.org>
28178 2013-10-19 Barry O'Reilly <gundaetiapo@gmail.com>
28180 * src/eval.c (unbind_for_thread_switch): Fix iteration over the
28183 2013-10-18 Tom Tromey <tromey@redhat.com>
28185 change condition-variablep to condition-variable-p
28187 2013-09-01 Eli Zaretskii <eliz@gnu.org>
28189 Fix crashes when unbind_for_thread_switch signals an error.
28191 src/eval.c (unbind_for_thread_switch): Accept a 'struct
28192 thread_state *' argument and use specpdl_ptr and specpdl of that
28193 thread. Fixes crashes if find_symbol_value signals an error.
28194 src/thread.c (post_acquire_global_lock): Update current_thread
28195 before calling unbind_for_thread_switch. Pass the previous thread
28196 to unbind_for_thread_switch.
28198 2013-08-31 Eli Zaretskii <eliz@gnu.org>
28200 Improve MS-Windows implementation of threads.
28202 src/systhread.c (sys_cond_init): Set the 'initialized' member to
28203 true only if initialization is successful. Initialize wait_count
28204 and wait_count_lock.
28205 (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
28206 'initialized' is false, do nothing.
28207 (sys_cond_wait): Fix the implementation to avoid the "missed
28208 wakeup" bug: count the waiting threads, and reset the broadcast
28209 event once the last thread was released.
28210 (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
28211 PulseEvent. Don't signal the event if no threads are waiting.
28212 (sys_cond_destroy): Only close non-NULL handles.
28213 (sys_thread_create): Return zero if unsuccessful, 1 if successful.
28214 src/systhread.h (w32thread_cond_t): New member 'initialized'.
28215 Rename waiters_count and waiters_count_lock to wait_count and
28216 wait_count_lock, respectively.
28218 2013-08-30 Eli Zaretskii <eliz@gnu.org>
28220 Enable thread support in the MS-Windows build.
28222 src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
28223 (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
28224 src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
28225 (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
28226 (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
28227 (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
28228 (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
28230 configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
28231 if pthreads is not available.
28233 2013-08-27 Tom Tromey <tromey@redhat.com>
28235 use condition-notify in the docs, not condition-signal
28237 zap until-condition docs
28239 zap until-condition
28241 rename thread-blocker to thread--blocker
28243 remove binding_symbol
28245 fix style of threadp, mutexp, and condition-variable-p
28247 make thread_check_current_buffer return bool
28249 add a comment before flush_stack_call_func
28251 fix whitespace_regexp warning
28253 2013-08-26 Eli Zaretskii <eliz@gnu.org>
28255 Fix MS-Windows build.
28262 src/w32.c: Reshuffle Windows-specific headers to avoid errors with
28263 redefinition of fd_set etc.
28264 src/process.c: Don't use num_pending_connects when
28265 NON_BLOCKING_CONNECT is not defined.
28266 src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
28268 src/w32proc.c (sys_select): Adjust the argument types to what
28271 nt/inc/sys/socket.h: Include stdint.h. Include sysselect.h instead
28274 2013-08-26 Tom Tromey <tromey@redhat.com>
28276 use record_unwind_protect_void, avoid warning
28278 implement --enable-threads and a thread-less mode
28280 2013-08-25 Tom Tromey <tromey@redhat.com>
28284 2013-08-20 Tom Tromey <tromey@redhat.com>
28286 fix up some merge errors in process.c
28288 remove a dead function
28289 clean up a fixme I added in create_pty during the merge
28291 2013-08-20 Tom Tromey <tromey@redhat.com>
28295 2013-07-26 Tom Tromey <tromey@redhat.com>
28299 2013-07-13 Tom Tromey <tromey@redhat.com>
28303 2013-07-12 Tom Tromey <tromey@redhat.com>
28305 Use thread_alive_p in a couple more spots
28307 2013-07-07 Tom Tromey <tromey@redhat.com>
28309 fix xfree bug in run_thread
28311 this fixes run_thread to account for the dummy slot
28314 2013-07-07 Tom Tromey <tromey@redhat.com>
28318 this merges frmo trunk and fixes various build issues.
28319 this needed a few ugly tweaks.
28320 this hangs in "make check" now
28322 2013-07-06 Tom Tromey <tromey@redhat.com>
28324 add assertion to flush_stack_call_func
28326 functions called via flush_stack_call_func are assumed
28327 to return with the global lock held again, and with
28328 current_thread reset. this assertion verifies part of this
28330 2013-07-06 Tom Tromey <tromey@redhat.com>
28332 call init_primary_thread from init_threads
28334 2013-07-05 Tom Tromey <tromey@redhat.com>
28338 avoid SAFE_ALLOCA in xgselect.c.
28339 in this code it is just as easy to always use malloc;
28340 and it avoids thread-switching problems, as the safe-alloca
28341 stuff implicitly refers to the current thread
28343 2013-07-05 Tom Tromey <tromey@redhat.com>
28345 avoid current_thread sometimes
28347 this tweaks thread.c to use 'self' instead of current_thread
28348 in a couple spots. this is clearer and more robust
28350 2013-07-05 Tom Tromey <tromey@redhat.com>
28352 initialize saved_value
28354 initialize the saved_value field in all needed cases
28355 also, add an assertion to do_one_unbind
28357 2013-07-04 Tom Tromey <tromey@redhat.com>
28359 fix buglet in test case
28361 2013-07-04 Tom Tromey <tromey@redhat.com>
28363 unlink thread later
28365 unlink thread from global list later
28366 also remove some unnecessary destruction code
28368 2013-07-04 Tom Tromey <tromey@redhat.com>
28370 introduce thread_alive_p macro
28372 This introduces the thread_alive_p macro and changes
28373 thread-alive-p to use it. This is a minor cleanup.
28374 It also changes all-threads to ignore dead threads.
28376 2013-07-03 Tom Tromey <tromey@redhat.com>
28378 Don't call unbind_for_thread_switch in run_thread
28380 This removes the call to unbind_for_thread_switch from run_thread.
28381 This isn't necessary because acquire_global_lock does it properly.
28383 2013-07-03 Tom Tromey <tromey@redhat.com>
28385 remove unused field from struct thread_state
28389 2013-06-13 Tom Tromey <tromey@redhat.com>
28393 2013-06-06 Tom Tromey <tromey@redhat.com>
28395 fix a few latent issues in the thread patch
28397 * we called unbind_for_thread_switch unconditionally, but this
28398 is wrong if the previous thread exited
28399 * likewise, exiting a thread should clear current_thread
28400 * redundant assignment in run_thread
28401 * clean up init_threads - no need to re-init the primary thread
28403 This patch still sometimes causes weird hangs in "make check".
28404 However, I think that is a kernel bug, since Emacs enters the zombie
28405 state but its parent process hangs in wait. This shouldn't happen.
28407 2013-06-04 Tom Tromey <tromey@redhat.com>
28409 update eval.c to make it build again after the merge
28411 2013-06-03 Tom Tromey <tromey@redhat.com>
28413 merge from trunk; clean up some issues
28415 2013-03-18 Tom Tromey <tromey@redhat.com>
28417 don't let kill-buffer kill a buffer if it is current in any thread
28419 2013-03-18 Tom Tromey <tromey@redhat.com>
28423 Fix some process-related bugs, mostly thinkos from the conversion to
28424 recording fd state as flags.
28425 This now passes the test suite without hanging.
28427 2013-03-17 Tom Tromey <tromey@redhat.com>
28431 2013-03-08 Tom Tromey <tromey@redhat.com>
28435 2013-01-16 Tom Tromey <tromey@redhat.com>
28439 2013-01-06 Tom Tromey <tromey@redhat.com>
28443 2012-12-23 Tom Tromey <tromey@redhat.com>
28445 mention let bindings and lack of other ways to rewind
28447 2012-12-17 Tom Tromey <tromey@redhat.com>
28449 Remove bit accidentally left over from the merge
28453 2012-09-04 Tom Tromey <tromey@redhat.com>
28457 link from thread docs to match data
28459 2012-08-27 Tom Tromey <tromey@redhat.com>
28461 cannot thread-join the current thread
28463 fix test suite for condition-variable-p name change
28465 add tests for variable bindings
28467 2012-08-25 Tom Tromey <tromey@redhat.com>
28469 minor update to thread-join docs
28471 2012-08-24 Tom Tromey <tromey@redhat.com>
28473 minor documentation updates
28475 2012-08-23 Tom Tromey <tromey@redhat.com>
28477 document until-condition
28479 first draft of threads documentation
28481 rename condition-variablep to condition-variable-p
28483 document process-thread and set-process-thread
28485 2012-08-20 Tom Tromey <tromey@redhat.com>
28487 pass the thread name to the OS if possible
28489 use prctl to pass the thread name to the OS, if possible
28491 2012-08-20 Tom Tromey <tromey@redhat.com>
28493 add convenience macros with-mutex and until-condition
28495 with-mutex is a safe way to run some code with a mutex held.
28496 until-condition is a safe way to wait on a condition variable.
28498 2012-08-20 Tom Tromey <tromey@redhat.com>
28502 2012-08-19 Tom Tromey <tromey@redhat.com>
28504 another docstring fixlet
28506 minor docstring fixup
28508 add condition-mutex and condition-name
28510 ensure name of a thread is a string
28512 ensure name of a mutex is a string
28516 2012-08-19 Tom Tromey <tromey@redhat.com>
28518 condition variables
28520 This implements condition variables for elisp.
28521 This needs more tests.
28523 2012-08-19 Tom Tromey <tromey@redhat.com>
28527 2012-08-19 Tom Tromey <tromey@redhat.com>
28529 refactor systhread.h
28531 This refactors systhread.h to move the notion of a "lisp mutex"
28532 into thread.c. This lets us make make the global lock and
28533 post_acquire_global_lock static.
28535 2012-08-17 Tom Tromey <tromey@redhat.com>
28537 write docstrings for the thread functions
28539 declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
28541 2012-08-15 Tom Tromey <tromey@redhat.com>
28543 add test case for I/O switching
28545 2012-08-15 Tom Tromey <tromey@redhat.com>
28549 This changes wait_reading_process_output to handle threads better. It
28550 introduces a wrapper for select that releases the global lock, and it
28551 ensures that only a single thread can select a given file descriptor
28554 This also adds the thread-locking feature to processes. By default a
28555 process can only have its output accepted by the thread that created
28556 it. This can be changed using set-process-thread. (If the thread
28557 exits, the process is again available for waiting by any thread.)
28559 Note that thread-signal will not currently interrupt a thread blocked
28560 on select. I'll fix this later.
28562 2012-08-15 Tom Tromey <tromey@redhat.com>
28564 Prepare process.c for threads by not having global select masks.
28565 The next step is to make it so selects can choose fds by thread.
28567 2012-08-15 Tom Tromey <tromey@redhat.com>
28569 fix a latent bug in process.c
28571 * src/process.c (wait_reading_process_output): Check Writeok bits,
28574 2012-08-15 Tom Tromey <tromey@redhat.com>
28576 This adds thread-blocker, a function to examine what a thread is
28577 blocked on. I thought this would be another nice debugging addition.
28579 This adds names to mutexes. This seemed like a nice debugging
28582 This adds some tests of the threading code.
28584 2012-08-15 Tom Tromey <tromey@redhat.com>
28586 This supplies the mutex implementation for Emacs Lisp.
28588 A lisp mutex is implemented using a condition variable, so that we can
28589 interrupt a mutex-lock operation by calling thread-signal on the
28590 blocking thread. I did things this way because pthread_mutex_lock
28591 can't readily be interrupted.
28593 2012-08-15 Tom Tromey <tromey@redhat.com>
28595 This adds most of the thread features visible to emacs lisp.
28597 I roughly followed the Bordeaux threads API:
28599 http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
28601 ... but not identically. In particular I chose not to implement
28602 interrupt-thread or destroy-thread, but instead a thread-signalling
28605 I'm still undecided about *default-special-bindings* (which I did not
28606 implement). I think it would be more emacs-like to capture the let
28607 bindings at make-thread time, but IIRC Stefan didn't like this idea
28608 the first time around.
28610 There are one or two semantics issues pointed out in the patch where I
28611 could use some advice.
28613 2012-08-15 Tom Tromey <tromey@redhat.com>
28615 This turns thread_state into a pseudovector and updates various bits
28618 2012-08-15 Tom Tromey <tromey@redhat.com>
28620 This introduces some new functions to handle the specpdl. The basic
28621 idea is that when a thread loses the interpreter lock, it will unbind
28622 the bindings it has put in place. Then when a thread acquires the
28623 lock, it will restore its bindings.
28625 This code reuses an existing empty slot in struct specbinding to store
28626 the current value when the thread is "swapped out".
28628 This approach performs worse than my previously planned approach.
28629 However, it was one I could implement with minimal time and
28630 brainpower. I hope that perhaps someone else could improve the code
28633 2012-08-15 Tom Tromey <tromey@redhat.com>
28635 This introduces the low-level system threading support. It also adds
28636 the global lock. The low-level support is a bit over-eager, in that
28637 even at the end of the present series, it will not all be used. I
28638 think thiat is ok since I plan to use it all eventually -- in
28639 particular for the emacs lisp mutex implementation.
28641 I've only implemented the pthreads-based version. I think it should
28642 be relatively clear how to port this to other systems, though.
28644 I'd also like to do a "no threads" port that will turn most things
28645 into no-ops, and have thread-creation fail. I was thinking perhaps
28646 I'd make a future (provide 'threads) conditional on threads actually
28649 One other minor enhancement available here is to make it possible to
28650 set the name of the new thread at the OS layer. That way gdb, e.g.,
28651 could display thread names.
28653 2012-08-15 Tom Tromey <tromey@redhat.com>
28655 This parameterizes the GC a bit to make it thread-ready.
28657 The basic idea is that whenever a thread "exits lisp" -- that is,
28658 releases the global lock in favor of another thread -- it must save
28659 its stack boundaries in the thread object. This way the boundaries
28660 are always available for marking. This is the purpose of
28661 flush_stack_call_func.
28663 I haven't tested this under all the possible GC configurations.
28664 There is a new FIXME in a spot that i didn't convert.
28666 Arguably all_threads should go in the previous patch.
28668 2012-08-15 Tom Tromey <tromey@redhat.com>
28670 This introduces a thread-state object and moves various C globals
28671 there. It also introduces #defines for these globals to avoid a
28674 The #defines mean that this patch also has to rename a few fields
28675 whose names clash with the defines.
28677 There is currently just a single "thread"; so this patch does not
28678 impact Emacs behavior in any significant way.
28680 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28682 Merge from origin/emacs-25
28684 eeecac7 Fix minor quoting problems in doc strings
28686 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28688 Merge from origin/emacs-25
28690 35ce3fb Don't assume window-point and point are the same
28692 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28694 Merge from origin/emacs-25
28696 ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change. ...
28697 8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix. (Bug#25046)
28698 c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
28699 93d8346 Improve indexing of 'man'
28701 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28703 Merge from origin/emacs-25
28705 d31298d Fix documentation of `window-combination-resize'
28706 2086f4c Typo fixes in elisp manual
28708 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28710 Merge from origin/emacs-25
28712 3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
28713 5878abf Fix 'expand-file-name' during startup on MS-Windows
28715 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28717 Merge from origin/emacs-25
28719 9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
28720 6d27423 Tweak refcard note about documentation location
28721 e46a134 Improve treatment of Fortran's "class is"
28723 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28725 Merge from origin/emacs-25
28727 93c0f51 Handle TeX comments when making new paragraph
28728 e0884f1 Restore keystroke echo in 'C-q'
28729 a6213ce Improve documentation of 'current-word'
28730 0828126 Fix a typo in an Eshell defcustom
28731 2e361c7 Minor copyedits of electric-pair-mode
28732 7499ee8 ; Minor copyedit in the Emacs manual
28733 45b652b Fix documentation of 'invocation-directory'
28734 7f43d7c * admin/authors.el (authors-aliases): Add an entry.
28735 ba48880 ; Fix pl-refcard.tex
28737 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28739 Merge from origin/emacs-25
28741 7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
28743 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28745 Merge from origin/emacs-25
28747 3d63b48 Update ChangeLog files and authors.el
28748 9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
28749 a725592 Avoid errors in shr-pixel-column due to dedicated windows
28750 3138598 Update format-time-string documentation
28752 2016-12-07 Sam Steingold <sds@gnu.org>
28754 delete-trailing-whitespace: handle read-only text in buffer
28756 * lisp/simple.el (region-modifiable-p): New function.
28757 (delete-trailing-whitespace): Us it to avoid trying to delete read-only text.
28759 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28761 Fix minor quoting problems in doc strings
28763 2016-12-07 Paul Eggert <eggert@cs.ucla.edu>
28765 Fix --enable-gcc-warnings --with-ns on Fedora
28767 * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
28768 (ALL_OBJC_CFLAGS): Use it.
28769 (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
28770 (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
28772 2016-12-07 Michael Albinus <michael.albinus@gmx.de>
28774 Fix problems in quoting Tramp file names
28776 * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
28777 (tramp-unquote-shell-quote-argument): New defun.
28778 (tramp-shell-quote-argument):
28779 * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
28780 (tramp-make-copy-program-file-name):
28781 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
28782 (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
28783 (tramp-smb-shell-quote-argument): Use it.
28785 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28787 ibuffer-map-deletion-lines: Re-included it
28789 It was deleted in previous commit, but it's referenced
28790 by the macro 'define-ibuffer-op'.
28791 * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
28793 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28795 ibuffer-unmark-all: simplify code
28797 * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
28798 (ibuffer-unmark-all): Simplify code.
28800 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28802 define-ibuffer-filter: Discard wrong filters
28804 * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
28805 in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
28806 * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
28808 2016-12-07 Philipp Stephani <p.stephani2@gmail.com>
28810 * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
28812 so that it matches the actual implementation.
28813 See https://lists.gnu.org/archive/html/help-gnu-emacs/2016-04/msg00071.html
28815 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28817 ibuffer-decompose-filter-group avoid unwanted side effects
28819 * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
28820 (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
28821 All callers changed (Bug#25058).
28822 * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
28824 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28826 ibuffer-unmark-backward: Unmark the region when is active
28828 * lisp/ibuffer.el (ibuffer-unmark-backward):
28829 Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
28830 with the region boundary as the first 2 arguments (Bug#24987).
28832 2016-12-07 Nicolas Petton <nicolas@petton.fr>
28834 Docstring improvement for seq-some (bug#25129)
28836 * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
28837 regarding the returned value.
28839 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28841 dired-unmark-backward: Unmark the region when is active
28843 * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
28844 a non-nil second argument (Bug#24986).
28846 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28848 New test file for ediff
28850 Fix previous commit.
28851 * test/lisp/vc/ediff-ptch-tests.el: New test.
28853 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28855 ediff-context-diff-label-regexp: Detect the end of second file
28857 * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
28858 '\n' in file names (Bug#25010).
28859 * test/lisp/vc/ediff-ptch-tests.el: New file.
28860 (ibuffer-test-bug25010): Add test for Bug#25010.
28862 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28864 ibuffer-decompose-filter: Avoid side effects on error
28866 * lisp/ibuf-ext.el (ibuffer-decompose-filter):
28867 Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
28868 * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
28869 Update test result as pass.
28871 2016-12-07 Tino Calancha <tino.calancha@gmail.com>
28873 ibuffer: compare marks with EQ
28876 (ibuffer-update-title-and-summary)
28877 (ibuffer-redisplay-current)
28878 (ibuffer-buffer-name-face, ibuffer-unmark-all)
28879 (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
28880 Use 'eq' instead of 'char-equal' when comparing mark characters
28882 * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
28883 Update test result as pass.
28885 2016-12-07 Christopher Genovese <genovese@cmu.edu>
28887 ibuffer-saved-filters: Remove extra nesting level
28890 * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
28891 nesting level; add transparent setter to adjust old-format values;
28893 (ibuffer-save-filters): Remove extra level of nesting
28894 in ibuffer-saved-filters values when saving new filters.
28895 (ibuffer-old-saved-filters-warning): New variable with
28896 clickable message with repair options to be displayed
28897 as a warning if 'ibuffer-repair-saved-filters' detects
28899 (ibuffer-repair-saved-filters): Add new command to check and
28900 repair saved filters format.
28901 (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
28902 Change access of saved filter data (cadr->cdr) to account
28903 for reduced nesting.
28904 * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
28905 New test; check that filters are saved in the proper format.
28907 2016-12-06 Paul Eggert <eggert@cs.ucla.edu>
28909 Clean out some IRIX cruft
28911 * etc/MACHINES: Remove obsolete discussion of IRIX.
28912 * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
28913 (create_process) [HAVE_PTYS]: Don't worry about IRIX.
28914 * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
28915 * src/unexelf.c [__sgi]: Don't include <syms.h>.
28916 (unexec) [__sgi]: Remove SGI-specific code.
28918 2016-12-06 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
28920 Simplify FUNCTIONP implementation
28922 * src/bytecode.c (exec_byte_code):
28923 * src/image.c (parse_image_spec):
28924 Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
28925 * src/eval.c (FUNCTIONP): Move here ...
28926 * src/lisp.h: ... from here. No longer inline, as that
28927 bloats the text and does not help speed (at least on my platform).
28928 (functionp): Remove this name, since callers use FUNCTIONP.
28930 2016-12-06 Noam Postavsky <npostavs@gmail.com>
28932 Don't assume window-point and point are the same
28934 The function `cursor-sensor--detect' calls `bobp' to decide whether to
28935 check properties at (1- (window-point)). However, (window-point) may be
28936 at beginning of buffer, even if (point) is not. In this case an
28937 `args-out-of-range' error will be signaled (Bug#25104).
28939 * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
28940 value of (window-point) against (point-min), rather than (bobp) to
28941 decide if (1- (window-point)) is accessible.
28943 2016-12-06 Noam Postavsky <npostavs@gmail.com>
28945 Give test-completion's PREDICATE the hashtable key
28947 For hashtable entries with symbol keys, `test-completion' would convert
28948 the key to a string before calling PREDICATE, unlike `try-completion'
28949 and `all-completions'.
28951 * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
28953 2016-12-06 Noam Postavsky <npostavs@gmail.com>
28955 Give test-completion's PREDICATE full alist entry
28957 Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
28958 calling test-completion with an alist collection, the predicate was
28959 recieving the string value instead of the alist entry (Bug#24966).
28961 * src/minibuf.c (Ftest_completion): Don't modify the found element, just
28962 test STRING against `completion-regexp-list'.
28963 * test/src/minibuf-tests.el: New tests for `try-completion',
28964 `all-completions', and `test-completion'.
28966 2016-12-06 Noam Postavsky <npostavs@gmail.com>
28968 Fix ert-tests when running compiled
28970 * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
28971 specific macroexpansion, just check result of evaluation.
28972 (ert-test-record-backtrace): Don't hardcode representation of closure in
28973 expected backtrace, this lets the test succeed even when the test code
28976 * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
28977 `byte-compile-macro-environment' to `macroexpand', this allows the
28978 `should' macro to properly handle macroexpansion of macros that were
28979 defined in the same file when it's being compiled (Bug #17851).
28981 2016-12-06 Glenn Morris <rgm@gnu.org>
28983 Make "g" in vc push/pull buffers re-push/pull
28985 * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
28986 * lisp/vc/vc-git.el (vc-git--pushpull):
28987 * lisp/vc/vc-hg.el (vc-hg--pushpull):
28988 Set compile-command so that "g" works. (Bug#11446)
28990 2016-12-06 Paul Eggert <eggert@cs.ucla.edu>
28992 Change two _Noreturn functions to return void
28994 This is a bit clearer than _Noreturn functions that (do not)
28995 return a non-void type.
28996 * src/callproc.c (call_process) [MSDOS]:
28997 Use 'status' local to record status.
28998 (child_setup): Return CHILD_SETUP_TYPE.
28999 * src/data.c, src/lisp.h (wrong_type_argument): Return void.
29000 All callers changed.
29001 * src/lisp.h (CHILD_SETUP_TYPE): New macro.
29003 2016-12-05 Paul Eggert <eggert@cs.ucla.edu>
29005 Fix GPG bug introduced by Oct file-missing change
29007 Problem with visiting nonexistent .gpg file
29008 reported by Herbert J Skuhra.
29009 * lisp/epa-file.el (epa-file--find-file-not-found-function):
29010 (epa-file-insert-file-contents, epa-file-write-region):
29011 Signal file-missing or file-error instead of epa-error.
29013 2016-12-05 Glenn Morris <rgm@gnu.org>
29015 Tweak recent flymake change
29017 * lisp/progmodes/flymake.el (flymake-report-fatal-status):
29018 Avoid double message when flymake-log-level >= 0.
29019 * doc/misc/flymake.texi (Customizable variables):
29020 No longer mention flymake-gui-warnings-enabled.
29022 2016-12-05 Katsumi Yamaoka <yamaoka@jpl.org>
29024 Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
29026 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
29027 and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
29028 `widget-backward' instead (bug#25091).
29030 2016-12-05 Michael Albinus <michael.albinus@gmx.de>
29032 Remove compat code in Tramp
29034 * lisp/net/tramp.el (tramp-parse-time-months): Remove.
29036 * lisp/net/tramp-compat.el (top): Require parse-time.
29038 * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
29039 Use `parse-time-months'.
29041 2016-12-05 Martin Rudalics <rudalics@gmx.at>
29043 Don't try to split side windows in ibuffer (Bug#25115)
29045 * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
29046 split a side window (Bug#25115).
29048 2016-12-04 Paul Eggert <eggert@cs.ucla.edu>
29050 * src/lisp.h: Update comment to kick -Og down the road.
29052 2016-12-04 Mark Oteiza <mvoteiza@udel.edu>
29054 More image-dired refactoring
29056 * lisp/image-dired.el: Remove TODO comment. This appears to have been
29057 implemented in 5d7433a "image-dired: Signal an error before calling a
29058 missing executable".
29059 (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
29061 (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
29062 when. Remove superfluous call to image-dired-thumb-name. Move single nil
29063 binding and setq into dolist form.
29065 2016-12-04 Michael Albinus <michael.albinus@gmx.de>
29067 Implement quoting the local part of a remote file name
29069 * doc/emacs/files.texi (Quoted File Names):
29070 * etc/NEWS: Mention quoting the local part of a remote file name.
29072 * lisp/net/tramp.el (tramp-dissect-file-name): Check with
29073 `tramp-tramp-file-p'.
29074 (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
29076 (tramp-handle-substitute-in-file-name)
29077 (tramp-handle-make-auto-save-file-name): Handle quoted files.
29078 (tramp-shell-quote-argument): Unquote argument.
29080 * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
29081 Handle quoted files.
29083 * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
29084 (tramp--test-make-temp-name): New argument QUOTED.
29085 (tramp-test01-file-name-syntax)
29086 (tramp-test02-file-name-dissect)
29087 (tramp-test04-substitute-in-file-name)
29088 (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
29089 (tramp-test08-file-local-copy)
29090 (tramp-test09-insert-file-contents)
29091 (tramp-test10-write-region, tramp-test11-copy-file)
29092 (tramp-test12-rename-file, tramp-test13-make-directory)
29093 (tramp-test14-delete-directory, tramp-test15-copy-directory)
29094 (tramp-test16-directory-files)
29095 (tramp-test17-insert-directory)
29096 (tramp-test18-file-attributes)
29097 (tramp-test19-directory-files-and-attributes)
29098 (tramp-test20-file-modes, tramp-test21-file-links)
29099 (tramp-test22-file-times, tramp-test23-visited-file-modtime)
29100 (tramp-test24-file-name-completion, tramp-test25-load)
29101 (tramp-test26-process-file, tramp-test27-start-file-process)
29102 (tramp-test28-shell-command, tramp-test30-vc-registered)
29103 (tramp-test31-make-auto-save-file-name)
29104 (tramp--test-check-files)
29105 (tramp-test35-asynchronous-requests): Test also quoted file names.
29106 (tramp--test-shell-command-to-string-asynchronously): Rename.
29107 (tramp-test29-environment-variables): Use it.
29109 2016-12-04 Tino Calancha <tino.calancha@gmail.com>
29111 Fix typo in dired-omit-case-fold-p
29113 * lisp/dired-x.el (dired-omit-case-fold-p):
29114 Write 'file-name-case-insensitive-p' instead of
29115 'file-name-case-sensitive-p'.
29116 Add declaration of 'file-name-case-insensitive-p'.
29118 2016-12-04 Simen Heggestøyl <simenheg@gmail.com>
29120 Add HTML5 attributes for the input element
29122 * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
29123 for the input element.
29125 2016-12-03 Glenn Morris <rgm@gnu.org>
29127 Obsolete sc-load-hook in favor of eval-after-load
29129 * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
29130 * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
29131 No longer mention sc-load-hook.
29133 2016-12-03 Glenn Morris <rgm@gnu.org>
29135 Obsolete calendar-load-hook in favor of eval-after-load
29137 * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
29138 (calendar): Doc fix - no longer mention calendar-load-hook.
29139 * doc/emacs/cal-xtra.texi (Calendar Customizing):
29140 No longer mention calendar-load-hook.
29141 * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
29142 Replace calendar-load-hook in example with with-eval-after-load.
29144 2016-12-03 Glenn Morris <rgm@gnu.org>
29146 Fix markup in read-multiple-choice doc (Bug#25102)
29148 * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
29150 2016-12-03 Glenn Morris <rgm@gnu.org>
29152 Stop flymake using dialog boxes for errors (Bug#16622)
29154 * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
29156 (flymake-display-warning): Turn into an obsolete alias.
29157 (flymake-report-fatal-status): Just use message for a warning that
29158 was formerly displayed by default.
29160 2016-12-03 Mark Oteiza <mvoteiza@udel.edu>
29162 Clean up keymap and menu code in image-dired
29164 A function to populate these maps is not necessary, just define the maps
29166 * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
29167 clearer and in the spirit of dired's.
29168 (image-dired-define-display-image-mode-keymap):
29169 (image-dired-define-thumbnail-mode-keymap): Remove.
29170 (image-dired-thumbnail-mode-map):
29171 (image-dired-thumbnail-mode-line-up-map):
29172 (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
29173 menu code from the aforementioned removed functions. Reorder so that
29174 the definitions are inherited properly.
29175 (image-dired-display-current-image-sized): Fix erroneous message.
29176 (image-dired-thumbnail-mode):
29177 (image-dired-display-image-mode): Remove defunct call.
29179 2016-12-03 Michael Albinus <michael.albinus@gmx.de>
29181 Mention `file-name-case-insensitive-p' as magic file name
29183 * doc/lispref/files.texi (Magic File Names):
29184 Mention `file-name-case-insensitive-p'.
29186 * doc/lispref/variables.texi (Connection Local Variables):
29189 2016-12-03 Mark Oteiza <mvoteiza@udel.edu>
29191 Clean up uses of cl-foo in image-dired
29193 Both instances here are just emulating cl-find-if.
29194 * lisp/image-dired.el: Use cl-lib at compile time.
29195 (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
29196 Replace the cl-foo instances with equivalent cl-loops.
29198 2016-12-03 Eli Zaretskii <eliz@gnu.org>
29200 Avoid compilation warnings in nt/*.c files
29202 * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
29203 (console_event_handler): Add prototypes.
29204 (canon_filename, skip_space, skip_nonspace, get_next_token)
29205 (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
29206 (spawn, get_env_size): Now static.
29207 * nt/ddeclient.c (DdeCallback): Provide prototype.
29208 * nt/addpm.c (DdeCallback): Provide prototype.
29209 (add_registry): Now static.
29211 2016-12-02 Mark Oteiza <mvoteiza@udel.edu>
29213 Display window before calculating width
29215 * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
29216 before calling image-dired-line-up and friends, which in turn calculate
29217 the window width. Otherwise, the thumbnail layout will be wrong in
29218 a side-by-side split.
29220 2016-12-02 Mark Oteiza <mvoteiza@udel.edu>
29222 Use pop-to-buffer-same-window
29224 * lisp/image-dired.el (image-dired-dired-with-window-configuration):
29225 (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
29226 use pop-to-buffer-same-window cf. Bug#22244.
29227 (image-dired-forward-image, image-dired-backward-image): Ignore unused.
29229 2016-12-02 Noam Postavsky <npostavs@gmail.com>
29231 Document watchpoints
29233 * doc/lispref/debugging.texi (Variable Debugging):
29234 * doc/lispref/variables.texi (Watching Variables): New section.
29235 * etc/NEWS: Add entry for watchpoints
29237 2016-12-02 Noam Postavsky <npostavs@gmail.com>
29239 Add tests for watchpoints
29241 * test/src/data-tests.el (data-tests-variable-watchers):
29242 (data-tests-local-variable-watchers): New tests.
29244 2016-12-02 Noam Postavsky <npostavs@gmail.com>
29246 Ensure redisplay using variable watcher
29248 This replaces looking up the variable name in redisplay--variables when
29251 * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
29253 * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
29254 set the redisplay flag unconditionally.
29255 (Vredisplay__variables): Remove it.
29256 * src/data.c (set_internal): Remove maybe_set_redisplay call.
29258 2016-12-02 Noam Postavsky <npostavs@gmail.com>
29260 Add function to trigger debugger on variable write
29262 * lisp/emacs-lisp/debug.el (debug-on-variable-change):
29263 (debug--variable-list):
29264 (cancel-debug-on-variable-change): New functions.
29265 (debugger-setup-buffer): Add watchpoint clause.
29267 2016-12-02 Noam Postavsky <npostavs@gmail.com>
29269 Show watchpoints when describing variables
29271 * src/data.c (Fget_variable_watchers): New function.
29272 * lisp/help-fns.el (describe-variable): Use it to detect watching
29275 2016-12-02 Noam Postavsky <npostavs@gmail.com>
29277 Add lisp watchpoints
29279 This allows calling a function whenever a symbol-value is changed.
29281 * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
29282 (SYMBOL_TRAPPED_WRITE_P): New function/macro.
29283 (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
29284 (enum symbol_trapped_write): New enumeration.
29285 (struct Lisp_Symbol): Rename field constant to trapped_write.
29286 (make_symbol_constant): New function.
29288 * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
29289 (set_symbol_trapped_write, restore_symbol_trapped_write):
29290 (harmonize_variable_watchers, notify_variable_watchers): New functions.
29292 * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
29294 (set_internal): Change bool argument BIND to 3-value enum and call
29295 `notify_variable_watchers' for trapped symbols.
29297 * src/data.c (syms_of_data):
29298 * src/data.c (syms_of_data):
29299 * src/font.c (syms_of_font):
29300 * src/lread.c (intern_sym, init_obarray):
29301 * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
29303 * src/alloc.c (init_symbol):
29304 * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
29305 * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
29306 (Fmake_variable_frame_local):
29307 * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
29308 trapped_write instead of constant.
29309 (Ffuncall): Move subr calling code into separate function.
29310 (funcall_subr): New function.
29312 2016-12-02 Glenn Morris <rgm@gnu.org>
29314 Starting doc of user options with "*" is long obsolete
29316 * lisp/battery.el (battery-upower-device): Doc fix.
29318 2016-12-02 Nicolas Petton <nicolas@petton.fr>
29322 * etc/themes/manoj-dark-theme.el: Fix two typos.
29324 (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
29326 2016-12-02 Reuben Thomas <rrt@sc3d.org>
29328 Fix docstrings to have a complete sentence in first line
29330 * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
29333 2016-12-02 Reuben Thomas <rrt@sc3d.org>
29335 Remove obsolete comments and commented code from dired-x.el
29337 * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
29338 1997 answer about whether dired-mark-sexp is used.
29339 * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
29340 commented out since before dired-x.el was added to RCS in 1994.
29342 2016-12-02 Reuben Thomas <rrt@sc3d.org>
29344 Remove pre-customize dired-x.el documentation
29346 * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
29347 use dired-x from .emacs. It is now fully customizable.
29348 * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
29349 how to set this custom variable in .emacs. It should be customized.
29351 2016-12-02 Reuben Thomas <rrt@sc3d.org>
29353 Allow files to be matched case-sensitively in dired-x
29355 * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
29356 controls case folding for matching the regex (Bug#18716).
29357 (dired-omit-case-fold): New variable. Defaults to `t' on case-sensitive
29358 systems, `nil' otherwise.
29359 (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
29360 * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
29362 2016-12-02 Reuben Thomas <rrt@sc3d.org>
29364 Add support for curly quotation marks to electric-pair-mode
29366 * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
29367 entries for left/right single/double quotation marks, from
29368 electric-quote-chars. Note that this is safe for single quotation marks,
29369 unlike with the ASCII apostrophe, since, although the right quotation
29370 mark can be used as an apostrophe, it is the left quotation mark that is
29371 typed to get a pair (Bug#24901).
29373 2016-12-02 Nicolas Petton <nicolas@petton.fr>
29377 * etc/themes/manoj-dark-theme.el: Fix two typos.
29379 2016-12-02 Michael Albinus <michael.albinus@gmx.de>
29381 Handle quoted file names in Tramp
29383 * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
29384 case the file name is quoted. This is not trapped by the
29385 reassigned `tramp-file-name-regexp' anymore.
29387 2016-12-02 Evgeny Zajcev <lg.zevlg@gmail.com>
29389 * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
29391 2016-12-02 Evgeny Zajcev <lg.zevlg@gmail.com>
29393 Support for rawrgb images using imagemagick
29395 * src/image.c (imagemagick_load_image): Set wand size before loading
29396 blob when ':width' and ':height' are provided.
29398 * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
29400 2016-12-02 Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
29402 Fix 'sql-connect' on first invocation
29404 * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
29405 param-var. (Bug#19452)
29407 2016-12-02 Eli Zaretskii <eliz@gnu.org>
29409 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix. (Bug#25046)
29411 2016-12-02 Eli Zaretskii <eliz@gnu.org>
29413 Improve indexing of 'man'
29415 * doc/emacs/programs.texi (Man Page): Index 'man', not
29416 'manual-entry', as the latter is an alias for the former.
29417 Suggested by Hong Xu <hong@topbug.net>. (Bug#25033)
29419 2016-12-01 Paul Eggert <eggert@cs.ucla.edu>
29423 Backport from master. Sun C 5.14 supports C11 but not GCC
29424 extensions, and so refuses to compile Emacs without this patch.
29425 * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
29426 size_t, as in general this macro is restricted to signed types.
29428 2016-12-01 Paul Eggert <eggert@cs.ucla.edu>
29430 Fix type typo on Solaris
29432 * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
29433 Fix type mismatch, caught by --enable-check-lisp-object-type.
29435 2016-12-01 Paul Eggert <eggert@cs.ucla.edu>
29440 2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
29441 2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
29442 * build-aux/snippet/c++defs.h:
29443 * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
29446 2016-12-01 Paul Eggert <eggert@cs.ucla.edu>
29448 Make struct font_drivers read-only
29450 This simplifies the code a bit, and makes the structs more
29451 shareable and less likely to become corrupt.
29452 * src/alloc.c (cleanup_vector):
29453 * src/font.c (valid_font_driver, font_prepare_cache)
29454 (font_finish_cache, font_get_cache, font_clear_cache)
29455 (register_font_driver, font_update_drivers):
29456 * src/font.h (struct font, struct font_driver_list)
29457 (valid_font_driver):
29458 struct font_drivers are now const.
29459 * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
29460 Omit no-longer-necessary decls.
29461 * src/ftcrfont.c (syms_of_ftcrfont):
29462 * src/ftxfont.c (syms_of_ftxfont):
29463 * src/xftfont.c (syms_of_xftfont):
29464 Omit no-longer-necessary initialization code.
29465 * src/ftcrfont.c (ftcrfont_driver):
29466 * src/ftfont.c (ftfont_driver):
29467 * src/ftxfont.c (ftxfont_driver):
29468 * src/macfont.m (macfont_driver):
29469 * src/nsfont.m (nsfont_driver):
29470 * src/xfont.c (xfont_driver):
29471 * src/xftfont.c (xftfont_driver):
29472 Use C99-style initializer for ease of maintenance, and make it const.
29473 * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
29474 Refer to functions like ftfont_text_extents directly.
29475 * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
29476 (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
29477 (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
29478 (ftfont_variation_glyphs, ftfont_filter_properties)
29479 (ftfont_combining_capability):
29480 * src/xfont.c (xfont_get_cache):
29481 Now extern, so that other modules’ struct font_drivers can use
29483 * src/macfont.m (macfont_descriptor_entity):
29484 * src/nsfont.m (nsfont_open):
29485 Use constant directly; this is clearer.
29487 2016-12-01 Richard Stallman <rms@gnu.org>
29489 Fix mail-combine-fields
29491 * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
29492 avoid losing our place in the search loop.
29494 (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
29496 2016-12-01 Helmut Eller <eller.helmut@gmail.com>
29498 Forth related improvements for etags
29500 Generate correct tags names for things like "(foo)".
29501 Previously "(foo" created.
29503 Fix a bug where a tag for "-bar" was created when encountering things
29506 Recognize more words from the Forth-2012 Standard.
29508 * lib-src/etags.c (Forth_words): Check for whitespace after defining
29509 words. Create tag with make_tag instead of get_tag to avoid notiname
29510 which isn't appropriate for Forth.
29512 * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
29513 * test/manual/etags/ETAGS.good_1:
29514 * test/manual/etags/ETAGS.good_2:
29515 * test/manual/etags/ETAGS.good_3:
29516 * test/manual/etags/ETAGS.good_4:
29517 * test/manual/etags/ETAGS.good_5:
29518 * test/manual/etags/ETAGS.good_6:
29519 * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
29522 2016-12-01 Eli Zaretskii <eliz@gnu.org>
29524 Fix bugs with buffer-local tags tables
29526 * lisp/progmodes/etags.el (visit-tags-table): After
29527 'visit-tags-table-buffer' returns, retrieve the value of
29528 'tags-file-name' from the buffer we started in. Force
29529 recomputation of 'tags-completion-table' next time it is used,
29530 since the list of tags table has changed.
29531 (visit-tags-table-buffer): Accept an additional optional argument
29532 CBUF, the buffer in which to start processing, and switch to that
29533 buffer if CBUF is non-nil. All callers changed to supply a
29534 non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
29536 (tags-completion-table): Accept an optional argument, the buffer
29537 for which to build 'tags-completion-table', and build that
29538 buffer's completion table.
29539 (tags-lazy-completion-table): Pass the current buffer to
29540 'tags-completion-table'.
29541 (tags-file-name): Don't say in the doc string that setting this
29542 variable directly is enough; say that 'visit-tags-table' should be
29543 used for that. (Bug#158) (Bug#17326) (Bug#23164)
29545 * doc/emacs/maintaining.texi (Select Tags Table): Delete the
29546 advice to set 'tags-file-name' directly.
29548 * test/lisp/progmodes/etags-tests.el: New tests.
29550 2016-12-01 Martin Rudalics <rudalics@gmx.at>
29552 Fix documentation of `window-combination-resize'
29554 * src/window.c (Vwindow_combination_resize): Fix doc-string.
29555 * doc/lispref/windows.texi (Recombining Windows): Fix
29556 documentation of `window-combination-resize'.
29558 2016-12-01 Paul Eggert <eggert@cs.ucla.edu>
29560 * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
29562 All uses replaced by LISPSYM_INITIALLY.
29564 2016-12-01 Paul Eggert <eggert@cs.ucla.edu>
29566 Make Cairo safer for --enable-gcc-warnings
29568 * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
29569 Avoid overflow warnings about ‘0xff << 24’.
29570 (xpm_load, gif_load): Avoid unnecessary casts.
29571 (gif_load): Fewer ifdefs.
29573 2016-11-30 Thierry Volpiatto <thierry.volpiatto@gmail.com>
29575 Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
29577 * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
29580 2016-11-29 Noam Postavsky <npostavs@gmail.com>
29582 Fix previous commit
29584 * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
29585 of hunk before calling `diff-hunk-style'.
29587 2016-11-29 Noam Postavsky <npostavs@gmail.com>
29589 * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
29591 2016-11-29 Glenn Morris <rgm@gnu.org>
29593 Use archive-mode for .cbr files
29595 * lisp/files.el (auto-mode-alist): Add cbr. (Bug#24994)
29597 2016-11-29 Paul Eggert <eggert@cs.ucla.edu>
29601 * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
29602 SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
29603 into this enum rather than into an anonymous enum. This avoids
29604 diagnostics from Sun C 5.14 and is a bit clearer anyway.
29606 2016-11-29 Paul Eggert <eggert@cs.ucla.edu>
29608 Adjust lwlib to recent config.h change
29610 * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
29612 2016-11-29 Paul Eggert <eggert@cs.ucla.edu>
29614 * src/eval.c (clobbered_eassert): Check E's syntax.
29616 2016-11-29 Michael Albinus <michael.albinus@gmx.de>
29618 Improve user retrieval from auth-source in Tramp
29620 * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
29621 Use user for auth-source request only in case it exists.
29623 2016-11-29 Katsumi Yamaoka <yamaoka@jpl.org>
29625 shr.el: Don't render a normal table twice
29627 * lisp/net/shr.el (shr-collect-extra-strings-in-table):
29628 Don't render a table if it is called for the first time,
29629 IOW, recognize it to never be invalid (bug#25051).
29631 2016-11-29 Bogdan Creanga <bogdan.creanga@gmail.com> (tiny change)
29633 Typo fixes in elisp manual
29635 * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
29636 * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
29637 definitions of 'string-prefix-p' and 'string-suffix-p'.
29638 * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
29640 2016-11-28 Dima Kogan <Dmitriy.Kogan@jpl.nasa.gov>
29642 Improve diff-mode navigation/manipulation
29644 This is Bug #17544.
29646 Navigation and use of diff buffers had several annoying corner cases
29647 that this patch fixes. These corner cases were largely due to
29648 inconsistent treatment of file headers. Say you have a diff such as
29659 @@ -608,6 +608,6 @@
29661 @@ -654,7 +654,7 @@
29664 The file headers here are the '---' and '+++' lines. With the point on
29665 such a line, hunk operations would sometimes refer to the next hunk and
29666 sometimes to the previous hunk. Most of the time it would be the
29667 previous hunk, which is not what the user would expect. This patch
29668 consistently treats such headers as the next hunk. So with this patch,
29669 if the point is on the '--- ccc' line, the point is seen as referring to
29672 Specific behaviors this fixes are:
29674 1. It should be possible to place the point in the middle of a diff
29675 buffer, and press M-k repeatedly to kill hunks in the order they appear
29676 in the buffer. With the point on hunk1, M-k M-k would kill hunk1 then
29677 hunk2. With the point on hunk3, it would kill hunk3 then hunk4; this is
29678 fine. However, with the point on hunk2, it'd kill hunk2 then hunk1.
29679 This is fixed by this patch.
29681 2. Similarly, it should be possible to apply hunks in order. Previously
29682 with the point at the start, C-c C-a would apply the hunk1, then move
29683 the point to the first @@ header, and thus C-c C-a would try to apply
29684 the same hunk again.
29686 * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
29687 navigation logic to diff-{hunk,file}-{next,prev}.
29688 (diff-hunk-next, diff-hunk-prev):
29689 (diff-file-next, diff-file-prev): Better navigation logic if
29690 skip-hunk-start is true, which happens when called interactively.
29691 (diff-bounds-of-hunk, diff-find-source-location):
29692 (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
29693 improve hunk navigation.
29695 2016-11-28 Noam Postavsky <npostavs@gmail.com>
29697 Upcase Path and ComSpec in process-environment
29699 Since 2016-07-18 "Keep w32 environment settings internal only", the
29700 upcasing of environment variables "Path" and "ComSpec" occurred after
29701 initializing process-environment. This meant that Lisp code trying to
29702 override "PATH" environment had no effect (Bug #24956).
29704 * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
29705 in Vprocess_environment.
29707 2016-11-28 Philipp Stephani <phst@google.com>
29709 Guard terminal parameter in XTerm mouse mode
29711 It has been observed (in the HTerm terminal emulator) that the
29712 event stored in the 'xterm-mouse-last-down' terminal parameter gets
29713 overwritten during a mouse drag operation, causing Emacs to attempt to
29714 synthesize the non-existing <drag-mouse-0> event. Copy the event into
29715 the terminal parameter to protect against such modifications.
29717 * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
29718 of input event list.
29720 2016-11-28 Paul Eggert <eggert@cs.ucla.edu>
29722 Fix template for module functions
29724 Reported by Syohei YOSHIDA (Bug#24932).
29725 * modules/modhelp.py (TEMPLATES):
29726 c_func’s 2nd arg is ptrdiff_t, not int.
29728 2016-11-27 Paul Eggert <eggert@cs.ucla.edu>
29730 Pacify gcc -Wswitch.
29732 * src/keyboard.c (kbd_buffer_store_buffered_event):
29733 Move initialization into default case.
29735 2016-11-27 Thierry Volpiatto <thierry.volpiatto@gmail.com>
29737 Reuse already existing lisp symbols for ignore_event (bug#19547).
29739 * lisp/subr.el (while-no-input-ignore-events): Use them instead.
29740 * src/keyboard.c (kbd_buffer_store_buffered_event):
29741 Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
29742 and make-frame-visible for DEICONIFY_EVENT.
29743 (syms_of_keyboard): Remove unneeded symbols.
29745 2016-11-27 Thierry Volpiatto <thierry.volpiatto@gmail.com>
29747 Allow configuring which event throw-on-input should ignore (bug#19547).
29749 * src/keyboard.c (kbd_buffer_store_buffered_event):
29750 Translate event to corresponding symbol from `while-no-input-ignore-events`
29751 and check them with Fmemq.
29752 (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
29755 * lisp/subr.el (while-no-input-ignore-events): Add default values.
29757 * doc/lispref/commands.texi (Event Input Misc):
29758 Document while-no-input-ignore-events.
29761 2016-11-26 Tino Calancha <tino.calancha@gmail.com>
29763 ash, lsh avoid code duplication
29766 https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00469.html
29767 * src/data.c (ash_lsh_impl): New function.
29768 (ash, lsh): Use it.
29770 2016-11-26 Simen Heggestøyl <simenheg@gmail.com>
29772 Add will change module to CSS property list
29774 * lisp/textmodes/css-mode.el (css-property-alist)
29775 (css-value-class-alist): Add new property and value class from CSS
29776 Will Change Module.
29778 2016-11-26 Paul Eggert <eggert@cs.ucla.edu>
29780 Don't access pointers to freed storage in regex.c
29782 Remove __BOUNDED_POINTERS__ code, which does not work with
29783 -fcheck-pointer-bound and which has undefined behavior anyway.
29784 Problem found when trying to port to gcc -fcheck-pointer-bounds.
29785 (This code was removed from glibc and gnulib regex.c many years ago.)
29786 * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
29787 (EXTEND_BUFFER): Use a more-portable approach that avoids
29788 undefined behavior due to inspecting pointers to freed storage.
29790 2016-11-25 Paul Eggert <eggert@cs.ucla.edu>
29792 Port build to gcc -fcheck-pointer-bounds
29794 This does not let Emacs run, just build.
29795 * lib-src/etags.c (main):
29796 * lib-src/profile.c (main):
29797 Use return, not exit.
29798 * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
29799 Do not define, as -fcheck-pointer-bounds is incompatible with taking
29800 addresses of labels.
29801 * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
29802 to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
29804 2016-11-25 Tino Calancha <tino.calancha@gmail.com>
29806 * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
29808 2016-11-25 Simen Heggestøyl <simenheg@gmail.com>
29810 * lisp/rot13.el: Use lexical-binding
29812 2016-11-25 Mark Oteiza <mvoteiza@udel.edu>
29814 Add "using" to cl-loop debug spec (Bug#24750)
29816 * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
29817 "using" hash table clause.
29819 2016-11-25 Hong Xu <hong@topbug.net> (tiny change)
29821 Allow user control of progress messages in cpp.el
29823 * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
29824 (cpp-progress-time): Use 'cpp-message-min-time-interval'. Improve
29826 (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
29827 'message' to print messages. (Bug#24861)
29829 2016-11-25 Wojciech Gac <wojciech.s.gac@gmail.com> (tiny change)
29831 New input method 'polish-prefix'
29833 * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
29834 method. (Bug#24967)
29836 * etc/NEWS: Mention the new input method.
29838 2016-11-25 Damien Cassou <damien@cassou.me>
29840 * lisp/isearch.el: Add 'provide'. (Bug#25026)
29842 2016-11-25 Philippe Vaucher <philippe.vaucher@gmail.com>
29844 Add missing 'provide's in preloaded packages
29846 * lisp/composite.el:
29848 * lisp/textmodes/text-mode.el: Add provide statement. (Bug#24985)
29850 2016-11-24 Alan Mackenzie <acm@muc.de>
29852 Handle correctly an (undocumented) bare mode in hack-local-variables.
29854 lisp/files.el (hack-local-variables-prop-line): When a file's first line
29855 contains only a mode specification without the string "mode:", return the mode
29856 symbol only when `handle-mode' is t.
29858 2016-11-23 Dima Kogan <dima@secretsauce.net>
29860 Clarify ediff-directories prompt
29862 * lisp/vc/ediff-mult.el (ediff-filegroup-action):
29863 * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
29864 ediff-directories3, ediff-merge-directories,
29865 ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
29866 ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
29867 filename filter in interactive ediff. The new message makes it clear what is
29870 2016-11-23 Tino Calancha <tino.calancha@gmail.com>
29872 * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
29874 2016-11-23 Ulf Jasper <ulf.jasper@web.de>
29878 * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
29879 bracket in doc string (make checkdoc happy).
29880 (icalendar-import-buffer),
29881 (icalendar-import-buffer),
29882 (icalendar--convert-ical-to-diary),
29883 (icalendar--add-diary-entry): Rename argument diary-file to
29884 diary-filename (make checkdoc happy).
29885 (icalendar--convert-recurring-to-diary): Take care of byday-clause
29886 in monthly recurring events. Actually fix Bug#24199.
29888 * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
29890 2016-11-23 Tino Calancha <tino.calancha@gmail.com>
29892 * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
29894 2016-11-22 Philipp Stephani <phst@google.com>
29896 Comint: new user option for C-c M-r and C-c M-s
29898 This option allows the user to specify where to place point after these
29901 * lisp/comint.el (comint-move-point-for-matching-input): New user option.
29902 (comint-previous-matching-input-from-input): Use user option.
29904 2016-11-22 Michael Albinus <michael.albinus@gmx.de>
29906 Add tramp-eshell-directory-change to eshell-first-time-mode-hook
29908 * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
29909 `eshell-first-time-mode-hook'.
29911 2016-11-22 Michael Albinus <michael.albinus@gmx.de>
29913 Dump also connection local variables in Tramp bug reports
29915 * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
29916 Dump also connection local variables.
29918 2016-11-21 Mark Oteiza <mvoteiza@udel.edu>
29920 Make sure elided long buffer names have ellipses added (Bug#24972)
29922 * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
29923 string concat, and chop "strvar" less the width of the ellipsis.
29924 (ibuffer-compile-make-substring-form): Add space as padding, to fix
29925 off-by-one in alignment.
29927 2016-11-21 Tino Calancha <tino.calancha@gmail.com>
29929 Buffer-menu-no-header: Detect a fake header
29931 * lisp/buff-menu.el (Buffer-menu-no-header): Use
29932 'tabulated-list-header-overlay-p' (Bug#24855).
29934 2016-11-21 Tino Calancha <tino.calancha@gmail.com>
29936 buff-menu: Add command to unmark all buffers
29938 Bind 'U' in buff-menu, bs and electric-buff-menu to commands
29939 to unmark all buffers (Bug#24880).
29940 * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
29941 New predicate; return non-nil if tabulated-list has a fake header.
29942 * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
29943 New command; remove all flags that use a particular mark from all the lines.
29944 Bind it to 'M-DEL'.
29945 (Buffer-menu-unmark-all):
29946 New command; remove all flags from all the lines. Bind it to 'U'.
29947 (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
29948 (Buffer-menu-delete, Buffer-menu-mark): Use them.
29949 (Buffer-menu-mode-map): Update menus.
29950 (Buffer-menu-mode): Update mode doc.
29951 * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
29952 (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
29953 (bs-mode): Update mode doc.
29954 * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
29955 Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
29957 (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
29958 Use point instead of cursor in doc string.
29959 (electric-buffer-list): Update mode doc.
29960 * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
29961 and Buffer-menu-unmark-all-buffers.
29963 2016-11-21 Mark Oteiza <mvoteiza@udel.edu>
29965 Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
29967 This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
29969 2016-11-21 Mark Oteiza <mvoteiza@udel.edu>
29971 Port htmlfontify to cl-lib
29973 * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
29974 (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
29975 (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
29976 instances of cl aliases with their cl-lib counterparts.
29978 2016-11-21 Mark Oteiza <mvoteiza@udel.edu>
29980 * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
29982 2016-11-21 Paul Eggert <eggert@cs.ucla.edu>
29984 Fix another CANNOT_DUMP problem
29986 Reported by Robert Pluim in:
29987 https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00468.html
29988 * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
29989 * src/lisp.h: ... to here.
29991 2016-11-21 Mark Oteiza <mvoteiza@udel.edu>
29993 Add further consideration to string-width (Bug#24972)
29995 * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
29996 (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
29998 2016-11-21 Katsumi Yamaoka <yamaoka@jpl.org>
30000 Don't collect strings existing out of <tr>...</tr>
30002 * lisp/net/shr.el (shr-collect-extra-strings-in-table):
30003 Don't collect strings existing out of <tr>...</tr> to avoid
30004 duplication with what `shr-tag-table' renders.
30006 2016-11-20 Katsumi Yamaoka <yamaoka@jpl.org>
30008 * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
30011 2016-11-20 Mike Kupfer <m.kupfer@acm.org>
30013 Add a variable to pass additional options to rcvstore
30015 * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
30016 (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
30017 the arguments that are passed to rcvstore.
30019 cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
30020 and followups, i.e., ding mailing list.
30022 2016-11-20 Paul Eggert <eggert@cs.ucla.edu>
30024 Fix undefined refs on some GNU/Linux hosts
30026 Problem reported by Ken Raeburn in:
30027 https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00463.html
30028 * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
30029 not needed in the CANNOT_UNDUMP case. All uses removed. This
30030 removes unwanted references to my_endbss and my_endbss_static,
30031 which are not optimized away on some platforms.
30033 2016-11-20 Paul Eggert <eggert@cs.ucla.edu>
30035 Make CANNOT_DUMP work better on GNU/Linux
30037 Clean up some of the bitrot affecting the CANNOT_DUMP code. This
30038 lets the build succeed again, and fixes the testing framework so
30039 that most test cases now pass. About twenty test cases still
30040 fail, though, and we still have Bug#24974.
30041 * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
30042 (SYSTEM_MALLOC): Now true if CANNOT_DUMP. There should no longer
30043 be any point to messing with a private memory allocator unless
30045 * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
30046 * src/image.c (reset_image_types):
30047 * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
30048 Do not define if CANNOT_DUMP.
30049 * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
30050 (daemon_pipe) [!WINDOWSNT]: Now static.
30051 * test/Makefile.in (mostlyclean): Remove *.tmp files.
30052 (make-test-deps.mk): Elide CANNOT_DUMP chatter.
30054 2016-11-20 Paul Eggert <eggert@cs.ucla.edu>
30056 * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
30058 2016-11-20 Paul Eggert <eggert@cs.ucla.edu>
30060 Pacify --enable-gcc-warnings CANNOT_DUMP=yes
30062 * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
30063 Do not define. If defining, do it in a smaller scope.
30065 2016-11-20 Mark Oteiza <mvoteiza@udel.edu>
30067 * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
30069 2016-11-20 Eli Zaretskii <eliz@gnu.org>
30071 Fix redrawing non-selected frame after resize on MS-Windows
30073 * src/xdisp.c (redisplay_internal): If all the frames were
30074 successfully updated, reset the "garbaged" flag of each frame, to
30075 make sure it doesn't stay set.
30077 * src/w32term.c (w32_read_socket): Don't clear the frame if it's
30078 "garbaged", since expose_frame won't redraw the foreground then.
30081 2016-11-20 Michael Albinus <michael.albinus@gmx.de>
30083 Add file-local-name
30085 * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
30086 (Unique File Names): Use it.
30088 * etc/NEWS: Mention `file-local-name'.
30090 * lisp/files.el (file-local-name): New defun.
30091 (file-expand-wildcards):
30092 * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
30093 * lisp/eshell/esh-ext.el (eshell-remote-command):
30094 * lisp/eshell/esh-proc.el (eshell-gather-process-output):
30095 * lisp/org/ob-core.el (org-babel-local-file-name):
30096 * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
30097 * lisp/progmodes/python.el (python-shell-send-file):
30098 * lisp/shell.el (shell):
30099 * lisp/vc/ediff-diff.el (ediff-same-file-contents):
30100 * lisp/vc/vc-git.el (vc-git-checkin): Use it.
30102 2016-11-20 Tino Calancha <tino.calancha@gmail.com>
30104 * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
30106 2016-11-19 Tino Calancha <tino.calancha@gmail.com>
30108 * src/editfns.c (format-time-string): Mention %q in doc string.
30110 2016-11-19 Paul Eggert <eggert@cs.ucla.edu>
30112 Document format-time-string %q
30114 * doc/lispref/os.texi (Time Parsing):
30115 * etc/NEWS: Document new %q functionality taken from gnulib.
30117 2016-11-19 Paul Eggert <eggert@cs.ucla.edu>
30122 2016-11-15 sys_time: add gnulib::timeval for C++
30123 2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
30124 2016-11-13 strftime: don't use __THROW
30125 2016-11-12 strftime: tune %q
30126 2016-11-12 Merge strftime.c changes from glibc
30127 2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
30128 2016-11-05 strftime,strptime: support %q to represent the quarter
30130 The glibc changes in turn incorporate the following strftime.c changes:
30131 2015-10-20 Convert misc function definitions to prototype style
30132 2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
30133 2010-01-09 Add support for XPG7 testing
30134 2009-10-30 Implement Burmese language locale for Myanmar
30135 2008-06-13 [BZ #6612] pass reference to tzset_called around
30136 2007-10-16 [BZ #5184] Add tzset_called argument
30138 * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
30139 * m4/manywarnings.m4: Copy from gnulib.
30141 2016-11-19 Paul Eggert <eggert@cs.ucla.edu>
30143 Merge from origin/emacs-25
30145 07f45d7 ; Spelling fix
30146 1a210f0 * admin/release-process: Update versions and blocking bug num...
30147 36bafc9 Improve documentation of functions that accept time values
30150 # admin/release-process
30153 2016-11-19 Paul Eggert <eggert@cs.ucla.edu>
30155 Merge from origin/emacs-25
30157 4af5981 Add a comment in generated refcards about the source
30158 ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
30159 4887e7c js-mode: Fix indent problem after a regexp
30160 e992ac0 Fix sluggish display of symbols in UTF-8 language environment
30161 1fc101b Don't confuse how Texinfo outputs @var with the input
30162 91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
30163 f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
30164 5b0cddd More fixes in copyright notices in etc/refcards/
30165 f994c20 Update copyright text in refcards
30166 9ad2ae7 Fix Outline command names
30167 26c3554 Send text received by bracketed paste to process
30168 db0b58d Correct the statement about programming modes always running ...
30169 78aece4 Improve documentation of 'occur'
30170 eb364fd Do call debugger on failed cl-assert
30171 3ef4ee8 Avoid infloop in python
30172 8da810f Don't refer to obsolete FEATURE-unload-hook
30173 4f478ca Improve documentation of dabbrevs
30174 7272e5d * lisp/chistory.el (list-command-history): Doc fix. (Bug#24890)
30175 89b7482 * lisp/simple.el (set-mark-command): Doc fix. (Bug#24890)
30176 3b199f7 Improve documentation of some Help commands
30177 93d3a0e Fix documentation of yes-or-no prompts
30178 af04919 Fix documentation of partial completion style
30179 ed80184 Fix documentation of the mode line on emacsclient frames
30180 e6be855 Fix description of 'C-z' in User manual
30181 16f7007 Improve and clarify documentation of Outline Mode
30182 31d93aa Add Emacs version number to nt/README.W32
30183 0b6b815 Fix python-mode hideshow regexp
30184 dc152c5 Modernize usage of 'macOS' in doc and comments
30185 84c5343 Prefer comments /* like this */ in C code
30186 bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
30187 3ef86fd Clarify documentation of face attribute functions
30188 de51d59 ; * nt/README.W32: Minor copyedits.
30189 db436e9 Don't call debug on failed cl-assert
30192 # doc/emacs/cmdargs.texi
30195 # lisp/auth-source.el
30196 # lisp/net/tramp-sh.el
30198 2016-11-19 Mark Oteiza <mvoteiza@udel.edu>
30200 Port RefTeX to cl-lib
30202 * lisp/textmodes/reftex-auc.el:
30203 * lisp/textmodes/reftex-cite.el: Use cl-lib.
30204 (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
30206 * lisp/textmodes/reftex-dcr.el: Use cl-lib.
30207 (reftex-view-regexp-match): Substitute cl-lib macro.
30208 * lisp/textmodes/reftex-global.el: Use cl-lib.
30209 (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
30210 (reftex-translate): Substitute cl-lib macros.
30211 * lisp/textmodes/reftex-index.el: Use cl-lib.
30212 (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
30213 (reftex-index-next-phrase, reftex-index-phrases-info):
30214 (reftex-query-index-phrase): Substitute cl-lib macros.
30215 * lisp/textmodes/reftex-parse.el: Use cl-lib.
30216 (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
30217 (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
30218 Substitute cl-lib macros.
30219 * lisp/textmodes/reftex-ref.el: Use cl-lib.
30220 (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
30222 * lisp/textmodes/reftex-sel.el: Use cl-lib.
30223 (reftex-select-shared-map): Set keymap parent to special-mode-map.
30224 Flatten loop and remove digits and hyphen definitions from the map.
30225 (reftex-select-label-mode-map):
30226 (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
30227 (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
30228 * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
30230 * lisp/textmodes/reftex.el: Use cl-lib.
30231 (reftex-docstruct-symbol): Use cl-incf.
30232 (reftex-ref-style-toggle): Replace add-to-list with append.
30233 (reftex-compile-variables): Use cl-lib macros, and functions with
30234 compiler macros. cl-first is just an alias.
30235 (reftex-parse-args, reftex-scanning-info-available-p):
30236 (reftex-select-external-document, reftex-get-file-buffer-force): Use
30238 (reftex-isearch-minor-mode): Replace add-to-list with append.
30240 2016-11-19 Tino Calancha <tino.calancha@gmail.com>
30242 ibuffer-exchange-filters: Simplify code
30244 * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
30246 2016-11-19 Eli Zaretskii <eliz@gnu.org>
30248 Implement getrlimit and setrlimit for MS-Windows
30250 * src/w32heap.c (getrlimit, setrlimit): New functions.
30252 * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
30253 should be compatible with 'struct rlimit' members.
30255 * nt/inc/sys/resource.h: New header file.
30257 * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
30260 2016-11-18 Mark Oteiza <mvoteiza@udel.edu>
30262 Move key mappings into reftex-mode-map defvar
30264 * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
30266 (reftex-reset-mode): Just use dolist.
30268 2016-11-18 Mark Oteiza <mvoteiza@udel.edu>
30270 Derive reftex-index-mode from special-mode
30272 * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
30273 loop. Remove digit keys and hyphen, as reftex-index-mode is derived
30274 from special-mode now.
30275 (reftex-index-mode): Derive from special-mode.
30276 (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
30278 2016-11-18 Mark Oteiza <mvoteiza@udel.edu>
30280 Clean up reftex-toc-mode-map
30282 * lisp/textmodes/reftex-toc.el: Remove cl.
30283 (reftex-toc-mode-map): Flatten loop. Remove mapping digit keys and
30284 hyphen, as reftex-toc-mode is derived from special-mode nowadays.
30286 2016-11-18 Philipp Stephani <phst@google.com>
30288 Prevent dubious argument lists
30290 See Bug#24912 and Bug#24913.
30292 * src/eval.c (funcall_lambda): Detect more dubious argument lists.
30293 * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
30294 more dubious argument lists.
30295 * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
30298 2016-11-18 Tino Calancha <tino.calancha@gmail.com>
30300 Add test suite for buff-menu.el
30302 * test/lisp/buff-menu-tests.el: New file.
30303 (buff-menu-24962): Add test for Bug#24962.
30305 2016-11-18 Wojciech Gac <wojciech.s.gac@gmail.com> (tiny change)
30307 Add cyrillic-tuvan input method
30309 * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
30310 method. (Bug#24942)
30312 * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
30314 2016-11-18 Alexander Gramiak <agrambot@gmail.com>
30316 Extend 'indent-relative' when its arg is non-nil
30318 * lisp/indent.el (indent-relative-maybe): New obsolete alias.
30319 (indent-relative-first-indent-point): Renamed from
30320 'indent-relative-maybe'.
30321 (indent-relative): Now accepts an additional optional argument.
30322 The first argument was renamed to FIRST-ONLY. Doc fix. Support
30323 the additional arg. (Bug#24766)
30325 2016-11-17 Dmitry Gutov <dgutov@yandex.ru>
30327 Add example for bug#24854
30329 * test/manual/indent/js.js: Add example for bug#24854.
30331 2016-11-17 Mark Oteiza <mvoteiza@udel.edu>
30333 Port registry.el the rest of the way to cl-lib
30335 This file already is using cl-lib functions at runtime; eieio ultimately
30336 loads cl-lib, which explains why doing so wasn't an issue.
30337 * lisp/registry.el: Require cl-lib.
30338 (registry-db, registry--match, registry-search, registry-delete):
30339 (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
30340 (registry-collect-prune-candidates): Replace cl function with cl-lib one.
30342 2016-11-17 Mark Oteiza <mvoteiza@udel.edu>
30344 Fix arglist in python.el (Bug#24762)
30346 * lisp/progmodes/python.el: Remove unneeded second args.
30347 (python-define-auxiliary-skeleton): DOC arg should be &optional.
30349 2016-11-17 Simen Heggestøyl <simenheg@gmail.com>
30351 Add tests for rot13.el
30353 * lisp/rot13.el (rot13): Docstring correction.
30355 * test/lisp/rot13-tests.el: New file with tests for rot13.el.
30357 2016-11-17 Michael Albinus <michael.albinus@gmx.de>
30359 Fix Bug#24947 (Tramp + ido)
30361 * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
30363 * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
30364 Run remote tests only if a connection is established only. (Bug#24947)
30366 2016-11-16 Ken Brown <kbrown@cornell.edu>
30368 Unbreak the build on Darwin (Bug#24957)
30370 * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
30371 mistakes in recent commit.
30373 2016-11-16 Nicolas Petton <nicolas@petton.fr>
30375 Do not use map.el in seq-tests.el
30377 * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el. map.el was
30378 introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
30381 2016-11-16 Tino Calancha <tino.calancha@gmail.com>
30383 Update parameter :version to 26.1 in several defcustom
30385 Following defcustom where added or modified for 25.2 release.
30386 In fact all these changes belong to 26.1 release.
30387 * lisp/battery.el (battery-linux-sysfs-regexp)
30388 * lisp/comint.el (comint-password-prompt-regexp)
30389 * lisp/dired.el (dired-always-read-filesystem)
30390 * lisp/image.el (image-scaling-factor)
30391 * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
30392 (ibuffer-never-search-content-mode)
30393 * lisp/mouse.el (mouse-select-region-move-to-beginning)
30394 * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
30395 (netstat-program, route-program, route-program-options)
30396 * lisp/net/sieve-manage.el (sieve-manage-default-stream)
30397 * lisp/progmodes/grep.el (grep-save-buffers)
30398 * lisp/vc/add-log.el (change-log-directory-files)
30399 * lisp/url/url-vars.el (url-user-agent)
30400 * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
30401 (vc-hg-use-file-version-for-mode-line-version)
30402 (vc-hg-parse-hg-data-structures)
30403 * lisp/wdired.el (wdired-create-parent-directories)
30404 * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
30405 * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
30406 (gnus-button-url-regexp)
30407 * lisp/window.el (switch-to-buffer-preserve-window-point)
30408 * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
30409 (ibuffer-locked-buffer)
30410 * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
30411 * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
30412 * lisp/gnus/message.el (message-user-fqdn)
30413 * lisp/simple.el (shell-command-dont-erase-buffer)
30414 (extended-command-suggest-shorter)
30415 * lisp/net/shr.el (shr-use-fonts)
30416 * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
30418 2016-11-15 Glenn Morris <rgm@gnu.org>
30420 Add --new-daemon, which runs in the foreground and does not fork
30422 This is intended for modern init systems such as systemd,
30423 which manage many of the traditional aspects of daemon behavior
30424 themselves. (Bug#2677)
30425 * src/emacs.c (daemon_type): New integer.
30426 (usage, standard_args): Add --old-daemon and --new-daemon.
30427 (main): Handle --old-daemon and --new-daemon arguments.
30428 Restrict all the forking and complicated daemon stuff to old-daemon.
30429 (Fdaemon_initialized): Handle new-style daemon.
30430 * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
30431 Replace daemon_pipe with daemon_type.
30432 * doc/emacs/cmdargs.texi (Initial Options):
30433 * doc/emacs/glossary.texi (Glossary):
30434 * doc/emacs/misc.texi (Emacs Server):
30435 * doc/lispref/display.texi (Window Systems):
30436 * doc/lispref/os.texi (Startup Summary): Related doc updates.
30437 * etc/NEWS: Mention this.
30438 * etc/emacs.service: Use Type=simple and --new-daemon.
30440 2016-11-15 Glenn Morris <rgm@gnu.org>
30442 * src/emacs.c (usage_message): Mention named daemon. (Bug#24949)
30443 * doc/man/emacs.1.in: Likewise.
30445 2016-11-15 Ken Brown <kbrown@cornell.edu>
30447 Simplify case-insensitivity checks on Mac OS X
30449 * src/fileio.c (file_name_case_insensitive_p): Try skipping the
30450 Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
30451 Leave in two alternatives conditionally compiled based on
30452 DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
30454 * etc/PROBLEMS: Mention the possible problem with pathconf on
30457 2016-11-15 Glenn Morris <rgm@gnu.org>
30459 * src/emacs.c (sort_args): Warn about multiple matches.
30461 2016-11-15 Michael Albinus <michael.albinus@gmx.de>
30463 Implement file name handler for `file-name-case-insensitive-p'
30465 * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
30466 is also applicable for remote hosts.
30468 * lisp/net/tramp.el (tramp-methods): Improve docstring.
30469 (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
30470 (tramp-handle-file-name-case-insensitive-p): New defun.
30472 * lisp/net/tramp-smb.el (tramp-methods) <smb>:
30473 Add `tramp-case-insensitive' entry.
30475 * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
30476 * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
30477 * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
30478 * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
30479 <file-name-case-insensitive-p>: Add handler. (Bug#22300, Bug#24441)
30481 2016-11-15 Mark Oteiza <mvoteiza@udel.edu>
30483 Nix more uses of default-FOO variables (Bug#24946)
30485 * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
30486 Check for header-line-format instead.
30487 * lisp/emulation/viper.el (viper-load-custom-file): Reference
30488 major-mode instead.
30489 * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
30490 fill-column instead.
30492 2016-11-15 Simen Heggestøyl <simenheg@gmail.com>
30494 Complete the name of PostgreSQL databases
30496 * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
30498 (sql-postgres-list-databases): New function returning a list of
30499 available PostgreSQL databases.
30501 * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
30503 2016-11-14 Sam Steingold <sds@gnu.org>
30505 add `vc-git-print-log-follow' and use it in `vc-git-print-log'
30507 When `vc-git-print-log-follow' is true and all files are
30508 non-directory, pass "--follow" to "git log".
30509 This works around bug#8756 and bug#16422.
30511 2016-11-14 Sam Steingold <sds@gnu.org>
30513 `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
30515 vc-git-print-log: pass "--follow" to "log" to handle renamed files
30517 2016-11-14 Eli Zaretskii <eliz@gnu.org>
30519 Revert "Improve case-insensitive checks (Bug#24441)"
30521 This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
30522 I see no reason for removing code, documentation, and comments
30523 in the original commit.
30525 2016-11-14 Wilson Snyder <wsnyder@wsnyder.org>
30527 Update verilog-mode.el
30529 * lisp/progmodes/verilog-mode.el (verilog-read-decls)
30530 (verilog-calc-1): Fix "default clocking" indentation and
30531 preventing AUTOs from working, bug1084. Reported by Alan Morgan.
30532 (verilog-diff-report): Fix `verilog-diff-report'
30533 not returning bad status on differences, bug1087. Reported by
30535 (verilog-auto-inst-param-value)
30536 (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
30537 (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
30538 (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
30539 (verilog-read-sub-decls-type): When
30540 `verilog-auto-inst-param-value-type' is set, which is now the
30541 default, AUTOINPUT etc will now substitute parameter types from
30542 submodules, bug1061. Reported by Brad Dobbie.
30543 (verilog-auto-reset, verilog-backward-case-item)
30544 (verilog-extended-case-re, verilog-read-always-signals-recurse):
30545 Fix indentation of randcase, bug1072. Reported by David Rogoff.
30546 (verilog-read-sub-decls-expr)
30547 (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
30548 in generated comments, bug1057. Reported by Kaushal Modi.
30549 (verilog-auto-wire-comment, verilog-insert-definition):
30550 Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
30552 (verilog-extended-complete-re): Fix indentation
30553 of class static functions, bug1053. Reported by Gregory
30555 (verilog-module-filenames): Support tramp for
30556 finding verilog modules. Reported by Nevada Sanchez.
30558 2016-11-14 Paul Eggert <eggert@cs.ucla.edu>
30560 Improve case-insensitive checks (Bug#24441)
30562 * doc/lispref/files.texi (Truenames): Simplify documentation,
30563 to avoid giving too much platform-specific information that
30564 may not be accurate anyway.
30565 * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
30566 _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
30567 Otherwise if one approach fails (e.g., with errno == EINVAL), fall
30568 back on an alternative rather than returning false. Try skipping
30569 the Darwin code, as it (1) no longer seems to be needed and (2)
30570 does not seem to match the Apple documentation. Leave in two
30571 alternatives conditionally compiled based on
30572 DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
30574 2016-11-14 Eli Zaretskii <eliz@gnu.org>
30576 Fix documentation changes of connection-local variables
30578 * etc/NEWS: Fix last change.
30579 * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
30580 * doc/lispref/elisp.texi (Top): Update the master menu.
30582 2016-11-14 Michael Albinus <michael.albinus@gmx.de>
30584 Implement connection-local variables
30586 * doc/lispref/variables.texi (Connection Local Variables): New section.
30588 * etc/NEWS: Mention connection-local variables.
30590 * lisp/files-x.el (enable-connection-local-variables)
30591 (connection-local-variables-alist, connection-local-class-alist)
30592 (connection-local-criteria-alist): New defvars.
30593 (connection-local-get-classes)
30594 (connection-local-get-class-variables): New defsubst.
30595 (connection-local-set-classes)
30596 (connection-local-set-class-variables)
30597 (hack-connection-local-variables)
30598 (hack-connection-local-variables-apply): New defuns.
30599 (with-connection-local-classes): New defmacro.
30601 * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
30603 * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
30604 * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
30605 * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
30606 * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
30608 * test/lisp/files-x-tests.el: New file.
30610 2016-11-14 Tino Calancha <tino.calancha@gmail.com>
30612 tabulated-list: extend truncation into next align-right column
30615 https://lists.gnu.org/archive/html/emacs-devel/2016-10/msg01101.html
30616 * lisp/emacs-lisp/tabulated-list.el
30617 (tabulated-list--near-rows): New variable.
30618 (tabulated-list-print, tabulated-list-set-col): Use it.
30619 (tabulated-list--col-local-max-widths): New defsubst.
30620 (tabulated-list-print-col): Use it. If the next column is
30621 align-right, and has some space left then don't truncate to width,
30622 use some of the available space from the next column.
30624 2016-11-13 Katsumi Yamaoka <yamaoka@jpl.org>
30626 * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
30628 * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
30629 (shr-collect-extra-strings-in-table): Render images as well.
30631 2016-11-13 Ken Brown <kbrown@cornell.edu>
30633 Use the new 'file-name-case-insensitive-p' function
30635 * lisp/international/mule.el (auto-coding-alist-lookup):
30636 * lisp/files.el (file-truename):
30637 (abbreviate-file-name, set-auto-mode, file-relative-name):
30638 * lisp/emacs-lisp/package.el (package-untar-buffer): Use
30639 'file-name-case-insensitive-p' instead of 'system-type' to test
30640 case-insensitivity.
30642 2016-11-13 Glenn Morris <rgm@gnu.org>
30644 Include a systemd user unit file. (Bug#16507)
30646 * etc/emacs.service: New file.
30647 * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
30648 * Makefile.in (libdir): New, set by configure.
30649 (systemdunitdir): New variable.
30650 (install-etc, uninstall): Handle the emacs.service file.
30652 2016-11-13 Paul Eggert <eggert@cs.ucla.edu>
30654 Port --enable-gcc-warnings to Ubuntu 16.10
30656 * src/gmalloc.c: Include <stdlib.h>, so it declares
30657 hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
30658 so that GCC doesn't complain that hybrid_aligned_alloc is
30659 defined without being declared.
30661 2016-11-13 Ken Brown <kbrown@cornell.edu>
30663 Silence tramp warning
30665 * lisp/net/tramp.el (tramp-file-name-for-operation): Add
30666 'file-name-case-insensitive-p' as a known file primitive.
30669 2016-11-12 Ken Brown <kbrown@cornell.edu>
30671 Check case-sensitivity when renaming files
30673 * src/fileio.c (file_name_case_insensitive_p)
30674 (Ffile_name_case_insensitive_p): New functions.
30675 (Frename_file): Allow renames that simply change case when the
30676 FILE argument is on a case-insensitive filesystem. (Bug#24441)
30678 * lisp/dired-aux.el (dired-do-create-files): Use
30679 'file-name-case-insensitive-p' instead of 'system-type' to check
30680 for case-insensitivity. (Bug#24441)
30682 * doc/lispref/files.texi (Truenames): Document
30683 'file-name-case-insensitive-p'.
30685 2016-11-12 Ken Brown <kbrown@cornell.edu>
30687 Unbreak the build on Cygwin
30689 * configure.ac (system_malloc) [CYGWIN]: Unset.
30691 2016-11-11 Mark Oteiza <mvoteiza@udel.edu>
30695 * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
30696 (chart-draw): Wrap in with-silent-modifications. Instead of inserting a
30697 fixed number of newlines, use window-height.
30699 (chart-trim): Use dolist.
30700 (chart-file-count): The previous implementation was buggy and missed
30701 extensions. Use file-name-extension instead to detect file extensions.
30702 Also use dolist and cl-incf to reduce verbosity.
30704 2016-11-11 Katsumi Yamaoka <yamaoka@jpl.org>
30706 * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
30707 (shr-collect-extra-strings-in-table):
30708 Render extra tables in an invalid html as well.
30710 2016-11-10 Katsumi Yamaoka <yamaoka@jpl.org>
30712 * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
30714 2016-11-09 Eli Zaretskii <eliz@gnu.org>
30716 Resurrect 'memory-limit' on MS-Windows
30718 * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
30719 'memory-limit' will produce a trivial and useless result on Windows.
30721 2016-11-09 Mark Oteiza <mvoteiza@udel.edu>
30725 * lisp/net/quickurl.el (quickurl-format-function):
30726 (quickurl-sort-function): Use named function.
30727 (quickurl-list-mode-map): Remove lines that are extraneous now that the
30728 parent mode is special-mode.
30729 (quickurl-format-url, quickurl-sort-urls): New functions.
30730 (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
30732 (quickurl-list-mode): Derive from special-mode. Nix setting
30733 buffer-read-only: special-mode does that.
30734 (quickurl-list-populate-buffer): Use dolist instead.
30735 (quickurl-list-quit): Use quit-window. It looks like this was written
30736 before the quit-window rewrite. quit-window is very useful now.
30738 2016-11-09 Michael Albinus <michael.albinus@gmx.de>
30740 Refine multi-hop specs in Tramp
30742 * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
30744 * test/lisp/net/tramp-tests.el
30745 (tramp-test01-file-name-syntax): Multi-hop specs don't need a
30746 method. "/h:" is allowed on non MS Windows.
30748 2016-11-08 Daniel Colascione <dancol@dancol.org>
30750 Avoid infloop in python
30754 * lisp/progmodes/python.el (python-info-docstring-p): Improve
30755 infloop avoidance: replace (bobp) with generic test for
30757 * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
30760 2016-11-08 Daniel Colascione <dancol@dancol.org>
30762 Make gnus/message.el work correctly under lexical binding
30764 * lisp/gnus/message.el (message-send-mail): Rename `arg' to
30765 `_' to shut up the byte compiler.
30766 (sha1-maximum-internal-length, smtpmail-smtp-server)
30767 (smtpmail-smtp-service): add missing defvars
30769 2016-11-08 Michael Albinus <michael.albinus@gmx.de>
30773 * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
30774 defvar. Fix docstring.
30775 (tramp-completion-file-name-handler-alist): Fix docstring.
30776 (tramp-register-file-name-handlers): Reassign
30777 `tramp-file-name-regexp' to the car of
30778 `tramp-file-name-structure'. (Bug#24889)
30780 2016-11-08 Paul Eggert <eggert@cs.ucla.edu>
30782 Port to FreeBSD 11 AMD
30784 Problem reported by Ashish Shukla (Bug#24892). I tested
30785 this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
30786 * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
30787 (sbrk): Check whether it exists.
30788 * src/alloc.c (my_heap_start) [!GNU_LINUX]:
30789 Do not define, since this function is now used only on GNU/Linux,
30790 and sbrk might not exist on other platforms.
30791 (malloc_initialize_hook) [!GNU_LINUX]:
30792 Do not call my_heap_start, since its side effect will never be used.
30793 (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
30794 * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
30797 2016-11-08 Paul Eggert <eggert@cs.ucla.edu>
30799 Port emacsclient to FreeBSD 11 etc.
30801 * lib-src/emacsclient.c: Include <string.h>. This is needed on
30802 platforms like FreeBSD 11 that use code involving strlen etc., and
30803 because <config.h> no longer includes string.h.
30805 2016-11-07 Mark Oteiza <mvoteiza@udel.edu>
30807 Prescribe history for read-regexp in query-replace
30809 In the fix for bug#24580, the history argument for read-regexp was
30810 removed erroneously; read-regexp's history argument defaults to
30811 regexp-history, not minibuffer-history.
30812 * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
30813 minibuffer-history. Fixes bug#24873.
30815 2016-11-07 Mark Oteiza <mvoteiza@udel.edu>
30817 Remove obsolete default-FOO variables
30819 * etc/NEWS: Indicate the removed variables.
30820 * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
30821 * lisp/subr.el (default-mode-line-format, default-header-line-format):
30822 (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
30823 (default-truncate-lines, default-left-margin, default-tab-width):
30824 (default-case-fold-search, default-left-margin-width):
30825 (default-right-margin-width, default-left-fringe-width):
30826 (default-right-fringe-width, default-fringes-outside-margins):
30827 (default-scroll-bar-width, default-vertical-scroll-bar):
30828 (default-indicate-empty-lines, default-indicate-buffer-boundaries):
30829 (default-fringe-indicator-alist, default-fringe-cursor-alist):
30830 (default-scroll-up-aggressively, default-scroll-down-aggressively):
30831 (default-fill-column, default-cursor-type):
30832 (default-cursor-in-non-selected-windows):
30833 (default-buffer-file-coding-system, default-major-mode):
30834 (default-enable-multibyte-characters): Remove obsolete declarations.
30835 * src/buffer.c (default-mode-line-format, default-header-line-format):
30836 (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
30837 (default-truncate-lines, default-left-margin, default-tab-width):
30838 (default-case-fold-search, default-left-margin-width):
30839 (default-right-margin-width, default-left-fringe-width):
30840 (default-right-fringe-width, default-fringes-outside-margins):
30841 (default-scroll-bar-width, default-vertical-scroll-bar):
30842 (default-indicate-empty-lines, default-indicate-buffer-boundaries):
30843 (default-fringe-indicator-alist, default-fringe-cursor-alist):
30844 (default-scroll-up-aggressively, default-scroll-down-aggressively):
30845 (default-fill-column, default-cursor-type):
30846 (default-cursor-in-non-selected-windows):
30847 (default-buffer-file-coding-system, default-major-mode):
30848 (default-enable-multibyte-characters): Remove.
30849 * src/fileio.c (choose_write_coding_system): Fix comment.
30850 * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
30852 2016-11-07 Eli Zaretskii <eliz@gnu.org>
30854 Improve the tutorial
30856 * etc/tutorials/TUTORIAL: Minor copyedits. (Bug#24890)
30857 * etc/tutorials/TUTORIAL.he: Follow suit.
30859 2016-11-06 Paul Eggert <eggert@cs.ucla.edu>
30861 Restore file descriptor limit in subprocesses
30863 Problem reported by Philipp Stephani (Bug#24869).
30864 * src/callproc.c (child_setup) [!DOS_NT]:
30865 Call restore_nofile_limit in the child.
30866 * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
30867 (restore_nofile_limit): New function.
30868 (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
30870 2016-11-06 Mark Oteiza <mvoteiza@udel.edu>
30872 Remove some subr.el functions obsoleted in 22.1
30874 * etc/NEWS: Document removed functions. Also mention the "face"
30875 variables that have been removed recently.
30876 * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
30877 (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
30879 2016-11-05 Paul Eggert <eggert@cs.ucla.edu>
30881 Prefer comments /* like this */ in C code
30883 2016-11-05 Johan Bockgård <bojohan@gnu.org>
30885 * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
30887 2016-11-05 Nick Terrell <nickrterrell@gmail.com> (tiny change)
30889 Support zstd compressed files
30891 * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
30892 zstd compression info: <http://facebook.github.io/zstd/>.
30893 (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
30894 compressed tar archives. (Bug#24853)
30896 2016-11-05 Eli Zaretskii <eliz@gnu.org>
30898 Enlarge DUMPED_HEAP_SIZE
30900 * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
30901 Enlarge to 21MB. Reported by Richard Copley <rcopley@gmail.com>.
30903 2016-11-04 Paul Eggert <eggert@cs.ucla.edu>
30908 2016-11-03 intprops: port to older XL C
30909 * lib/intprops.h: Copy from gnulib.
30911 2016-11-04 Paul Eggert <eggert@cs.ucla.edu>
30913 Merge from origin/emacs-25
30915 acae275 ; Spelling fixes
30916 d8fac73 Update README for precompiled windows Emacs.
30917 23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
30918 f708cb2 Clarify doc string of 'transpose-sexps'
30919 cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
30920 bdc89eb Improve documentation of 'font-lock-remove-keywords'
30921 4a0c590 Fix documentation of the command summary key
30922 0221b7a Mark relocation workarounds with REL_ALLOC
30924 2016-11-04 Paul Eggert <eggert@cs.ucla.edu>
30926 Merge from origin/emacs-25
30928 dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
30929 91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
30930 9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
30931 9c247d2 Update category-table for Chinese characters
30932 43986d1 Inhibit buffer relocation during regex searches
30933 fee4cef Revert fixes to allocation of regex matching
30935 2016-11-04 Mark Oteiza <mvoteiza@udel.edu>
30937 Fix references to long obsoleted functions/aliases
30939 * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
30940 * doc/misc/cl.texi (Conditionals):
30941 * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
30943 * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
30944 default-major-mode.
30945 * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
30946 here is not a function call, but shorten the binding names anyways.
30947 Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
30949 * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
30952 2016-11-04 Mark Oteiza <mvoteiza@udel.edu>
30954 * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
30956 2016-11-04 Katsumi Yamaoka <yamaoka@jpl.org>
30958 * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
30959 that gathers extra strings in an invalid html. (bug#24831)
30960 (shr-tag-table): Use it.
30962 2016-11-04 Vasilij Schneidermann <v.schneidermann@gmail.com>
30964 Add 'x-ctrl-keysym' support on X window system
30966 * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
30967 Support 'x-ctrl-keysym'.
30968 (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
30970 <x-ctrl-keysym>: New DEFVAR_LISP.
30971 <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
30974 * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
30976 * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
30978 2016-11-04 Alexander Gramiak <agrambot@gmail.com>
30980 Improve autoload error reporting
30982 * src/eval.c (Fautoload_do_load): Include the absolute file name
30983 in the error message.
30985 2016-11-03 Reuben Thomas <rrt@sc3d.org>
30987 Stop force parameter of whitespace-report-region having global effect
30989 * lisp/whitespace.el (whitespace-report-region): Force parameter
30990 previously changed whitespace-style globally. Fix this, and use
30991 whitespace-active-style, to take account of any changes the user may
30992 have made. Simplify the documentation: the force parameter simply
30993 forces all classes of whitespace problem to be considered.
30996 2016-11-03 Reuben Thomas <rrt@sc3d.org>
30998 Document use of `tab-width'
31000 * lisp/whitespace.el: When talking about `8 or more spaces', mention
31001 `tab-width' instead of 8. (Bug#24745)
31003 2016-11-03 Reuben Thomas <rrt@sc3d.org>
31005 Make whitespace-report-region respect current settings
31007 * lisp/whitespace.el (whitespace-report-region): Make it respect
31008 whitespace-style, including any additions made by the force parameter.
31009 This means that the function does not return t unless a whitespace
31010 problem that the user cares about is reported. (Bug#24745)
31012 2016-11-03 Reuben Thomas <rrt@sc3d.org>
31014 Fix whitespace-space-after-tab-regexp
31016 * lisp/whitespace.el (whitespace-space-after-tab-regexp)
31017 (whitespace-regexp): Match all the spaces after tabs for highlighting,
31018 not just the first tab-width. Fix whitespace-space-after-tab::space
31019 version so that it requires at least tab-width spaces, not just 1.
31022 2016-11-03 Reuben Thomas <rrt@sc3d.org>
31024 Remove duplicate documentation
31026 * lisp/whitespace.el: Remove duplicate documentation from the Commentary
31027 section which duplicate and in some places contradict (due to being
31028 out of date) the docstrings (Bug#24745).
31030 2016-11-03 Reuben Thomas <rrt@sc3d.org>
31034 * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
31035 (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
31036 work at beginning & end of buffer in whitespace-report-region, and only
31037 there (i.e. they will never match in regions that don't include the
31038 start or end of the buffer). (Bug#24745)
31040 2016-11-03 Tino Calancha <tino.calancha@gmail.com>
31042 (thing-at-point 'list) return nil if no list at point
31044 * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
31045 Check first if we are at the beginning of a top-level sexp (Bug#24627).
31046 If point is inside a comment or string, look for a list out of the
31048 Escape '[' in doc string.
31049 * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
31050 expected test result as pass.
31052 2016-11-02 Mark Oteiza <mvoteiza@udel.edu>
31054 Remove antlr face aliases obsoleted in 22.1
31056 * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
31057 (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
31058 (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
31059 (antlr-tokenref-face, antlr-literal-face):
31060 (antlr-literal-face): Remove.
31061 (antlr-font-lock-additional-keywords): Use face symbols instead.
31063 2016-11-02 Daniel Colascione <dancol@dancol.org>
31065 Revert "Disable bracketed paste in a terminal in char mode"
31067 This change causes regressions, and besides, disabling BPM frame-wide
31068 for the sake of one buffer is the wrong solution.
31070 This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
31072 2016-11-02 Mark Oteiza <mvoteiza@udel.edu>
31074 Revert change to eww-suggest-uris
31076 The introduced append is ugly and can yield '(nil); doing delq on it
31077 would be hacks on hacks.
31078 * lisp/net/eww.el: Require cl-lib at run time.
31079 (eww-suggest-uris): Restore eww-current-url, reverting previous change.
31080 (eww): Remove erroneous append.
31081 (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
31082 equal to eww-current-url, which is nil anyways if we are not in an EWW
31085 2016-11-02 Mark Oteiza <mvoteiza@udel.edu>
31087 Add eww-open-in-new-buffer to EWW
31089 * doc/misc/eww.texi (Basic): Document new command and key.
31090 * etc/NEWS: Mention new key and its purpose.
31091 * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
31092 (eww): Append (eww-current-url) to the prompt defaults.
31093 (eww-open-in-new-buffer): New command.
31094 (eww-mode-map): Bind it and add a menu item.
31096 2016-11-02 Mark Oteiza <mvoteiza@udel.edu>
31098 Migrate auth-source to cl-lib
31100 * lisp/auth-source.el: Use cl-lib.
31101 (auth-source-read-char-choice, auth-source-backend-parse-parameters):
31102 (auth-source-search): Replace cl calls with cl-lib ones.
31103 (auth-source-netrc-cache):
31104 (auth-source-forget+): Use cl-do-symbols instead.
31105 (auth-source-specmatchp, auth-source-netrc-parse):
31106 (auth-source-netrc-search, auth-source-netrc-create):
31107 (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
31108 (auth-source-secrets-search, auth-source-secrets-create):
31109 (auth-source-macos-keychain-search, auth-source--decode-octal-string):
31110 (auth-source-macos-keychain-search-items, auth-source-plstore-search):
31111 (auth-source-plstore-create): Replace cl calls with cl-lib ones.
31113 2016-11-01 Lars Ingebrigtsen <larsi@gnus.org>
31115 Don't segfault on timed-out TLS connections
31117 * src/process.c (finish_after_tls_connection): Check that the
31118 file descriptor is still alive before proceeding (bug#24811).
31119 Also clean up the code slightly.
31121 2016-11-01 Eli Zaretskii <eliz@gnu.org>
31123 Support 'TARGETS' in clipboard selections on MS-Windows
31125 * src/w32select.c (Fw32_selection_targets): New function.
31127 * lisp/term/w32-win.el (w32--get-selection): Call
31128 'w32-selection-targets' to obtain the list of data formats
31129 available in the clipboard.
31131 2016-11-01 Thomas Fitzsimmons <fitzsim@fitzsim.org>
31133 Fix documentation for 'eudc-options-file'
31135 * doc/misc/eudc.texi (The Server Hotlist): Update the default
31136 value of 'eudc-options-file'.
31138 2016-11-01 Tibor Csögör <tibi@tiborius.net>
31140 Fix documentation of 'eudc-inline-expansion-format'
31142 * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
31143 'eudc-inline-expansion-format'. (Bug#24840)
31145 2016-10-31 Mark Oteiza <mvoteiza@udel.edu>
31147 Turn on lexical-binding in some more libs
31149 * lisp/calendar/icalendar.el:
31150 * lisp/emacs-lisp/regexp-opt.el:
31151 * lisp/emacs-lisp/timer.el:
31152 * lisp/gnus/message.el:
31153 * lisp/hex-util.el: Turn on lexical-binding.
31155 2016-10-31 Mark Oteiza <mvoteiza@udel.edu>
31157 Turn on lexical-binding in some net libs
31159 * lisp/net/dbus.el: Turn on lexical-binding.
31160 (dbus-list-hash-table, dbus-list-known-names):
31161 (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
31162 (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
31163 (dbus-introspect-get-property-names):
31164 (dbus-introspect-get-argument-names, dbus-get-all-properties):
31165 (dbus-property-handler, dbus-get-all-managed-objects):
31166 (dbus-managed-object-handler): Replace add-to-list with push. Add
31167 nreverse in some places where the APPEND argument of add-to-list was
31169 * lisp/net/network-stream.el: Turn on lexical-binding.
31170 * lisp/net/newsticker.el: Turn on lexical-binding.
31171 * lisp/net/shr.el: Turn on lexical-binding.
31172 (shr-make-placeholder-image): Remove unused variable binding.
31173 (shr-inspect-table): Replace ignored bindings with underscore.
31175 2016-10-31 Mark Oteiza <mvoteiza@udel.edu>
31177 Turn on lexical-binding in some url libs
31179 * lisp/url/url-auth.el:
31180 * lisp/url/url-expand.el:
31181 * lisp/url/url-future.el:
31182 * lisp/url/url-parse.el:
31183 * lisp/url/url-util.el: Turn on lexical-binding.
31185 2016-10-31 Johan Bockgård <bojohan@gnu.org>
31187 * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
31191 2016-10-30 Alan Mackenzie <acm@muc.de>
31193 Handle chars of syntax word which are also flagged as comment delimiters
31195 src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
31196 as the start/end of two char comment delimiters, recognize a comment delimiter
31197 in preference to a portion of a word. This fixes bug #24767.
31199 2016-10-29 Daniel Colascione <dancol@dancol.org>
31201 Speed up initialization by preferring /dev/urandom to GnuTLS
31203 * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
31205 2016-10-29 José L. Doménech <domenechjosel@gmail.com>
31207 Quote file names in dired compression commands
31209 * lisp/dired-aux.el (dired-do-compress-to): Change the string
31210 used as shell command for compression by quoting the filenames
31211 used for input and output (Bug #24620).
31213 2016-10-29 Eli Zaretskii <eliz@gnu.org>
31215 Avoid errors in posn-at-point for large images
31217 * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
31218 returns a 6-member list for a partially visible glyph, pass the
31219 sum of Y and RTOP to posn-at-x-y, since that's where the visible
31220 portion of that glyph begins on display. (Bug#24804) (Bug#21832)
31223 2016-10-29 Eli Zaretskii <eliz@gnu.org>
31225 Unbreak MS-Windows build
31227 * src/w32term.c (XCreateGC): Second argument is now HWND, and its
31229 (x_set_cursor_gc, x_set_mouse_face_gc)
31230 (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
31231 (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
31232 use s->window, which doesn't exist anymore.
31234 * src/w32term.h (XCreateGC): Adjust prototype.
31236 2016-10-28 Daniel Colascione <dancol@dancol.org>
31238 Add double-buffering support to reduce flicker
31240 * src/dispextern.h (struct glyph_string): Remove window member
31241 (block_buffer_flips, unblock_buffer_flips)
31242 (buffer_flipping_blocked_p): Declare.
31244 * src/xterm.h (struct x_display_info): New member supports_xdbe.
31245 (struct x_output): New members draw_desc and need_buffer_flip.
31246 (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
31247 (FRAME_X_DOUBLE_BUFFERED_P)
31248 (FRAME_X_NEED_BUFFER_FLIP): New macros.
31249 (set_up_x_back_buffer, tear_down_x_back_buffer)
31250 (initial_set_up_x_back_buffer): Declare.
31252 * src/xterm.c: Include Xdbe.h.
31253 (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
31254 (x_draw_vertical_window_border, x_update_end)
31255 (x_setup_relief_color, x_draw_relief_rect)
31256 (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
31257 (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
31258 FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
31259 variables appropriately; substitute calls to XClearArea with
31260 x_clear_area, which DTRT for double buffering.
31261 (x_clear_window, x_clear_area): In double-buffering mode, use
31262 rect-drawing X functions instead of XClearWindow and
31263 XClearArea, which always operate on the front buffer.
31264 (show_back_buffer): New function.
31265 (XTframe_up_to_date): Call show_back_buffer when done.
31266 (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
31267 gtk_widget_queue_draw to refresh scroll bars; scroll bars are
31268 now independent X windows.
31269 (handle_one_xevent): Call font_drop_xrender_surfaces when
31270 XftDraw might need regenerating; perform buffer flip when
31271 responding to Expose events; issue front-buffer clearing
31272 commands as stopgap while we wait for redisplay.
31273 Call flush_dirty_back_buffers.
31274 (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
31275 earlier in function.
31276 (x_free_frame_resources): Call tear_down_x_back_buffer when
31278 (x_term_init): Attempt to initialize double buffer extension.
31279 (x_flip_and_flush): New function.
31280 (x_redisplay_interface): Point to x_flip_and_flush instead of
31282 (flush_dirty_back_buffers): New function.
31283 (x_create_terminal): Register buffer_flipping_unblocked_hook.
31285 * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
31286 FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
31287 (xftfont_draw): Call x_mark_frame_dirty.
31288 (xftfont_drop_xrender_surfaces): New function.
31289 (syms_of_xftfont): Register it.
31291 * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
31294 * src/xfns.c: Include Xdbe.h.
31295 (x_set_inhibit_double_buffering, set_up_x_back_buffer)
31296 (Fx_double_buffered_p): New functions.
31297 (x_window): Call initial_set_up_x_back_buffer.
31298 (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
31299 (Fx_create_frame): Configure `inhibit-double-buffering'
31301 (x_create_tip_frame): Call initial_set_up_x_back_buffer.
31302 (x_frame_parm_handlers): Register
31303 x_set_inhibit_double_buffering.
31304 (syms_of_xfns): Register Sx_double_buffered_p.
31305 (x_mark_frame_dirty): Define.
31307 * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
31310 * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
31311 FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
31312 (redisplay_internal): Restart redisplay if a frame is garbaged
31313 during updating; explain why. Block buffer flips
31315 (redisplay_preserve_echo_area): Block buffer flip during call
31316 to redisplay_internal.
31317 (buffer_flip_blocked_depth): New variable.
31318 (block_buffer_flips, unblock_buffer_flips)
31319 (buffer_flipping_blocked_p): New functions.
31320 (init_glyph_string): Stop setting window member of struct
31323 * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
31324 x_set_inhibit_double_buffering.
31326 * src/termhooks.h (struct terminal): Add
31327 buffer_flipping_unblocked_hook.
31329 * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
31330 x_set_inhibit_double_buffering.
31332 * src/image.c (x_create_bitmap_from_data)
31333 (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
31334 (Create_Pixmap_From_Bitmap_Data)
31335 (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
31336 FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
31337 variables appropriately.
31339 * src/gtkutil.c: Include Xdbe.h.
31340 (xg_get_widget_from_map): Forward declare.
31341 (xg_clear_under_internal_border): Remove obsolete calls to
31342 refresh scroll bars.
31343 (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
31344 (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
31345 FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
31347 (xg_set_background_color): Set scroll bar background colors.
31348 (xg_finish_scroll_bar_creation): New function with common
31349 logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
31350 scroll bars to be real X11 windows.
31351 (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
31352 xg_finish_scroll_bar_creation.
31353 (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
31354 Remove obsolete calls to refresh scroll bars; fix comments.
31356 * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
31357 (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
31360 * src/frame.c (frame_parms): Add table entry for new
31361 `inhibit-double-buffering' frame parameter
31362 (syms_of_frame): Register Qinhibit_double_buffering.
31364 * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
31365 (font_drop_xrender_surfaces): Declare.
31367 * src/font.c (font_drop_xrender_surfaces): New function.
31369 * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
31371 * etc/NEWS: Mention use of double buffering
31373 * doc/lispref/frames.texi (Management Parameters): Document
31374 `inhibit-double-buffering' frame parameters.
31375 (Visibility of Frames): Document `x-double-buffered-p'.
31377 * configure.ac: Check for the X double buffer extension
31379 2016-10-28 Michael Albinus <michael.albinus@gmx.de>
31381 Improve result of `auth-source-search' in Tramp
31383 * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
31384 :user in result of `auth-source-search'.
31386 2016-10-27 Mark Oteiza <mvoteiza@udel.edu>
31388 Fix avl-tree alias docstrings
31390 * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
31391 (avl-tree-stack-p, avl-tree-create):
31392 (avl-tree-compare-function): Add calling convention to docstrings.
31394 2016-10-27 Paul Eggert <eggert@cs.ucla.edu>
31399 2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
31400 2016-10-13 stdint: port SIZE_MAX to glibc s390
31401 2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
31402 * lib/gnulib.mk: Regenerate.
31403 * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
31404 * m4/utimes.m4: Copy from gnulib.
31406 2016-10-27 Paul Eggert <eggert@cs.ucla.edu>
31408 electric-quote-chars fixups
31410 * lisp/electric.el (electric-quote-chars): Check types and safety
31412 (electric-quote-post-self-insert-function): Use more-mnemonic locals.
31413 Omit no-longer-necessary runtime error diagnostic.
31415 2016-10-27 Göktuğ Kayaalp <self@gkayaalp.com>
31417 New user variable 'electric-quote-chars'
31419 * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
31420 * lisp/electric.el (electric-quote-chars): New defcustom.
31421 (electric-quote-post-self-insert-function): Use it.
31423 2016-10-27 Tino Calancha <tino.calancha@gmail.com>
31425 Add more tests for Bug#24627
31427 * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
31428 Add tests for 'list-at-point'.
31430 2016-10-26 Filipp Gunbin <fgunbin@fastmail.fm>
31432 * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
31434 * lisp/shell.el (shell--unquote&requote-argument): Fix
31435 off-by-one thinko. Don't use match data after a failed string-match.
31437 2016-10-25 Paul Eggert <eggert@cs.ucla.edu>
31439 * src/xwidget.c (webkit_js_to_lisp): Now static.
31441 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31443 xwidget: Map "previous-line" and "next-line" to scroll
31445 * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
31448 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31450 xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
31452 * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
31453 "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
31455 (xwidget-webkit-scroll-top,
31456 xwidget-webkit-scroll-bottom): New procedures.
31458 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31460 Implement zoom for WebKit widget.
31462 * src/xwidget.c (xwidget-webkit-zoom): New procedure.
31463 * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
31464 (xwidget-webkit-zoom): Declare procedure.
31465 (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
31467 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31469 Dynamically resize WebKit widget.
31471 * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
31472 xwidget-webkit-adjust-size-in-frame): New procedures.
31473 (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
31474 (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
31475 (xwidget-webkit-adjust-size-to-window): Make non-interactive,
31476 add widget and window as arguments.
31477 (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
31479 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31481 Let initial WebKit view fill window
31483 * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
31484 WebKit widget to window size.
31486 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31488 xwidget: Remove title hack.
31490 * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
31491 * lisp/xwidget.el (xwidget-webkit-get-title,
31492 xwidget-webkit-execute-script-rv): Remove procedures.
31494 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31496 xwidget: Get URL asynchronously.
31498 * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
31500 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31502 xwidget: Get selection with asynchronous JavaScript
31504 * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
31506 (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
31508 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31510 xwidget: Add function to find element by CSS selector
31512 * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
31514 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31516 xwidget: Simplify functions to scroll to elements
31518 * lisp/xwidget.el (xwidget-webkit-show-named-element,
31519 xwidget-webkit-show-id-element,
31520 xwidget-webkit-show-id-or-named-element): Simplify functions by
31521 scrolling exclusively with JavaScript.
31523 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31525 xwidget: Get title via asynchronous JavaScript.
31527 * lisp/xwidget.el (xwidget-webkit-callback): Get document title
31530 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31532 xwidget: Do not use `xwidget-execute-script-rv' to insert string
31534 * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
31535 return value via callback instead of using
31536 `xwidget-webkit-execute-script-rv'.
31538 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31540 Remove scrolled window container around WebKit widget
31542 The WebKit widget can scroll on its own and does not need to wrapped
31543 with a scrolled window container.
31545 * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
31546 * src/xwidget.c: Remove widgetscrolledwindow_osr.
31547 (xwidget-set-adjustment): Remove.
31548 (xwidget-resize): Resize Webkit widget last.
31549 * lisp/xwidget.el (xwidget-set-adjustment): Remove.
31550 (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
31551 xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
31552 Implement scrolling via JavaScript.
31554 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31556 xwidget: Pass JavaScript return value to optional callback procedure
31558 * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
31560 (xwidget-webkit-callback): Handle "javascript-callback" event type.
31561 * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
31562 argument FUN, a Lisp procedure to execute on the JavaScript return
31564 (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
31565 webkit_js_to_lisp): New procedures.
31567 2016-10-25 Ricardo Wurmus <rekado@elephly.net>
31569 xwidget: Use WebKit2 API
31571 * configure.ac: Check for webkit2gtk-4.0.
31572 * src/xwidget.c: Adjust to use WebKit2 API.
31573 * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
31574 `xwidget-event-type'.
31576 2016-10-25 Paul Eggert <eggert@cs.ucla.edu>
31578 Merge from origin/emacs-25
31580 4c3f738 Comment for bug#24793
31582 2016-10-25 Paul Eggert <eggert@cs.ucla.edu>
31584 Merge from origin/emacs-25
31586 96ac0c3 Yet another fix for using pointers into buffer text
31587 1047496 Another fix for using pointer to buffer text
31588 3121992 Fix Bug#24478
31590 2016-10-25 Paul Eggert <eggert@cs.ucla.edu>
31592 Merge from origin/emacs-25
31594 ee04aed Fix handling of buffer relocation in regex.c functions
31595 71ca4f6 Avoid relocating buffers while libxml2 reads its text
31596 1b3fc8a ; Remove redundant code in gmalloc.c
31597 9afea93 Attempt to catch reads from a buffer that is relocated
31599 2016-10-25 Nicolas Petton <nicolas@petton.fr>
31601 Minor fix in the documentation of seq-random-elt
31603 * doc/lispref/sequences.texi (Sequence Functions): Remove false
31606 2016-10-25 Eli Zaretskii <eliz@gnu.org>
31608 Minor copyedits in documentation of 'seq-random-elt'
31610 * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
31611 last change. Use 2 spaces between sentences.
31613 2016-10-25 Nicolas Petton <nicolas@petton.fr>
31615 * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
31617 2016-10-25 Damien Cassou <damien@cassou.me>
31619 Add seq-random-elt to seq.el
31621 * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
31622 random element from it's sequence parameter.
31624 * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
31625 test-seq-random-elt-return-nil): Test the new function
31627 * doc/lispref/sequences.texi: Document the new function
31629 2016-10-24 Ken Brown <kbrown@cornell.edu>
31631 * configure.ac: Stop using mmap for buffers on Cygwin.
31633 2016-10-24 Nicolas Petton <nicolas@petton.fr>
31635 * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
31637 2016-10-24 Karl Chen <Karl.Chen@quarl.org>
31639 Don't prompt user when killing Flymake processes
31641 * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
31642 Don’t prompt the user when killing Flymake processes.
31644 * doc/misc/flymake.texi (Starting the syntax check process):
31645 Document new behavior.
31647 2016-10-23 Paul Eggert <eggert@cs.ucla.edu>
31649 * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
31651 This finishes the merge of the recent emacs-25 regex changes into
31654 2016-10-23 Paul Eggert <eggert@cs.ucla.edu>
31656 Merge from origin/emacs-25
31658 50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
31659 6f1325e electric-quote mode no longer worries about coding
31660 c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
31661 f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
31662 b2ba630 Explain how to debug emacsclient lisp errors
31663 9da53e2 Let describe-function work for lambda again
31664 5c2da93 Fix kill-line's docstring
31665 ad66b3f Fix handling of allocation in regex matching
31666 5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
31667 3877c91 vc-region-history: Search just on lines intersecting the region
31668 8988327 Fix documentation of 'alist-get'
31669 b6998ea * src/regex.h (re_match_object): Improve commentary.
31675 2016-10-23 Paul Eggert <eggert@cs.ucla.edu>
31677 Merge from origin/emacs-25
31679 8ad0d7d ; Fix quoting in etc/NEWS
31680 6b9dee1 Change Tramp version to "2.2.13.25.2"
31681 62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
31682 b2f32e4 Don't scan compiled module files for autoloads
31683 9a758b4 Fix Bug#24698
31684 baa8ba4 * lisp/subr.el (start-process): Doc fix. (Bug#24693)
31685 e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
31686 12da149 Update URL of MS-Windows optional DLLs
31687 2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
31688 a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
31689 b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
31690 cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (B...
31693 # doc/misc/trampver.texi
31695 # lisp/net/tramp-sh.el
31696 # lisp/net/trampver.el
31698 2016-10-23 Paul Eggert <eggert@cs.ucla.edu>
31700 Merge from origin/emacs-25
31702 b73f466 * lisp/cus-start.el (exec-path): Handle nil elements. (Bug#2...
31703 55ebb70 Catch the imenu-unavailable error in sh-mode completion table
31704 993acb5 ; Minor fix for last change in characters.el
31705 30c4bb5 More char-width fixes
31706 4eb4463 Fix char-width-table values for some Emoji
31707 528997d Keep point when switching from and to *terminal* buffer
31708 2130005 * INSTALL: Use correct Emacs release number 25.
31709 10835b1 Avoid crashes due to objects read with the #n=object form
31710 4de671d Improve doc string of 'completion-at-point-functions'
31711 ceb46f0 Fix crash in evaluating functions
31712 d8374c4 * src/filelock.c (current_lock_owner): Update comment.
31714 2016-10-23 Paul Eggert <eggert@cs.ucla.edu>
31716 Merge from origin/emacs-25
31718 2deb20c Port last_marked change to full-program optimizers
31719 27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
31720 dac64e3 Avoid optimizing out the last_marked[] array
31722 2016-10-22 Noam Postavsky <npostavs@gmail.com>
31724 Avoid infinite hscrolling in redisplay
31726 * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
31727 scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
31728 redisplay (Bug #24633).
31730 2016-10-22 Michael Albinus <michael.albinus@gmx.de>
31732 Fix error codes in Tramp
31734 * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
31735 taken from tramp.el.
31736 (tramp-file-missing): New defconst.
31738 * lisp/net/tramp.el (tramp-user-error): Remove it.
31739 (tramp-check-proper-method-and-host)
31740 (tramp-dissect-file-name, tramp-debug-message)
31741 (tramp-handle-shell-command):
31742 * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
31743 * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
31744 Use `tramp-compat-user-error'.
31746 * lisp/net/tramp.el (tramp-handle-insert-file-contents)
31747 (tramp-handle-load):
31748 * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
31749 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
31750 * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
31751 * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
31752 Use `tramp-file-missing'. (Bug#24714)
31754 * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
31755 * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
31756 Use `file-already-exists'.
31758 2016-10-22 Jorgen Schaefer <contact@jorgenschaefer.de>
31760 Autoload all commands from misc.el
31762 Only two of the commands there were autoloaded, one of which is an
31764 * lisp/misc.el (copy-from-above-command):
31765 * lisp/misc.el (zap-up-to-char):
31766 * lisp/misc.el (mark-beginning-of-buffer):
31767 * lisp/misc.el (mark-end-of-buffer):
31768 * lisp/misc.el (upcase-char):
31769 * lisp/misc.el (forward-to-word):
31770 * lisp/misc.el (backward-to-word):
31771 Add autoload cookie.
31773 2016-10-22 Martin Rudalics <rudalics@gmx.at>
31775 On terminal frames ignore minibuffer frame parameter (Bug#24758)
31777 * src/frame.c (Fmake_terminal_frame): Don't complain when the
31778 caller asks for a deviant minibuffer setting (Bug#24758).
31780 2016-10-21 Paul Eggert <eggert@cs.ucla.edu>
31782 New error file-missing
31784 This fixes a recently-introduced bug in delete-directory,
31785 where the code assumes the C locale when determining
31786 whether a file-error corresponds to a missing file (Bug#24714).
31787 * doc/lispref/errors.texi (Standard Errors):
31788 * doc/lispref/files.texi (Changing Files):
31791 * doc/lispref/loading.texi (How Programs Do Loading):
31792 Say "a file-error" rather than "the error file-error" since
31793 it might be a file-missing now.
31794 * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
31795 * lisp/epa-file.el (epa-file--find-file-not-found-function):
31796 (epa-file-insert-file-contents, epa-file-write-region):
31797 * lisp/ffap.el (find-file-at-point, dired-at-point):
31798 * lisp/jka-compr.el (jka-compr-insert-file-contents)
31799 (jka-compr-insert-file-contents):
31800 * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
31801 (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
31802 * lisp/progmodes/etags.el (visit-tags-table):
31803 * lisp/url/url-handlers.el (url-copy-file):
31804 * src/fileio.c (report_file_errno):
31805 Signal file-missing if appropriate.
31806 * lisp/epa-file.el (epa-file-insert-file-contents):
31807 * lisp/jka-compr.el (jka-compr-insert-file-contents):
31808 Don't assume file-error is a leaf in the error hierarchy.
31809 * lisp/files.el (files--force):
31810 * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
31811 * lisp/jka-compr.el (jka-compr-insert-file-contents):
31812 Use file-missing to detect whether the file is missing.
31813 * lisp/url/url-handlers.el (url-copy-file):
31814 Signal file-already-exists if appropriate.
31815 * src/fileio.c (syms_of_fileio): Define file-missing.
31817 2016-10-18 Paul Eggert <eggert@cs.ucla.edu>
31819 2016-10-21 Mark Oteiza <mvoteiza@udel.edu>
31821 Teach browse-url to open man page urls
31823 * lisp/net/browse-url.el (browse-url-man-function): New custom option.
31824 (browse-url): Add a condition to catch links matching "^man:".
31825 (browse-url-man): New function.
31827 2016-10-21 Eli Zaretskii <eliz@gnu.org>
31829 Improve fontification of footnote references in Info buffers
31831 * lisp/info.el (Info-fontify-node): Don't fontify random numbers
31832 in parentheses as if they were footnote references. See
31833 https://lists.gnu.org/archive/html/bug-texinfo/2016-10/msg00007.html
31836 2016-10-20 Philipp Stephani <phst@google.com>
31838 Minor fixes to cc-mode-tests.el
31842 * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
31843 file-local variable; add comments to make checkdoc happy.
31845 2016-10-20 Michael Albinus <michael.albinus@gmx.de>
31847 * etc/NEWS: Fix typos. Remove entries backported to Emacs 25.2.
31849 2016-10-20 Michael Albinus <michael.albinus@gmx.de>
31851 Document, how to suppress iTerm2 shell integration in Tramp
31853 * doc/misc/tramp.texi (Frequently Asked Questions):
31854 Suppress iTerm2 shell integration.
31856 2016-10-20 Tino Calancha <tino.calancha@gmail.com>
31858 cl-seq: Remove max limit on input sequence length
31860 * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
31861 (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
31862 Remove limit on maximum length for the input sequence
31864 * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
31866 2016-10-19 Mark Oteiza <mvoteiza@udel.edu>
31868 Derive dig-mode from special-mode
31870 * lisp/net/dig.el: Remove unused cl dependency. Remove top level
31871 mode-class assignment.
31872 (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
31873 (dig-mode): Derive from special-mode.
31874 (dig-exit): Use quit-window instead.
31875 (dig): Use pop-to-buffer-same-window. Remove redundant assignments.
31876 (query-dig): Use pop-to-buffer-same-window.
31878 2016-10-18 Johan Bockgård <bojohan@gnu.org>
31880 cl-defstruct: Fix debug spec and check of slot options
31882 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
31883 option syntax. Fix debug spec. (Bug#24700)
31885 2016-10-18 Johan Bockgård <bojohan@gnu.org>
31887 isearch: Fix bug in defstruct syntax
31889 * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
31890 options. (Bug#24685)
31892 2016-10-18 Mark Oteiza <mvoteiza@udel.edu>
31894 Add an option for eshell-input-filter
31896 * etc/NEWS: Document changes.
31897 * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
31898 symbol. Change type to a radio for choosing functions. Refer to both
31900 (eshell-input-filter-default): New function. Same body as the previous
31901 value of eshell-input-filter.
31902 (eshell-input-filter-initial-space): New function.
31904 2016-10-18 Paul Eggert <eggert@cs.ucla.edu>
31906 delete-directory no longer errors when racing
31908 Problem reported by Glenn Morris for package-test.el (Bug#24714).
31909 * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
31910 * lisp/files.el (files--force): New function.
31911 (delete-directory): Use it to avoid error in this case.
31913 2016-10-17 Yuri Khan <yuri.v.khan@gmail.com> (tiny change)
31915 Support Shift selection in nxml-mode commands
31917 * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
31918 (nxml-up-element, nxml-backward-up-element, nxml-down-element)
31919 (nxml-backward-down-element, nxml-forward-element)
31920 (nxml-backward-element, nxml-forward-paragraph)
31921 (nxml-backward-paragraph): Use "^p" as the interactive spec, to
31922 support shift-selection.
31924 2016-10-17 Mark Oteiza <mvoteiza@udel.edu>
31926 Simplify some loops and cons
31928 * lisp/net/mailcap.el: Replace cl with cl-lib.
31929 (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
31930 (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
31931 (mailcap-possible-viewers): Use push and dolist where possible.
31932 (mailcap-viewer-passes-test): Remove unused binding.
31933 (mailcap-add-mailcap-entry): Use push.
31934 (mailcap-mime-info): Remove unused binding. Use push.
31935 (mailcap-parse-mimetypes): Use dolist.
31937 2016-10-17 Mark Oteiza <mvoteiza@udel.edu>
31939 Turn on lexical-binding in auth-source
31941 * lisp/auth-source.el: Turn on lexical-binding.
31942 (auth-source-netrc-parse, auth-source-netrc-normalize):
31943 (auth-source-token-passphrase-callback-function):
31944 (auth-source-netrc-create, auth-source-secrets-search):
31945 (auth-source-macos-keychain-search-items):
31946 (auth-source-plstore-search): Use let instead of lexical-let.
31948 2016-10-17 Martin Rudalics <rudalics@gmx.at>
31950 Fix frame focus redirection with shared minibuffer windows (Bug#24500)
31952 * src/frame.c (do_switch_frame): Redirect frame focus also when
31953 the frame switched to has its minibuffer window on the selected
31955 * src/window.c (candidate_window_p): To qualify as candidate
31956 it's not sufficient for the window's frame to just share the
31957 minibuffer window - it must be active as well.
31959 2016-10-17 Eli Zaretskii <eliz@gnu.org>
31961 Fix time-related data types in 2 editfns.c functions
31963 * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
31964 pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
31965 instead of relying on struct timespec's 'tv_sec' member to be of
31968 2016-10-16 Martin Rudalics <rudalics@gmx.at>
31970 Document atomic windows in Elisp manual (Bug#18170)
31972 * lisp/window.el (display-buffer-in-atom-window): If no `side'
31973 alist entry was specified, use `below' as the doc tells.
31974 * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
31975 * doc/lispref/windows.texi (Atomic Windows): New section.
31976 (Window Parameters): Update reference.
31978 2016-10-16 Paul Eggert <eggert@cs.ucla.edu>
31982 Suggested by Eli Zaretskii, from a feature request by
31983 Alan Mackenzie (Bug#24468).
31984 * doc/emacs/display.texi (Standard Faces, Text Display):
31985 * etc/NEWS: Document this.
31986 * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
31987 * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
31988 * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
31989 * etc/themes/wombat-theme.el:
31990 Customize homoglyph to be the same as escape-glyph.
31991 * lisp/cus-theme.el (custom-theme--listed-faces):
31993 * lisp/faces.el (homoglyph): New face.
31994 * lisp/startup.el (startup--setup-quote-display): Use it.
31996 2016-10-16 Paul Eggert <eggert@cs.ucla.edu>
31998 Port to Ubuntu 16.10, which needs gcc -nopie
32000 * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
32001 emacs_cv_prog_cc_nopie. All usages changed. Check for -no-pie in
32002 preference to -nopie (Bug#24682).
32004 2016-10-16 Michael Albinus <michael.albinus@gmx.de>
32006 Fix bug#24665 in Tramp
32008 * doc/misc/tramp.texi (External methods): Do not confuse
32009 method names. (Bug#24665)
32011 2016-10-15 Sam Steingold <sds@gnu.org>
32013 use full time objects (lists) instead of floats when possible
32015 * lisp/midnight.el (midnight-buffer-display-time): Remove
32016 (clean-buffer-list): Use float time only for time comparison
32018 2016-10-15 Sam Steingold <sds@gnu.org>
32020 Save and restore buffer-display-time
32022 * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
32023 (desktop-read): Set `desktop-file-modtime' before loading the desktop file
32024 (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
32026 2016-10-15 Philipp Stephani <phst@google.com>
32028 Disable bracketed paste in a terminal in char mode
32030 In char mode, a terminal doesn't accept bracketed paste events,
32031 therefore we should disable them; see Bug#24639. To decouple the XTerm
32032 management from term.el, introduce a per-buffer setting to disable
32033 bracketed paste for that buffer. If bracketed paste is inhiited for at
32034 least one buffer in a terminal, it is disabled for the whole terminal.
32036 * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
32037 inhibit XTerm bracketed paste per buffer.
32038 (xterm--buffer-terminals, xterm--update-bracketed-paste)
32039 (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
32041 (xterm--init-bracketed-paste-mode): Remove unused helper
32043 (terminal-init-xterm): Update bracketed paste status when
32044 initializing an XTerm and on window configuration change.
32046 * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
32047 bracketed paste in char mode.
32049 2016-10-15 Dima Kogan <dima@secretsauce.net>
32051 Undo the effect of CapsLock when other modifiers are present
32053 * src/keyboard.c (make_lispy_event): Effectively undo the effect
32054 of CapsLock if any modifiers other than Shift are present in a key.
32057 2016-10-15 Simen Heggestøyl <simenheg@gmail.com>
32059 Add tests for foreign completions in CSS mode
32061 * test/lisp/textmodes/css-mode-tests.el
32062 (css-test-foreign-completions): New test for
32063 `css--foreign-completions'.
32064 (css-test-complete-selector-tag): Rename test.
32065 (css-test-complete-selector-class): New test testing completion of
32066 class names in selectors.
32067 (css-test-complete-selector-id): New test testing completion of IDs in
32070 2016-10-13 Lars Ingebrigtsen <larsi@gnus.org>
32072 Cosmetic change to last mm-url change
32074 * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
32075 Tweak last change slightly for more readability.
32077 2016-10-13 Lars Ingebrigtsen <larsi@gnus.org>
32079 Fix problem with submitting binary data via HTTP forms
32081 * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
32082 Document the parameters, clean up the code, and make uploading
32083 binary data really work (which it didn't if the binary bits
32084 were in the last part of the data).
32086 2016-10-13 Mark Oteiza <mvoteiza@udel.edu>
32088 * lisp/time.el (display-time-string-forms): Fix custom type.
32090 2016-10-13 Mark Oteiza <mvoteiza@udel.edu>
32092 Derive Man and WoMan modes from special-mode
32094 * lisp/man.el (Man-mode-map): Set parent to map composed from both
32095 button-buffer-map and special-mode-map. Remove redundant bindings.
32096 Fix menu to refer to the quit-window command.
32097 (Man-mode): Derive from special-mode. Fix docstring. Remove redundant
32098 buffer-read-only binding.
32099 (Man-quit): Remove.
32100 * lisp/woman.el (woman-really-find-file): Use setq-local.
32101 (woman-mode-map): Refer to woman-mode in docstring.
32102 (woman-mode): Derive from special-mode. Document woman-mode-map in
32103 docstring. Use setq-local where possible; imenu-generic-expression is
32104 already buffer-local.
32105 (woman-negative-vertical-space): Replace unused binding with _.
32107 2016-10-13 Philipp Stephani <phst@google.com>
32109 Fix crash in evaluating functions
32113 * src/eval.c (funcall_lambda): Fix crash for bogus functions such
32116 * test/src/eval-tests.el (eval-tests--bug24673): Add test.
32118 2016-10-13 Tino Calancha <tino.calancha@gmail.com>
32120 Add test for Bug#24627
32122 * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
32124 2016-10-12 Eli Zaretskii <eliz@gnu.org>
32126 * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
32128 2016-10-11 Paul Eggert <eggert@cs.ucla.edu>
32130 Work around Samba bug with ':' in symlink contents
32132 * src/filelock.c (current_lock_owner): When reading the contents
32133 of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
32135 2016-10-11 Stefan Monnier <monnier@iro.umontreal.ca>
32137 If autoloads buffer is unchanged, mark it as such (bug#23692)
32139 * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
32140 If autoloads buffer is unchanged, mark it as such (bug#23692).
32142 2016-10-11 Michael Albinus <michael.albinus@gmx.de>
32144 Use "26.1" version string in Tramp, fix some comments
32146 * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
32147 * lisp/net/tramp-sh.el (tramp-remote-process-environment):
32148 Use "26.1" version string.
32150 2016-10-10 Tino Calancha <tino.calancha@gmail.com>
32152 form-at-point work for all kind of THINGS
32154 * lisp/thingatpt.el (form-at-point):
32155 Use thing-at-point--read-from-whole-string only if thing-at-point
32156 returns a string (Bug#24605).
32158 2016-10-10 Eli Zaretskii <eliz@gnu.org>
32160 Fix compilation warnings on MS-Windows
32162 * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
32163 definitions of these macros, which seem to be unneeded and cause
32165 * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
32167 * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
32168 make it external, to avoid compiler warning.
32170 2016-10-10 Paul Eggert <eggert@cs.ucla.edu>
32172 Spelling and clarity fixes
32174 2016-10-10 Paul Eggert <eggert@cs.ucla.edu>
32176 Merge from origin/emacs-25
32178 4f406e9 CC Mode manual: remove reference to former Emacs variable las...
32179 44e402e Allow to disable compaction of font caches
32180 4ff4b66 Allow selection of font for symbols as in Emacs 24.x
32181 c03d44b ; Fix last commit
32182 d4be4f3 ; Fix indexing in lispref manual
32183 ed399f2 ; Minor improvement in documentation of generators
32184 197a6bc Fix horizontal scrolling during Isearch
32185 3566644 Fix infloop in redisplay due to truncated lines and invisible...
32190 2016-10-10 Paul Eggert <eggert@cs.ucla.edu>
32192 Merge from origin/emacs-25
32194 c4a5e7e Improve documentation of 'menu-bar-open'
32196 2016-10-10 Paul Eggert <eggert@cs.ucla.edu>
32198 Merge from origin/emacs-25
32200 4b347fe Clarify that doc fixes are okay in feature freeze
32201 01669ad Avoid crashes when setting the cursor
32202 f2144ee Restore 'command-debug-status' functionality
32203 ec6e4b9 ; Minor addition to CONTRIBUTE
32205 2016-10-10 Paul Eggert <eggert@cs.ucla.edu>
32207 Merge from origin/emacs-25
32209 74b4f13 Document nil args of compare-buffer-substrings
32210 9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
32211 95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
32213 2016-10-10 Paul Eggert <eggert@cs.ucla.edu>
32215 Merge from origin/emacs-25
32217 f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix. (Bug#24372)
32218 ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
32219 bbf1ffd Regexp Functions doc minor fixes
32221 2016-10-08 Philipp Stephani <phst@google.com>
32223 Don’t consider nested let-alist forms
32227 * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
32228 consider symbols in nested ‘let-alist’ forms.
32230 * test/lisp/emacs-lisp/let-alist-tests.el
32231 (let-alist--deep-dot-search--nested): Add a unit test.
32233 2016-10-08 Alain Schneble <a.s@realize.ch>
32235 Support SIGTRAP in kill emulation on Windows
32237 * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
32238 'DebugBreakProcess' to cause a breakpoint exception to occur in the
32239 specified process. On Windows versions prior to Windows XP that do
32240 not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
32241 (as opposed to EINVAL before this change).
32242 * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
32243 and global variable to track state of run-time dynamic linking of this
32246 * etc/NEWS: Add entry to document that 'signal-process' now supports
32249 2016-10-08 Eli Zaretskii <eliz@gnu.org>
32251 Deprecate 'wp' group and introduce a new group 'text'
32253 * lisp/textmodes/tildify.el (tildify):
32254 * lisp/textmodes/text-mode.el (text-mode-hook):
32255 * lisp/textmodes/table.el (table):
32256 * lisp/textmodes/rst.el (rst):
32257 * lisp/textmodes/refer.el (refer):
32258 * lisp/textmodes/refbib.el (refbib):
32259 * lisp/textmodes/picture.el (picture):
32260 * lisp/textmodes/nroff-mode.el (nroff):
32261 * lisp/textmodes/enriched.el (enriched):
32262 * lisp/textmodes/bib-mode.el (bib):
32263 * lisp/progmodes/ebnf2ps.el (ebnf2ps):
32264 * lisp/nxml/rng-valid.el (relax-ng):
32265 * lisp/view.el (view):
32266 * lisp/ps-print.el (ps-print):
32267 * lisp/printing.el (printing):
32268 * lisp/outline.el (outlines):
32269 * lisp/lpr.el (lpr):
32270 * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
32271 * lisp/cus-edit.el (wp): Remove the "text" tag.
32272 (text): New defgroup, inherits from the deprecated 'wp'.
32273 (outlines): Remove, in favor of the definition in outline.el.
32274 (tex): Inherit from 'text'.
32275 Suggested by Drew Adams <drew.adams@oracle.com>. (Bug#24549)
32277 2016-10-08 Laimonas Vėbra <laimonas.vebra@yahoo.com> (tiny change)
32279 Extend dictionary and library-directory handling for Ispell
32281 * lisp/textmodes/ispell.el (ispell-check-version): Allow
32282 overriding LIBDIR via the variable defined by LIBRARYVAR (usually
32284 (ispell-valid-dictionary-list): If the -d option to Ispell
32285 specifies an absolute file name, use that regardless of
32286 ispell-library-directory. (Bug#24439)
32288 2016-10-07 Tassilo Horn <tsdh@gnu.org>
32290 Fix unescaped \begin{...} in docstring
32292 * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
32293 \begin{...} in docstring.
32295 2016-10-06 Noah Friedman <friedman@splode.com>
32299 2016-10-06 Eli Zaretskii <eliz@gnu.org>
32301 Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
32303 * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
32304 defining to avoid redefinition warnings.
32306 * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
32307 inclusion of sys/stat.h from the system headers, which could then
32308 lead to compilation errors due to redefinition of 'struct stat'
32309 etc. This is needed because latest versions of MinGW runtime
32310 include sys/stat.h from wchar.h.
32312 * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
32313 redefine to 4 to avoid conflict between 2 definitions of
32314 MemoryBarrier. (Bug#24613)
32316 2016-10-05 Mark Oteiza <mvoteiza@udel.edu>
32318 * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
32320 2016-10-05 Mark Oteiza <mvoteiza@udel.edu>
32322 Autoload entry point testcover-start
32324 * lisp/emacs-lisp/testcover.el: Add autoload cookie for
32327 2016-10-05 Thomas Fitzsimmons <fitzsim@fitzsim.org>
32329 Bump version of ntlm.el to 2.1.0
32331 * lisp/net/ntlm.el: Bump version to 2.1.0.
32333 2016-10-05 Thomas Fitzsimmons <fitzsim@fitzsim.org>
32335 lisp/net/ntlm.el: Fix comment and docstring formatting
32337 2016-10-05 Thomas Fitzsimmons <fitzsim@fitzsim.org>
32339 lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
32341 * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
32342 "negotiate domain supplied" bit when a domain is supplied. Do
32343 not set "negotiate workstation supplied" bit.
32344 (ntlm-build-auth-response): Set domain to empty string by
32345 default. Set workstation name to "WORKSTATION". Set flags to
32346 logical and of Type 1 and Type 2 message flags. Remove four
32347 trailing 0 bytes. Always set LM response. Hard-code domain
32348 offset. Reorder buffer fields.
32350 2016-10-05 Martin Rudalics <rudalics@gmx.at>
32352 Document return value of `display-buffer-in-side-window'
32354 * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
32355 * lisp/window.el (display-buffer-in-side-window): Describe
32356 return value of `display-buffer-in-side-window'.
32358 2016-10-05 Eli Zaretskii <eliz@gnu.org>
32360 Improve wording in side windows documentation
32362 * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
32363 (Side Window Options and Functions)
32364 (Frame Layouts with Side Windows): Minor wording improvements.
32366 2016-10-05 Martin Rudalics <rudalics@gmx.at>
32368 Document and fix some bugs with side windows
32370 Add a documentation for side windows and fix some bugs
32371 found when testing their behavior. Also add a new window
32372 parameter `no-delete-other-window', a new `display-buffer'
32373 alist member called `window-parameters', and functions to
32374 toggle and reverse side windows on a frame. Add new function
32375 `window-swap-states' to exchange states of two live windows.
32377 * lisp/window.el (display-buffer-in-atom-window): Use
32378 `split-window-no-error'.
32379 (window-sides-vertical): Maybe change layouts when setting this
32381 (window-sides-reversed): New option.
32382 (window-sides-slots): Rewrite doc-string and help echoes.
32383 (window-sides-shown): New buffer-local variable set when showing
32384 a buffer in a side window.
32385 (window--sides-inhibit-check): New variable.
32386 (window--sides-reverse-on-frame-p, window-toggle-side-windows)
32387 (window--sides-reverse-all, window--sides-reverse-frame)
32388 (window--sides-reverse-side, window--sides-reverse)
32389 (window--sides-verticalize-frame, window--sides-verticalize)
32390 (window--sides-check-failed): New functions.
32391 (window--side-window-p): Remove function.
32392 (window--major-non-side-window): Rename to `window-main-window',
32393 adjust callers, rewrite doc-string.
32394 (window--major-side-window): Rename to
32395 `window--make-major-side-window-next-to', adjust caller, fix
32397 (display-buffer-in-major-side-window): Rename to
32398 `window--make-major-side-window', adjust
32399 caller, rewrite doc-string. Make `window-side' and
32400 `window-slot' parameters persistent (Bug#23858). Don't set
32401 `delete-window' parameter. Add `preserve-size' entry to ALIST.
32402 (delete-side-window): Remove function.
32403 (display-buffer-in-side-window): Fix doc-string. Don't set
32404 `delete-window' parameter. Add `preserve-size' entry to ALIST.
32405 (window--side-check): Rename to window--sides-check. Rewrite
32406 completely. Adjust caller.
32407 (window-resize-no-error): Don't describe PIXELWISE argument.
32408 (adjust-window-trailing-edge): Fix bug that disallowed
32409 re-enlarging windows that were too small.
32410 (window-deletable-p): Don't tell that a minibuffer window on a
32411 non-minibuffer-only frame can be deleted. Fix doc-string.
32412 (delete-window): Handle deleting a side window here (the
32413 `delete-window' parameter is no more set for side windows).
32414 (delete-other-windows): Handle ‘no-delete-other-window'
32415 parameter. Don't treat side windows separately (see discussion
32416 of Bug#24368) but keep optimization that makes the main window
32417 the root window of its frame.
32418 (switch-to-prev-buffer, switch-to-next-buffer): Handle side
32419 windows and buffers shown in side windows separately.
32420 (split-window-no-error): New function.
32421 (window--state-get-1): Use right buffer when storing window
32422 point and start positions and WRITABLE is nil (Bug#24368).
32423 (window--state-put-1): Fix handling of `window-combination-limit'.
32424 Use `split-window-no-error'.
32425 (window--state-put-2): Try to restore windows with preserved
32426 size to their original size. Fix bug where a fixed window's width
32428 (window-state-put): When reducing an internal window to a live
32429 one, don't choose a side window.
32430 (window-swap-states): New function.
32431 (window-splittable-p): Don't call `window--side-window-p'.
32432 (window--display-buffer): Handle `window-parameters' ALIST entry.
32434 (display-buffer): Mention `window-parameters' entry in
32436 (display-buffer-at-bottom): Call `split-window-no-error'.
32438 * doc/lispref/elisp.texi (Top): New section "Side Windows".
32439 * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
32440 of `delete-window' and `delete-other-windows' wrt window
32441 parameters and side windows.
32442 (Display Action Functions): Mention `window-parameters' ALIST
32444 (Side Windows): New section (Bug#18170).
32445 (Window Configurations): Describe new function `window-swap-states'.
32446 (Window Parameters): Say that functions may behave specially when
32447 their homonymous window parameter has been set. Mention new
32448 parameter `no-delete-other-window'. Add cross reference for
32449 `window-side' and `window-slot' parameters.
32451 2016-10-04 John Wiegley <johnw@newartisans.com>
32453 Add documentation note from Alex
32455 2016-10-04 Mark Oteiza <mvoteiza@udel.edu>
32457 Avoid dynamic binding on a symbol
32459 Instead, bind history in the default minibuffer-history.
32461 * lisp/replace.el (query-replace-read-from): Let-bind
32462 minibuffer-history. Change read-regexp and read-from-minibuffer's
32463 HISTORY arguments to nil so that they use minibuffer-history.
32465 2016-10-03 Stefan Monnier <monnier@iro.umontreal.ca>
32467 * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
32469 * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
32470 deleting the old buffer content.
32471 * src/lisp.h (del_range_byte):
32472 * src/insdel.c (del_range_byte): Drop the last argument.
32473 * src/fns.c (Fbase64_encode_region): Adjust accordingly.
32475 2016-10-03 Tino Calancha <tino.calancha@gmail.com>
32477 Ibuffer: 'w' and 'B' default to buffer at current line
32480 https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00384.html
32481 * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
32482 return buffers near current line.
32483 * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
32484 Add argument ARG; if a non-zero integer, return next ARG buffers.
32485 Otherwise return the marked buffers.
32486 If there are not marked buffers, return buffer at current line
32487 without prompting the user.
32488 Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
32489 Append to kill ring when last command was a kill-region.
32490 (ibuffer-copy-filename-as-kill): Idem.
32492 Use ibuffer-buffer-file-name instead of buffer-file-name to
32493 include buffers in Dired mode.
32495 2016-10-03 Tino Calancha <tino.calancha@gmail.com>
32497 dired-mark-extension: Unmark if called with C-u prefix
32499 See discussion in #Bug2518 and:
32500 https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00711.html
32501 * lisp/dired-x.el (dired-mark-extension):
32502 Update interactive calls: a prefix arg C-u unmark files;
32503 a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
32505 Show in the prompt that we are unmarking if called with a prefix argument.
32506 * doc/misc/dired-x.texi (Advanced Mark Commands):
32507 Update documentation for 'dired-mark-extension'.
32509 2016-10-02 Karl Fogel <kfogel@red-bean.com>
32511 Document yank behavior in the right place
32513 * lisp/simple.el (yank): Document the handling of the
32514 `yank-handled-properties' and `yank-excluded-properties' variables,
32515 and the `yank-handler' text property.
32516 (yank-pop): Refer to `yank' now (bug#286)
32518 * lisp/subr.el (insert-for-yank): Refer to `yank' now.
32519 (insert-for-yank-1): Refer to `insert-for-yank' now.
32521 See this thread for discussion:
32523 https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329
32526 Subject: Question about intended behavior of 'insert-for-yank-1'.
32527 Date: Mon, 12 Sep 2016 00:17:14 -0500
32528 Message-ID: <874m5lr92d.fsf@red-bean.com>
32530 2016-10-02 Philipp Stephani <phst@google.com>
32532 Restart blink cursor timers on interval changes
32534 This prevents surprising behavior when timer interval customizations are
32535 only applied whenever the timers happen to be restarted (see Bug#24372).
32537 * lisp/frame.el (blink-cursor--start-idle-timer)
32538 (blink-cursor--start-timer): New functions.
32539 (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
32540 the new helper functions.
32541 (blink-cursor-delay, blink-cursor-interval): Restart timers when
32542 the value is changed.
32544 2016-10-01 Philipp Stephani <phst@google.com>
32546 Use a simple keyword for a non-nil argument
32548 The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
32549 and non-nil values are distinguished. Passing a number here is
32550 confusing. Pass a descriptive symbol instead.
32552 * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
32553 :repeat symbol instead of number for second argument of
32554 `run-with-idle-timer'
32556 2016-10-01 Philipp Stephani <phst@google.com>
32558 Make querying to kill processes customizable
32560 Introduce a new customization option, `confirm-kill-processes', that
32561 users can set to nil if they don't want Emacs to nag them about killing
32564 * lisp/files.el (confirm-kill-processes): New customization option.
32565 (save-buffers-kill-emacs): Use customization option.
32567 * test/lisp/files-tests.el
32568 (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
32569 test for new customization option.
32571 * doc/emacs/entering.texi (Exiting): Document new user option.
32573 * doc/lispref/processes.texi (Query Before Exit): Document new
32576 * etc/NEWS: Document new user option.
32578 2016-10-01 Eli Zaretskii <eliz@gnu.org>
32580 Set :version of 'debugger-stack-frame-as-list'
32582 * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
32583 the ':version' attribute.
32585 2016-10-01 Eli Zaretskii <eliz@gnu.org>
32587 Bump Emacs version to 26.0.50
32592 * etc/refcards/ru-refcard.tex:
32593 * msdos/sed2v2.inp:
32594 * src/msdos.c: Increment Emacs version to 26.0.50.
32595 * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
32598 2016-10-01 Eli Zaretskii <eliz@gnu.org>
32600 Avoid compilation warning on MinGW
32602 * src/w32.c: Include string.h, needed for the prototype of
32603 'strerror', shadowed by 'sys_strerror'. This avoids a compiler
32604 warning about "no previous prototype". The string.h header
32605 must be included after ms-w32.h, but before "#undef strerror".
32607 2016-09-30 Alan Third <alan@idiocy.org>
32609 Fix compatibility with macOS 10.12 pmset (bug#24537)
32611 * lisp/battery.el (battery-pmset): Recognise and ignore battery id if
32614 2016-09-30 Paul Eggert <eggert@cs.ucla.edu>
32616 Limit <config.h>’s includes
32618 This follows up on recent problems with the fact that config.h
32619 includes stdlib.h etc.; some files need to include stdlib.h later.
32620 config.h generally should limit itself to includes that are
32621 universally safe; outside of MS-Windows, only stdbool.h makes
32622 the cut among the files currently included. So, move the
32623 other includes to just the files that need them (Bug#24506).
32624 * configure.ac (config_opsysfile): Remove, as this generic hook
32625 is no longer needed.
32626 * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
32627 * src/w32proc.c (_GNU_SOURCE):
32628 Remove, as it’s OK for config.h to do this now.
32629 * src/conf_post.h: Include <ms-w32.h>, instead of the generic
32630 config_opsysfile, for simplicity as this old way of configuring is
32631 now done only for the MS-Windows port. Do not include <ms-w32.h>
32632 if DEFER_MS_W32_H, for the benefit of the few files that want its
32633 effects later. Do not include <alloca.h>, <string.h>, or
32634 <stdlib.h>. Other files modified to include these headers as
32635 needed, or to not include headers that are no longer needed.
32636 * src/lisp.h: Include <alloca.h> and <string.h> here, since
32637 some of the inline functions need them.
32638 * src/regex.c: Include <alloca.h> if not emacs. (If emacs,
32639 we can rely on SAFE_ALLOCA.) There is no longer any need to
32640 worry about HAVE_ALLOCA_H.
32641 * src/unexmacosx.c: Rely on config.h not including stdlib.h.
32642 * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
32643 Define before including <config.h> first, and include <ms-w32.h>
32644 after the troublesome headers.
32646 2016-09-30 Vasilij Schneidermann <v.schneidermann@gmail.com>
32648 New user option 'debugger-stack-frame-as-list'
32650 * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
32652 * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
32653 * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
32654 backtrace processing for the value of debugger-stack-frame-as-list.
32655 * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
32656 processing for the value of debugger-stack-frame-as-list.
32657 * doc/lispref/debugging.texi (Internals of Debugger): Document
32658 debugger-stack-frame-as-list.
32659 * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
32661 2016-09-30 Aurelien Aptel <aaptel@suse.com>
32663 * src/alloc.c: call only non-null finalizers
32665 2016-09-30 Eli Zaretskii <eliz@gnu.org>
32667 Avoid compiler warnings in image.c on MS-Windows
32669 * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
32670 warning about unused macros.
32672 2016-09-30 Paul Rankin <hello@paulwrankin.com>
32674 * lisp/outline.el (outline-invisible-p): Only return `t' for
32675 the 'outline property.
32677 2016-09-29 Paul Eggert <eggert@cs.ucla.edu>
32679 Fix problems found by static checking --with-ns
32681 This is for Fedora 24 when configured with --enable-gcc-warnings.
32682 Although it does not fix all the problems, it fixes many of them.
32683 * src/frame.c (XParseGeometry):
32684 * src/nsterm.m (mouseDown:):
32685 Mark locals with UNINIT to pacify --enable-gcc-warnings.
32686 * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
32687 Remove unused macros.
32688 (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
32689 (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
32690 (xpm_put_color_table_v, xpm_get_color_table_v)
32691 (xpm_make_color_table_h, xpm_put_color_table_h)
32692 (xpm_get_color_table_h, xpm_load_image, xpm_load)
32693 (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
32695 * src/nsfns.m (x_get_string_resource):
32696 * src/nsimage.m (ns_image_from_XBM):
32697 Fix pointer signedness problems.
32698 * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
32699 (imagemagick_load_image): Omit unused locals.
32700 * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
32701 (Fx_open_connection):
32702 * src/nsfont.m (ns_antialias_threshold):
32703 Move extern decl to nsterm.h so it can be checked.
32704 * src/nsmenu.m (svcsMenu, dockMenu):
32705 Move to the only file that uses them, so they can be static.
32706 * src/nsterm.h (find_and_call_menu_selection):
32707 * src/nsterm.m (x_set_frame_alpha):
32708 Omit duplicate decls.
32709 * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
32710 * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
32711 (ns_set_name_as_filename, x_set_menu_bar_lines)
32712 (x_set_tool_bar_lines, x_set_internal_border_width):
32713 * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
32715 * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
32716 * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
32718 * src/nsfont.m (ns_dump_glyphstring):
32719 * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
32720 (ns_clear_frame, keyDown:):
32721 Fix signedness problem with printf arg.
32722 * src/nsterm.h (ns_input_events, ns_finish_events):
32723 * src/nsterm.m (ns_finish_events, hide_bell):
32724 Prototype the decls.
32725 * src/nsterm.m (NSMenuDidBeginTrackingNotification):
32726 Omit unnecessary decl.
32728 (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
32729 (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
32730 (toggleFullScreen:): Use FACE_FROM_ID instead of
32731 FACE_FROM_ID_OR_NULL in contexts where the caller expects the
32732 result to be non-null.
32733 (applicationShouldTerminate:): Fix misleading indentation.
32735 2016-09-28 Mark Oteiza <mvoteiza@udel.edu>
32737 Turn on more lexical-binding
32741 * lisp/htmlfontify.el: Turn on lexical-binding.
32742 (htmlfontify-string): Use pushnew instead of add-to-list.
32743 * lisp/info-xref.el:
32747 * lisp/ps-print.el:
32748 * lisp/replace.el: Turn on lexical-binding. Require cl-lib at compile
32750 (multi-occur): Use cl-pushnew instead of add-to-list.
32751 (replace-match-string-symbols): Remove unused lexical variable.
32752 (replace-search, replace-highlight): Fix argument shadowing.
32754 * lisp/xml.el: Turn on lexical-binding.
32755 (xml--parse-buffer): Use push instead of add-to-list.
32756 * lisp/xt-mouse.el: Turn on lexical-binding.
32758 2016-09-27 Michael Albinus <michael.albinus@gmx.de>
32760 * admin/notes/bug-triage: Do not mention closed bugs
32762 * admin/notes/bug-triage: Do not mention closed bugs, they are
32763 suppressed by default in debbugs-{gnu,org}.
32765 2016-09-27 Michael Albinus <michael.albinus@gmx.de>
32767 * etc/PROBLEMS: Remove problem Bug#22814, again.
32769 2016-09-26 Paul Eggert <eggert@cs.ucla.edu>
32771 Stick with debbugs-supported tags in triage
32773 * admin/notes/bug-triage: Stick to the tag "unreproducible", which
32774 debbugs supports, rather than suggesting "doneunreproducible" or
32777 2016-09-26 Paul Eggert <eggert@cs.ucla.edu>
32779 Merge from origin/emacs-25
32781 9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
32782 c14a1d4 Minor copyedits of MS-Windows installation instructions
32783 f281924 Fix display of cursor when 'blink-cursor-delay' has small value
32786 # lisp/minibuffer.el
32788 2016-09-26 Paul Eggert <eggert@cs.ucla.edu>
32790 Merge from origin/emacs-25
32792 0ae9a81 Document 'timerp'
32793 2c72c46 Improve documentation of overlay priorities
32794 f6fa160 Fix 'dired-compress-files'
32795 2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
32802 2016-09-26 Paul Eggert <eggert@cs.ucla.edu>
32804 Merge from origin/emacs-25
32806 cf9e174 Document the optional zlib library in MS-Windows builds
32807 84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
32808 73c67dd Fix tagging of DEFUN by etags
32809 ea1960b Avoid resetting track-mouse by mouse clicks
32810 505fef3 Improve nt/README.W32 instructions
32811 1229cc4 Document that desktop file overrides frame parameters
32812 f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
32816 # admin/notes/unicode
32817 # lisp/ldefs-boot.el
32819 2016-09-26 Paul Eggert <eggert@cs.ucla.edu>
32821 Merge from origin/emacs-25
32823 0ffc9ce Update admin/authors.el
32824 0ad7410 Update Antinews in ELisp manual
32825 ea0f750 Fix comments on window height macros
32826 0bbdeed Fix 'url-http-create-request' when cookies are used
32827 0045998 Fix cross reference in frames.texi
32828 1392894 ; * etc/DEBUG: Minor copyedits.
32829 304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
32830 56bf7d7 Fix regexp-opt documentation (bug #17862)
32831 803ad6f ; Fix documentation of seq-subseq
32832 ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
32833 88ea396 ; Spelling fixes
32834 17197d0 Fix tags-query-replace docstring
32835 80a7f8b Clarify documentation of precision in format specs
32836 88a5052 Improve and clarify documentation of subprocesses
32837 89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
32843 2016-09-26 Michael Albinus <michael.albinus@gmx.de>
32845 * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
32847 2016-09-24 Eli Zaretskii <eliz@gnu.org>
32849 Fix 'dired-mark-extension' with prefix argument
32851 * lisp/dired-x.el (dired-mark-extension): Allow to specify
32852 MARKER-CHAR interactively as a string, not as a character's
32853 codepoint. (Bug#24518)
32855 * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
32856 behavior when invoked with a prefix arg.
32858 2016-09-24 Simen Heggestøyl <simenheg@gmail.com>
32860 Support completion of classes and IDs in CSS mode
32862 * lisp/textmodes/css-mode.el (css-class-list-function): New variable
32863 holding the function to call for retrieving completions of class
32865 (css-id-list-function): New variable holding the function to call for
32866 retrieving completions of IDs.
32867 (css--foreign-completions): New function for retrieving completions
32868 from other buffers.
32869 (css--complete-selector): Support completing HTML class names and IDs
32870 from other buffers in addition to completing HTML tags.
32872 * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
32873 variable holding a cache for `html-current-buffer-classes'.
32874 (html--buffer-ids-cache): New variable holding a cache for
32875 `html-current-buffer-ids'.
32876 (html-current-buffer-classes): New function returning a list of class
32877 names used in the current buffer.
32878 (html-current-buffer-ids): New function returning a list of IDs used
32879 in the current buffer.
32880 (html-mode): Set `css-class-list-function' and `css-id-list-function'
32881 to `html-current-buffer-classes' and `html-current-buffer-ids'
32884 2016-09-24 Eli Zaretskii <eliz@gnu.org>
32886 Update test suite files due to removal of test/lisp/legacy
32888 * test/README: Reference file-organization.org.
32889 * test/file-organization.org: Remove the description of files in
32890 the lisp/legacy/ directory.
32892 2016-09-24 Eli Zaretskii <eliz@gnu.org>
32894 Incorporate syntax-tests in lisp-tests.
32896 * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
32897 test/lisp/legacy/syntax-tests.el.
32898 * test/lisp/legacy/syntax-tests.el: File deleted.
32900 2016-09-24 Eli Zaretskii <eliz@gnu.org>
32902 Incorporate occur-tests in replace-tests
32904 * test/lisp/replace-tests.el: Add tests from
32905 test/lisp/legacy/occur-tests.el.
32906 * test/lisp/legacy/occur-tests.el: File deleted.
32908 2016-09-24 Eli Zaretskii <eliz@gnu.org>
32910 Incorporate lexbind-tests.el in bytecomp-test.el
32912 * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
32913 test/lisp/legacy/lexbind-tests.el.
32914 * test/lisp/legacy/lexbind-tests.el: File deleted.
32916 2016-09-24 Paul Eggert <eggert@cs.ucla.edu>
32918 Improve integer overflow handling a bit
32920 * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
32921 The machine code is the same on my platform.
32922 * src/doprnt.c (doprnt):
32923 * src/emacs-module.c (module_funcall):
32924 * src/font.c (font_intern_prop):
32925 * src/keyboard.c (Frecursion_depth):
32926 * src/lread.c (read1):
32927 Use WRAPV macros instead of checking overflow by hand.
32928 * src/editfns.c (hi_time, time_arith, decode_time_components):
32929 * src/emacs-module.c (Fmodule_load):
32930 Simplify by using FIXNUM_OVERFLOW_P.
32931 * src/emacs-module.c: Include intprops.h.
32932 * src/xdisp.c (percent99): New function.
32933 (decode_mode_spec): Use it to simplify overflow avoidance and
32934 formatting of %p and %P.
32936 2016-09-24 Eli Zaretskii <eliz@gnu.org>
32938 Incorporate core-elisp-tests in lisp-tests
32940 * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
32941 test/lisp/legacy/core-elisp-tests.el.
32942 * test/lisp/legacy/core-elisp-tests.el: File removed.
32944 2016-09-24 Eli Zaretskii <eliz@gnu.org>
32946 Move coding-tests.el and decoder-test.el to their places
32948 * test/src/coding-tests.el: Added all the tests from
32949 test/lisp/legacy/decoder-tests.el.
32950 * test/lisp/legacy/decoder-tests.el: File deleted.
32952 2016-09-23 Vibhav Pant <vibhavp@gmail.com>
32954 Use correct TYPE value for displaying error messages in (erc-display-message)
32956 2016-09-23 Eli Zaretskii <eliz@gnu.org>
32958 Bump the version to 25.2.50
32963 * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
32965 2016-09-22 Tino Calancha <tino.calancha@gmail.com>
32967 ibuffer-do-view-other-frame: Display each buffer in a new frame
32969 * lisp/ibuffer.el (ibuffer-do-view-1):
32970 When TYPE equals 'other-frame, then display each buffer
32971 in a new frame (Bug#24086).
32973 2016-09-22 Paul Eggert <eggert@cs.ucla.edu>
32978 2016-09-22 stdint: port to GCC 7
32979 2016-09-22 limits-h, stdint: don't assume extensions
32980 * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
32982 2016-09-22 Alan Mackenzie <acm@muc.de>
32984 * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
32986 2016-09-21 Paul Eggert <eggert@cs.ucla.edu>
32988 Port recent flexmember changes to NetBSD
32990 The NetBSD library supports localtime_rz directly, and without
32991 this change 'configure' omitted the flexmember test that is marked
32992 as conditional on localtime_rz. Emacs now needs to use
32993 flexmember.m4 even when localtime_rz works.
32994 Problem reported by Thomas Klausner.
32995 * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
32996 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
32998 2016-09-21 Paul Eggert <eggert@cs.ucla.edu>
33000 * doc/misc/texinfo.tex: Copy from gnulib.
33002 2016-09-21 Michael Albinus <michael.albinus@gmx.de>
33004 * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
33006 2016-09-20 Paul Eggert <eggert@cs.ucla.edu>
33008 Use flexmembers on IBM XL C for AIX
33010 This removes a workaround where Emacs did not use flexible
33011 array members when compiled with IBM XL C. Instead, avoid
33012 the problem by making the aliasing issues more obvious to
33014 * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
33015 * m4/flexmember.m4: Copy from gnulib.
33016 * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
33017 * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
33018 problem that would otherwise mess up code generated for flexible
33019 array members by IBM XL C for AIX, V12.1.
33020 * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
33023 2016-09-19 Michael Albinus <michael.albinus@gmx.de>
33025 Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
33027 * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
33028 `tramp-drop-volume-letter' any longer, it causes collateral
33029 damages. Reported by Chris Zheng <chriszheng99@gmail.com>.
33031 2016-09-17 Paul Eggert <eggert@cs.ucla.edu>
33033 Port January __morecore changes to AIX 7.1
33035 * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
33036 (__after_morecore_hook):
33037 * src/ralloc.c (__morecore):
33038 Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
33039 not defined. <malloc.h> does not declare these in AIX 7.1.
33041 2016-09-17 Paul Eggert <eggert@cs.ucla.edu>
33043 Define _GNU_SOURCE in files delaying config.h
33045 Problem reported by Richard Copley in:
33046 https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00440.html
33047 * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
33050 2016-09-17 Eli Zaretskii <eliz@gnu.org>
33052 Update the bidi test code and data
33054 * test/manual/BidiCharacterTest.txt: Import the version from
33055 Unicode Standard 9.0.0.
33056 * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
33057 in the 4th field of the test data.
33059 2016-09-17 Tino Calancha <tino.calancha@gmail.com>
33061 ibuffer-do-toggle-read-only: Fix unused argument
33063 * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
33064 'read-only-mode' with ARG when its an integer.
33065 Clarify the meaning of ARG in doc string.
33067 2016-09-17 Alan Mackenzie <acm@muc.de>
33069 Improve accuracy of line/column numbers in byte compiler's warning messages.
33071 * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
33072 value of byte-compile-last-position is not lower than old value.
33073 (byte-compile-function-warn): call byte-compile-set-symbol-position.
33075 2016-09-17 Michael Albinus <michael.albinus@gmx.de>
33079 * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
33080 property "process-buffer" if already existing.
33081 (tramp-connectable-p): Suppress debug messages.
33083 2016-09-16 Paul Eggert <eggert@cs.ucla.edu>
33085 Define _GNU_SOURCE in unexmacosx.c
33087 Problem reported by Bob Halley in:
33088 https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00427.html
33089 * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
33091 2016-09-16 Alan Mackenzie <acm@muc.de>
33093 C Mode: Fix mis-fontification of macro invocation as function declaration
33095 This happened with a macro invocation which was followed by a statement block
33098 * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
33099 between contexts nil and top, being less permissive in the former case.
33100 (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
33102 2016-09-16 Eli Zaretskii <eliz@gnu.org>
33104 Improve the doc string of 'format'
33106 * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
33107 of a literal period. (Bug#24407)
33109 2016-09-16 Eli Zaretskii <eliz@gnu.org>
33111 Improve doc strings in whitespace.el
33113 * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
33114 (global-whitespace-mode, global-whitespace-newline-mode): Improve
33115 the doc strings. (Bug#24413)
33117 2016-09-16 Eli Zaretskii <eliz@gnu.org>
33119 Improve detectability of 'next-logical-line' and 'previous-logical-line'
33121 * lisp/simple.el (next-line, previous-line): Mention
33122 'next-logical-line' and 'previous-logical-line' in the doc
33123 strings. (Bug#24443)
33125 2016-09-16 Paul Eggert <eggert@cs.ucla.edu>
33130 2016-09-16 extensions: fix typo in comment
33131 2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
33132 * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
33134 2016-09-15 Paul Eggert <eggert@cs.ucla.edu>
33136 Prefer now-standard int width macros
33138 * src/data.c (ULL_WIDTH):
33139 * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
33140 * src/lread.c (read_integer):
33141 * src/term.c (produce_glyphless_glyph):
33142 * src/xterm.c (x_send_scroll_bar_event):
33143 Use *_WIDTH macros instead of CHAR_BIT * sizeof.
33144 * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
33145 with the *_WIDTH standard macros. All uses changed.
33146 * src/gmalloc.c (INT_BIT): Remove. All uses replaced with INT_WIDTH.
33147 * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
33148 for consistency with the *_WIDTH standard macros. All uses changed.
33149 (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT. This must
33150 be the same as CHAR_WIDTH and avoids confusion with Elisp
33151 char-width, which counts columns not bits.
33152 (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
33153 (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
33154 * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
33157 2016-09-15 Paul Eggert <eggert@cs.ucla.edu>
33162 2016-09-15 stdint: support new _WIDTH macros
33163 2016-09-15 limits-h: new module
33164 2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
33165 2016-09-15 extensions: port to more ISO C TSes
33166 2016-09-13 intprops: new macro TYPE_WIDTH
33167 2016-09-13 extensions: port to recent ISO C TRs
33168 * .gitignore: Add lib/limits.h.
33169 * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
33170 * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
33171 * m4/sys_types_h.m4: Copy from gnulib.
33172 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33173 * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
33174 * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
33176 2016-09-15 Michael Albinus <michael.albinus@gmx.de>
33178 Rework fixing Bug#24432
33180 * lisp/net/tramp.el (tramp-get-buffer): Set connection property
33181 "process-buffer" in order to mark connection as active.
33183 * lisp/net/tramp-cache.el (tramp-get-hash-table)
33184 (tramp-set-connection-property)
33185 (tramp-dump-connection-properties): Do not use "active" property.
33186 (tramp-list-connections): Use "process-buffer" property.
33188 * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
33189 properties prior deletion of process.
33191 2016-09-14 Johan Bockgård <bojohan@gnu.org>
33193 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
33195 * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
33197 2016-09-14 Eli Zaretskii <eliz@gnu.org>
33199 Avoid compiler warning on MS-Windows due to clone_file
33201 * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
33202 call to it is not compiled in that build, and having it defined
33203 causes compiler warnings.
33205 2016-09-14 Eli Zaretskii <eliz@gnu.org>
33207 Avoid aborts in GC due to abort_on_gc
33210 * src/print.c (Fprin1_to_string):
33211 * src/eval.c (signal_or_quit):
33212 * src/alloc.c (garbage_collect_1): Remove declarations, setting,
33213 and testing the value of abort_on_gc. It is no longer needed, and
33214 using it causes rare aborts in GC for no good reason. (Bug#23912)
33216 2016-09-14 Michael Albinus <michael.albinus@gmx.de>
33220 * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
33221 connection as inactive.
33222 (tramp-set-connection-property): Make the connection active.
33223 (tramp-dump-connection-properties): Don't save "active" property.
33224 (tramp-list-connections): List only active connections. (Bug#24432)
33226 2016-09-14 Lars Ingebrigtsen <larsi@gnus.org>
33228 Don't bug out on all-whitespace URLs
33230 * lisp/net/shr.el (shr-expand-url): Don't bug out on
33231 degenerate all-whitespace URLs.
33233 2016-09-13 Katsumi Yamaoka <yamaoka@jpl.org>
33235 sieve-manage.el: Rename sieve-manage-ignore-broken-tls
33237 * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
33238 Rename from sieve-manage-ignore-broken-tls. If it is set,
33239 sieve-manage will never use STARTTLS even if the server says
33240 it is capable (but may be broken).
33242 2016-09-13 Paul Eggert <eggert@cs.ucla.edu>
33244 Port to ISO/IEC TS 18661-1:2014
33246 * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
33249 2016-09-13 Tino Calancha <tino.calancha@gmail.com>
33251 dired-jump: Expand file-name before dired-goto-file call
33253 Command dired-goto-file requires its argument to be an absolute
33254 file name. Interactively FILE-NAME is read with read-file-name,
33255 which could return an abbreviated file name (Bug#24409).
33256 * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
33257 Clarify in doc string the meaning of arg FILE-NAME.
33259 2016-09-13 Tino Calancha <tino.calancha@gmail.com>
33261 Add test for Bug#21454
33263 * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
33265 2016-09-12 Katsumi Yamaoka <yamaoka@jpl.org>
33267 * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
33269 2016-09-12 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
33271 sieve.el: Make the buffer to edit unmodified initially (bug#24423)
33273 * lisp/net/sieve.el (sieve-edit-script):
33274 Make the buffer to edit be not modified-p initially (bug#24423).
33276 2016-09-12 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
33278 sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
33280 * lisp/net/sieve-manage.el
33281 (sieve-manage-ignore-broken-tls): New user option.
33282 (sieve-manage-open-server):
33283 Don't test STARTTLS capability if the option is set (bug#24422).
33285 2016-09-12 Michal Nazarewicz <mina86@mina86.com>
33287 Fix compiler thinking width and height may be unitialised in frame.c
33289 This fixes the following warning:
33291 frame.c: In function ‘x_set_frame_parameters’:
33292 frame.c:3329:25: error: ‘width’ may be used uninitialized in
33293 this function [-Werror=maybe-uninitialized]
33294 adjust_frame_size (f, width_change ? width : -1,
33297 * src/frame.c (x_set_frame_parameters): Drop width_changed and
33298 height_changed variables in favour of storing that information in
33299 width and height variables.
33301 2016-09-12 Michal Nazarewicz <mina86@mina86.com>
33303 Fix compiler thinking tmpdir may be unitialised in emacsclient
33305 This fixes the following warning:
33307 emacsclient.c: In function ‘set_local_socket’:
33308 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
33309 ‘tmpdir’ may be used uninitialized in this function
33310 [-Werror=maybe-uninitialized]
33311 return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
33313 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
33314 const char *tmpdir;
33316 * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
33317 variable and instead use tmpdir being non-NULL as sign that it should
33320 2016-09-12 Tino Calancha <tino.calancha@gmail.com>
33322 image-dired: Signal an error before calling a missing executable
33324 Reverts commit ca473907
33325 Add a defun to check if an executable exists, and call it
33326 on each function using an external program: when the executable
33327 is not available signal an error.
33329 https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00135.html
33330 * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
33331 Throw and error when the executable arg is missing.
33332 (image-dired-display-image, image-dired-rotate-thumbnail)
33333 (image-dired-rotate-original, image-dired-set-exif-data)
33334 (image-dired-get-exif-data):
33337 2016-09-12 Eli Zaretskii <eliz@gnu.org>
33339 Fix daemon shutdown when emacs-kill-hooks ask questions
33341 * lisp/server.el (server-start): Put the server's kill-emacs-hook
33342 last, to allow other hooks to have a frame to interact with the
33345 2016-09-12 Paul Eggert <eggert@cs.ucla.edu>
33347 * src/casefiddle.c (casify_word): Simplify.
33349 * src/casefiddle.c (casify_word): Return Qnil.
33351 2016-09-12 Michal Nazarewicz <mina86@mina86.com>
33353 Refactor common code in {upcase,downcase,capitalize}-word functions
33355 * src/casefiddle.c (operate_on_word): Removed in favour of…
33356 (casify_word) …new function which does what operate_on_word did plus
33357 what all of the common code from *-word functions.
33358 (upcase-word, downcase-word, capitalize-word): Move code common between
33359 those functions (pretty much the whole body of those functions) into
33360 casify_word and use that instead of now deleted operate_on_word.
33362 2016-09-11 Paul Eggert <eggert@cs.ucla.edu>
33364 * doc/lispref/files.texi: Remove @vindex.
33366 2016-09-11 Paul Eggert <eggert@cs.ucla.edu>
33368 Remove unnecessary ref to coreutils manual
33370 * doc/lispref/files.texi: Document write-region-inhibit-fsync.
33372 2016-09-11 Alan Mackenzie <acm@muc.de>
33374 Correctly fontify C++ direct initializations with parens inside functions
33376 Or, more clearly, when something looks like a function declaration and it's
33377 inside a function, fontify it as a direct initialization.
33379 For this purpose, introduce a "brace stack" for each buffer, where an entry on
33380 the brace stack states how deeply nested a particular position is inside
33381 braces inside a "top level", which includes classes and namespaces.
33383 Also introduce a new "context", "top", with which c-font-lock-declarations
33384 signals to c-forward-decl-or-cast-1 that point is at the top level.
33386 * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
33387 c-truncate-bs-cache.
33388 (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
33389 (c-type-decl-operator-prefix-key): new language constants/variables.
33391 * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
33392 (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
33394 (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
33395 (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
33396 (c-find-decl-prefix-search): Keep track of whether we're at top level.
33397 (c-find-decl-spots): New local variable cfd-top-level which records what it
33398 says. On calling cfd-fun, pass cfd-top-level as an additional argument.
33399 (c-forward-declarator): Add new element DECORATED to the result list. Set it
33400 to non-nil when a match for c-type-decl-operator-prefix-key is found.
33401 (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
33402 Introduce "CASE 9.5", which recognizes direct initializations.
33404 * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
33405 (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
33406 (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
33407 Add appropriate `not-top' argument to calls to c-font-lock-declarators.
33408 (c-font-lock-declarators): Additional parameter `not-top'. Use not-top to
33409 participate in the decision whether to fontify an identifier as a function or
33411 (c-font-lock-declarations): The internal lambda function takes an additional
33412 argument `toplev' from c-find-decl-spots, which it uses in determining the
33413 "context" of a declaration. Add appropriate `not-top' argument to calls to
33414 c-font-lock-declarators.
33415 (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
33416 like for c-font-lock-declarators.
33418 * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
33421 2016-09-11 Eli Zaretskii <eliz@gnu.org>
33423 Avoid signaling errors when computing "Stop" in GDB menu
33425 * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
33426 'gdb-running-threads-count' must have a numeric value.
33429 2016-09-11 Philipp Stephani <phst@google.com>
33431 Stop calling ‘byte-compile-log-warning’
33433 For errors, use ‘byte-compile-report-error’ instead so that the error
33434 is registered and causes compilation to fail (Bug#24359).
33436 For warnings, use ‘byte-compile-warn’ instead so that
33437 ‘byte-compile-error-on-warn’ is honored (Bug#24360).
33439 * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
33440 (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
33441 ‘byte-compile-log-warning’.
33443 * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
33444 (byte-compile-setq, byte-compile-funcall): Use
33445 ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
33446 (byte-compile-log-warning): Convert comment to documentation
33447 string. Explain that the function shouldn’t be called directly.
33448 (byte-compile-report-error): Add optional FILL argument.
33450 * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
33451 (cconv--analyze-function, cconv-analyze-form): Use
33452 ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
33454 * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
33455 ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
33457 * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
33458 of ‘byte-compile-log-warning’.
33459 (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
33460 ‘byte-compile-log-warning’.
33462 2016-09-10 Paul Eggert <eggert@cs.ucla.edu>
33464 * etc/NEWS: Remove comment lost in emacs-25 merge.
33466 2016-09-10 Paul Eggert <eggert@cs.ucla.edu>
33468 Document file synchronization issues
33470 * doc/lispref/files.texi (Files and Storage): New section.
33472 2016-09-10 Paul Eggert <eggert@cs.ucla.edu>
33474 copy-file now uses GNU/Linux file cloning
33476 From a suggestion by Kieran Colford (see Bug#23904).
33477 * configure.ac: Check for linux/fs.h.
33478 * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
33479 (clone_file): New function.
33480 (Fcopy_file): Use it.
33482 2016-09-10 Alan Third <alan@idiocy.org>
33484 Invert y coord of NS image files (bug#7847)
33486 * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
33489 2016-09-10 Noam Postavsky <npostavs@gmail.com>
33491 Don't require isearch-update before isearch-done
33493 It is useful to be able to call `isearch-done' unconditionally to
33494 ensure a non-isearching state.
33496 * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
33497 is a live buffer before using it (Bug #21091).
33498 * test/lisp/isearch-tests.el (isearch--test-done): Test it.
33500 2016-09-09 Simen Heggestøyl <simenheg@gmail.com>
33502 * lisp/emacs-lisp/ring.el: Use lexical-binding
33504 * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
33505 argument of `dotimes' when the iteration variable isn't referred by
33507 (ring-member): Don't pass nil as the RESULT argument of `dotimes'
33508 since it's the default.
33510 2016-09-08 Michal Nazarewicz <mina86@mina86.com>
33512 Split regex character class test into smaller chunks
33514 Having one test for all character classes it is not always trivial to
33515 determine which class is failing. This happens when failure is caused
33516 by ‘(should (equal (point) (point-max)))’ not being met.
33518 With per-character class tests, it is immidiatelly obvious which test
33519 causes issues plus tests for all classes are run even if some of them
33522 * test/src/regex-tests.el (regex-character-classes): Delete and split
33524 (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
33525 regex-tests-ascii-character-class, regex-tests-blank-character-class,
33526 regex-tests-cntrl-character-class, regex-tests-digit-character-class,
33527 regex-tests-graph-character-class, regex-tests-lower-character-class,
33528 regex-tests-multibyte-character-class,
33529 regex-tests-nonascii-character-class,
33530 regex-tests-print-character-class, regex-tests-punct-character-class,
33531 regex-tests-space-character-class,
33532 regex-tests-unibyte-character-class,
33533 regex-tests-upper-character-class, regex-tests-word-character-class,
33534 regex-tests-xdigit-character-class): …new tests.
33536 2016-09-08 Michal Nazarewicz <mina86@mina86.com>
33538 Don’t allocate char-table’s extra slots in regexp-out-charset
33540 * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
33541 'case-table as charmap char-table’s property. The function has nothing
33542 to do with casing and in addition using 'case-table causes unnecessary
33543 extra slots to be allocated which ‘regexp-opt-charset’ does not use.
33545 2016-09-08 Michal Nazarewicz <mina86@mina86.com>
33547 Remove dead loop iterations in regex.c
33549 RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
33550 character for c ≥ 0x80. Furthermore, CHAR_BYTE8_P(c) is true only
33551 for byte8 characters. This means that
33553 c = RE_CHAR_TO_MULTIBYTE (ch);
33554 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
33559 if (! false && re_iswctype (c, cc))
33561 for 0 ⪬ c < 0x80, and
33563 c = BYTE8_TO_CHAR (c);
33564 if (! true && re_iswctype (c, cc))
33566 for 0x80 ⪬ c < 0x100. In other words, the loop never executes for
33567 c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
33569 * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
33570 dead iterations and unnecessary macro calls.
33572 2016-09-08 Michal Nazarewicz <mina86@mina86.com>
33574 Replace decimalnump with alphanumericp
33576 decimalnump was used in regex.c only in ISALNUM macro which ored it with
33577 alphabeticp. Because both of those functions require Unicode general
33578 category lookup, this resulted in unnecessary lookups (if alphabeticp
33579 return false decimalp had to perform another lookup). Drop decimalnump
33580 in favour of alphanumericp which combines decimelnump with alphabeticp.
33582 * src/character.c (decimalnump): Remove in favour of…
33583 (alphanumericp): …new function.
33585 * src/regex.c (ISALNUM): Use alphanumericp.
33587 2016-09-08 Michal Nazarewicz <mina86@mina86.com>
33589 Remove inaccurate comment in regex.c
33591 * src/regex.c (regex_compile): Remove comment indicating that wctype of
33592 some character classes may be negative. All wctypes are in fact
33595 2016-09-08 Michal Nazarewicz <mina86@mina86.com>
33597 STRING_CHAR does not unify characters; update documentation
33599 * src/character.h (STRING_CHAR): Update doc.
33600 * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc. While at it, change
33601 the function to use BYTE_POS_ADDR instead of open-coding it.
33603 2016-09-08 Simen Heggestøyl <simenheg@gmail.com>
33605 Add tests for ring.el
33607 * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
33609 2016-09-07 Martin Rudalics <rudalics@gmx.at>
33611 New file test/src/marker-tests.el
33613 2016-09-07 Paul Eggert <eggert@cs.ucla.edu>
33615 Port flexible array members to GCC + valgrind
33617 These changes are needed to conform to the C standard's rule for
33618 allocating structs containing flexible array members. C11 says
33619 that malloc (offsetof (struct s, m) + n) does not suffice to
33620 allocate a struct with an n-byte tail; instead, malloc’s arg
33621 should be rounded up to the nearest multiple of alignof (struct s).
33622 Although this is arguably a defect in C11, gcc -O2 + valgrind
33623 sometimes complains when this rule is violated, and when debugging
33624 it’s better to keep valgrind happy.
33625 For details please see the thread containing the message at:
33626 https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
33627 * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
33628 Include flexmember.h.
33629 * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
33630 (register_namespace_alias):
33631 * src/alloc.c (SDATA_SIZE, allocate_string_data):
33632 * src/image.c (xpm_cache_color, imagemagick_create_cache):
33633 * src/process.c (Fmake_network_process):
33634 Use FLEXSIZEOF instead of offsetof and addition.
33635 * src/alloc.c (SDATA_SIZE, vector_alignment):
33636 Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
33637 * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
33638 Remove, as alloc.c can now calculate this on its own.
33640 2016-09-07 Paul Eggert <eggert@cs.ucla.edu>
33645 2016-09-07 flexmember: new macro FLEXALIGNOF
33646 2016-09-07 flexmember: port better to GCC + valgrind
33647 2016-08-18 Port modules to use getprogname explicitly
33648 2016-09-02 manywarnings: add -fno-common
33649 * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
33650 since time_rz now uses part of it. Instead, remove m4/flexmember.m4.
33651 * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
33652 since Emacs assumes C99 and therefore removes m4/flexmember.m4.
33653 * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
33654 * m4/manywarnings.m4: Copy from gnulib.
33655 * lib/flexmember.h: New file, from gnulib.
33656 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33658 2016-09-07 Noam Postavsky <npostavs@gmail.com>
33660 Don't --load directories
33662 * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
33663 of --load when it refers to a normal file, since `load' doesn't handle
33664 directories (Bug #16406).
33666 2016-09-07 Peder O. Klingenberg <peder@klingenberg.no>
33668 Avoid error in icalendar--read-element
33670 * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
33671 stack overflow by not using regex to extract values from calendar
33672 events. (Bug#24315)
33674 2016-09-07 Kaushal Modi <kaushal.modi@gmail.com>
33676 Fix back-white <-> black-white typo
33678 * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
33680 2016-09-07 Alan Third <alan@idiocy.org>
33682 Fix cursor at bottom left of rectangle (bug#24364)
33684 * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
33685 require rectangle--point-crutches to be set.
33687 2016-09-07 Eli Zaretskii <eliz@gnu.org>
33689 Fix documentation of convert-standard-filename on MS-Windows
33691 * lisp/files.el (convert-standard-filename): Doc fix. (Bug#24387)
33693 * etc/NEWS: Suggest a way for mirroring slashes where previously
33694 'convert-standard-filename' was used.
33696 2016-09-06 Paul Eggert <eggert@cs.ucla.edu>
33698 Use DEV_TTY more consistently
33700 * src/conf_post.h (DEV_TTY): Move from here ...
33701 * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
33702 to be visible everywhere. Make it a constant.
33703 * src/keyboard.c (handle_interrupt, Fset_quit_char):
33704 * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
33706 2016-09-06 Eli Zaretskii <eliz@gnu.org>
33708 Avoid assertion violations when using marker positions
33710 * src/intervals.c (set_point_from_marker): If MARKER comes from
33711 another buffer, recalculate its byte position before using it to
33713 * src/marker.c (set_marker_internal): If POSITION is a marker from
33714 another buffer, recalculate its byte position before using it.
33717 2016-09-06 Alan Mackenzie <acm@muc.de>
33719 * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
33721 2016-09-06 Alan Mackenzie <acm@muc.de>
33723 New options for handling of literals in c-syntactic-re-search-forward
33725 * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
33726 be given the values `before-literal' and `after-literal', so that when a
33727 search fails, and the `bound' is inside a literal, point is left respectively
33728 before or after that literal.
33730 2016-09-05 Eli Zaretskii <eliz@gnu.org>
33732 Avoid assertion violations when scrolling narrowed buffer
33734 * src/window.c (window_scroll_pixel_based):
33735 * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
33736 start outside the accessible portion of the buffer. This avoids
33737 assertion violations when some Lisp narrows the buffer to less
33738 than the current window, and then attempts to scroll the buffer.
33740 2016-09-05 Eli Zaretskii <eliz@gnu.org>
33742 Treat SIGINT correctly in GUI sessions on MS-Windows
33744 * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
33745 supported by MS runtime.
33746 * src/term.c (DEV_TTY): Move from here ...
33747 * src/conf_post.h (DEV_TTY): ... to here. Separate definitions
33748 for WINDOWSNT and for the rest.
33749 * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
33750 a literal "/dev/tty".
33752 * etc/NEWS: Mention the behavior change.
33754 2016-09-04 Alan Third <alan@idiocy.org>
33756 Fix synthetic bold on macOS retina displays
33758 * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
33759 factor by the OS window backing scale factor.
33761 2016-09-04 Tino Calancha <tino.calancha@gmail.com>
33763 image-dired: Report when a necessary executable is not found
33766 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00552.html
33767 * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
33768 (image-dired-cmd-create-thumbnail-program)
33769 (image-dired-cmd-create-temp-image-program)
33770 (image-dired-cmd-rotate-thumbnail-program)
33771 (image-dired-cmd-write-exif-data-program)
33772 (image-dired-cmd-read-exif-data-program):
33773 Use executable-find to set the default value of this option.
33774 (image-dired-cmd-rotate-original-program): Idem.
33775 Search for program 'convert' if 'jpegtran' is not available.
33776 (image-dired-cmd-rotate-original-options):
33777 Set the default value consistent with the executable in
33778 image-dired-cmd-rotate-original-program.
33779 (image-dired-create-thumb, image-dired-display-image)
33780 (image-dired-rotate-thumbnail, image-dired-rotate-original)
33781 (image-dired-set-exif-data, image-dired-get-exif-data):
33782 Throw and error when the executable used in the function is missing.
33783 (image-dired-next-line, image-dired-previous-line):
33784 Use 'forward-line'.
33786 2016-09-03 Tino Calancha <tino.calancha@gmail.com>
33788 image-type-from-file-name: Perform a case insensitive match
33791 * lisp/image.el (image-type-from-file-name): Bind case-fold-search
33792 to a non-nil value to force a case insensitive match.
33793 * lisp/image-dired.el (image-dired-rotate-original):
33794 Use image-type (Bug#24317).
33795 (image-dired-get-exif-file-name): Idem.
33796 Set 'no-exif-data-found' and 'data' in same setq call.
33797 Use file-attribute-modification-time.
33799 2016-09-03 Tino Calancha <tino.calancha@gmail.com>
33801 image-increase-size: Fix non-interactive calls
33803 * lisp/image.el (image-increase-size, image-decrease-size):
33804 Compute a floating point division.
33805 Problem reported in:
33806 https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00067.html
33808 2016-09-03 Robert Cochran <robert-git@cochranmail.com>
33810 Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
33812 Passing the prefix argument as the 3rd argument to 'call-interactively'
33813 causes the prefix argument to be interpreted as events, which is not
33814 only wrong, but also causes a type error, as 'current-prefix-arg' can
33815 never be a vector as 'call-interactively' expects. 'call-interactively'
33816 automatically passes its prefix argument to the called function, so just
33817 do that, eliminating faulty behavior.
33819 * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
33820 (checkdoc-ispell-current-buffer):
33821 (checkdoc-ispell-interactive):
33822 (checkdoc-ispell-message-text):
33823 (checkdoc-ispell-start):
33824 (checkdoc-ispell-continue):
33825 (checkdoc-ispell-comments):
33826 (checkdoc-ispell-defun):
33827 Do not pass 'current-prefix-arg' to 'call-interactively' as an event
33828 vector; merely allow it to propagate forward to the interactive call.
33830 2016-09-03 Richard Stallman <rms@gnu.org>
33832 Fix mail-combine-fields
33834 * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
33835 avoid losing our place in the search loop.
33837 2016-09-02 Stefan Monnier <monnier@iro.umontreal.ca>
33839 Check actual contents before promting about changed file
33841 * lisp/userlock.el (userlock--check-content-unchanged)
33842 (userlock--ask-user-about-supersession-threat): New functions.
33843 * src/filelock.c (lock_file): Use them to avoid spurious prompting.
33844 * doc/lispref/buffers.texi (Modification Time): Update doc of
33845 ask-user-about-supersession-threat.
33847 2016-09-02 Michael Albinus <michael.albinus@gmx.de>
33849 Make a reference to fakecygpty in the Tramp manual
33851 * doc/misc/tramp.texi (Windows setup hints): Make a reference to
33852 fakecygpty on the Emacs Wiki.
33853 (Frequently Asked Questions): Fix url.
33855 2016-09-01 Paul Eggert <eggert@cs.ucla.edu>
33857 Don’t create fd >= FD_SETSIZE
33859 This avoids a potential crash if too many subprocesses (Bug#24325).
33860 * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
33861 (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
33862 set it to FD_SETSIZE.
33864 2016-09-01 Alan Mackenzie <acm@muc.de>
33866 Fix c-declaration-limits to return correct limits in all cases.
33868 This function is the guts of c-indent-defun and c-mark-function.
33870 In particular, when c-defun-tactic is nil, return a correct value rather than
33871 always nil, and when it's 'go-outward, go through an intricate algorithm to
33872 determine the requisite narrowing before the "top-level" defuns go to work.
33874 * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
33875 to take additional optional parameter LEVEL, saying how many enclosing levels
33876 of decl-block to narrow to.
33877 (c-declaration-limits): Introduce algorithm to determine narrowing. Use
33878 c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
33881 2016-09-01 Eli Zaretskii <eliz@gnu.org>
33883 * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
33885 2016-09-01 Eli Zaretskii <eliz@gnu.org>
33887 Avoid compiler warnings with MinGW64 GCC 6
33889 * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
33890 the GCC 6 builtin, to avoid warnings. For more details, see
33891 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00721.html.
33893 2016-08-31 Paul Eggert <eggert@cs.ucla.edu>
33895 Fix over-substitution of quotes on error
33897 Problem reported by Tino Calancha in:
33898 https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00000.html
33899 * src/print.c (print_error_message):
33900 Substitute quotes in errmsg only when gotten from a property.
33902 2016-08-31 Eli Zaretskii <eliz@gnu.org>
33904 Improve testing of etags
33906 * test/manual/etags/y-src/cccp.c:
33907 * test/manual/etags/y-src/parse.c: Correct #line directives to
33908 allow testing invalidate_nodes in etags.c.
33909 * test/manual/etags/ETAGS.good_1:
33910 * test/manual/etags/ETAGS.good_2:
33911 * test/manual/etags/ETAGS.good_3:
33912 * test/manual/etags/ETAGS.good_4:
33913 * test/manual/etags/ETAGS.good_5:
33914 * test/manual/etags/ETAGS.good_6:
33915 * test/manual/etags/CTAGS.good: Adapt to changes in test files.
33917 2016-08-31 Eli Zaretskii <eliz@gnu.org>
33919 * lib-src/etags.c (invalidate_nodes): Fix another thinko.
33921 2016-08-31 Paul Eggert <eggert@cs.ucla.edu>
33923 Fix etags problems found by static checking
33925 * lib-src/etags.c (invalidate_nodes, put_entry):
33926 Remove now-unnecessary tests for null pointers. Simplify.
33927 (put_entries): Rewrite to avoid GCC 6.2 warning about
33928 dereferencing null pointer.
33930 2016-08-31 Eli Zaretskii <eliz@gnu.org>
33932 Fix a thinko in etags.c
33934 * lib-src/etags.c (invalidate_nodes): Don't try to dereference
33937 2016-08-31 Eli Zaretskii <eliz@gnu.org>
33939 Avoid recursive calls in etags
33941 * lib-src/etags.c (stack_entry): New struct.
33942 (push_node, pop_node, put_entry): New functions.
33943 (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
33944 in a non-recursive way, to avoid stack overflow. (Bug#5847)
33946 2016-08-31 Leo Liu <sdl.web@gmail.com>
33948 Add 451 to url-http-codes
33950 * lisp/url/url-http.el (url-http-codes): Add 451.
33952 2016-08-30 Paul Eggert <eggert@Penguin.CS.UCLA.EDU>
33954 * src/editfns.c (Fformat_message): Fix doc to match current behavior.
33956 2016-08-30 Paul Eggert <eggert@cs.ucla.edu>
33958 Minor doc quoting fixes
33960 * doc/misc/htmlfontify.texi (Interactive):
33961 * lisp/htmlfontify.el (htmlfontify-buffer):
33962 Spell out character names, for clarity. The old doc string
33963 generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
33964 stands for a form feed character; this was confusing.
33965 * lisp/electric.el (electric-quote-mode):
33966 * src/doc.c (syms_of_doc):
33967 * src/editfns.c (Fformat_message):
33968 Remove no-longer-necessary ‘\=’s in doc strings.
33970 2016-08-30 Paul Eggert <eggert@cs.ucla.edu>
33975 2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
33976 2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
33977 2016-08-29 intprops.h: port recent changes to GCC 6.2.0
33978 2016-08-29 intprops.h: use __typeof__ with GCC 7
33979 2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
33980 2016-08-24 intprops: fix paren typo on old platforms
33981 2016-08-24 intprops: port to OpenVMS
33982 * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
33984 2016-08-30 Tassilo Horn <tsdh@gnu.org>
33986 Fix rules for \phi and \varphi which were reversed
33988 * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
33989 are reversed in ucs-names. Also remove FIXME stating sigma/varsigma
33990 were reversed which is not true (anymore?).
33992 2016-08-30 Tassilo Horn <tsdh@gnu.org>
33994 Fix prettification of \phi, \varphi, and \varsigma
33996 * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
33997 prettification of \phi, \varphi, and \varsigma.
33999 Concretely, \phi's symbol was actually varphi, \varphi was missing, and
34000 \varsigma was commented out with a FIXME that it was reversed with
34001 \sigma which it was not.
34003 2016-08-30 Karl Fogel <kfogel@red-bean.com>
34005 Use normal double quotes in TeX / LaTeX comments
34007 * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
34008 default to inserting a normal double quote (") instead of TeX-style
34009 open (``) or close ('') quote marks.
34011 * etc/NEWS (TeX mode): Note the change.
34013 * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
34015 See this thread for discussion:
34017 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00611.html
34018 From: Karl Fogel <kfogel {_AT_} red-bean.com>
34019 To: Emacs Development <emacs-devel {_AT_} gnu.org>
34020 Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
34021 Date: Mon, 29 Aug 2016 14:44:12 -0500
34022 Message-ID: <87twe3icmr.fsf@red-bean.com>
34024 2016-08-30 Alan Mackenzie <acm@muc.de>
34026 Correctly analyze C++ list initialization in member init areas.
34028 * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
34029 superfluous call to c-backward-syntactic-ws.
34030 (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
34031 reports encountering the Java "new" keyword. Add, as an alternative, a check
34032 that we can move back over member initializations, and handle this as finding
34034 (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
34035 new calling convention of c-looking-at-or-maybe-in-bracelist.
34036 (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
34037 calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
34038 using the extra info from the value of that function to generate a
34039 topmost-into-cont element where needed (in Java).
34041 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
34042 calling convention of c-looking-at-or-maybe-in-bracelist.
34044 * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
34045 convention of c-looking-at-or-maybe-in-bracelist.
34047 2016-08-30 Michael Albinus <michael.albinus@gmx.de>
34049 Use `file-attribute-*' in Tramp
34051 * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
34052 (tramp-compat-file-attribute-link-number)
34053 (tramp-compat-file-attribute-user-id)
34054 (tramp-compat-file-attribute-group-id)
34055 (tramp-compat-file-attribute-modification-time)
34056 (tramp-compat-file-attribute-size)
34057 (tramp-compat-file-attribute-modes): New defaliases.
34059 * lisp/net/tramp.el (tramp-handle-file-modes)
34060 (tramp-handle-file-newer-than-file-p)
34061 (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
34062 (tramp-handle-set-visited-file-modtime)
34063 (tramp-handle-verify-visited-file-modtime)
34064 (tramp-get-local-gid, tramp-check-cached-permissions):
34065 * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
34066 (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
34067 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
34068 (tramp-gvfs-handle-file-directory-p)
34069 (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
34070 (tramp-gvfs-get-remote-gid):
34071 * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
34072 (tramp-sh-handle-set-visited-file-modtime)
34073 (tramp-sh-handle-verify-visited-file-modtime)
34074 (tramp-sh-handle-file-newer-than-file-p)
34075 (tramp-sh-handle-file-ownership-preserved-p)
34076 (tramp-do-copy-or-rename-file)
34077 (tramp-do-copy-or-rename-file-via-buffer)
34078 (tramp-do-copy-or-rename-file-directly)
34079 (tramp-do-copy-or-rename-file-out-of-band)
34080 (tramp-sh-handle-file-local-copy)
34081 (tramp-sh-handle-write-region):
34082 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
34083 (tramp-smb-handle-copy-file)
34084 (tramp-smb-handle-file-directory-p)
34085 (tramp-smb-handle-file-writable-p)
34086 (tramp-smb-handle-insert-directory): Use them.
34088 2016-08-30 Martin Rudalics <rudalics@gmx.at>
34090 In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
34092 * lisp/window.el (pop-to-buffer): Don't assume that
34093 `display-buffer' has supplied a window (Bug#24332).
34094 Rename BUFFER argument to BUFFER-OR-NAME.
34095 * doc/lispref/windows.texi (Switching Buffers): Fix
34096 `pop-to-buffer' documentation.
34098 2016-08-29 Alan Third <alan@idiocy.org>
34102 * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
34104 2016-08-29 Michael Albinus <michael.albinus@gmx.de>
34106 Use `process-live-p' in Tramp
34108 * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
34110 * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
34111 (tramp-handle-file-notify-valid-p)
34112 (tramp-action-process-alive, tramp-action-out-of-band)
34113 (tramp-wait-for-regexp):
34114 * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
34115 (tramp-adb-maybe-open-connection):
34116 * lisp/net/tramp-cache.el (tramp-get-connection-property):
34117 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
34118 * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
34119 (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
34120 * lisp/net/tramp-sh.el (tramp-process-sentinel)
34121 (tramp-sh-handle-file-notify-add-watch)
34122 (tramp-maybe-open-connection):
34123 * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
34124 (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
34125 (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
34126 (tramp-smb-get-cifs-capabilities)
34127 (tramp-smb-get-stat-capability)
34128 (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
34129 (tramp-smb-kill-winexe-function): Use it.
34131 2016-08-29 Eli Zaretskii <eliz@gnu.org>
34133 Avoid crashes for invalid value of key modifiers
34135 * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
34136 is not a symbol, don't try to recognize it. See
34137 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00502.html
34140 * test/src/keymap-tests.el (keymap-where-is-internal-test): New
34141 test, for testing the above fix.
34143 2016-08-29 Oleh Krehel <ohwoeowho@gmail.com>
34145 Make dired-do-compress understand files with spaces in them
34147 * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
34148 and `literal' flag to `replace-regexp-in-string'.
34150 2016-08-28 Paul Eggert <eggert@cs.ucla.edu>
34152 * INSTALL.REPO: Suggest Texinfo 4.13 or later.
34154 2016-08-28 Simen Heggestøyl <simenheg@gmail.com>
34156 Add tests for dom.el
34158 * test/lisp/dom-tests.el: New file with tests for dom.el.
34160 2016-08-28 Paul Eggert <eggert@cs.ucla.edu>
34162 Memory allocator alignment fixes
34164 These changes remove some assumptions about heap allocator
34165 alignment that may not be true on unusual platforms.
34166 * src/alloc.c (POWER_OF_2): New macro.
34168 (BLOCK_ALIGN): Verify that it is a power of 2.
34169 (aligned_alloc): Check that alignment passed to posix_memalign
34170 satisfies POSIX restrictions.
34171 (lisp_align_malloc): Check that size passed to aligned_alloc
34172 satisfies C11 restrictions.
34173 (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
34174 code has not been verified to work with other GCALIGNMENT values
34175 and the ice is thin here. On GNU/Linux, malloc can return a value
34176 that is a multiple of 8 but not 16, even though __alignof__
34177 (max_align_t) is 16. See:
34178 https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
34179 (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
34180 is a multiple of alignment, since C11 says the behavior is
34181 undefined otherwise.
34182 (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
34183 general this macro is restricted to signed types. Remove
34184 assertion that the result is a multiple of GCALIGNMENT, as that
34187 2016-08-28 Paul Eggert <eggert@cs.ucla.edu>
34189 Pacify --enable-gcc-warnings for lib-src/pop.c
34191 * lib-src/pop.c: Include c-ctype.h.
34192 (socket_connection): Pacify --enable-gcc-warnings by rewriting to
34193 avoid 'if (v = E) ...'. Use c_tolower, instead of a combination
34194 of the (undeclared) isupper and tolower. Fix pointer constness
34197 2016-08-27 Alan Mackenzie <acm@muc.de>
34199 Handle the C++ "identifiers" "final" and "override" correctly.
34201 This fixes bug #24319, allowing destructors affixed with these identifiers to
34202 be correctly fontified.
34204 * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
34205 After reaching the "end" of a type expression, skip over any occurrences of
34206 c-type-decl-suffix-ws-ids-key.
34208 * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
34209 "final" from the C++ value.
34210 (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
34211 constants/variables for "final" and "override".
34213 2016-08-27 Stefan Monnier <monnier@iro.umontreal.ca>
34215 * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
34217 2016-08-27 Alan Mackenzie <acm@muc.de>
34219 Handle template delimiters in C++ member init constructs.
34221 * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
34222 handling for "<....>"s.
34224 2016-08-26 Eli Zaretskii <eliz@gnu.org>
34226 Fix etags test suite messed up by merges from emacs-25
34228 * test/manual/etags/go-src/test.go:
34229 * test/manual/etags/go-src/test1.go: Move from test/etags/.
34230 * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
34231 * test/etags/: Directory deleted.
34233 2016-08-26 Simen Heggestøyl <simenheg@gmail.com>
34235 Add "supports" to list of CSS at-rules
34237 * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
34239 2016-08-26 Michael Albinus <michael.albinus@gmx.de>
34241 * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
34245 2016-08-25 Tino Calancha <tino.calancha@gmail.com>
34247 Rename option to shell-command-dont-erase-buffer
34249 Suggested by Clément Pit--Claudel in:
34250 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00487.html
34251 * lisp/simple.el (shell-command-dont-erase-buffer):
34252 (shell-command--save-pos-or-erase):
34253 (shell-command--set-point-after-cmd):
34254 (shell-command-on-region):
34255 * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
34256 * etc/NEWS (Changes in Emacs 25.2):
34257 Rename from shell-command-not-erase-buffer.
34259 2016-08-25 Alan Mackenzie <acm@muc.de>
34261 Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
34263 * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
34264 `while' form's condition, check for "\\s)" rather than merely "\\]", so that
34265 the loop won't hang at a "terminating" paren of a different type (due to the
34266 c-syntactic-re-search-forward at the end of the loop stopping at such
34269 2016-08-25 Tino Calancha <tino.calancha@gmail.com>
34271 call-shell-region: New defun
34273 Suggested by Stefan Monnier in Bug#22679.
34274 * lisp/subr.el (call-shell-region): New defun; execute a command
34275 in an inferior shell with the buffer region as input.
34276 * lisp/simple.el (shell-command-on-region): Use it.
34277 * lisp/gnus/message.el (message-do-fcc): Idem.
34278 * doc/lispref/processes.texi: Document call-shell-region in the manual.
34279 ;* etc/NEWS: Add entry for this new function.
34281 2016-08-25 Martin Rudalics <rudalics@gmx.at>
34283 In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
34285 * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
34286 argument in `pop-to-buffer' call (Bug#24306).
34288 2016-08-25 Martin Rudalics <rudalics@gmx.at>
34290 Some fixes around `delete-other-frames' and `next-frame'
34292 * src/frame.c (Fdelete_frame): Clarify doc-string.
34293 * lisp/frame.el (delete-other-frames): Delete other frames on
34294 FRAME's terminal instead of the current terminal. Delete
34295 non-minibuffer-only surrogate frames too. See
34296 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00467.html
34297 * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
34298 docs of `delete-frame' and `frame-live-p'. Add entry for
34299 `delete-other-frames'.
34300 (Finding All Frames): Fix doc of `next-frame'.
34302 2016-08-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
34304 Find message.el thumbnail toggling
34306 * lisp/gnus/message.el (message-toggle-image-thumbnails):
34307 Don't infloop when toggling thumbnails.
34309 2016-08-24 Alan Third <alan@idiocy.org>
34311 Fix macOS 12 deprecation notices
34313 * src/nsterm.h: Add #defines to allow older versions of macOS to use the
34314 new constant names.
34315 * src/nsmenu.m: Replace old constant names with
34317 (fillWithWidgetValue): Remove calls to deprecated
34318 setMenuChangedMessagesEnabled.
34319 * src/nsterm.m: Replace old constant names with new.
34320 * src/nsfns.m: Replace old constant names with new.
34322 2016-08-23 Alan Mackenzie <acm@muc.de>
34324 Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
34326 * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
34327 directly preceding the colon, and handle it.
34329 2016-08-23 Noah Friedman <friedman@splode.com>
34331 * src/xfns.c (Fx_change_window_property): Modify previous change.
34332 Instead of forcing format to 8 for strings, check that the length of
34333 the string is appropriate for whatever format given.
34334 (Fx_window_property_attributes): If prop isn't found on frame's inner window,
34335 try its outer window. This mimics the behavior of Fx_window_property.
34337 2016-08-23 Lars Ingebrigtsen <larsi@gnus.org>
34339 Fix invalid image rotations
34341 * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
34343 2016-08-23 Tino Calancha <tino.calancha@gmail.com>
34345 call-process instead of call-process-region with empty region
34347 * lisp/calc/calc-graph.el (calc-graph-show-tty):
34348 Use call-process and shell-command-switch.
34350 2016-08-22 Paul Eggert <eggert@cs.ucla.edu>
34352 Merge from origin/emacs-25
34354 927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
34355 6bf83b5 * etc/AUTHORS: Update the AUTHORS file
34356 73cbb81 ; ChangeLog spelling fixes
34357 9b99772 Some assorted documentation clarifications
34358 37d4723 Improve commentary in src/character.h
34359 5ccd593 ; Fix typo in /etc/NEWS
34360 96e3d16 * etc/NEWS: Mention the change in json-encode-string.
34361 2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
34362 2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
34363 66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
34367 # lisp/ldefs-boot.el
34369 2016-08-22 Paul Eggert <eggert@cs.ucla.edu>
34371 Merge from origin/emacs-25
34373 66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
34375 2016-08-22 Paul Eggert <eggert@cs.ucla.edu>
34377 Merge from origin/emacs-25
34379 8c2946e In NEWS describe new handling of window margins (Bug#24193)
34380 0cee66c Facultatively ignore margins when splitting and resizing wind...
34381 8d68147 Document CATEGORY arg to modify-category-entry
34382 8342e74 Document char-script-table's effect on word motion
34383 e9ff485 Further fix for 'url-http-create-request' and multibyte strings
34384 0695235 Fix docstring of eval-expression
34385 98b01dd Clarify when 'cursor' property is in effect
34386 75f1882 Convert the remaining strings to unibyte before concatenating
34387 d2db5dd Fix bug with handling the bidi cache
34388 ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
34389 f785ff4 Clarify documentation of before/after-change-functions
34390 3c9cb57 Document use of vectors in keymaps
34395 2016-08-22 Michael Albinus <michael.albinus@gmx.de>
34397 Handle remote file names in gdb-mi.el
34399 * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
34400 If `default-directory' is remote, full file names are adapted
34401 accordingly. (Bug#23608)
34403 2016-08-22 Eli Zaretskii <eliz@gnu.org>
34405 Display mini-window resized even when there are several frames
34407 * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
34408 t to avoid resizing back the mini-window as result of considering
34409 the title of other frames. (Bug#24285)
34410 (redisplay_window): No need to bind inhibit-redisplay here.
34412 2016-08-22 Michael Albinus <michael.albinus@gmx.de>
34414 Explain gdb warning on remote hosts
34416 * doc/misc/tramp.texi (Remote processes): Explain gdb warning
34417 on remote hosts. (Bug#4604, Bug#6360, Bug#622569)
34419 2016-08-21 Martin Rudalics <rudalics@gmx.at>
34421 Fix (next-frame nil t) crash (Bug#24281)
34423 * src/frame.c (candidate_frame): Check minibuf argument before
34424 comparing it to zero (Bug#24281).
34426 2016-08-21 Noah Friedman <friedman@splode.com>
34428 Fix interpretation of signed vs unsigned values when retrieving X
34429 Window properties, and make sure the full value is returned when not
34432 New subr to export type and format information about X Window
34433 properties to lisp.
34435 * src/xselect.c (selection_data_to_lisp_data): Treat any data as
34436 unsigned unless its actual type is INTEGER.
34437 CARDINALs, in particular, are unsigned.
34439 * src/xfns.c (Fx_change_window_property): If value is a string, ignore
34440 any provided format and force to 8.
34441 (x_window_property_intern): If returning value as a string, the length
34442 is actual_size times the actual format of each element, which is not
34444 (Fx_window_property_attributes): New subr.
34445 (syms_of_xfns): Declare it.
34447 2016-08-21 Noam Postavsky <npostavs@gmail.com>
34449 Improve error when installing non-package dirs
34451 * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
34452 when no file with package info is found (Bug #19851).
34454 2016-08-21 Alan Mackenzie <acm@muc.de>
34456 Adapt CC Mode for C++11 uniform initialization.
34458 For fontification, introduce a new "context", 'non-decl, to be used for
34460 lists; also a new value for the property 'c-type, called 'c-not-decl.
34462 * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
34463 an ostensible symbol we're going to move over isn't a keyword.
34464 (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
34465 (hence a declaration), and an unmatched open paren, perform
34466 c-fdoc-shift-type-backwards to recognize the partial construct correctly.
34467 Whilst checking a type decl expression, check for and handle C++11's "copy
34468 initialization", where we have <type>(<constant>). Recognize
34469 <id><id>(... (where the paren is unclosed) as a declaration.
34470 (c-looking-at-or-maybe-in-bracelist): New function, extracted from
34471 c-inside-bracelist-p. Recognize as bracelists "{"s which are preceded by
34472 valid tokens other than "=". Recognize a bracelist when preceded by a
34473 template declaration.
34474 (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
34476 (c-looking-at-inexpr-block): Amend so that it won't wrongly recognise an
34477 initialization starting "({" as an in-expression block, by checking for
34478 semicolons, as opposed to commas, separating elements inside it.
34479 (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
34480 calling c-looking-at-or-maybe-in-bracelist rather than checking for a
34481 preceding "=". (CASE B-5): New code to recognize new construct "return {
34483 (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
34484 "return", or "{" preceded by <type><identifier> as a bracelist.
34486 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
34487 lists, giving them `context' 'non-decl. Pass over elements of one by regexp
34488 search for "," rather than calling c-forward-decl-or-cast-1.
34490 * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
34491 constants/variables to recognize "return".
34492 (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
34493 which, when preceding an identifier followed by a brace, signify the brace as
34496 * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
34497 the start of a "local" declaration, move out from an enclosing brace when
34498 that is the start of a brace list.
34500 2016-08-21 Paul Eggert <eggert@cs.ucla.edu>
34505 2016-08-17 maint: preprocessor changes to support z/OS
34506 2016-08-17 string: rename to avoid '__string'
34507 * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
34510 2016-08-21 Paul Eggert <eggert@cs.ucla.edu>
34512 Minor text-quoting-style fixes
34514 * src/charset.c (check_iso_charset_parameter):
34515 * src/frame.c (store_frame_param):
34516 * src/xselect.c (x_fill_property_data):
34517 Use grave accent for left single quote in ‘error’ format strings.
34519 2016-08-21 Martin Rudalics <rudalics@gmx.at>
34521 Fix semantics of 'minibuffer' frame parameter
34523 The 'minibuffer' frame parameter is now t for a normal frame
34524 (a frame with a root window plus a minibuffer window) and the
34525 frame's minibuffer window for a minibuffer-less frame (a frame
34526 whose minibuffer window is on another frame). See also:
34527 https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01259.html
34529 * src/frame.c (make_frame, make_frame_without_minibuffer)
34530 (make_minibuffer_frame): When assigning the frame's minibuffer
34531 window also store corresponding 'minibuffer' frame parameter.
34532 (store_frame_param): Move the 'minibuffer' parameter checks to
34533 the beginning so we can silently override the value before it
34534 gets stored in the parameter alist. Fix error handling.
34535 (Fframe_parameters): Return value of 'minibuffer' parameter
34538 * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
34539 the parameter is a minibuffer window, save (minibuffer . nil)
34540 instead of (minibuffer . t).
34541 (frameset--reuse-frame): To find a non-minibuffer-only frame
34542 look out for a frame whose 'minibuffer' parameter is t instead
34543 of that frame's minibuffer window.
34544 (frameset-minibufferless-first-p): To find a minibuffer-less
34545 frame look out for a frame whose 'minibuffer' parameter is a
34546 window instead of nil.
34548 2016-08-20 Alan Mackenzie <acm@muc.de>
34550 * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
34552 2016-08-20 Alan Mackenzie <acm@muc.de>
34554 In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
34556 Check the limit both at macro expansion time (for a hard coded nil) and at run
34557 time in the generated code. Tidy up these macros generally.
34559 * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
34560 not identically nil before generating a narrow-to-region call. Generate code
34561 to check `limit' is not nil at run time.
34562 (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
34563 narrow-to-region, instead calling c-safe-scan-lists directly.
34564 (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
34565 (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
34566 to determine the destination position instead of generating a redundant
34569 2016-08-19 Robert Cochran <robert-git@cochranmail.com>
34571 * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
34573 The docstring referenced a non-existant parameter, as well as a
34574 parameter that has been renamed since the docstring was written. Fix
34575 both errors, fixing (Bug#24182).
34577 2016-08-19 Alan Mackenzie <acm@muc.de>
34579 Amend hack-local-variables-prop-line not always to return any mode on line 1.
34581 This fixes bug #24266.
34583 * lisp/files.el (hack-local-variables-prop-line): Change the name of the
34584 parameter mode-only to handle-mode. Change its meaning, such that it being
34585 set to a value non-nil and not t removes any mode parameter from the result
34586 list. Leave its values nil and t with the same meanings they had.
34587 (hack-local-variables): Call hack-local-variables-prop-line appropriately.
34589 2016-08-19 Daiki Ueno <ueno@gnu.org>
34591 Improve doc string of epg-*-program
34593 * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
34594 Suggest to use Customize when setting. (Bug#24229)
34596 2016-08-19 Tino Calancha <tino.calancha@gmail.com>
34598 Add tests for Bug#24264
34600 * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
34601 Add test for Bug#24264.
34602 (cl-seq-fill-test, cl-seq-replace-test)
34603 (cl-seq-remove-test ,cl-seq-delete-test)
34604 (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
34605 (cl-seq-nsubstitute-test, cl-seq-position-test)
34606 (cl-seq-count-test, cl-seq-mismatch-test)
34607 (cl-seq-search-test, cl-seq-test-bug24264):
34608 Add tests for all functions in the file; test all keywords.
34610 2016-08-18 Johan Bockgård <bojohan@gnu.org>
34612 Fix bug in --eval reply message from server
34614 * lisp/server.el (server-reply-print): Fix check for truncated quote
34615 sequence at end of message. Problem reported in:
34616 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00101.html
34618 2016-08-18 Eli Zaretskii <eliz@gnu.org>
34620 Add tests for 'substitute-command-keys'
34622 * test/src/doc-tests.el (doc-test-substitute-command-keys): New
34625 2016-08-18 Oleh Krehel <ohwoeowho@gmail.com>
34627 lisp/textmodes/table.el (table-generate-source): Fix completing-read call
34629 Doesn't make sense to pass '(("html") ("latex") ("cals")) to
34632 2016-08-18 Oleh Krehel <ohwoeowho@gmail.com>
34634 lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
34636 The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
34637 without any files being extracted.
34639 2016-08-18 Andreas Politz <politza@hochschule-trier.de>
34641 Don't let window start override window point in `window-state-put' (Bug#24240)
34643 * lisp/window.el (window--state-put-2): Set 'noforce argument
34644 when restoring a window's start position. This avoids that the
34645 effect of `set-window-point' gets overidden by that of
34646 `set-window-start' (Bug#24240).
34648 2016-08-17 Alan Mackenzie <acm@muc.de>
34650 Fontify constructs following "::" in C++ argument lists correctly - part 2.
34652 This fixes bug #24246.
34654 * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
34655 `save-match-data' around the new `looking-at' introduced by the previous CC
34656 Mode patch this evening.
34658 2016-08-17 Alan Mackenzie <acm@muc.de>
34660 Fontify constructs following "::" in C++ argument lists correctly.
34662 This fixes bug #24246.
34664 * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
34665 match" loop, test a found string for a match with c-opt-identifier-concat-key
34668 2016-08-17 Paul Eggert <eggert@cs.ucla.edu>
34670 * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
34672 2016-08-17 K. Handa <handa@gnu.org>
34674 Fix hz encoding and decoding (bug#23814)
34676 * lisp/language/china-util.el (decode-hz-region): Pay
34677 attention to "~~}" sequence at the end of Chinese character
34679 (hz-category-table): New variable.
34680 (encode-hz-region): Convert non-encodable characters to
34681 \u... and \U... Preserve ESC on ecoding. Put
34682 `chinese-gb2312' `charset' text property in advance to force
34683 iso-2022-encoding to select chinese-gb2312 designation.
34685 2016-08-17 Tino Calancha <tino.calancha@gmail.com>
34687 file-attribute-collect: New defun
34689 * lisp/files.el (file-attribute-collect):
34690 Return a sublist of the attributes returned by 'file-attributes'.
34691 Suggested by Ted Zlatanov in:
34693 https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01195.html
34695 2016-08-17 Michael Albinus <michael.albinus@gmx.de>
34699 * lisp/comint.el (comint-password-prompt-regexp): Relax regexp. (Bug#24203)
34701 2016-08-16 Karl Fogel <kfogel@red-bean.com>
34703 Improve doc string.
34705 * src/fileio.c (Ffile_name_as_directory): Be precise about the
34706 conditions under which a slash is appended.
34708 2016-08-16 Paul Eggert <eggert@cs.ucla.edu>
34710 Omit substitute-command-keys code no longer needed
34712 * src/doc.c (Fsubstitute_command_keys):
34713 Remove duplicate initializations.
34715 2016-08-16 Tino Calancha <tino.calancha@gmail.com>
34717 Allow not erase output buffer in shell commands
34719 * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
34720 not erasing the output buffer between shell commands. Defaults to nil.
34721 (shell-command-on-region): Use it.
34722 (shell-command--save-pos-or-erase): New defun; store a buffer position
34723 if 'shell-command-not-erase-buffer' is non-nil; otherwise
34724 erase the output buffer of the shell command.
34725 (shell-command, shell-command-on-region): Use it.
34726 (shell-command--set-point-after-cmd): New defun;
34727 if 'shell-command-not-erase-buffer' is non-nil, set point
34728 in the output buffer to the position in 'shell-command-saved-pos'.
34729 (shell-command-sentinel, shell-command-on-region): Use it.
34730 * doc/emacs/misc.texi (shell-command-not-erase-buffer):
34731 Document this feature in the manual.
34733 https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg00610.html
34735 2016-08-16 Michael Albinus <michael.albinus@gmx.de>
34737 Rearrange Tramp manual title page
34739 * doc/misc/tramp.texi: Move @insertcopying out of the title
34740 page. Do not use @ifnottex anymore.
34742 2016-08-15 Glenn Morris <rgm@gnu.org>
34744 * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
34746 2016-08-15 Alan Mackenzie <acm@muc.de>
34748 Fix minor bug in c-syntactic-re-search-forward.
34750 Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
34751 non-nil, and the first internal search attempt fails, point wrongly ends up at
34752 BOUND, rather than just before the next closing paren.
34754 * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
34755 the above situation.
34757 2016-08-15 Alan Mackenzie <acm@muc.de>
34759 Handle C++11 lambda functions.
34761 * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
34762 handle C++ lambda functions.
34763 (c-looking-at-c++-lambda-capture-list): New function.
34765 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
34766 parameter list of a lambda function and set `context' and
34767 `c-restricted-<>-arglists' suitably for it.
34768 (c-font-lock-c++-lambda-captures): New function.
34769 (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
34771 * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
34772 New language constants/variables.
34773 (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
34775 * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
34776 function capture list.
34778 2016-08-15 Michael Albinus <michael.albinus@gmx.de>
34780 Fix stale cache problem in Tramp
34782 * lisp/net/tramp-cache.el (tramp-get-connection-property):
34783 Check, that a process as key is still running. (Bug#22478)
34785 2016-08-14 Paul Eggert <eggert@cs.ucla.edu>
34787 * doc/misc/tramp.texi (Configuration): Fix @xref typo.
34789 2016-08-14 Eli Zaretskii <eliz@gnu.org>
34791 Another fix for scroll-conservatively and overlay strings
34793 * src/xdisp.c (redisplay_window): Handle also the case where the
34794 calculated window-start point has an overlay string touching it.
34797 2016-08-14 Michael Albinus <michael.albinus@gmx.de>
34799 Improve handling of defcustoms in tramp
34801 * doc/misc/tramp.texi: Protect all multi-line examples by
34802 @group ... @end group. Use proper `custom-set-variables'
34803 examples. Use consequently @option for user options. Remove
34804 superfluous @cindex and @vindex entries.
34805 (Top): Remove reference to outdated mail archives.
34806 (Configuration): Tune references.
34807 (Default Method): Make `tramp-default-method' and
34808 `tramp-default-method-alist' a @defopt.
34809 (Default User): Make `tramp-default-user' and
34810 `tramp-default-user-alist' a @defopt.
34811 (Default Host): Make `tramp-default-host' and
34812 `tramp-default-host-alist' a @defopt.
34814 * lisp/net/tramp.el (tramp-mode, tramp-verbose)
34815 (tramp-backup-directory-alist, tramp-auto-save-directory)
34816 (tramp-encoding-shell, tramp-encoding-command-switch)
34817 (tramp-encoding-command-interactive, tramp-default-method)
34818 (tramp-default-method-alist, tramp-default-user)
34819 (tramp-default-user-alist, tramp-default-host)
34820 (tramp-default-host-alist, tramp-default-proxies-alist)
34821 (tramp-save-ad-hoc-proxies)
34822 (tramp-restricted-shell-hosts-alist)
34823 (tramp-local-end-of-line, tramp-rsh-end-of-line)
34824 (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
34825 (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
34826 (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
34827 (tramp-terminal-prompt-regexp)
34828 (tramp-operation-not-permitted-regexp)
34829 (tramp-copy-failed-regexp, tramp-process-alive-regexp)
34830 (tramp-syntax, tramp-chunksize)
34831 (tramp-process-connection-type, tramp-connection-timeout)
34832 (tramp-connection-min-time-diff)
34833 (tramp-completion-reread-directory-timeout):
34834 * lisp/net/tramp-adb.el (tramp-adb-program)
34835 (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
34836 * lisp/net/tramp-cache.el (tramp-connection-properties)
34837 (tramp-persistency-file-name):
34838 * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
34839 (tramp-gvfs-zeroconf-domain)
34840 (tramp-bluez-discover-devices-timeout):
34841 * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
34842 (tramp-copy-size-limit, tramp-terminal-type)
34843 (tramp-histfile-override)
34844 (tramp-use-ssh-controlmaster-options, tramp-remote-path)
34845 (tramp-remote-process-environment, tramp-sh-extra-args):
34846 * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
34847 (tramp-smb-conf, tramp-smb-winexe-program)
34848 (tramp-smb-winexe-shell-command)
34849 (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
34851 2016-08-13 Paul Eggert <eggert@cs.ucla.edu>
34853 Minor text-quoting-style fixes
34855 * lisp/cus-edit.el (custom-buffer-create-internal):
34856 * lisp/recentf.el (recentf-edit-list):
34857 Follow text-quoting-style preference when quoting in UI strings.
34858 * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
34859 quotes are substituted for, as this is no longer true.
34861 2016-08-13 Paul Eggert <eggert@cs.ucla.edu>
34863 Fix substitute-command-keys unibyte, alloc bugs
34865 * src/doc.c (Fsubstitute_command_keys): Fix some problems with
34866 unibyte strings and with buffer allocation. Make strings
34867 multibyte, to avoid problems with unibyte strings that are not
34868 valid UTF-8 (Bug#24206). Redo buffer allocation so that it is
34869 O(N), not O(N**2). Avoid going past the end of the input string
34870 when given invalid input. Avoid some unlikely problems in
34871 accessing the wrong storage after a GC.
34873 2016-08-13 Joakim Jalap <joakim.jalap@fastmail.com>
34875 Fix "C-u" when an input method is active
34877 * lisp/international/quail.el (quail-input-method): Defer to the
34878 input method iff 'overriding-terminal-local-map' is
34879 'universal-argument-map' and the given key has no binding there.
34882 2016-08-13 Martin Rudalics <rudalics@gmx.at>
34884 Fix docs on `display-buffer-below-selected' (Bug#24213)
34886 * lisp/window.el (display-buffer-below-selected): Fix
34887 doc-string (Bug#24213).
34888 * doc/lispref/windows.texi (Display Action Functions): Fix
34889 documentation of `display-buffer-below-selected'.
34891 2016-08-12 Tino Calancha <tino.calancha@gmail.com>
34893 cl-fill: Rename arguments to cl-seq and cl-item
34895 * lisp/emacs-lisp/cl-seq.el (cl-fill):
34896 Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
34898 2016-08-12 Thomas Fitzsimmons <fitzsim@fitzsim.org>
34900 Fix display.texi typo
34902 * doc/lispref/display.texi (Faces): Fix typo.
34904 2016-08-11 Paul Eggert <eggert@cs.ucla.edu>
34906 Fix process leak with make-network-process
34908 This problem was introduced by the recent async changes (Bug#23808).
34909 * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
34910 so that it follows the start_process_unwind unwind-protect.
34911 Set pid to -1 while the process is being created.
34912 (start_process_unwind): Omit unnecessary emacs_abort test.
34913 (connect_network_socket): Simplify use of counts. Unwind
34914 bind_polling_period a bit earlier, so that a remove_process
34915 unwind-protect can be added when needed; this is the heart of
34916 the fix. Undo the unwind-protect just before returning.
34918 2016-08-11 Eli Zaretskii <eliz@gnu.org>
34920 Avoid annoying re-scroll when buffer has many overlay strings
34922 * src/xdisp.c (redisplay_window): Add better recovery from a
34923 situation where window-start is on buffer position which has a
34924 before-string that includes newlines, with the result that point
34925 is not visible in the window, because the display engine starts
34926 displaying with the before-string. (Bug#24179)
34928 2016-08-10 Paul Eggert <eggert@cs.ucla.edu>
34930 Omit unnecessary process initialization
34932 * src/process.c (make_process, Fmake_process)
34933 (Fmake_pipe_process, Fmake_serial_process)
34934 (Fmake_network_process, server_accept_connection):
34935 Omit unnecessary initialization of already-cleared storage.
34937 2016-08-10 Tino Calancha <tino.calancha@gmail.com>
34939 cl-delete-duplicates: Parse :if to have cl-if bound
34941 * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
34942 We need also to parse keyword :if, otherwise cl-if
34944 This reverts commit:
34945 68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
34947 2016-08-10 Tino Calancha <tino.calancha@gmail.com>
34949 cl-delete-duplicates: do not parse :if keyword
34951 * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
34952 Parse only the supported keywords.
34954 2016-08-10 Michael Albinus <michael.albinus@gmx.de>
34956 Add compatibility layer for `temporary-file-directory-function'
34958 * lisp/net/tramp-compat.el
34959 (tramp-compat-temporary-file-directory-function): New defalias.
34961 * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
34963 * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
34964 Skip for older Emacs versions.
34966 2016-08-10 Michael Albinus <michael.albinus@gmx.de>
34968 * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
34972 2016-08-10 Vincent Belaïche <vincentb1@users.sourceforge.net>
34974 Handle nil cell value in compiled printer functions.
34976 * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
34977 ses-range `!' modifier.
34978 (More on cell printing): Fix this that the fallback printer is
34979 `ses-prin1', not "%S". That makes a difference for any cell value for
34980 which "%S" would insert a backslash characters.
34982 * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
34983 --- contrary to emacs-25 branches ses-call-printer does not handle
34984 prior to calling a function printer. Not doing this would still work
34985 because the compiled function would throw and error and SES would in
34986 the end resort to the ses-prin1 fallback, however this way would not
34987 be in line with the raison d'être of compiling printer which is speed.
34989 2016-08-09 Mark Oteiza <mvoteiza@udel.edu>
34991 Turn on lexical-binding in json.el
34993 Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
34994 showed 12-31% reduction in execution time.
34995 * lisp/json.el: Turn on lexical-binding.
34997 2016-08-09 Mark Oteiza <mvoteiza@udel.edu>
34999 Nudge WoMan toward lexical-binding
35001 * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
35002 Use cl-pushnew instead of add-to-list.
35003 (woman-justify-list): Rename to woman-justify-styles.
35004 (woman-justify-styles): New array.
35005 (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
35006 (woman-cached-data): Use cl-pushnew instead of add-to-list.
35008 2016-08-09 Vincent Belaïche <vincentb1@users.sourceforge.net>
35010 Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
35012 Here follows the logs from the two commits which I apply to master.
35014 commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
35015 Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
35016 Date: Fri Jul 29 13:44:14 2016 +0200
35018 Fix ses-delete-blanks to delete only blanks + documentation.
35020 * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
35021 'ses-range' modifier as an alternative to 'ses+'.
35022 (Advanced Features): Add a refernce to node 'Nonrelocatable
35023 references' concerning function 'ses-rename-cell'.
35024 (Standard formula functions): Mention the '!' 'ses-range'
35025 modifier as an alternative to 'ses-delete-blanks'.
35026 (More on cell printing): Fix fallback printer
35027 definition. Minor editorial formatting changes.
35028 (Nonrelocatable references): Document the use of
35029 'ses-rename-cell' as a better way to make cell reference
35031 (The data area): Document the presence of local printer
35032 definitions in the data area.
35034 * lisp/ses.el (ses-delete-blanks): Do not remove
35035 *error*. Any error in an argument should propagate into the
35036 using formula rather than being silently hidden !
35038 commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
35039 Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
35040 Date: Thu Jul 28 19:49:37 2016 +0200
35042 Fix local printer set to left aligned string formatter.
35044 * lisp/ses.el (ses-local-printer-compile): Add missing case
35045 for left-aligned string formatter.
35047 2016-08-09 Paul Eggert <eggert@cs.ucla.edu>
35049 * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
35051 2016-08-09 Stefan Monnier <monnier@iro.umontreal.ca>
35053 * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
35055 Change the code which detects and circumvents the case where one of the
35056 variables used in λ-lifting is shadowed, so that it also works when the
35057 shadowing comes before the λ-lifted function (bug#24171).
35059 (cconv--remap-llv): New function, extracted from cconv-convert.
35060 (cconv-convert): Use it, but differently for `let' and `let*'.
35062 2016-08-09 Alan Mackenzie <acm@muc.de>
35064 CC Mode: check for and fix missing call to before_change_functions.
35066 Fixes bug #24094 and bug #24074.
35068 This can happen with `revert-buffer' or sometimes `find-file', when the file
35069 is already in a buffer, but the file has been changed outside of Emacs.
35071 * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
35072 invocation of c-before-change-functions, we assume the changed region is the
35073 entire buffer, and call c-before-change explicitly before proceding.
35075 2016-08-09 Alan Mackenzie <acm@muc.de>
35077 Make c-deprepertize-CPP work on deletion/insertion of "s. Fixes bug #24132.
35079 * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
35081 2016-08-09 Michael Albinus <michael.albinus@gmx.de>
35083 Support $ENV in Tramp
35085 * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
35087 * etc/NEWS: Explain the "ENV" environment variable in
35088 `tramp-remote-process-environment'.
35090 * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
35091 (tramp-open-shell): Read $ENV value from
35092 `tramp-remote-process-environment'.
35093 (tramp-open-connection-setup-interactive-shell): Set values in
35096 2016-08-09 Paul Eggert <eggert@cs.ucla.edu>
35098 Simplify exec_byte_code via moving decls etc.
35100 * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
35101 initializers into decls, and by omitting some unnecessary
35102 changes to ‘top’. This improves performance a bit on x86-64,
35105 2016-08-09 Paul Eggert <eggert@cs.ucla.edu>
35107 Remove interpreter’s byte stack
35109 This improves performance overall on my benchmark on x86-64,
35110 since the interpreted program-counter resides in a machine
35111 register rather than in RAM.
35112 * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
35113 is no longer a byte stack to decode.
35114 * src/bytecode.c (struct byte_stack, byte_stack_list)
35115 (relocate_byte_stack): Remove. All uses removed.
35116 (FETCH): Simplify now that pc is now local (typically, in a
35117 register) and no longer needs to be relocated.
35118 (CHECK_RANGE): Remove. All uses now done inline, in a different way.
35119 (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
35120 (exec_byte_code): Allocate a copy of the function’s bytecode,
35121 so that there is no problem if GC moves it.
35122 * src/lisp.h (struct handler): Remove byte_stack member.
35124 (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
35126 (SAFE_ALLOCA_LISP): Use it.
35128 2016-08-09 Paul Eggert <eggert@cs.ucla.edu>
35130 Remove arbitrary limit on bytecode maxdepth
35132 * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
35133 on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
35135 pipeline is fuller.
35137 2016-08-09 Paul Eggert <eggert@cs.ucla.edu>
35139 Tune bytecode quitting
35141 * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too. Do the
35142 check only once every 256 times. This should be good enough, and
35143 improves performance significantly on x86-64 as branch-prediction
35144 typically assumes checking will not be done so the instruction
35145 pipeline stays fuller.
35146 (exec_byte_code): Set up the quit counter. Don’t call maybe_gc
35147 directly, as BYTE_CODE_QUIT does that now.
35149 2016-08-09 Paul Eggert <eggert@cs.ucla.edu>
35151 Simplify BYTE_CODE_SAFE checking
35153 * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
35154 can be used outside #if. All uses of ‘defined BYTE_CODE_SAFE’
35155 changed to ‘BYTE_CODE_SAFE’. Use BYTE_CODE_SAFE in plain
35156 expressions instead of #if expressions when this is easy.
35157 (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
35158 as it is no longer needed.
35159 (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
35160 Simplify stack-overflow checking when BYTE_CODE_SAFE.
35162 2016-08-09 Paul Eggert <eggert@cs.ucla.edu>
35164 Get BYTE_CODE_METER working again
35166 BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
35167 noticed. Perhaps we should remove it?
35168 * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
35169 Use *aref_addr instead of AREF, since it needs to be an lvalue.
35171 2016-08-08 Eli Zaretskii <eliz@gnu.org>
35173 Fix cursor position under scroll-conservatively and overlay strings
35175 * src/xdisp.c (try_scrolling): Handle the case where the last
35176 visible screen line of a window displays a before- or after-string
35177 that takes up the whole screen line, and therefore there's no
35178 place to display the cursor, even though the window does seem to
35179 include the position of point. (Bug#24179)
35181 2016-08-08 Michael Albinus <michael.albinus@gmx.de>
35183 * lisp/files.el (file-ownership-preserved-p): Fix docstring. (Bug#23998)
35185 2016-08-07 Paul Eggert <eggert@cs.ucla.edu>
35187 Tune interpretation of integer arglist descriptor
35189 * src/bytecode.c (exec_byte_code):
35190 Simplify and tune when INTEGERP (args_template).
35192 2016-08-07 Noam Postavsky <npostavs@gmail.com>
35194 Fix debugging of string-match-p errors
35196 * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
35197 that debugger code that needs to do regexp match won't break
35198 (Bug #23949, Bug #24166, Bug#16294).
35200 2016-08-07 Michael Albinus <michael.albinus@gmx.de>
35202 Add `make-nearby-temp-file' and `temporary-file-directory'
35204 * doc/lispref/files.texi (Unique File Names):
35205 Introduce `make-nearby-temp-file' and `temporary-file-directory'.
35206 (Magic File Names): Mention `make-nearby-temp-file' and
35207 `temporary-file-directory'.
35209 * etc/NEWS (provided): Mention `make-nearby-temp-file' and
35210 `temporary-file-directory'.
35212 * lisp/files.el (mounted-file-systems): New defcustom.
35213 (temporary-file-directory, make-nearby-temp-file): New defuns.
35214 (normal-backup-enable-predicate): Fix docstring.
35216 * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
35217 * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
35218 * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
35219 * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
35220 <make-nearby-temp-file, temporary-file-directory>: Add handler.
35222 * lisp/net/tramp.el (tramp-file-name-for-operation):
35223 Add `make-nearby-temp-file' and `temporary-file-directory'.
35224 (tramp-get-remote-tmpdir): Remove compatibility code.
35225 (tramp-handle-temporary-file-directory)
35226 (tramp-handle-make-nearby-temp-file): New defuns.
35228 * lisp/org/ob-core.el (org-babel-local-file-name):
35229 * lisp/progmodes/gud.el (gud-common-init):
35230 * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
35232 * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
35234 * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
35235 Check `tramp--test-enabled'.
35236 (tramp-test18-file-attributes): Add tests for
35237 `file-ownership-preserved-p'.
35238 (tramp-test27-start-file-process, tramp-test28-shell-command):
35239 Reduce timeouts in `accept-process-output'.
35240 (tramp-test--shell-command-to-string-asynchronously): Add timeout.
35241 (tramp-test29-environment-variables): Remove additional sleep calls.
35242 (tramp-test32-make-nearby-temp-file): New test.
35243 (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
35244 (tramp-test33-special-characters)
35245 (tramp-test33-special-characters-with-stat)
35246 (tramp-test33-special-characters-with-perl)
35247 (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
35248 (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
35249 (tramp-test34-utf8-with-ls)
35250 (tramp-test35-asynchronous-requests)
35251 (tramp-test36-recursive-load, tramp-test37-unload): Rename.
35252 (tramp--test-ftp-p): Simplify check.
35253 (tramp--test-sh-p): New defun.
35254 (tramp-test20-file-modes, tramp-test22-file-times)
35255 (tramp-test26-process-file, tramp-test27-start-file-process)
35256 (tramp-test28-shell-command)
35257 (tramp-test29-environment-variables)
35258 (tramp-test30-vc-registered)
35259 (tramp-test33-special-characters-with-stat)
35260 (tramp-test33-special-characters-with-perl)
35261 (tramp-test33-special-characters-with-ls)
35262 (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
35263 (tramp-test34-utf8-with-ls)
35264 (tramp-test35-asynchronous-requests): Use it.
35266 2016-08-06 Michael Albinus <michael.albinus@gmx.de>
35268 Add missing dcstrings in Tramp, remove chec for obsolee methods
35270 * lisp/net/tramp.el (tramp-progress-reporter-update)
35271 (tramp-unload-file-name-handlers, tramp-get-local-uid)
35272 (tramp-get-local-gid, tramp-get-local-locale):
35273 * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
35274 (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
35275 * lisp/net/tramp-compat.el (tramp-compat-funcall):
35276 * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
35277 * lisp/net/tramp-gw.el (tramp-gw-process-filter):
35278 * lisp/net/tramp-sh.el (tramp-get-remote-path)
35279 (tramp-get-remote-locale, tramp-get-ls-command)
35280 (tramp-get-ls-command-with-dired)
35281 (tramp-get-ls-command-with-quoting-style)
35282 (tramp-get-ls-command-with-w-option)
35283 (tramp-get-test-nt-command, tramp-get-file-exists-command)
35284 (tramp-get-remote-ln, tramp-get-remote-perl)
35285 (tramp-get-remote-stat, tramp-get-remote-readlink)
35286 (tramp-get-remote-trash, tramp-get-remote-touch)
35287 (tramp-get-remote-gvfs-monitor-dir)
35288 (tramp-get-remote-inotifywait, tramp-get-remote-id)
35289 (tramp-get-remote-uid-with-id)
35290 (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
35291 (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
35292 (tramp-get-remote-gid-with-id)
35293 (tramp-get-remote-gid-with-perl)
35294 (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
35295 (tramp-get-env-with-u-option): Add missing docstrings.
35297 * lisp/net/tramp.el (tramp-obsolete-methods)
35298 (tramp-warned-obsolete-methods): Remove.
35299 (tramp-find-method): Do not check for obsolete methods any longer.
35301 2016-08-06 Noam Postavsky <npostavs@gmail.com>
35303 Make sh-mode always use p-s-lookup-properties
35305 This lets functions which rely on syntax-propertize for parsing
35306 work correctly even before font lock has a chance to run.
35308 * lisp/progmodes/sh-script.el (sh-set-shell): Set
35309 parse-sexp-lookup-properties unconditionally (Bug #4920).
35311 2016-08-06 Noam Postavsky <npostavs@gmail.com>
35313 Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
35315 * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
35316 list when showing its (non-existent) arguments (Bug #18587).
35318 2016-08-06 Noam Postavsky <npostavs@gmail.com>
35320 Don't delete selection after indent-rigidly
35322 * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
35323 function to `set-transient-map', this prevents `delete-selection-mode'
35324 from deleting the text that was just indented (Bug #20408).
35326 2016-08-06 Noam Postavsky <npostavs@gmail.com>
35328 Fix byte-compile of interactive closures
35330 * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
35331 bindings after docstring and `interactive' form, if any (Bug #24122).
35333 2016-08-06 Noam Postavsky <npostavs@gmail.com>
35335 Error if --eval arg has text beyond 1 expression
35337 * lisp/startup.el (command-line-1): If --eval argument has more data
35338 than constitutes a single Lisp expression, signal an error (Bug #23159).
35340 2016-08-06 Noam Postavsky <npostavs@gmail.com>
35342 Fix quoted lambda warning from lexical-let
35344 * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
35345 with `function', not `quote' (Bug #11357).
35347 2016-08-06 Noam Postavsky <npostavs@gmail.com>
35349 Make emerge always use shell-quote-argument
35351 * lisp/vc/emerge.el (emerge-metachars): Obsolete.
35352 (emerge-protect-metachars): Delete.
35353 (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
35354 `emerge-protect-metachars' with `shell-quote-argument' so that shell
35355 quoting is done the same on all system types (Bug #6136). Also shell
35356 quote `emerge-diff-program' and `emerge-diff3-program'.
35358 2016-08-06 Eli Zaretskii <eliz@gnu.org>
35360 Fix 'dired-diff' when backup file is in another directory
35362 * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
35363 the default for FILE is computed, especially when backup files
35364 are involved. Support backup files in another directory.
35365 Don't suggest the default FILE if it doesn't exist. (Bug#24089)
35367 2016-08-06 Eli Zaretskii <eliz@gnu.org>
35369 Fix the 'T' command in Dired with non_ASCII file names
35371 * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
35372 to correctly encode file names passed to the invoked PROGRAM.
35375 2016-08-05 Noam Postavsky <npostavs@gmail.com>
35377 * lisp/files.el (version-control): Drop :group vc (Bug #14687)
35379 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35381 Merge from origin/emacs-25
35383 d841a03 ; Spelling fix
35384 a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
35385 d35d398 Update to the AUTHORS file for Bob Weiner
35386 4d2f4df Revert "Fix local printer set to left aligned string formatter."
35387 cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
35388 f7ceb8e Revert "Fix English."
35389 baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
35390 aa4271a Fix doc string of 'minibuffer-message-timeout'
35391 b275cc7 Fix English.
35392 3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
35393 272391f profiler: document prefix arg for tree expansion
35394 442cc39 Clarify usage of eshell-visual-options
35395 b443c3c Fix comment in files-in-below-directory
35396 8a38e94 Fix local printer set to left aligned string formatter.
35397 0f0b191 ; Fix typos in NEWS
35398 6bdf687 ; * etc/NEWS: Remove temporary marks
35400 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35402 Merge from origin/emacs-25
35404 d08afa1 * etc/AUTHORS: Update the AUTHORS file
35405 2668500 ;; * ChangeLog.2: ChangeLog update.
35406 7acfaea ; ChangeLog fixes
35407 97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
35408 9ab52f6 * admin/authors.el: Additions.
35409 0e646c7 Warn about Cairo-related problems
35410 bc4c07f Don't let completion break `declare' handling
35411 66f95e0 Adjust match data before calling after-change-funs
35412 52cf0d5 Do not show string-rectangle preview if minibuffer is empty
35413 6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
35419 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35421 Merge from origin/emacs-25
35424 9356fe2 Expand FIXME near definition of fboundp
35425 219b39f kill-rectangle should mention killed-rectangle
35426 59fa4c3 Avoid assertion violations in nhexl-mode
35428 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35430 Merge from origin/emacs-25
35432 9ba51ed Document buffer-swap-text+save-excursion interaction
35433 452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
35434 248d5dd Include cl-generic in package--builtin-versions (bug#22817)
35435 8f5a8b6 Improve timing in `tramp-test29-environment-variables'
35436 05ba7a0 Add test for handling environment variables in Tramp
35437 e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
35438 5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo. (Bug#23913)
35439 90f2169 ; Spelling fixes
35440 069fc05 Improve documentation of search functions
35441 0a0144a Delete environment variables in Tramp when needed
35442 f624671 Add "New in Emacs 25" section to the FAQ
35443 658daf9 Fix 'vertical-motion' in non-interactive sessions
35444 686b520 Fix memory leak in imagemagick-types
35445 4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
35446 1b2d6a6 Clarify docstring of find-feature-regexp
35447 aac62a6 Add details to cl-lib defining macros' docstrings
35448 d6aa4da Clarify doc string of 'save-buffer'
35449 03bcf11 Un-confuse doc string of 'string-collate-equalp'
35450 c53135b Clarify documentation of 'mouse-on-link-p'
35453 # lisp/emacs-lisp/eieio-core.el
35455 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35457 Merge from origin/emacs-25
35459 6f285d9 Amend last addition to etc/PROBLEMS
35460 7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
35462 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35464 Merge from origin/emacs-25
35466 d4c6774 Fix missing point information in undo
35467 3a9d629 Avoid crashes when buffer modification hooks clobber match data
35468 178b2f5 Note combine-and-quote-strings doesn't shell quote
35469 dec7567 Explain when package-initialize isn't called
35470 113d1e2 Fix escaping in sh-indent-after-continuation docstr
35471 80e2044 ; * etc/NEWS: Improve previous change.
35472 5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
35473 38f4b8e Clarify the documentation of back-references in replacements
35475 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35477 Merge from origin/emacs-25
35479 850ba44 Clarify lexical binding with symbol args behavior
35480 f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
35481 68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix. (Bug#23...
35482 21110af Avoid assertion violations when rendering some fonts
35483 6192b6c Document more details of package activation
35484 272ddc6 Fixup warning message regarding HOME a bit more
35485 43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
35486 d41f7ff Fix input method "probhat" for Bengali
35487 c150a64 ; Fix typo in commit before last
35488 ebf0472 Add to elisp-completion-at-point's docstring
35489 fd9fad0 Give more helpful warning about setting HOME
35490 ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
35495 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35497 Merge from origin/emacs-25
35499 26d4da0 New input method "probhat" for Bengali
35500 4f445bf ; Spelling fix
35503 2016-08-05 Paul Eggert <eggert@cs.ucla.edu>
35505 Spelling and minor grammar fixes
35507 * test/file-organization.org: Rename from test/file-organisation.org.
35509 2016-08-04 Alan Mackenzie <acm@muc.de>
35511 Widen in certain low level CC Mode functions. This fixes bug #24148.
35513 * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
35514 (c-state-full-pp-to-literal): Widen around the functionality.
35515 (c-parse-ps-state-below): Correct the order of save-excursion and
35518 2016-08-04 Stefan Monnier <monnier@iro.umontreal.ca>
35522 * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
35523 overriding-terminal-local-map. (Bug#24149)
35525 2016-08-03 Paul Eggert <eggert@cs.ucla.edu>
35530 2016-07-03 mktime: call tzset as per POSIX
35531 * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
35534 2016-08-03 Paul Eggert <eggert@cs.ucla.edu>
35536 Fix GnuTLS includes
35538 * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
35539 a second time; although it doesn’t hurt, it’s not needed.
35540 * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
35541 as it may not be available. Problem reported by Glenn Morris in:
35542 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00100.html
35544 2016-08-03 Michal Nazarewicz <mina86@mina86.com>
35546 Fix accessing regex-resources in out-of-tree test runs in regex-tests
35548 [82a487d: Fix reading of regex-resources in regex-tests] attempted to
35549 fix regex-tests failing when run from the source tree (i.e. via make)
35550 by hard-coding path to regex-resources directory relative to the test
35553 This fixed runs from the tree but broke the test when run using other
35556 Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
35558 * test/src/regex-tests.el (regex-tests--resources-dir): New variable
35559 storing path to the regex-resources directory.
35560 (regex-tests-generic-line): Use aforementioned variable.
35562 2016-08-03 Paul Eggert <eggert@cs.ucla.edu>
35564 Simplify by assuming GnuTLS 2.12.2 or later
35566 * src/gnutls.c (gnutls_certificate_details):
35567 * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
35569 2016-08-03 Paul Eggert <eggert@cs.ucla.edu>
35571 Port to systems lacking GNUTLS_NONBLOCK
35573 Problem reported by Colin Baxter in:
35574 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00096.html
35575 * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
35577 2016-08-03 Paul Eggert <eggert@cs.ucla.edu>
35579 Fix non-blocking GnuTLS with slow connection
35581 Although the problem is reported for OS X (Bug#23982), it seems to
35582 be possible on other POSIXish platforms.
35583 * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
35585 (emacs_gnutls_handshake) [!WINDOWSNT]:
35586 Use it as the errno function, if non-blocking.
35587 (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
35589 2016-08-03 Paul Eggert <eggert@cs.ucla.edu>
35591 Require GnuTLS 2.12.2 or later
35593 * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
35594 instead of merely 2.6.6 or later (Bug#23982#20).
35595 * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
35596 [WINDOWSNT]: Don’t bother with gnutls_check_version or
35597 gnutls_transport_set_lowat, as they are no longer needed now that
35598 we require gnutls 2.12.2 or later.
35600 2016-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
35602 * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
35604 * src/window.h (sanitize_window_sizes): Adjust prototype.
35605 * src/frame.c (adjust_frame_size): Adjust calls.
35607 2016-08-02 Paul Eggert <eggert@cs.ucla.edu>
35609 Fix (mapcar F S) crash when F alters S’s length
35611 * src/fns.c (mapcar1): Return number of elements computed,
35612 which can be less than LENI if the function alters the list.
35613 All callers changed. (Bug#24118)
35615 2016-08-02 Paul Eggert <eggert@cs.ucla.edu>
35617 Port window changes to --enable-gcc-warnings
35619 * src/window.c (sanitize_window_sizes): Return void.
35620 This pacifies GCC, and no caller uses the return value anyway.
35622 2016-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
35624 * src/window.c: Fix bootstrap failure due to window.el changes
35626 (sanitize_window_sizes): Adjust to new calling convention of
35627 window--sanitize-window-sizes and only call it if defined.
35628 (Fwindow__sanitize_window_sizes): Remove.
35629 (syms_of_window): Don't defsubr it.
35631 2016-08-02 Michael Albinus <michael.albinus@gmx.de>
35635 * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
35636 Call `process-actions' with adapted position. The connection
35637 buffer might have been cleaned up already. (Bug#23883)
35639 2016-08-02 Paul Eggert <eggert@cs.ucla.edu>
35641 Port regex changes to strict ISO C
35643 * src/regex.c (regex_compile): Redo casts.
35645 2016-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
35647 * lisp/window.el: Use lexical-binding
35649 (window--min-size-ignore-p): Remove unused arg `horizontal'.
35650 (window--sanitize-window-sizes): Remove unused arg `frame'.
35651 (window-edges): Remove unused vars left-off and right-off.
35652 (display-buffer-reuse-mode-window): Remove unused var `frame?'.
35653 Avoid extraneous setq and do a bit of CSE.
35654 (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
35655 and `toolbar-extra-height'.
35656 (window-adjust-process-window-size): Remove unused arg `process'.
35658 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35660 Fix unused lexical variable
35662 This fixes the following warning:
35665 src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
35667 * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
35670 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35672 Remove unused STREQ macro
35674 This fixes the following compilation warning:
35676 regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
35677 #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
35680 * src/regex.c (STREQ): Remove unused macro. It should have been removed
35681 in a [4538a5e: Refactor regex character class parsing in [:name:]]
35682 commit but was mistakenly left out.
35684 2016-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
35686 * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
35687 load-history format
35689 * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
35690 (cl-generic-define-method, cl--generic-describe): Use it.
35691 (cl--generic-search-method): Adjust for new format.
35693 * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
35694 * test/lisp/progmodes/elisp-mode-tests.el:
35695 Use cl--generic-load-hist-format rather than hard-coding cl-generic's
35698 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35700 Hardcode regex syntax to remove dead code handling different syntax
35702 Emacs only ever uses its own regex syntax so support for other syntaxes
35703 is never used. Hardcode the syntax so that the compilar can detect such
35704 dead code and remove it from compiled code.
35706 The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
35707 specified. Handle this separatelly with a function argument (replacing
35708 now unnecessary syntax argument).
35710 With this patchset, size of Emacs binary on x86_64 machine is reduced by
35713 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
35714 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
35716 * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
35717 (re_compile_pattern): Replace syntax with posix_backtracking argument.
35719 * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
35720 (regex_compile): #ifdef emacs, replace syntax argument with
35721 posix_backtracking which is now used instead of testing for
35722 RE_NO_POSIX_BACKTRACKING syntax.
35723 (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
35724 (re_compile_pattern): Replace syntax with posix_backtracking argument.
35726 * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
35727 instead of syntax to re_compile_pattern.
35729 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35731 Get rid of re_set_whitespace_regexp
35733 * src/regex.h (re_set_whitespace_regexp): Delete.
35734 (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
35736 * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
35737 (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
35738 whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
35739 unless building Emacs.
35740 (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
35742 * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
35743 pass the regex as argument to re_compile_pattern instead.
35745 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35747 Get rid of re_set_syntax
35749 Instead of using a global variable for storing regex syntax, pass it
35750 to re_compile_pattern. This is only enabled when compiling Emacs (i.e.
35753 * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
35754 (re_compile_pattern): Now takes syntax argument #ifdef emacs.
35756 * src/regex.c (re_syntax_options): Define only #ifndef emacs.
35757 (re_compile_pattern): Use the new syntax argument #ifdef emacs.
35759 * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
35760 instead pass syntax to re_compile_pattern directly.
35762 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35764 Remove dead opcodes in regex bytecode
35766 There is no way to specify before_dot and after_dot opcodes in a regex
35767 so code handling those ends up being dead. Remove it.
35769 * src/regex.c (print_partial_compiled_pattern, regex_compile,
35770 analyze_first, re_match_2_internal): Remove handling and references to
35771 before_dot and after_dot opcodes.
35773 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35775 Refactor regex character class parsing in [:name:]
35777 re_wctype function is used in three separate places and in all of
35778 those places almost exact code extracting the name from [:name:]
35779 surrounds it. Furthermore, re_wctype requires a NUL-terminated
35780 string, so the name of the character class is copied to a temporary
35783 The code duplication and unnecessary memory copying can be avoided by
35784 pushing the responsibility of parsing the whole [:name:] sequence to
35787 Furthermore, since now the function has access to the length of the
35788 character class name (since it’s doing the parsing), it can take
35789 advantage of that information in skipping some string comparisons and
35790 using a constant-length memcmp instead of strcmp which needs to take
35793 * src/regex.c (re_wctype): Delete function. Replace it with:
35794 (re_wctype_parse): New function which parses a whole [:name:] string
35795 and returns a RECC_* constant or -1 if the string is not of [:name:]
35797 (regex_compile): Use re_wctype_parse.
35798 * src/syntax.c (skip_chars): Use re_wctype_parse.
35800 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35802 Split regex glibc test cases into separet tests
35804 * test/src/regex-tests.el (regex-tests): Remove and split into multiple
35806 (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
35807 regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
35808 from ‘regex-tests’.
35810 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35812 Don’t (require 'cl)
35814 * test/src/regex-tests.el: Don’t (require 'cl).
35815 (regex-tests-PCRE): s/loop/cl-loop/
35817 2016-08-02 Michal Nazarewicz <mina86@mina86.com>
35819 Fix reading of regex-resources in regex-tests
35821 * test/src/regex-tests.el (regex-tests-generic-line): Referring to
35822 ‘buffer-file-name’ does not work when running the test from command
35823 line, i.e. via make, which results in (wrong-type-argument stringp nil)
35824 failures. Replace it with hard-coded path.
35825 (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
35826 regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now includes
35827 the ‘regex-resources’ path component so the tests don’t need to specify
35830 2016-08-02 Dima Kogan <dima@secretsauce.net>
35832 Added driver for the regex tests
35834 * test/src/regex-tests.el (regex-tests): Test executing glibc tests
35837 [mina86@mina86.com: merged test with existing file]
35839 2016-08-02 Dima Kogan <dima@secretsauce.net>
35841 New regex tests imported from glibc 2.21
35843 * test/src/regex-resources/BOOST.tests:
35844 * test/src/regex-resources/PCRE.tests:
35845 * test/src/regex-resources/PTESTS:
35846 * test/src/regex-resources/TESTS:
35847 New test data files
35849 [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
35851 2016-08-02 Paul Eggert <eggert@cs.ucla.edu>
35853 Fix use-after-close in connect_network_socket
35855 * src/process.c (connect_network_socket):
35856 Reverse sense of previous fix. Problem reported by Ken Brown in:
35857 https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00004.html
35859 2016-08-01 Glenn Morris <rgm@gnu.org>
35861 * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
35862 Respect autoload-timestamps for "actual autoloads are elsewhere" case.
35864 2016-07-31 Stefan Merten <stefan@merten-home.de>
35866 * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
35868 (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
35869 representing reStructuredText section header concepts.
35870 (rst-mode-map, rst-new-preferred-hdr)
35871 (rst-update-section, rst-classify-adornment)
35872 (rst-ttl-at-point, rst-all-ttls-cache)
35873 (rst-hdr-hierarchy-cache, rst-reset-section-caches)
35874 (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
35875 (rst-all-ttls-with-level, rst-get-previous-hdr)
35876 (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
35877 (rst-adjust-section, rst-promote-region)
35878 (rst-display-hdr-hierarchy, rst-straighten-sections)
35879 (rst-all-stn, rst-remaining-stn, rst-toc-insert)
35880 (rst-toc-insert-node, rst-toc-node, rst-toc)
35881 (rst-forward-section, rst-adornment-level)
35882 (rst-font-lock-handle-adornment-pre-match-form)
35883 (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
35885 (rst-compare-adornments, rst-get-adornment-match): Remove
35886 functions now in classes.
35887 (rst-re-alist-def, rst-toc-mode)
35888 (rst-font-lock-extend-region-extend): Minor improvements.
35889 (rst-mode, rst-compile): Use `setq-local'.
35890 (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
35891 (rst-official-version, rst-official-cvs-rev)
35892 (rst-package-emacs-version-alist): Maintain version tags.
35894 2016-07-30 Martin Rudalics <rudalics@gmx.at>
35896 Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
35898 * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
35899 bar width (Bug#24107). Reindent.
35900 * src/xfns.c (frame_geometry): Fix calculation of tool bar
35901 width on non-GTK builds.
35903 2016-07-30 Eli Zaretskii <eliz@gnu.org>
35905 Fix region display while dragging mouse
35907 * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
35908 buffer of the drag event, to allow mark to be set and the region
35909 be shown as we drag the mouse. (Bug#24030)
35911 2016-07-30 Tino Calancha <tino.calancha@gmail.com>
35913 Copy just non-empty strings to kill-ring
35915 * lisp/dired.el (dired-copy-filename-as-kill):
35916 Do not change the kill ring when the string is empty (Bug#24103).
35918 2016-07-30 Eli Zaretskii <eliz@gnu.org>
35920 Avoid warnings about undo list while decoding
35922 * src/coding.c (coding_restore_undo_list): New function.
35923 (decode_coding_gap, decode_coding_object): Temporarily set the
35924 buffer's undo list to t, to avoid warnings when decoding changes
35925 the buffer many times, e.g. due to post-read-conversion. Use
35926 coding_restore_undo_list to make sure the undo list is restored.
35929 2016-07-28 Noam Postavsky <npostavs@gmail.com>
35931 profiler: Add mouse-1 binding for tree expansion
35933 (profiler-report-mode-map): Add mouse-1 binding for
35934 profiler-report-toggle-entry (Bug #13455).
35936 2016-07-28 Vincent Belaïche <vincentb1@users.sourceforge.net>
35938 Enable addition of local printers from a mode hook.
35940 * doc/misc/ses.texi (Printer functions): Split the node into 5
35941 sub-nodes + add some extra documentation.
35942 (Various kinds of printer functions): Make an itemisation to
35943 disintguish better the 3 types of printers, give an example of
35944 lambda printer definition.
35945 (Standard printer functions): Add documentation for ses-prin1
35947 (Local printer functions): Add documentation for creating
35948 local printers programmatically from a hook.
35949 (Writing a lambda printer function): Add documentation about
35950 anti-stackoverflow precautions to take when you call the
35951 standard printer functions from inside a local printer.
35953 * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
35954 among standard printer function, and update docstring
35956 (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
35957 of prin1-to-string.
35958 (ses-define-local-printer): Add definition to arguments so
35959 that a local printer can be defined programmatically from a
35960 mode hook. Make docstring more substantial. Use completing
35961 read for local printer name input. Plus some minor
35963 (ses-define-if-new-local-printer): New defsubst.
35964 (ses-center, ses-center-span, ses-dashfill)
35965 (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
35966 as an optional argument to superseed column printer/default
35967 spreadsheet printer.
35968 (ses-prin1): New defun.
35970 2016-07-27 Ted Zlatanov <tzz@lifelogs.com>
35972 Prompt to save gnus-cloud-method.
35974 Since `gnus-cloud-method' is a defcustom, when it's set, we should
35975 prompt the user to save it, so the customization is not lost on
35978 * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
35979 Prompt to save the customization of `gnus-cloud-method'.
35981 2016-07-27 Ken Brown <kbrown@cornell.edu>
35983 Fix dired-test-bug22694
35985 * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
35986 "bug22694" directory, if it exists, before running the test. It
35987 might be left over from a previous aborted run of the test.
35989 2016-07-27 Michal Nazarewicz <mina86@mina86.com>
35991 Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
35993 * src/regex.c (mutually_exclusive_p): Fix how whether character is
35994 unibyte is tested when calling execute_charset function. This bug has
35995 been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
35996 match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
35999 2016-07-27 Tino Calancha <tino.calancha@gmail.com>
36001 Remove hook when disabling ibuffer-auto-mode
36003 * lisp/ibuf-ext.el (ibuffer-auto-mode):
36004 Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
36006 2016-07-26 Stefan Monnier <monnier@iro.umontreal.ca>
36008 * lisp/subr.el (cancel-change-group): Reset cell in case of error
36010 Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
36011 to make sure we properly undo the temporary change even in case of error.
36013 2016-07-26 Eli Zaretskii <eliz@gnu.org>
36015 Avoid segfaults in compute_motion
36017 * src/indent.c (compute_motion): Don't turn on and don't use the
36018 width cache unless the buffer's width-table is non-nil. This
36019 avoids segfaults because code that uses the width cache assumes
36020 the width-table exists. (Bug#24064)
36022 2016-07-26 Nicolas Petton <nicolas@petton.fr>
36024 Do not sharp-quote lambdas
36026 * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
36028 2016-07-25 Ted Zlatanov <tzz@lifelogs.com>
36030 * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
36031 'base64-gzip encoding.
36033 2016-07-25 Andrew Hyatt <ahyatt@gmail.com>
36035 Add warning to format-alist docs.
36037 */doc/lispref/files.texi (format-alist) Change documentation for
36038 format-alist to warn against file modifications when formatting, which
36039 leads to incorrect results. (Bug#5440)
36041 Changes suggested by Eli.
36043 2016-07-25 Katsumi Yamaoka <yamaoka@jpl.org>
36045 * lisp/gnus/mm-decode.el (mm-convert-shr-links):
36046 Preserve key bindings that shr adds (bug#23964).
36048 2016-07-25 Michal Nazarewicz <mina86@mina86.com>
36050 Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
36052 The regex engine tries to optimise Kleene star by avoiding backtracking
36053 when it can detect that star’s operand cannot match what follows it in
36056 For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
36057 will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
36058 the entire string. Literal digit one still present in the pattern will
36059 however not match the remaining empty string.
36061 Normally, backtracking would be performed trying a shorter match for the
36062 character class (namely ‘fo’ leaving ‘o’ in the string), but since the
36063 engine knows whatever would be put back into the string cannot possibly
36064 match literal digit one so no backtracking will be attempted.
36066 In the regexes of the form ‘[[:CC:]]*X’, the optimisation can be applied
36067 if the character class CC does not match character X. In the above
36068 example, this holds because digit one is not in alpha character class.
36070 This test is performed by mutually_exclusive_p function but it did not
36071 check class bits of a charset opcode. This resulted in an assumption
36072 that character classes do not match multibyte characters. For example,
36073 it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
36075 This, in turn, led to the aforementioned Kleene star optimisation being
36076 incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
36077 match ‘☠’ but doesn’t as can be tested by executing
36078 (string-match-p "[[:graph:]]*☠" "☠")
36079 which should return 0 but instead yields nil.
36081 This issue affects any class witch matches multibyte characters, i.e.
36082 if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
36085 * src/regex.c (executing_charset): A new function for executing the
36086 charset and charset_not opcodes. It performs check on the character
36087 taking into consideration existing bitmap, range table and class bits.
36088 It also advances the pointer in the regex bytecode past the parsed
36090 (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
36091 Code now included in executing_charset.
36092 (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
36093 of executing_charset function.
36095 * test/src/regex-tests.el: New file with tests for the character class
36098 2016-07-25 Nicolas Petton <nicolas@petton.fr>
36100 Fix auto-reverting image-mode buffer (bug#21598)
36102 When auto-reverting an image buffer, `image-mode' is not called since
36103 `revert-buffer' is called with `preserve-modes' set to non-nil.
36105 * lisp/image-mode.el (image-after-revert-hook): Check if there is an
36106 image display property for the current buffer before updating it.
36108 2016-07-24 Paul Eggert <eggert@cs.ucla.edu>
36110 ‘signal’ no longer returns
36112 Although for decades ‘signal’ has been documented to not return,
36113 a corner case in the Lisp debugger causes ‘signal’ to return.
36114 Remove the corner case and adjust Emacs internals accordingly.
36115 An alternative would be to document the corner case, but this
36116 would complicate the Lisp API unnecessarily. (Bug#24047)
36117 * src/eval.c (signal_or_quit): New function, with most of the
36118 old contents of Fsignal.
36119 (quit): New function, which uses signal_or_quit and which
36120 might return. All keyboard-based callers of Fsignal (Qquit,
36121 Qnil) changed to use this new function instead.
36122 (Fsignal): Use signal_or_quit. Now _Noreturn. All callers
36124 (xsignal): Move to lisp.h.
36125 * src/lisp.h (xsignal): Now an inline function, as it's now
36126 just an alias for Fsignal.
36128 2016-07-24 Paul Eggert <eggert@cs.ucla.edu>
36130 Require libgnutls unless --with-gnutls=no
36132 * configure.ac: Report an error if the gnutls library is missing,
36133 unless --with-gnutls=no is specified.
36135 2016-07-23 Alan Mackenzie <acm@muc.de>
36137 Fontify C++ parameter packs.
36139 This fixes debbugs #23610.
36141 * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
36142 c-lang-defconsts/defvars.
36143 (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
36145 * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
36147 2016-07-23 Alan Mackenzie <acm@muc.de>
36149 Java Mode: Handle strings as case labels correctly.
36151 This fixes debbugs #23901.
36153 * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
36156 2016-07-22 Kaushal Modi <kaushal.modi@gmail.com>
36158 Avoid repeated warnings while restoring desktop
36160 * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
36161 when files are being opened during desktop restore.
36163 2016-07-22 Eli Zaretskii <eliz@gnu.org>
36165 Fix compilation warning in the MinGW build
36167 * nt/inc/ms-w32.h: Include stdint.h.
36168 (_execvp, execve): Provide prototypes.
36170 * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
36171 it is now in nt/inc/ms-w32.h.
36172 * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
36174 (sys_ctime): Remove, not used.
36176 2016-07-22 Lars Ingebrigtsen <larsi@gnus.org>
36178 Move read-multiple-choice to subr-x.el
36180 * lisp/faces.el (read-multiple-choice-face): Fix doc string.
36182 * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
36185 * lisp/gnus/message.el (subr-x): Ditto.
36187 * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
36189 read-multiple-choice doesn't need to be in the dumped Emacs, so move
36190 it to a less central file.
36192 2016-07-22 Tino Calancha <tino.calancha@gmail.com>
36194 Update define-ibuffer-op doc string
36196 * lisp/ibuf-macs.el (define-ibuffer-op):
36197 Mention that BODY is evaluated with 'buf' bound to the actual
36198 marked buffer being processed.
36200 2016-07-22 Tino Calancha <tino.calancha@gmail.com>
36202 Update define-ibuffer-op doc string
36204 * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
36205 instead of refer the reader to the source code.
36208 2016-07-21 Tino Calancha <tino.calancha@gmail.com>
36210 Fix shell-command[-on-region] doc strings
36212 * lisp/simple.el (shell-command, shell-command-on-region):
36213 Drop the sentence saying that the command may delete the buffer
36214 '*Shell Command Output*': the command never delete such
36215 buffer (Bug#23936).
36217 2016-07-21 Mark Oteiza <mvoteiza@udel.edu>
36219 ;Revert ";Partially revert 2649105a"
36221 This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
36223 2016-07-21 Mark Oteiza <mvoteiza@udel.edu>
36225 ;Partially revert 2649105a
36227 * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
36228 setq-local to modify prettify-symbols-compose-predicate.
36230 2016-07-21 Stefan Monnier <monnier@iro.umontreal.ca>
36232 * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
36234 (struct byte_stack): Re-add `bottom'.
36235 (exec_byte_code): Initialize it.
36237 2016-07-21 Tino Calancha <tino.calancha@gmail.com>
36239 Ibuffer: Use default output buffer for shell commands
36241 * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
36242 '*Shell Command Output*', as command 'shell-command-file'.
36244 2016-07-21 Tino Calancha <tino.calancha@gmail.com>
36248 * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
36249 Enable Font Lock mode in order to initialize
36250 'char-property-alias-alist' (Bug#23954).
36252 2016-07-21 Paul Eggert <eggert@cs.ucla.edu>
36254 Fix use-after-close in connect_network_socket
36256 * src/process.c (connect_network_socket): Don’t use
36257 external_sock_fd after closing it. Problem found by Coverity Scan.
36259 2016-07-21 Katsumi Yamaoka <yamaoka@jpl.org>
36261 * lisp/net/shr.el (shr-fill-line):
36262 Preserve text properties in folded lines (bug#24034).
36264 2016-07-20 Paul Eggert <eggert@cs.ucla.edu>
36266 Fix lifetime bug in tzlookup
36268 * src/editfns.c (tzlookup): Fix storage lifetime bug when
36269 INTEGERP (zone) && settz. Problem found by Coverity Scan.
36271 2016-07-20 Lars Ingebrigtsen <larsi@gnus.org>
36273 Fix shr.el/image build problem
36277 * lisp/net/shr.el: Require image, since some builds seem to
36278 break without it (bug#24035).
36280 2016-07-20 Ted Zlatanov <tzz@lifelogs.com>
36282 Bring the Gnus Cloud package into working order.
36284 * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
36286 * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
36287 simplify non-file data.
36288 (gnus-cloud-storage-method): New defcustom to support nil, Base64,
36289 Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
36290 EPG if that's available, Base64+gzip otherwise.
36291 (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
36292 interactive, defaults to enabled.
36293 (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
36294 (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
36296 (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
36297 (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
36298 storage methods as per gnus-cloud-storage-method.
36299 (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
36300 (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
36302 (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
36303 file and data handlers.
36304 (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
36306 (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
36308 (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
36309 (gnus-cloud-file-covered-p, gnus-cloud-all-files)
36310 (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
36311 (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
36312 (gnus-cloud-prune-old-chunks): Fix indentation.
36313 (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
36315 (gnus-cloud-file-new-p): Use it.
36316 (gnus-cloud-upload-all-data): Add interactive convenience function to
36318 (gnus-cloud-upload-data): Make interactive; collect files and newsrc
36319 data separately; refresh Gnus Cloud group after insert.
36320 (gnus-cloud-download-all-data): Add interactive convenience function to
36322 (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
36323 marker and different storage methods.
36324 (gnus-cloud-host-server-p): New function to check if a server is the
36326 (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
36327 (gnus-cloud-host-acceptable-method-p): New function so
36328 other code can check if a server method can host the Gnus cloud.
36329 (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
36330 (gnus-cloud-method): Make this a defcustom and note how to set it.
36332 * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
36333 keybindings under the `~' prefix.
36335 * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
36336 (gnus-server-cloud, gnus-server-cloud-host)
36337 (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
36338 (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
36339 synchronized servers and synchronization host server toggling (`i' and
36340 `I') and visual display.
36341 (gnus-server-toggle-cloud-method-server): Use
36342 gnus-cloud-host-acceptable-method-p.
36343 (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
36344 set the gnus-cloud-method. Ask the user if it's OK to upload the data
36347 * doc/misc/gnus.texi: Document Gnus Cloud package.
36349 2016-07-20 Paul Eggert <eggert@cs.ucla.edu>
36351 Remove CHECK_FRAME_FONT cruft from bytecode.c
36353 * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
36354 Remove some old ‘#if 0’ code.
36356 2016-07-20 Paul Eggert <eggert@cs.ucla.edu>
36358 Work around GCC bug 54561 in a better way
36360 The new approach is less selective, but also less intrusive on C code.
36361 * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
36362 * src/conf_post.h (NONVOLATILE): Remove. All uses removed.
36364 2016-07-20 Paul Eggert <eggert@cs.ucla.edu>
36366 Fix port to glibc 2.24 (pre-release) + ppc64
36368 * src/callproc.c (child_setup): Use emacs_exec_file
36369 so that ASLR is enabled in the child process.
36370 * src/emacs.c: Move some personality details into sys/sysdep.c.
36371 Do not include <sys/personality.h>.
36372 (main): Disable ASLR earlier, so that we don’t chdir twice.
36373 * src/lisp.h (disable_address_randomization): New decl.
36374 * src/sysdep.c (disable_address_randomization)
36375 [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
36377 (emacs_exec_file): New function.
36379 2016-07-19 Alan Third <alan@idiocy.org>
36381 Prevent bar cursor overwriting next glyph (bug#16856)
36383 * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
36384 before setting final size.
36386 2016-07-19 Eli Zaretskii <eliz@gnu.org>
36388 Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
36390 * src/insdel.c (adjust_markers_bytepos): New function.
36391 * src/lisp.h (adjust_markers_bytepos): Add prototype.
36392 * src/insdel.c (replace_range, replace_range_2):
36393 * src/editfns.c (Ftranspose_regions): Call
36394 adjust_markers_bytepos. (Bug#5131)
36396 * test/src/editfns-tests.el (transpose-test-reverse-word)
36397 (transpose-test-get-byte-positions): New functions.
36398 (transpose-ascii-regions-test)
36399 (transpose-nonascii-regions-test-1)
36400 (transpose-nonascii-regions-test-2): New tests.
36402 2016-07-19 Katsumi Yamaoka <yamaoka@jpl.org>
36404 Make gif animation work (bug#24004)
36406 * lisp/image.el (image-animate-timeout): Fix the logic that tests if
36407 an animation is too big (bug#24004).
36409 2016-07-18 Stefan Monnier <monnier@iro.umontreal.ca>
36411 * lisp/simple.el (undo-amalgamate-change-group): New function
36413 * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
36414 (viper-set-complex-command-for-undo): Save current state with
36415 prepare-change-group.
36416 * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
36417 (viper-buffer-undo-list-mark): Remove.
36419 2016-07-18 Noam Postavsky <npostavs@gmail.com>
36421 Keep w32 environment settings internal only
36423 * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
36424 set_initial_environment call. This prevents Emacs' modifications to the
36425 environment from contaminating Vprocess_environment and
36426 Vinitial_environment (Bug #10980).
36427 * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
36428 environment in as a fallback to Vprocess_environment.
36429 * test/src/callproc-tests.el (initial-environment-preserved): New Test.
36431 2016-07-18 Nicolas Petton <nicolas@petton.fr>
36433 Better documentation for cl-reduce (bug#24014)
36435 * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
36437 2016-07-17 Alan Third <alan@idiocy.org>
36439 Remove separate pool for popup dialogs (bug#23856)
36441 * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
36442 autorelease pool and Popdown_data struct.
36444 2016-07-17 Mark Oteiza <mvoteiza@udel.edu>
36446 Use eldoc-documentation-functions
36448 * lisp/hexl.el (hexl-mode):
36449 * lisp/ielm.el (inferior-emacs-lisp-mode):
36450 * lisp/progmodes/cfengine.el (cfengine3-mode):
36451 * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
36452 * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
36453 * lisp/progmodes/python.el (python-mode):
36454 * lisp/simple.el (read--expression): Add buffer-locally to hook
36455 eldoc-documentation-functions.
36457 2016-07-16 Noam Postavsky <npostavs@gmail.com>
36459 Optimize ucs-normalize.el compilation
36461 * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
36462 (quick-check-list-to-regexp): Use regexp-opt-charset instead of
36464 * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
36465 temp buffer for the whole loop.
36467 2016-07-16 Noam Postavsky <npostavs@gmail.com>
36469 Add tests for ucs-normalize.el
36471 Some tests are marked as expected to fail.
36473 * test/lisp/international/ucs-normalize-tests.el: New tests.
36474 * admin/unidata/NormalizationTest.txt: Add data for tests.
36475 * admin/unidata/README: Add URL for NormalizationTest.txt.
36476 * admin/notes/unicode: Add note about running (and updating the data
36477 for) the new tests. Remove note about normalization being unsupported.
36479 2016-07-16 Alan Third <alan@idiocy.org>
36481 Fix cursor display (bug#23993)
36483 * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
36485 2016-07-15 Paul Eggert <eggert@cs.ucla.edu>
36487 Stop worrying about Alliant in bytecode.c
36489 * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
36491 2016-07-15 Paul Eggert <eggert@cs.ucla.edu>
36493 Remove BYTE_MAINTAIN_TOP
36495 It is no longer needed now that we assume GC_MARK_STACK ==
36496 GC_MAKE_GCPROS_NOOPS.
36497 * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
36498 All uses removed, and code simplified accordingly.
36499 (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
36500 are always no-ops now. All uses removed.
36501 (MAYBE_GC): Remove. All uses replaced by maybe_gc,
36502 since it is now equivalent.
36504 2016-07-15 Paul Eggert <eggert@cs.ucla.edu>
36506 Remove now-inaccurate bytecode comments
36508 * src/bytecode.c: Remove comments that are no longer accurate.
36509 Most of these are actually old ChangeLog entries.
36511 2016-07-15 Paul Eggert <eggert@cs.ucla.edu>
36513 Port to glibc 2.24 (pre-release) + ppc64
36515 Inspired by a suggestion by Florian Weimer in:
36516 https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
36517 * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
36518 Rename from HAVE_PERSONALITY_LINUX32, and check for
36519 ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
36521 * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
36522 Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
36523 flag ourselves. Just set that flag, rather than also setting the
36524 persona. When doing it, avoid functions like putenv that may
36527 2016-07-14 Mark Oteiza <mvoteiza@udel.edu>
36529 Revert "Add a couple cells to lisp-prettify-symbols-alist"
36531 This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
36533 2016-07-14 Stefan Monnier <monnier@iro.umontreal.ca>
36535 * lisp/simple.el (shell-command): Add save-match-data comment
36537 2016-07-14 Alan Mackenzie <acm@muc.de>
36539 CC Mode: correct incorrect invocation of parse-partial-sexp.
36543 * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
36544 an invocation of parse-partial-sexp 'syntax-table, not the fourth.
36546 2016-07-14 Andreas Schwab <schwab@suse.de>
36548 Fix configure summary for hybrid malloc configurations
36550 * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
36551 parenthesize value of GNU_MALLOC_reason.
36553 2016-07-14 Stephen Berman <stephen.berman@gmx.net>
36555 Fix delete-duplicate-lines
36557 * lisp/sort.el (delete-duplicate-lines): Delete duplicate
36558 first line when operating backward (bug#23863).
36560 2016-07-14 Andreas Schwab <schwab@suse.de>
36562 Remove unused SHEAP_OBJ
36564 * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
36566 2016-07-13 Katsumi Yamaoka <yamaoka@jpl.org>
36568 * lisp/gnus/mm-decode.el (mm-convert-shr-links):
36569 Use shr-image-map instead of shr-map (bug#23964).
36571 2016-07-13 Stefan Monnier <monnier@iro.umontreal.ca>
36573 * lisp/mouse.el (mouse): Consolidate group definition here
36575 * lisp/cus-edit.el (mouse): Remove both group definitions.
36577 2016-07-13 Chris Feng <chris.w.feng@gmail.com>
36579 Include versioned preloaded libraries in `package--builtin-versions'
36581 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
36582 exclude preloaded libraries or remove entries generated for them.
36583 (autoload-generate-file-autoloads): Do not generate autoload
36584 statements for preloaded libraries.
36586 2016-07-13 Paul Eggert <eggert@cs.ucla.edu>
36588 Omit unnecessary #includes from xwidget.c
36590 * src/xwidget.c: Remove #include directives that are not needed.
36591 Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
36592 file is compiled only if the X interface is available.
36594 2016-07-13 Paul Eggert <eggert@cs.ucla.edu>
36596 Port xwidget.c to GCC 6 with --enable-gcc-warnings
36598 * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
36599 Adjust to pacify GCC. Add a couple of FIXME comments, suggesting
36600 possible bugs found by GCC.
36602 2016-07-12 Tino Calancha <tino.calancha@gmail.com>
36604 Escape meta chars in commands processed by shell
36606 * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
36607 in all commands to be passed to a shell (Bug#23959).
36609 2016-07-12 John Wiegley <johnw@newartisans.com>
36611 Revert "Cleanup tooltips"
36613 This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
36615 I am reverting this change because it was applied without prior discussion
36616 on emacs-devel, and has been found to break the NS port. It needs more
36617 testing and review before it should be applied here.
36619 2016-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
36621 * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
36623 (cl-prog, cl-prog*): New macros.
36625 2016-07-12 Stefan Monnier <monnier@iro.umontreal.ca>
36627 * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
36629 * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
36630 (cl--generic-make-defmethod-docstring): New function for that.
36631 (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
36632 (cl-generic-define-method, cl--generic-describe): Change `load-history'
36633 format of cl-defmethods, so as not to confused methods with equal
36634 specializers but different qualifiers.
36635 * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
36637 2016-07-12 Eli Zaretskii <eliz@gnu.org>
36639 Don't install keyboard hook when debugged on MS-Windows
36641 * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
36642 hook if we are being debugged. This avoids hosing the debugger,
36643 because the hook is global, and is called in the context of the
36644 thread which installed it, and that thread is stopped when GDB has
36645 control. Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
36647 2016-07-12 Alan Mackenzie <acm@muc.de>
36649 Amend CC Mode to handle big C++ raw strings correctly.
36651 Problems were caused by such a string spanning jit-lock chunks, and by a flaw
36652 in the +-500 bytes boundaries imposed for macros.
36654 * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
36655 macro boundaries here.
36656 (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
36657 lower boundary. Fix the check on the upper boundary.
36659 * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
36660 point already being within a raw string.
36662 * lisp/progmodes/cc-engine.el (c-raw-string-pos)
36663 (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
36664 Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
36665 with other Emacsen.
36667 2016-07-12 Stephen Berman <stephen.berman@gmx.net>
36669 * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
36671 2016-07-11 Dmitry Antipov <dmantipov@yandex.ru>
36675 * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
36676 * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
36677 (FRAME_TOOLTIP_P): New macro.
36678 * src/frame.c (make_frame): Mark new frame as regular frame by default.
36679 (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
36680 (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
36681 and 'Qtooltip_parameters' instead.
36682 * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
36683 * src/gtkutil.c (xg_hide_tip): New function.
36684 (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
36685 * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
36686 * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
36687 * src/w32fns.c (unwind_create_tip_frame): Remove.
36688 (w32_display_monitor_attributes_list)
36689 (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
36690 (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
36691 (x_create_tip_frame): Use do_unwind_create_frame. Mark new frame
36692 as a tooltip frame and record it using appropriate display info.
36693 (x_hide_tooltip): Add frame arg.
36694 (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
36695 base frame parameters, store tooltip hide timer among tooltip frame
36697 (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
36698 (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
36699 and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
36700 * src/w32term.c (w32_read_socket): Extract tooltip window id from
36701 per-display data. Use FRAME_TOOLTIP_P where appropriate.
36702 (x_new_font): Use FRAME_TOOLTIP_P.
36703 (x_free_frame_resources): Reset pointer to tooltip frame.
36704 * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
36705 * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
36706 Use FRAME_TOOLTIP_P.
36707 * src/xfns.c (x_make_monitor_attribute_list)
36708 (Fx_display_monitor_attributes_list): Likewise.
36709 (unwind_create_tip_frame): Remove.
36710 (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
36711 (x_create_tip_frame): Use do_unwind_create_frame. Mark new frame
36712 as a tooltip frame and record it using appropriate display info.
36713 (x_hide_tooltip): Add frame arg.
36714 (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
36715 base frame parameters, store tooltip hide timer among tooltip frame
36716 parameters. To hide GTK system tooltip, use timeout hooked into GTK
36718 (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
36719 (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
36720 and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
36721 * src/xterm.c (handle_one_xevent): Extract tooltip window id from
36722 per-display data. Use FRAME_TOOLTIP_P where appropriate.
36723 (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
36724 (x_free_frame_resources): Reset pointer to tooltip frame.
36725 * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
36726 (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
36728 2016-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
36730 * src/fns.c (syms_of_fns): Leave `features' lexically scoped
36732 2016-07-11 Mario Lang <mlang@delysid.org>
36736 * test/src/fns-tests.el (fns-tests-mapcan): New test.
36738 2016-07-11 Stefan Monnier <monnier@iro.umontreal.ca>
36740 Prevent to apply funcall on t
36742 * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
36743 'ediff-after-quit-hook-internal' hook (Bug#23933).
36745 2016-07-11 Tino Calancha <tino.calancha@gmail.com>
36747 Ignore angle mode while simplifying units
36749 * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
36750 Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
36751 is non-nil (Bug#23889).
36752 * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
36753 (math-from-radians-2, math-to-radians-2): Idem.
36755 2016-07-11 Eli Zaretskii <eliz@gnu.org>
36757 Fix display of composed characters
36759 * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
36760 iteration through composition glyphs. (Bug#23938)
36762 2016-07-11 Paul Eggert <eggert@cs.ucla.edu>
36764 Fix composition bug caused by off-by-1 typo
36766 * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
36767 computing composition glyph (Bug#23938).
36769 2016-07-10 Tino Calancha <tino.calancha@gmail.com>
36771 Dired always read file system
36773 * lisp/dired.el (dired-always-read-filesystem): Add new option.
36774 (dired-mark-files-containing-regexp): Use it (Bug#22694).
36775 * doc/emacs/dired.texi: Mention it in the manual.
36776 * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
36777 ;* etc/NEWS: Add entry for this change.
36779 2016-07-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
36781 * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
36783 2016-07-10 Tino Calancha <tino.calancha@gmail.com>
36785 Avoid 'unused var' 'not left unused var' warnings
36787 * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
36788 Rename used var '_buffer' to 'cbuffer'.
36790 * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
36793 2016-07-10 Tino Calancha <tino.calancha@gmail.com>
36795 * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
36797 2016-07-10 Michael Albinus <michael.albinus@gmx.de>
36799 Add a note how to use `tramp-own-remote-path'
36801 * doc/misc/tramp.texi (Inline methods, External methods)
36802 (Remote shell setup, Android shell setup)
36803 (Frequently Asked Questions, Frequently Asked Questions):
36804 Use @command and @samp consequently.
36805 (Remote programs): The remote shell must support the -l
36806 argument, in order to use `tramp-own-remote-path'. (Bug#23914)
36808 2016-07-10 Alan Third <alan@idiocy.org>
36810 Remove App Nap setting from Info.plist (bug#22993)
36812 * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
36813 it doesn't actually disable app nap.
36815 2016-07-09 Mario Lang <mlang@delysid.org>
36817 An efficient built-in mapcan
36819 A built-in version of `mapcan' avoids consing up (and GC'ing) the
36822 * src/fns.c (Fmapcan): New built-in.
36823 (syms_of_fns): Define.
36825 * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
36827 * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
36828 if only one sequence is provided.
36830 * lisp/progmodes/hideif.el (hif-delimit):
36831 * lisp/dired-aux.el (dired-do-find-regexp):
36832 * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
36835 * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
36838 * lisp/mouse.el (mouse-buffer-menu-map):
36839 * lisp/net/pop3.el (pop3-uidl-dele):
36840 * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
36841 * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
36842 * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
36843 * lisp/gnus/nnmail.el (nnmail-split-it):
36844 * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
36845 * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
36846 * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
36848 2016-07-09 Tino Calancha <tino.calancha@gmail.com>
36850 Detect aliases to built-in functions
36852 * lisp/help-fns.el (describe-function-1): Check for aliases
36853 defined with (defalias alias (symbol-function built-in)) (Bug#23887).
36855 * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
36858 2016-07-09 Michael Albinus <michael.albinus@gmx.de>
36860 Avoid recursive detection of remote uid and gid in tramp-gvfs.el
36862 * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
36864 (tramp-gvfs-maybe-open-connection): Use it.
36866 * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
36869 2016-07-09 Jürgen Hötzel <juergen@archlinux.org>
36871 Wrap around error in coreutil's ls
36873 * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
36874 "--quoting-style=literal" if remote host supports quoting style.
36875 Recent versions of coreutils changed default quoting style to
36876 "--quoting=shell-escape".
36878 2016-07-09 Eli Zaretskii <eliz@gnu.org>
36880 Minor tweaks of copying text properties when padding strings
36882 * src/editfns.c (styled_format): Don't include padding on the left
36883 in the properties at the beginning of the string. (Bug#23897)
36885 * test/src/editfns-tests.el (format-properties): Add tests for
36886 faces when the string is padded on the left or on the right.
36888 2016-07-08 Mario Lang <mlang@delysid.org>
36890 No need to require the same feature twice.
36892 * lisp/dired-aux.el (require 'cl-lib): Remove.
36894 2016-07-08 Mark Oteiza <mvoteiza@udel.edu>
36896 Turn on lexical binding
36898 * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
36899 (secrets-search-items, secrets-create-item): Use append.
36900 (secrets-show-secrets): Remove unused binding.
36901 (secrets-expand-item, secrets-tree-widget-after-toggle-function):
36902 Ignore unused arguments.
36904 2016-07-08 Mark Oteiza <mvoteiza@udel.edu>
36906 Derive secrets-mode from special-mode
36908 * lisp/net/secrets.el: Remove top-level secrets-mode hack.
36909 (secrets-mode-map): New variable. Add key bindings to n and p for
36911 (secrets-mode): Derive from special-mode. Remove keymap code and
36912 initialization code. Do not record undo information. Make
36913 secrets-show-collections the local revert-buffer-function.
36914 (secrets-show-collections): Change signature to satisfy revert-buffer.
36916 2016-07-08 Mark Oteiza <mvoteiza@udel.edu>
36918 Add a couple cells to lisp-prettify-symbols-alist
36920 * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
36923 2016-07-08 Michael Albinus <michael.albinus@gmx.de>
36925 Detect remote uid and gid in tramp-gvfs.el
36927 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
36928 (tramp-gvfs-handler-mounted-unmounted)
36929 (tramp-gvfs-connection-mounted-p):
36930 Make "default-location" a connection property.
36931 (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
36932 (tramp-gvfs-maybe-open-connection): Use them.
36934 2016-07-08 Eli Zaretskii <eliz@gnu.org>
36936 Yet another fix for copying properties by 'format'
36938 * src/textprop.c (extend_property_ranges): Accept an additional
36939 argument OLD_END, and only extend the end of a property range if
36940 its original end is at OLD_END; all the other ranges are left
36941 intact. (Bug#23897)
36942 * src/editfns.c (styled_format): Pass the original length of the
36943 string to 'extend_property_ranges'.
36944 * src/intervals.h (extend_property_ranges): Adjust prototype.
36946 * test/src/editfns-tests.el (format-properties): Add tests for
36949 2016-07-08 Stephen Berman <stephen.berman@gmx.net>
36951 Allow selecting region with mouse to move point to beginning
36953 * etc/NEWS: Mention new user option
36954 `mouse-select-region-move-to-beginning'.
36956 * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
36958 (Word and Line Mouse): Describe how double-clicking mouse-1 to
36959 activate region and `mouse-select-region-move-to-beginning'
36962 * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
36963 (mouse-set-point): Use it. (Bug#23478)
36965 2016-07-08 Stephen Berman <stephen.berman@gmx.net>
36967 Fix menu bar breakage
36969 * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
36970 to prevent void variable errors, and fix typo (bug#23918).
36972 2016-07-08 Tino Calancha <tino.calancha@gmail.com>
36974 Copy buffer names to kill ring
36976 * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
36977 * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
36978 ;* etc/NEWS: Add entry for this new feature.
36980 2016-07-07 Tino Calancha <tino.calancha@gmail.com>
36982 Remove just input mark
36984 * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
36987 2016-07-07 Tino Calancha <tino.calancha@gmail.com>
36989 Ibuffer change marks
36991 * lisp/ibuffer.el (ibuffer-change-marks): New command.
36992 (ibuffer-mode-map): Bind it to '* c'.
36993 (ibuffer-mode-groups-popup): Update menus.
36994 (ibuffer-mode): Update mode doc.
36996 2016-07-07 Alan Third <alan@idiocy.org>
36998 Prevent NS event loop being re-entered (bug#11049)
37000 * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
37001 in event loop instead of aborting.
37003 2016-07-07 Alan Third <alan@idiocy.org>
37005 Fix some deprecated functions
37007 * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
37008 convertBaseToScreen with convertRectToScreen.
37009 * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
37010 OS X 10.2, and always seems to return nil.
37012 2016-07-07 Aaron Jensen <aaronjensen@gmail.com> (tiny change)
37014 Disable App Nap (bug#22993)
37016 * nextstep/templates/Info.plist.in: Insert AppNap disable code.
37018 2016-07-07 Michael Albinus <michael.albinus@gmx.de>
37020 Fix an error in Tramp for rsync
37022 * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
37023 Make it work for "rsync".
37024 (tramp-make-copy-program-file-name): Apply `directory-file-name'.
37026 2016-07-07 Tino Calancha <tino.calancha@gmail.com>
37028 Ibuffer: Mark locked buffers
37030 * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
37031 (ibuffer-mark-by-locked): New command.
37032 (ibuffer-mode-map): Bind it to '% L'; update menus.
37033 (ibuffer-mode): Update mode doc.
37034 ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
37036 2016-07-07 Tino Calancha <tino.calancha@gmail.com>
37038 * lisp/ibuffer.el: Add face for locked buffers
37040 * lisp/ibuffer.el: Add mark for locked buffers
37042 ;* etc/NEWS (Ibuffer): Update entry according with last commit
37044 2016-07-07 Tino Calancha <tino.calancha@gmail.com>
37046 Remove duplicate binding
37048 * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
37049 just bound to '% g'.
37051 https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg00165.html
37053 2016-07-07 Tino Calancha <tino.calancha@gmail.com>
37055 Ibuffer: Drop needless binding
37057 * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
37058 already bound to 't' inside 'ibuffer-set-mark'.
37060 2016-07-07 Phillip Lord <phillip.lord@russet.org.uk>
37062 Run tests from non-byte compiled files
37064 * test/Makefile.in: Eval non-byte-compiled files for tests.
37066 2016-07-06 Mark Oteiza <mvoteiza@udel.edu>
37068 Replace eldoc-documentation-function with a hook
37070 * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
37071 (eldoc-documentation-function): Make into obsolete alias.
37072 (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
37073 (eldoc-argument-case, global-eldoc-mode): Update docstrings.
37074 (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
37075 on eldoc-documentation-functions.
37076 (eldoc-supported-p): New function.
37077 (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
37078 * etc/NEWS: Mention eldoc-documentation-functions.
37079 * doc/lispref/modes.texi: Update reference.
37081 2016-07-06 Simen Heggestøyl <simenheg@gmail.com>
37083 Complete "initial" and "unset" in CSS mode
37085 * lisp/textmodes/css-mode.el (css--complete-property-value): Make
37086 "initial" and "unset" completion candidates for all CSS properties,
37087 just like "inherit".
37089 * test/lisp/textmodes/css-mode-tests.el
37090 (css-test-complete-property-value): Update test to reflect the above
37093 2016-07-06 Michael Albinus <michael.albinus@gmx.de>
37095 * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
37097 2016-07-06 Paul Eggert <eggert@cs.ucla.edu>
37099 Simplify rfc1345.el a bit
37101 * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
37102 that would no longer parse. Replace control characters with
37103 escapes in character constants. Omit unnecessary \ after ?.
37104 This does not change behavior.
37106 2016-07-05 Dmitry Antipov <dmantipov@yandex.ru>
37108 Prefer 'frame-parameter' where it is expected to be a bit faster
37110 * lisp/international/mule-diag.el (mule-diag):
37111 * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
37112 * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
37113 * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
37114 * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
37116 2016-07-05 Dmitry Antipov <dmantipov@yandex.ru>
37118 Reduce consing caused by vertical motion commands
37120 * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
37121 parameters frequently requested by calls to 'next-line' and 'previous-line'.
37123 2016-07-05 Michael Albinus <michael.albinus@gmx.de>
37125 Make all Tramp tests pass for "gdrive" method
37127 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
37128 * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
37129 (tramp-compat-delete-directory):
37130 * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
37131 Use `directory-files-no-dot-files-regexp'.
37133 * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
37134 (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
37137 * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
37139 (tramp-test14-delete-directory): Make further tests.
37141 2016-07-05 Eli Zaretskii <eliz@gnu.org>
37143 Fix redisplay with window-start on continuation lines
37145 * src/xdisp.c (pos_visible_p): Return false if the window starts
37147 (compute_window_start_on_continuation_line): Don't return
37148 window-start position that is after point in the buffer, as the
37149 callers don't expect this to happen, and will generally display an
37150 empty window with the cursor in its middle. (Bug#23871)
37152 2016-07-05 Tino Calancha <tino.calancha@gmail.com>
37154 Add :expected-result :failed for unfixed bug test
37156 * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
37158 2016-07-05 Tino Calancha <tino.calancha@gmail.com>
37160 * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
37162 2016-07-04 Michal Nazarewicz <mina86@mina86.com>
37164 Don’t create unnecessary marker in ‘delete-trailing-whitespace’
37166 * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
37167 there is no need for the end-marker to be created.
37169 2016-07-04 Michal Nazarewicz <mina86@mina86.com>
37171 Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
37173 * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
37174 syntax to non-whitespace so that ‘\s-’ regular expression does not match
37177 This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
37178 as a consequence ‘line-beginning-position’ function does not need to be
37181 Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
37182 expression ends up matching empty lins since ‘\s-’ matches newline
37183 characetr of proceeding line. This leads to needless loop iterations.
37185 Since previous change to ‘delete-trailing-whitespace’ already introduced
37186 ‘with-syntax-table’, take advantage of it and also overwrite newline’s
37189 2016-07-04 Michal Nazarewicz <mina86@mina86.com>
37191 Make ‘delete-trailing-whitespace’ delete spaces after form feed
37193 * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
37194 a non-whitespace character (regradless of whether it’s character syntax
37195 is whitespace) and delete any whitespace following it instead of leaving
37196 lines with form feeds completely unchanged. I.e. a line like "\f " will
37199 2016-07-04 Dmitry Antipov <dmantipov@yandex.ru>
37201 Cleanup XEditRes hack
37203 * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
37204 _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
37205 linked with -lXmu. This should work with any non-ancient Xmu library.
37206 * src/xfns.c (toplevel): Remove old cruft.
37207 (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
37208 * src/xterm.c (toplevel): Remove old cruft.
37209 (handle_one_xevent): Use X_TOOLKIT_EDITRES.
37210 * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
37212 2016-07-04 Michael Albinus <michael.albinus@gmx.de>
37214 Add Google Drive support to Tramp
37216 * doc/misc/tramp.texi: Add `gdrive' method.
37218 * doc/misc/trampver.texi:
37219 * lisp/net/trampver.el: Change version to "2.3.1-pre".
37221 * etc/NEWS: Add Tramp connection method "gdrive".
37223 * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
37224 (tramp-default-user-alist, tramp-default-host-alist): Add rule
37226 (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
37227 (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
37228 (tramp-gvfs-get-directory-attributes): Improve loop. Use
37229 "standard::display-name" as file name, if available.
37230 (tramp-gvfs-handle-file-name-all-completions): Simplify.
37231 (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
37232 (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
37233 Map between "gdrive" and "google-drive".
37235 * lisp/net/tramp.el (tramp-call-process): Do not signal error.
37237 * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
37238 Do not enable `tramp-message-show-message'.
37239 (tramp-test13-make-directory, tramp-test14-delete-directory):
37240 Do not specify error type.
37242 2016-07-04 Tino Calancha <tino.calancha@gmail.com>
37244 Calc: Update mode line after change mode
37246 * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
37248 2016-07-03 Mark Oteiza <mvoteiza@udel.edu>
37250 * lisp/simple.el (save-mark-and-excursion): Add declare forms.
37252 2016-07-03 Paul Eggert <eggert@cs.ucla.edu>
37254 Re-fix open-network-stream responsiveness
37256 Problem reported by Christer Ekholm (Bug#23864).
37257 * src/process.c (wait_reading_process_output): Further fix for
37258 typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
37259 wait == INFINITY and got_output_end_time is invalid. See:
37260 https://bugs.gnu.org/23864#20
37262 2016-07-03 Alan Mackenzie <acm@muc.de>
37264 Remove redundant forms from CC Mode for faster fontification
37266 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
37267 the "main" cond form in the function, which have been redundant since the
37268 extraction of c-font-lock-cut-off-declarators from the function on
37271 2016-07-03 Alan Mackenzie <acm@muc.de>
37273 Speed up CC Mode fontification with less accurate functions extending region
37275 * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
37276 (c-font-lock-enclosing-decls)
37277 * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
37278 c-beginning-of-decl-1 with less accurate invocations of
37279 c-syntactic-skip-backwards to speed up fontification.
37281 2016-07-03 Tino Calancha <tino.calancha@gmail.com>
37283 Ibuffer: unmark all buffers without confirmation
37285 * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
37286 (ibuffer-mouse-popup-menu): Use it.
37287 (ibuffer-mode): Update mode doc.
37288 (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
37289 Rebind 'ibuffer-do-replace-regexp' to 'r'.
37291 2016-07-03 Paul Eggert <eggert@cs.ucla.edu>
37293 Fix open-network-stream responsiveness
37295 Problem reported by Constantin Kulikov (Bug#23684).
37296 * src/process.c (wait_reading_process_output):
37297 Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
37298 when wait == INFINITY and got_output_end_time is invalid.
37299 In this case the code should break, not continue.
37301 2016-07-02 Tino Calancha <tino.calancha@gmail.com>
37303 Ibuffer: Mark buffers by content
37305 * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
37306 (ibuffer-never-search-content-name): New option.
37307 (ibuffer-never-search-content-mode): Idem.
37308 (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
37310 * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
37311 (ibuffer-mode): Update mode documentation.
37313 2016-07-02 Tino Calancha <tino.calancha@gmail.com>
37315 ibuffer-copy-filename-as-kill verbosity increase
37317 * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
37318 Use shorter name, result, for a local bound var.
37319 Show the string result in the echo area.
37321 2016-07-02 Eli Zaretskii <eliz@gnu.org>
37323 Fix cursor positioning on TTY frames after stretch glyph
37325 * src/term.c (append_glyph, append_composite_glyph)
37326 (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
37327 members of the produced 'struct glyph'. Fixes cursor positioning
37328 on the first character after a stretch glyph produced from
37329 line-prefix, wrap-prefix, etc. on TTY frames.
37331 2016-07-02 Eli Zaretskii <eliz@gnu.org>
37333 Fix vertical-movement in buffers with wrap-prefix
37335 * src/indent.c (Fvertical_motion): Zero the current_y coordinate
37336 whenever we zero the vpos vertical position of the iterator.
37337 * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
37338 wrap-prefix regardless of whether the current Y coordinate is
37339 inside the window dimensions. (Bug#23879)
37341 2016-07-02 Eli Zaretskii <eliz@gnu.org>
37343 Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
37345 * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
37346 FACE_OPT_FROM_ID; all callers changed.
37347 * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
37348 FACE_FROM_ID_OR_NULL, as the resulting face is immediately
37350 (fill_gstring_glyph_string): Call FACE_FROM_ID, not
37351 FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
37352 when the glyph string is drawn.
37353 (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
37354 FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
37355 in fill_composite_glyph_string.
37356 (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
37357 FACE_FROM_ID, since the function and its caller can cope with that
37358 situation. Conflate 3 tests of missing face or font into just
37360 * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
37361 FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
37362 functions can cope with that situation.
37363 (lookup_derived_face): Don't call FACE_FROM_ID if the result will
37365 * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
37367 2016-07-01 Mark Oteiza <mvoteiza@udel.edu>
37369 * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
37371 2016-07-01 Stefan Monnier <monnier@iro.umontreal.ca>
37373 * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
37375 i.e. rename from auto-source--symbol-keyword.
37377 2016-07-01 Dmitry Antipov <dmantipov@yandex.ru>
37379 Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
37381 * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
37384 2016-06-30 Alan Mackenzie <acm@muc.de>
37386 CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
37388 This applies to applying or removing syntax-table text properties in raw
37389 strings which affect the stringiness of a piece of text. This fixes the
37392 https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00695.html.
37394 * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
37396 (c-invalidate-state-cache-1): Call new function in place of inline
37398 (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
37399 semi-nonlit cache when pertinent syntax-table text properties get applied to
37402 2016-06-29 Dmitry Antipov <dmantipov@yandex.ru>
37404 Minor tweaks to openp
37406 * src/lread.c (openp): Move invariant code out of the loop
37407 and thus avoid redundant calls to memcpy. Adjust comments.
37409 2016-06-29 Dmitry Antipov <dmantipov@yandex.ru>
37411 Simplify handling of frame parameters
37413 * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
37414 foreground color, background color and font parameters. Adjust
37417 2016-06-29 Dmitry Antipov <dmantipov@yandex.ru>
37419 Cleanup around mature character manipulation functions
37421 * lisp/international/mule-diag.el (decode-codepage-char): Remove.
37423 * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
37425 * lisp/subr.el (toplevel): Do not advertise calling conventions
37426 for 'decode-char' and 'encode-char'.
37428 * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
37430 2016-06-29 Alan Mackenzie <acm@muc.de>
37432 Fix C-M-a in a C function finding the start of a macro preceding it.
37434 Also amend some pertinent documentation. This fixes bug #23818.
37436 * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
37437 virtual semicolon at a place where we check for other types of statement ends.
37439 * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
37440 doc string the bit saying that the variable is a prototype and liable to
37443 * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
37444 macros with semicolon can prevent C-M-a missing the beginning of defun.
37446 2016-06-28 Dmitry Antipov <dmantipov@yandex.ru>
37448 Avoid possible NULL pointer dereference found by GCC 6.1.1
37450 * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
37451 the value returned by XRRGetOutputInfo.
37453 2016-06-28 Tino Calancha <tino.calancha@gmail.com>
37455 Dired recognize dirs when file size in human units
37457 * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
37458 to match when Dired displays the allocated file size column
37459 in human readable units (Bug#22255).
37461 2016-06-28 Mark Oteiza <mvoteiza@udel.edu>
37463 Fix breakage from previous change
37465 * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
37466 * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
37468 2016-06-28 Mark Oteiza <mvoteiza@udel.edu>
37470 Fix breakage from previous change.
37472 * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
37474 2016-06-28 Eli Zaretskii <eliz@gnu.org>
37476 Add tests for copying properties by 'format'
37478 * test/src/editfns-tests.el (format-properties): New test.
37480 2016-06-28 Eli Zaretskii <eliz@gnu.org>
37482 Fix copying properties in 'format' when it produces padding
37484 * src/textprop.c (extend_property_ranges): Correct range extension
37485 when the new end is beyond the old end. (Bug#23859)
37487 2016-06-27 Alan Third <alan@idiocy.org>
37489 Enable dividers in NS (bug#22973)
37491 src/nsfns.m: Add colour settings functions to ns_frame_park_handlers.
37492 src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
37493 attempt to set the colour.
37494 src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
37495 above, although I didn't see any errors.
37497 2016-06-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
37499 Fix the prefix action of shr-copy-url
37501 * lisp/net/shr.el (shr-copy-url): Make the command really copy
37502 the image url if given a prefix.
37504 2016-06-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
37506 New functions svg-text and svg-remove
37508 * doc/lispref/display.texi (SVG Images): Document svg-remove.
37510 * doc/lispref/display.texi (SVG Images): Document svg-text.
37512 * lisp/svg.el (svg-remove): New function.
37513 (svg-text): New function.
37515 2016-06-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
37517 Add new function dom-remove-node
37519 * doc/lispref/text.texi (Document Object Model): Document
37522 * lisp/dom.el (dom-remove-node): New function.
37524 2016-06-27 Lars Magne Ingebrigtsen <larsi@gnus.org>
37526 Add a new function `svg-embed'
37528 * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
37530 * lisp/svg.el (svg-embed): New function.
37531 (svg--image-data): Ditto.
37533 2016-06-27 Eli Zaretskii <eliz@gnu.org>
37535 * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
37537 2016-06-27 Eli Zaretskii <eliz@gnu.org>
37539 Fix 'move-to-window-line' when EOB is on last screen line
37541 * src/window.c (displayed_window_lines): Fix an off-by-one error
37542 when the bottom of the last display line is exactly at window's
37543 last pixel. Remove kludgey fix for TTY frames that is no longer
37544 needed. (Bug#15760)
37545 (Fmove_to_window_line): Doc fix.
37547 * doc/lispref/positions.texi (Screen Lines): Clarify and make more
37548 accurate the documentation of 'move-to-window-line'.
37550 2016-06-27 Alan Mackenzie <acm@muc.de>
37552 Amend a cache so that typing into C++ raw strings has no undue delay.
37554 Also amend the code so that low-level searches to the end of literals are done
37555 only when these positions get used.
37557 * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
37558 c-literal-start instead of c-literal-limit.
37559 (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
37560 it stores details of the literal at a point, rather than merely points outside
37562 (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
37563 (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
37564 (c-parse-ps-state-below, c-literal-start): New functions.
37565 (c-state-semi-safe-place): Removed.
37566 (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
37567 (c-literal-limits, c-determine-limit-get-base): consequential amendments.
37568 (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
37569 (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
37571 * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
37572 to end of literals.
37574 * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
37577 * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
37578 (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
37580 2016-06-26 Dmitry Gutov <dgutov@yandex.ru>
37582 Also handle escaping when string begins with a quote
37584 * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
37585 Handle quoting of the first character in the string.
37587 * test/lisp/progmodes/ruby-mode-tests.el
37588 (ruby-toggle-string-quotes-quotes-correctly): Update.
37590 2016-06-26 Sriram Thaiyar <sriram.thaiyar@gmail.com> (tiny change)
37592 Fix quote escaping in ruby-toggle-string-quotes
37594 * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
37595 Change logic to quote based on the current quote of the string.
37597 * test/lisp/progmodes/ruby-mode-tests.el
37598 (ruby-toggle-string-quotes-quotes-correctly): Add test.
37600 2016-06-26 Noam Postavsky <npostavs@gmail.com>
37602 Fix test-completion with completion-regexp-list
37604 * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
37605 completion-regexp-list (Bug #23533).
37607 2016-06-26 Paul Eggert <eggert@cs.ucla.edu>
37609 Try other addresses when connecting to multihomed
37611 Problem reported by Juliusz Chroboczek (Bug#17976)
37612 and by Artur Malabarba (Bug#23620).
37613 Patch from a suggestion by Andreas Schwab in:
37614 https://bugs.gnu.org/17976#39
37615 This patch is for non-MS-Windows platforms.
37616 I don't know the situation on MS-Windows.
37617 * src/process.c (connecting_status):
37618 New function, for (connect . ADDRINFOS).
37619 (connect_network_socket, check_for_dns, wait_for_socket_fds)
37620 (wait_while_connecting, wait_reading_process_output, status_notify):
37622 (decode_status, Fmake_network_process):
37623 Support (connect . ADDRINFOS) status.
37624 (connect_network_socket) [!WINDOWSNT]:
37625 If the connection failed and there are other addresses to try, do not
37626 signal an error; instead, loop around to try the next address.
37627 (wait_reading_process_output): Advance to the next address
37628 if there are multiple addresses and the first remaining address
37630 * src/process.h (struct Lisp_Process.status): Adjust comment
37631 to describe (connect . ADDRINFOS).
37633 2016-06-26 Paul Eggert <eggert@cs.ucla.edu>
37635 Fix GNUC_PREREQ for GCC 2.8.1 etc.
37637 Problem reported by Eli Zaretskii in:
37638 https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00608.html
37639 * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
37640 2.8.1 (1998), which come before GCC 3.0 and which have nonzero
37641 patchlevel numbers.
37643 2016-06-26 Eli Zaretskii <eliz@gnu.org>
37645 Don't set 'bidi-paragraph-direction' in 'ansi-term'
37647 * lisp/term.el (ansi-term): Remove unnecessary setting of
37648 'bidi-paragraph-direction'. The underlying problem is solved in
37649 bidi.c by changing the regexps that define the paragraph beginning
37650 and end. (Bug#20611)
37652 2016-06-26 Michael Albinus <michael.albinus@gmx.de>
37654 Sync with Tramp 2.3.0
37656 * doc/misc/trampver.texi:
37657 * lisp/net/trampver.el: Change version to "2.3.0".
37659 2016-06-26 Paul Eggert <eggert@cs.ucla.edu>
37661 Fix GNUC_PREREQ off-by-1 typo
37663 Problem reported by Martin Rudalics in:
37664 https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00587.html
37665 * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
37668 2016-06-26 Michael Albinus <michael.albinus@gmx.de>
37670 Fix some oddities in Tramp's rsync and smb methods
37672 * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
37674 (tramp-do-copy-or-rename-file-out-of-band):
37675 Call `file-name-directory' also for remote NEWNAME.
37677 * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
37678 Do not skip for tramp-smb.el. Test als COPY-CONTENTS case.
37679 (tramp-test24-file-name-completion): Improve check for
37680 hostname completion.
37681 (tramp--test-rsync-p): New defun.
37682 (tramp-test31-special-characters)
37683 (tramp-test31-special-characters-with-stat)
37684 (tramp-test31-special-characters-with-perl)
37685 (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
37686 (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
37687 (tramp-test32-utf8-with-ls): Skip for "rsync".
37689 * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
37690 Check also for CIFS capabilities.
37692 2016-06-26 Ury Marshak <ury.marshak@gmail.com> (tiny change)
37694 Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
37696 * src/nsfns.m (x_set_internal_border_width): Replace assignments to
37697 FRAME_INTERNAL_BORDER_WIDTH.
37699 2016-06-25 Leo Liu <sdl.web@gmail.com>
37701 Deprecations (bug#23850)
37703 * lisp/subr.el (string-to-unibyte, string-as-unibyte,
37704 string-to-multibyte, string-as-multibyte): Make obsolete.
37706 2016-06-25 Tino Calancha <tino.calancha@gmail.com>
37708 Do not prompt twice to save a buffer
37710 * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
37712 2016-06-25 Alan Third <alan@idiocy.org>
37714 Move text line right when in box (bug#23755)
37716 * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
37717 CHAR_GLYPH specific code and move glyphs right if within a box.
37718 (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
37721 2016-06-25 Paul Eggert <eggert@cs.ucla.edu>
37723 Merge from origin/emacs-25
37725 0377fe2 ; Spelling fixes
37726 f253695 Update docs for `customize-mode'
37727 4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
37728 ab0ebb9 ; Only load .elc file in tests.
37729 a98aa02 Error on multibyte characters in HTTP request
37730 ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
37731 8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
37732 dc5e65b Unset GIT_DIR when calling Git commands
37733 6cdd8f7 Ensure undo-boundary after insert-file-contents.
37734 4793f5f Clarify documentation of 'line-spacing' and 'line-height'
37735 5f37572 Fix removal of variables from process-environment
37736 e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
37737 db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
37740 # doc/lispref/modes.texi
37741 # lisp/gnus/mm-decode.el
37743 2016-06-25 Mark Oteiza <mvoteiza@udel.edu>
37745 Teach net-utils more iproute2 and nl80211 tools
37747 * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
37748 (iwconfig-program-options): Add "dev" argument for iw. Another useful
37749 option is "phy"; beyond that one needs to know the interface name.
37750 (netstat-program): Add ss(8).
37751 (route-program): Add ip(8).
37752 (route-program-options): Add "route" argument for ip.
37754 2016-06-24 Leo Liu <sdl.web@gmail.com>
37756 Use use-region-p in prolog.el
37758 * lisp/progmodes/prolog.el (region-exists-p): Remove.
37759 * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
37760 prolog-edit-menu-insert-move): Use use-region-p.
37762 2016-06-24 Leo Liu <sdl.web@gmail.com>
37764 Remove compatibility with Emacs 24.3 in octave-mode
37766 * lisp/progmodes/octave.el: Clean up and remove compatibility with
37769 2016-06-24 Alan Mackenzie <acm@muc.de>
37771 Ensure hack-local-variables is run in a fundamental mode buffer.
37773 This fixes bug #23827.
37775 * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
37776 gets set to that mode, so that `run-mode-hooks', and thus
37777 `hack-local-variables' get run.
37779 2016-06-24 Tino Calancha <tino.calancha@gmail.com>
37781 Fix caller to ediff-setup
37783 * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
37785 2016-06-24 Alan Mackenzie <acm@muc.de>
37787 Implement ' separators in C++ integer literals.
37789 * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
37790 c-before-after-change-digit-quote into the C++ value.
37791 (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
37792 for all languages. Insert c-before-after-change-digit-quote into the C++
37795 * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
37796 c-save-buffer-state.
37797 (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
37799 2016-06-24 Paul Eggert <eggert@cs.ucla.edu>
37804 2016-06-24 intprops: port better to GCC 7
37805 2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
37806 * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
37809 2016-06-24 Martin Rudalics <rudalics@gmx.at>
37811 Remove two uses of 'min' in Fwindow_text_pixel_size
37813 * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
37814 it calls move_it_to twice. Suggested by Eli Zaretskii.
37816 2016-06-23 Paul Eggert <eggert@cs.ucla.edu>
37818 Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
37820 * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
37821 since it is intended to be used only when it returns a non-null
37822 pointer, and here the pointer might be null.
37823 (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
37825 2016-06-23 Mark Oteiza <mvoteiza@udel.edu>
37827 Remove some more face aliases obsoleted in 22.1
37829 * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
37830 eshell-ls-executable-face, eshell-ls-readonly-face,
37831 eshell-ls-unreadable-face, eshell-ls-special-face,
37832 eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
37833 eshell-ls-product-face, eshell-ls-clutter-face): Remove.
37834 * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
37835 (isearch-lazy-highlight-update): Use face symbol.
37836 * lisp/net/sieve-mode.el (sieve-control-commands-face,
37837 sieve-action-commands-face, sieve-test-commands-face,
37838 sieve-tagged-arguments-face): Remove.
37839 (sieve-font-lock-keywords): Use non-obsolete faces.
37840 * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
37841 (sh-get-indent-info, sh-prev-line): Use face symbol.
37842 * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
37843 Use non-obsolete face.
37844 (tex-math-face, tex-verbatim-face): Remove.
37845 (tex-font-lock-syntactic-face-function): Use face symbols.
37847 2016-06-23 Mark Oteiza <mvoteiza@udel.edu>
37849 Remove some face aliases obsoleted in 22.1
37851 * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
37852 * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
37853 * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
37854 Info-title-4-face, info-menu-5):
37855 * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
37856 * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
37857 * lisp/progmodes/make-mode.el (makefile-space-face):
37858 * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
37859 (texinfo-font-lock-keywords): Use texinfo-heading face.
37860 * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
37861 change-log-email-face, change-log-file-face, change-log-list-face,
37862 change-log-conditionals-face, change-log-function-face,
37863 change-log-acknowledgement-face):
37864 * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
37865 diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
37866 diff-changed-face, diff-function-face, diff-context-face,
37867 diff-nonexistent-face): Remove.
37868 (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
37870 (diff-hunk-file-names): Fix comment.
37871 (diff-refine-change): Remove.
37872 (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
37874 * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
37875 (log-view-font-lock-keywords): Use non-obsolete face names.
37876 * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
37877 cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
37878 * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
37879 widget-field-face, widget-single-line-field-face, widget-inactive-face,
37880 widget-button-pressed-face):
37881 * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
37882 woman-addition-face): Remove.
37884 2016-06-23 Eli Zaretskii <eliz@gnu.org>
37886 * lisp/international/characters.el (standard-case-table): Improve last change.
37888 2016-06-23 Eli Zaretskii <eliz@gnu.org>
37890 Improve results of 'upcase' for characters with title-case
37892 * lisp/international/characters.el (standard-case-table): Swap the
37893 order of some lines, to have 'upcase' return the upper-case
37894 variant, not the title-case, for some characters whose lower-case
37895 map to the same codepoints. (Bug#23833)
37897 2016-06-23 Alan Mackenzie <acm@muc.de>
37899 Make typing into incomplete C++ raw strings work, and make it work fast enough
37901 * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
37902 Put `save-match-data' around calls to `looking-at' to enable the use of the
37903 match data in higher level functions.
37905 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
37906 (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
37907 limit to speed up handling of C++ raw strings.
37909 2016-06-23 Eli Zaretskii <eliz@gnu.org>
37911 Fix handling of LWINDOW key on MS-Windows
37913 * src/w32fns.c (funhook): Correct a typo which broke handling of
37914 the LWINDOW key. (Bug#23830)
37916 2016-06-22 Eli Zaretskii <eliz@gnu.org>
37918 Update Unicode data files from Unicode 9.0.0
37920 * admin/unidata/copyright.html:
37921 * admin/unidata/BidiBrackets.txt:
37922 * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
37925 2016-06-22 Eli Zaretskii <eliz@gnu.org>
37927 Fix test for whether the '.el' file is newer than '.elc'
37929 * src/lread.c (Fload): Don't overwrite the last character of the
37930 file name in FOUND with 'c', unless the file name ended in ".elc"
37931 to begin with. Don't treat empty files as byte-compiled. See
37932 https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00463.html
37933 for more details of the problem this caused.
37935 2016-06-22 Eli Zaretskii <eliz@gnu.org>
37937 Fix 'insert-file-contents' when REPLACE is non-nil
37939 * src/fileio.c (maybe_move_gap): New function to move the gap to
37940 the end of a buffer, if it isn't there already.
37941 (Finsert_file_contents): Call 'maybe_move_gap' before using
37942 conversion_buffer's text as a C 'char' array. (Bug#23659)
37943 * src/coding.c (decode_eol): Compute the byte increment before
37944 calling del_range_2, because the latter can invalidate the pointer
37947 2016-06-22 Ken Brown <kbrown@cornell.edu>
37949 Avoid compiler warning
37951 * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
37953 2016-06-22 Stefan Monnier <monnier@iro.umontreal.ca>
37955 * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
37957 2016-06-22 Ken Brown <kbrown@cornell.edu>
37959 Fix last change to FRAME_INTERNAL_BORDER_WIDTH
37961 * src/w32fns.c (x_set_internal_border_width): Don’t use
37962 FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
37965 2016-06-21 Paul Eggert <eggert@cs.ucla.edu>
37967 Improve --without-x GCC pacification
37969 * src/composite.c (autocmp_chars):
37970 * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
37971 Use simpler ((void) 0) for no-op expression returning void.
37972 * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
37973 Include fontset.h, for face_for_char.
37974 (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
37975 Now inline functions instead of macros. This avoids the need for
37976 all those casts to void.
37977 (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
37979 * src/frame.c (Ficonify_frame, Fset_frame_position):
37980 * src/xdisp.c (Fmove_point_visually, show_mouse_face):
37981 * src/xdisp.c (note_mode_line_or_margin_highlight)
37982 (note_mouse_highlight):
37983 Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
37984 now work either way without generating warnings.
37985 * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
37986 (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
37987 (decode_window_system_frame): Use check_window_system instead of
37988 rolling the code ourself. Return needed only if HAVE_WINDOW_SYSTEM.
37989 (decode_window_system_frame, check_window_system):
37990 Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
37991 * src/frame.c (Ficonify_frame, Fset_frame_position):
37992 * src/xdisp.c (show_mouse_face, define_frame_cursor1)
37993 (note_mouse_highlight):
37994 Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
37995 this is a better way to pacify GCC.
37996 * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
37997 (x_set_right_divider_width, x_set_bottom_divider_width):
37998 * src/xfns.c (x_set_internal_border_width):
37999 Don’t use what are now function calls as lvalues.
38000 * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
38001 (decode_window_system_frame, check_window_system):
38002 Use it, to avoid the need for duplicate declarations.
38003 (window_system_available): Now an inline function.
38004 (display_available): New decl.
38005 (frame_dimension): New inline function.
38006 (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
38007 (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
38008 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
38009 (FRAME_BOTTOM_DIVIDER_WIDTH):
38010 Use it, to avoid the need for duplicate definitions.
38011 Now inline functions instead of macros.
38012 * src/gnutls.c (gnutls_log_function2i): Remove.
38013 * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
38014 This avoids complaints about gnutls_log_function2i being defined
38015 and not used on older platforms that do not need to call GNUTLS_LOG2i.
38016 * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
38017 * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
38018 expr’ to ‘type id; id = expr’, as this would suppress valid
38019 jump-misses-init diagnostics. Let’s find a better way to address
38021 * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
38022 Define only if needed.
38023 * src/xdisp.c (handle_single_display_spec):
38024 Simplify fringe_bitmap computation.
38025 (define_frame_cursor1): Do nothing unless in a window system.
38026 All callers changed and simplified.
38027 * src/xfaces.c (realize_default_face):
38028 Use a simpler way to pacify GCC when a return value is not used
38031 2016-06-21 Phillip Lord <phillip.lord@russet.org.uk>
38033 Ensure undo-boundary after all commands
38035 * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
38036 every command whether it (apparently) changes the buffer or not.
38038 See Bug#23785 for discussion.
38040 2016-06-21 Eli Zaretskii <eliz@gnu.org>
38042 Fix vertical layout calculations when newline has line-height property
38044 * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
38045 'constrain_row_ascent_descent_p' flag after processing the
38046 newline, similar to what 'display_line' does. Without this, the
38047 flag remains set once set by x_produce_glyphs, and causes the
38048 vertical layout calculations to go awry, because Emacs thinks the
38049 screen lines have zero height. (Bug#23850)
38051 2016-06-20 Ken Brown <kbrown@cornell.edu>
38053 Fix compiler warnings in Cygwin-w32 build
38055 * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
38056 loop to avoid compiler warnings about empty body of 'if'
38059 * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
38061 (x_create_bitmap_from_data): Declare 'frame'.
38062 (x_create_bitmap_from_file): Don't declare unused variable
38065 * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
38066 prevent "jump-misses-init" compiler warnings.
38068 * src/w32fns.c (check_w32_winkey_state): Define and use only if
38070 (Fx_show_tip): Declare 'f'.
38071 (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
38072 (w32_strerror): Use format specifier %d for sprintf argument of
38074 (emacs_abort): Cast sprintf argument of type DWORD to unsigned
38075 int, and use format specifier %x, for compatibility with Cygwin.
38076 (unicode_append_menu) [NTGUI_UNICODE]:
38077 * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
38078 (set_menu_item_info, unicode_append_menu)
38079 (unicode_message_box):
38080 * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
38081 functions rather than macros to avoid "address will always
38082 evaluate as true" compiler warnings.
38084 * src/w32font.c (w32_to_x_charset): Use format specifier %d for
38085 sprintf argument of type int.
38087 * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
38088 sprintf argument of type int to unsigned int to match %X format
38090 (w32_scroll_bar_handle_click):
38091 (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
38093 * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
38096 2016-06-20 Ken Brown <kbrown@cornell.edu>
38098 Fix compiler warnings in no-window-system-build
38100 * src/composite.c (autocmp_chars): Declare and set 'f' only if
38101 HAVE_WINDOW_SYSTEM.
38103 * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
38104 (FACE_FOR_CHAR): Explicitly discard unused arguments.
38106 * src/font.c (font_open_entity): Declare 'min_width' where it is
38107 first set, and only if HAVE_WINDOW_SYSTEM.
38109 * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
38110 Define _Noreturn version to avoid "suggest attribute noreturn"
38112 (check_window_system): Declare as _Noreturn.
38114 (Fset_frame_position): Don’t declare and set 'f'.
38116 * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
38117 (check_window_system): Add _Noreturn prototypes.
38118 (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
38119 (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
38120 (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
38121 (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
38123 * src/xdisp.c (handle_single_display_spec): Declare
38124 'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
38125 (append_space_for_newline): Declare 'g' where it is first set.
38126 (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
38127 HAVE_WINDOW_SYSTEM.
38128 (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
38129 if HAVE_WINDOW_SYSTEM.
38130 (note_mode_line_or_margin_highlight):
38131 (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
38132 only if HAVE_WINDOW_SYSTEM.
38134 * src/xfaces.c (realize_default_face): Declare and set 'face' only
38135 if HAVE_X_WINDOWS. Remove redundant #ifdef.
38137 2016-06-20 Michael Albinus <michael.albinus@gmx.de>
38139 Weaken test conditions in filenotify-tests.el
38141 * test/lisp/filenotify-tests.el (file-notify--test-with-events):
38142 Fix thinko in test.
38143 (file-notify-test02-events, file-notify-test04-file-validity)
38144 (file-notify-test07-backup)
38145 (file-notify-test08-watched-file-in-watched-dir): Make test
38146 conditions more weak. (Bug#23618)
38148 2016-06-19 Paul Eggert <eggert@cs.ucla.edu>
38150 Minor ABLOCKS_BUSY cleanups in alloc.c
38152 * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
38153 with member ‘abase’ in definiens.
38154 (lisp_align_malloc, lisp_align_free): Use bool for boolean.
38155 Avoid compiler warning with fewer casts.
38156 (lisp_align_free): Check busy-field values; this can help the
38157 compiler a bit when optimizing, too.
38159 2016-06-19 Dmitry Gutov <dgutov@yandex.ru>
38161 ASCII-fy coding-system-for-read used for Git commands
38163 * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
38165 (vc-git-diff, vc-git-annotate-command): Use it.
38167 2016-06-19 Dmitry Gutov <dgutov@yandex.ru>
38169 Prohibit multibyte characters in url-http-data
38171 It didn't work anyway, but this makes any such errors more obvious
38172 by catching them earlier.
38174 * lisp/url/url-http.el (url-http-create-request):
38175 Use string-to-unibyte (bug#23750).
38177 2016-06-19 Eli Zaretskii <eliz@gnu.org>
38179 Fix setting a range of char-table slots in a singular case
38181 * src/chartab.c (char_table_set_range): Start the loop from the
38182 first character of the block to which FROM belongs. (Bug#23797)
38184 * test/src/chartab-tests.el: New test file.
38186 2016-06-19 Alan Mackenzie <acm@muc.de>
38188 Fix CC Mode fontification problem apparent in test file decls-6.cc.
38190 * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
38191 "bar (gnu);" as a declarator only when the construct is directly inside a
38192 class (etc.) called "bar".
38193 (c-directly-in-class-called-p): New function.
38195 2016-06-19 Alan Mackenzie <acm@muc.de>
38197 c-renarrow-state-cache: take care when new point is inside old brace pair.
38199 Also add display of point-min to the c-parse-state debugging output.
38201 * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
38202 point is inside an old recorded brace pair, clear the cache.
38203 (c-debug-parse-state): Output the value of point-min.
38205 2016-06-18 Paul Eggert <eggert@cs.ucla.edu>
38207 Rename ALIGN to pointer_align
38209 * src/alloc.c (pointer_align): Rename from ALIGN.
38210 This fixes Bug#23764 in a simpler way.
38212 2016-06-18 Paul Eggert <eggert@cs.ucla.edu>
38214 Merge from origin/emacs-25
38216 d1efbaf Fix documentation of completion functions
38217 65c96cc Clarify documentation of 'font-lock-maximum-decoration'
38218 2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
38219 b49cb0a Fbackward_prefix_chars: stay within buffer bounds
38221 2016-06-18 Paul Eggert <eggert@cs.ucla.edu>
38223 Merge from origin/emacs-25
38225 2317c61 Fix last todo-mode change
38226 5d4d8a3 Improve last todo-mode fix
38227 d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
38228 27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD. (Bug#23...
38229 f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
38230 e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
38231 d308aa1 Minor grammar fix (bug#23746)
38232 20de667 Doc fixes for grammar and typos (bug#23746)
38233 a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
38234 27f440e Add cross-reference to ELisp manual
38235 10802d8 ; make change-history-commit
38236 4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
38237 12e009e Restore initial undo boundary with viper
38238 291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
38239 6921f4a Fix dbus crash on 32-bit Cygwin
38241 2016-06-18 Paul Eggert <eggert@cs.ucla.edu>
38243 Merge from origin/emacs-25
38245 9ae514a * etc/AUTHORS: Update the AUTHORS file
38246 3ca428e add entries to authors.el
38247 66d556b Fix eldoc-related freezes in python mode
38248 d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
38249 27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
38250 a813487 Fix undo boundary in recursive edit (Bug#23632)
38251 1f85b7c Doc fixes re alist-get. (Bug#23548)
38252 ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
38253 56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
38254 4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
38255 a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
38256 601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
38258 2016-06-18 Nicolas Petton <nicolas@petton.fr>
38260 * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
38262 2016-06-18 Nicolas Petton <nicolas@petton.fr>
38266 Make sure seq-contains return the element of the sequence instead of t.
38268 * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
38269 * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
38271 2016-06-18 Nicolas Petton <nicolas@petton.fr>
38273 Add new function map-do
38275 * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
38277 * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
38279 2016-06-18 Nicolas Petton <nicolas@petton.fr>
38283 * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
38284 * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
38286 2016-06-17 Stefan Monnier <monnier@iro.umontreal.ca>
38288 map.el (map-merge*): Use `map-into' at beginning rather than end
38290 * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
38291 and don't use of an intermediate alist.
38292 (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
38293 3 lookups per inner iteration.
38295 2016-06-16 Mark Oteiza <mvoteiza@udel.edu>
38297 * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
38299 2016-06-15 Alan Mackenzie <acm@muc.de>
38301 Speed up CC Mode's font locking by taking some code out of a hot loop.
38303 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
38304 tests for bare declarators.
38305 (c-font-lock-cut-off-declarators): New function.
38306 (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
38308 2016-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
38310 Automatically find vars and functions via definition-prefixes
38312 * lisp/help-fns.el (help-definition-prefixes): New var and function.
38313 (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
38315 (describe-function, describe-variable): Use them.
38317 * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
38318 (radix-tree-prefixes, radix-tree-from-map): New functions.
38320 2016-06-15 Michal Nazarewicz <mina86@mina86.com>
38322 Automatically detect whether .h file is C or C++
38324 * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
38325 analyses contents of the buffer to determine whether it looks like C++
38326 source code and based on that enables c-mode or c++-mode.
38327 (c-or-c++-mode--regexp): Regular expression which, when matches
38328 a buffer, signals file is C++.
38330 2016-06-15 Alan Mackenzie <acm@muc.de>
38332 Parse compound identifiers in C++ member initialization lists.
38334 * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
38335 (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
38336 (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
38337 than c-simple-skip-symbol-backward.
38339 2016-06-15 Stefan Monnier <monnier@iro.umontreal.ca>
38341 Advertize set-keymap-parent as replacement for copy-keymap
38343 * doc/lispref/keymaps.texi (Creating Keymaps):
38344 * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
38346 2016-06-15 Ted Zlatanov <tzz@lifelogs.com>
38348 * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
38351 2016-06-15 Tim Chambers <tbc@alum.mit.edu> (tiny change)
38353 Add new ansible-inventory-generic-mode (Bug#23762)
38355 * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
38357 2016-06-14 Paul Eggert <eggert@cs.ucla.edu>
38359 Fix ifdef-vs-if typo with RANDR13_LIBRARY
38361 * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
38362 This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
38363 https://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00198.html
38365 2016-06-14 Paul Eggert <eggert@cs.ucla.edu>
38367 Port to platforms where char * has top bit set
38369 This fixes a five-year-old FIXME comment. Although I don’t know
38370 of a platform where this is a problem in practice, better safe
38372 * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
38373 as it is now an integer, not char *.
38374 (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
38375 this is a file offset and EMACS_INT is better if --with-wide-int.
38376 If SUBRP, simply store the offset rather than negating it and
38377 converting it to char *.
38378 * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
38380 2016-06-14 Paul Eggert <eggert@cs.ucla.edu>
38382 Remove recursion from store_function_docstring
38384 * src/doc.c (store_function_docstring):
38385 Refactor to avoid the need for C-level recursion.
38387 2016-06-14 Ken Brown <kbrown@cornell.edu>
38389 Remove system-specific -I switch from Cygwin-w32 build
38391 Suggested by Eli Zaretskii in discussion of bug#18302.
38393 * src/image.c [HAVE_NTGUI]: Remove the unused macro
38394 PIXEL_ALREADY_TYPEDEFED. On Cygwin, include "noX/xpm.h" instead of
38397 * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
38398 "noX/xpm.h". Don't add a -I switch to CPPFLAGS.
38400 2016-06-14 Noam Postavsky <npostavs@gmail.com>
38402 Make python.el work in Emacs 24
38404 * lisp/progmodes/python.el: Bump version.
38405 (python-define-auxiliary-skeleton): Only use format-message if
38406 fbound (Bug#23126).
38408 2016-06-13 Ken Brown <kbrown@cornell.edu>
38410 Avoid compiler warning
38412 * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
38415 2016-06-13 Paul Eggert <eggert@cs.ucla.edu>
38417 Call tzset after setting TZ
38419 * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
38420 the setting change propagates into Emacs local time (Bug#23600).
38421 (emacs_setenv_TZ): Clarify comments.
38423 2016-06-13 Paul Eggert <eggert@cs.ucla.edu>
38427 * doc/misc/texinfo.tex: Update from gnulib.
38429 2016-06-12 Paul Eggert <eggert@cs.ucla.edu>
38431 New macro GNUC_PREREQ for GCC version
38433 * src/conf_post.h (GNUC_PREREQ): New macro.
38434 Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
38435 macro instead, for clarity and consistency.
38436 (PRINTF_ARCHETYPE): New macro. Define it to __gnu_printf__ only
38437 if glibc, since non-GNU platforms don’t necessarily support GNU
38439 (ATTRIBUTE_FORMAT_PRINTF): Use it.
38441 2016-06-12 Nicolas Petton <nicolas@petton.fr>
38443 * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
38445 2016-06-12 Eli Zaretskii <eliz@gnu.org>
38447 Fix printf-related compilation warnings on MinGW
38449 * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
38450 '__ms_printf__', not '__gnu_printf__', as the latter is not what
38451 MS 'printf' supports, and causes bogus compilation warnings.
38452 * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
38453 doesn't support the "ll" modifier.
38455 2016-06-11 Paul Eggert <eggert@cs.ucla.edu>
38457 emacs_strerror cleanups
38459 * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
38460 no longer needed, now that emacs_strerror is declared by lisp.h.
38461 * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
38462 * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
38464 * src/emacs.c (emacs_strerror): Move here from coding.c. Do not
38465 convert result string; this is now the caller’s responsibility,
38466 as some need conversion and others don’t.
38467 * src/fileio.c (report_file_errno, report_file_notify_error):
38468 Use emacs_strerror rather than rolling it ourselves.
38469 * src/lisp.h (emacs_strerror): Move decl here from coding.h.
38470 * src/lread.c (dir_warning): Just call emacs_strerror rather than
38471 both strerror and emacs_strerror. Convert its result from
38472 locale-coding-system, since it no longer does that conversion.
38473 * src/sound.c (sound_perror):
38474 * src/sysdep.c (emacs_perror, str_collate):
38475 Use emacs_strerror, not strerror.
38477 2016-06-10 David Reitter <david.reitter@gmail.com>
38479 Prevent compiler warning for unused arguments
38481 * lisp/international/ucs-normalize.el
38482 (ucs-normalize-hfs-nfd-pre-write-conversion):
38483 Prevent compiler warning for unused arguments, add coment.
38485 2016-06-10 Paul Eggert <eggert@cs.ucla.edu>
38487 Catch malloc_get_state, malloc_set_state failure
38489 This should help insulate Emacs better from configuration screwups.
38490 Future versions of the GNU C library are planned to deprecate
38491 these functions, but will continue to support them in
38492 already-built-and-dumped Emacs executables.
38493 * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
38494 Abort if malloc_set_state fails.
38495 (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
38496 Report malloc_get_state failure, and exit.
38498 2016-06-10 Eli Zaretskii <eliz@gnu.org>
38500 Show returned value after gdb-mi "finish" command
38502 * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
38503 "Value returned" message in response to "finish", when not
38504 produced by GDB/MI. (Bug#23720)
38506 2016-06-10 David Reitter <david.reitter@gmail.com>
38508 Simplify pre-write-conversion for utf-8-hfs coding system
38510 * lisp/international/ucs-normalize.el
38511 (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
38513 May address an issue where Emacs consumed large amounts of CPU
38514 because of neverending toolbar updating (which was caused
38515 by, but also called this function).
38517 2016-06-09 Martin Rudalics <rudalics@gmx.at>
38519 Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
38521 * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
38522 to mouse-1/-2 instead of down-mouse-1/-2. Suggested by Stefan
38523 Monnier. (Bug#19185, Bug#20398)
38525 This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
38527 That commit did more harm than good (Bug#23571).
38529 2016-06-09 Paul Eggert <eggert@cs.ucla.edu>
38531 Port __builtin_assume_aligned to Sun C 5.13
38533 * src/conf_post.h (__builtin_assume_aligned):
38534 Fix typo: the extra arg did not conform to C99.
38536 2016-06-09 Paul Eggert <eggert@cs.ucla.edu>
38538 Prefer getsockopt to getpeername on non-MS-Windows
38540 * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
38541 * configure.ac: Don’t check for getpeername.
38542 * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
38543 Use getsockopt even if not GNU/Linux, as the platforms where
38544 getsockopt used to hang are no doubt long dead.
38546 2016-06-09 Paul Eggert <eggert@cs.ucla.edu>
38548 Fix XFASTINT of non-fixnum in process status
38550 * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
38551 not int *, and is not decoded. All uses changed.
38552 (status_message): Do not assume ‘failed’ code is an integer.
38553 * src/process.h: Document codes better.
38555 2016-06-09 Glenn Morris <rgm@gnu.org>
38557 Make messcompat.el obsolete.
38559 * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
38560 * doc/misc/message.texi (Compatibility): Remove section.
38562 2016-06-09 Glenn Morris <rgm@gnu.org>
38564 Leading "*" in the doc of defvars is long obsolete.
38566 * lisp/plstore.el (plstore-encrypt-to):
38567 * lisp/cedet/semantic/lex-spp.el
38568 (semantic-lex-spp-macro-max-length-to-save):
38569 * lisp/cedet/semantic/symref.el (semantic-symref-tool):
38570 * lisp/cedet/semantic/bovine/el.el
38571 (semantic-elisp-store-documentation-in-tag):
38572 * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
38573 (wisent-expected-conflicts):
38574 * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
38575 * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
38576 * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
38577 * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
38578 (gnus-browse-menu-hook):
38579 * lisp/gnus/message.el (message-shoot-gnksa-feet):
38580 * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
38581 * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
38582 * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
38583 * lisp/gnus/mml.el (mml-generate-multipart-alist):
38584 * lisp/gnus/nndraft.el (nndraft-required-headers):
38585 * lisp/gnus/nnheader.el (nnheader-max-head-length)
38586 (nnheader-head-chop-length, nnheader-file-name-translation-alist)
38587 (nnheader-directory-separator-character)
38588 (nnheader-pathname-coding-system):
38589 * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
38590 (nnmail-active-file-coding-system):
38591 * lisp/gnus/nnrss.el (nnrss-file-coding-system):
38592 * lisp/gnus/nntp.el (nntp-record-commands):
38593 * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
38594 (gnus-score-mode-hook, gnus-score-menu-hook):
38595 * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
38596 (rfc2047-allow-irregular-q-encoded-words)
38597 (rfc2047-allow-incomplete-encoded-text):
38598 * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
38599 * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
38600 * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
38601 * lisp/net/pop3.el (pop3-password):
38602 * lisp/play/animate.el (animate-n-steps):
38603 * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
38604 Convert from defvar with leading * to defcustom.
38607 * lisp/emulation/viper-init.el (viper-heading-end):
38608 * lisp/gnus/mm-url.el (mm-url-html-entities):
38609 * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
38610 * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
38611 * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
38613 * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
38614 (message-from-style, message-interactive, message-indentation-spaces)
38615 (message-signature, message-signature-file):
38616 Remove settings that match the defaults.
38617 (message-setup-hook, message-mode-hook, message-default-headers)
38618 (message-send-hook, message-send-mail-function):
38619 Just use setq rather than redefining.
38621 * lisp/gnus/nnrss.el (nnrss):
38622 * lisp/mail/rfc2047.el (rfc2047):
38623 * lisp/play/animate.el (animate): New custom groups.
38625 2016-06-09 Glenn Morris <rgm@gnu.org>
38627 Remove obsolete leading * from defcustom, defface doc strings.
38629 * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
38630 * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
38631 * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
38632 * lisp/cedet/semantic/decorate/include.el:
38633 * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
38634 * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
38635 * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
38636 * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
38637 * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
38638 * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
38639 * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
38640 * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
38641 * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
38642 * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
38643 * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
38644 * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
38645 * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
38646 * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
38647 * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
38648 * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
38649 * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
38650 * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
38651 * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
38652 * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
38653 * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
38654 * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
38655 Remove obsolete leading * from defcustom, defface doc strings.
38657 2016-06-09 Eli Zaretskii <eliz@gnu.org>
38659 Fix copying text properties by 'format'
38661 * src/editfns.c (styled_format): Fix copying text properties from
38662 the format specification to the produced string representation.
38666 * doc/lispref/strings.texi (Formatting Strings): Document that
38667 text properties from the format specifiers are also copied to the
38670 2016-06-09 Alan Mackenzie <acm@muc.de>
38672 Handle C++ raw strings.
38674 * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
38675 (c-depropertize-raw-strings-in-region,
38676 c-before-change-check-raw-strings)
38677 (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
38680 * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
38681 c-font-lock-raw-strings.
38682 (c-font-lock-raw-strings): New function.
38684 * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
38685 c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
38686 into the values for C, C++, and Objective C.
38687 (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
38690 * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
38691 (c-depropertize-CPP): New function, extracted from
38692 c-neutralize-syntax-in-and-mark-CPP.
38693 (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
38694 c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
38696 (c-after-change): Set c-old-BEG and c-old-END to the current values of
38697 c-new-BEG and c-new-END.
38699 2016-06-09 Daiki Ueno <ueno@gnu.org>
38701 epg: don't use obsolete function
38703 * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
38704 redundant configuration check, which is now done in
38705 `epg-make-context'.
38707 2016-06-09 Daiki Ueno <ueno@gnu.org>
38709 epg: don't start pinentry if it is useless
38711 * lisp/epg.el (epg--start): Don't start pinentry server if the
38712 session is non-interactive or pinentry-mode is set.
38714 2016-06-08 Paul Eggert <eggert@cs.ucla.edu>
38716 Replace IF_LINT by NONVOLATILE and UNINIT
38718 Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
38719 * .dir-locals.el (c-mode): Adjust to macro changes.
38720 * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
38721 (IF_LINT): Remove. All uses replaced by the new macros.
38723 2016-06-08 Michal Nazarewicz <mina86@mina86.com>
38725 Remove ‘ert-with-function-mocked’ macro in favour of ‘cl-letf’ macro
38727 * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
38728 in favour of ‘cl-letf’ macro which is more generic. All existing
38729 uses are migrated accordingly. The macro has not been included in
38730 an official release yet so it should be fine to delete it.
38732 2016-06-08 Glenn Morris <rgm@gnu.org>
38734 * test/lisp/emacs-lisp/package-tests.el
38735 (package-test-update-archives-async): Try re-enabling on hydra.
38737 2016-06-08 Paul Eggert <eggert@cs.ucla.edu>
38739 * src/fileio.c (auto_save_error): Omit unused local.
38741 2016-06-08 Paul Eggert <eggert@cs.ucla.edu>
38743 Simplify overflow check via INT_SUBTRACT_WRAPV
38745 * src/editfns.c (check_tm_member): Simplify integer overflow check.
38747 2016-06-07 Glenn Morris <rgm@gnu.org>
38749 Try to avoid hangs and stray procs in network-stream-tests. (Bug#23560)
38751 * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
38752 (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
38753 Ensure gnutls-serv process gets killed.
38754 (echo-server-nowait, connect-to-tls-ipv4-nowait):
38755 Limit the amount of time we might wait.
38757 2016-06-07 Glenn Morris <rgm@gnu.org>
38759 Reduce allout.el's pollution of the namespace.
38761 * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
38762 Keep old name as obsolete alias.
38763 (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
38764 (allout-solicit-char-in-string)
38765 (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
38766 Rename to add an "allout-" prefix.
38768 2016-06-07 Glenn Morris <rgm@gnu.org>
38770 * configure.ac (emacs_config_features): Add CANNOT_DUMP.
38772 2016-06-07 Glenn Morris <rgm@gnu.org>
38774 Misc small webjump updates.
38776 * lisp/net/webjump.el (webjump): Add custom group.
38777 (webjump-sample-sites): Make it a constant.
38778 Remove explicit, old list of GNU ftp mirrors.
38779 (webjump-state-to-postal-alist): Make it a constant.
38780 (webjump-sites): Make it a defcustom.
38781 (webjump-to-iwin): Update for changed remote service.
38783 2016-06-07 Glenn Morris <rgm@gnu.org>
38785 Do not hard-code port for package test server. (Bug#23708)
38787 * test/lisp/emacs-lisp/package-resources/package-test-server.py:
38788 Do not hard-code port.
38789 * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
38790 Update for the above change.
38792 2016-06-07 Tino Calancha <f92capac@gmail.com>
38794 * lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (Bug#23617)
38796 2016-06-07 Glenn Morris <rgm@gnu.org>
38798 * src/fileio.c (auto_save_error): Use display-warning. (Bug#23703)
38800 2016-06-07 Tino Calancha <f92capac@gmail.com>
38802 * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
38803 Fix non-file-visiting-buffer case. (Bug#22678)
38805 2016-06-07 Paul Eggert <eggert@cs.ucla.edu>
38807 Port --enable-gcc-warnings to clang 3.7.0
38809 * configure.ac: Add -Wno-tautological-compare to avoid bogus
38810 warnings about 0 <= rlim.rlim_max. Remove flags that no longer
38811 seem to be needed, at least in Fedora 23 x86-64.
38813 2016-06-07 Paul Eggert <eggert@cs.ucla.edu>
38815 Use __builtin_assume_aligned on untagged Lisp vals
38817 * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
38818 New macros, for compilers not already defining them.
38819 (__has_builtin___builtin_assume_aligned): New macro.
38820 * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
38821 This shrinks text space by 0.2% on x86-64 with GCC 6.1.
38823 2016-06-07 Glenn Morris <rgm@gnu.org>
38825 * lisp/help-fns.el (describe-function-1): Avoid reporting advised
38826 aliases as the type of their targets.
38828 2016-06-07 Tino Calancha <f92capac@gmail.com>
38830 * lisp/simple.el (process-menu-mode, list-processes--refresh):
38831 Include PID. (Bug#21725)
38833 2016-06-07 Paul Eggert <eggert@cs.ucla.edu>
38835 Merge from origin/emacs-25
38837 6e3adf8 Fix crash in syntax.c after GC
38838 973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
38839 9d5cceb Fix doc string quoting
38840 0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
38841 a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
38843 2016-06-07 Paul Eggert <eggert@cs.ucla.edu>
38845 Merge from origin/emacs-25
38847 604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
38848 20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
38849 a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
38850 07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
38852 2016-06-06 Paul Eggert <eggert@cs.ucla.edu>
38854 Use standard Unicode names for Thai, Lao
38856 * lisp/language/lao-util.el, lisp/language/thai-util.el:
38857 Don’t override standard Unicode character name (Bug#23698).
38859 2016-06-06 Glenn Morris <rgm@gnu.org>
38861 * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
38862 Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
38864 2016-06-06 Michael Albinus <michael.albinus@gmx.de>
38866 Some fixes in filenotify-tests.el for cygwin
38868 * test/lisp/filenotify-tests.el (file-notify--test-timeout):
38869 Reintroduce value for cygwin, it's needed on slow systems.
38870 (file-notify--wait-for-events): Move up definition.
38871 (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
38872 (file-notify--test-with-events-check, file-notify--test-with-events)
38873 (file-notify-test08-watched-file-in-watched-dir):
38874 Use :random rather than `random.
38875 (file-notify-test06-many-events): Do not skip for cygwin.
38877 2016-06-05 Juri Linkov <juri@linkov.net>
38879 * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
38881 If non-nil, operate on multiple chunks. (Bug#23655)
38883 * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
38885 2016-06-05 Juri Linkov <juri@linkov.net>
38887 * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
38889 to interactive spec to handle shift-selection. (Bug#23642)
38891 2016-06-05 Michael Albinus <michael.albinus@gmx.de>
38893 Improve robustness of filenotify-tests.el (Bug#23618)
38895 * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
38896 (file-notify--test-no-descriptors-explainer)
38897 (file-notify--test-cleanup-p): New defuns.
38898 (file-notify--test-cleanup): Don't check for
38899 `file-notify--test-event' anymore, that's done in
38900 `file-notify--test-no-descriptors'.
38901 (file-notify--test-with-events-check)
38902 (file-notify--test-with-events): Handle the `random' marker.
38903 (file-notify--test-with-events-explainer): Improve readability.
38904 (file-notify-test00-availability)
38905 (file-notify-test01-add-watch, file-notify-test02-events)
38906 (file-notify-test03-autorevert)
38907 (file-notify-test04-file-validity)
38908 (file-notify-test05-dir-validity)
38909 (file-notify-test06-many-events, file-notify-test07-backup)
38910 (file-notify-test08-watched-file-in-watched-dir)
38911 (file-notify-test09-sufficient-resources): Check also
38912 `file-notify--test-cleanup-p'.
38913 (file-notify-test04-file-validity)
38914 (file-notify-test05-dir-validity): Use `ignore' as handler.
38915 (file-notify-test05-dir-validity)
38916 (file-notify-test06-many-events): Delete directory finally.
38917 (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
38919 2016-06-05 Stephen Berman <stephen.berman@gmx.net>
38921 man.el: Fix links on hyphenated words (bug#23647)
38923 * lisp/man.el (Man-bgproc-sentinel): Make links work on
38926 2016-06-05 K. Handa <handa@gnu.org>
38928 Add category 'j' to more characters.
38930 * lisp/international/characters.el: Add category 'j' (Japanese)
38931 to characters in japanese-jisx0213.2004-1.
38933 2016-06-04 Tino Calancha <f92capac@gmail.com>
38935 isearch-edit-string resumes multi isearches
38937 * lisp/isearch.el (with-isearch-suspended): Remember and restore
38938 multi-isearch variables. (Bug#21663)
38940 2016-06-04 Eli Zaretskii <eliz@gnu.org>
38942 Fix Eshell display when RTL characters are involved
38944 * lisp/eshell/esh-mode.el (eshell-mode): Set
38945 'bidi-paragraph-direction' to 'left-to-right'. (Bug#23652)
38947 2016-06-02 Vincent Belaïche <vincentb1@users.sourceforge.net>
38949 Make ses-jump with completing input.
38951 * lisp/ses.el (ses-jump): Make symbol input completing against list of
38954 2016-06-01 Paul Eggert <eggert@cs.ucla.edu>
38956 Port angle-bracket TZ settings to MS-Windows
38958 * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
38959 lack of support for numeric time zone abbreviations.
38960 * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
38961 to MS-compatible syntax if possible, and to "ZZZ" otherwise.
38962 Problem reported by Kazuhiro Ito (Bug#23600).
38964 2016-06-01 Paul Eggert <eggert@cs.ucla.edu>
38966 Avoid delving into Git internals for version
38968 * lisp/loadup.el (exec-path): Set it to nil later, so that
38969 emacs-repository-get-version can invoke git commands in the PATH.
38970 * lisp/version.el (emacs-repository--version-git-1): Remove.
38971 (emacs-repository-get-version): Let Git do it rather than
38972 delving into Git internals.
38974 2016-06-01 Stefan Monnier <monnier@iro.umontreal.ca>
38976 * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
38978 2016-06-01 Paul Eggert <eggert@cs.ucla.edu>
38980 Fix emacs-repository-get-version with packed .git
38982 * lisp/version.el (emacs-repository-get-version):
38983 Parse .git/packed-refs if it exists.
38984 Problem reported by Martin Rudalics in:
38985 https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00554.html
38987 2016-06-01 Michael Albinus <michael.albinus@gmx.de>
38989 Minor change in tramp.texi
38991 * doc/misc/tramp.texi (Password handling): Do not discuss
38992 anymore how to get password-cache.el. It is bundled with
38995 2016-06-01 Alan Mackenzie <acm@muc.de>
38997 Correct fontification and indentation of C++'s "constexpr" expressions
38999 * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
39000 (c-modifier-kwds): Add "constexpr".
39002 2016-05-31 Ikumi Keita <ikumi@ikumi.que.jp>
39004 Cosmetic change to kinsoku-eol. (tiny change)
39006 * lisp/international/kinsoku.el (kinsoku-eol): Make the
39007 order of characters match with the comments.
39009 2016-05-31 Ikumi Keita <ikumi@ikumi.que.jp>
39011 Add HIRAGANA ITERATION MARK to japanese-kana-table. (tiny change)
39013 * lisp/language/japan-util.el (japanese-kana-table): Add an
39014 entry for HIRAGANA ITERATION MARK (U+309D).
39015 (japanese-alpha-numeric-table): Fix docstring.
39017 2016-05-31 K. Handa <handa@gnu.org>
39019 Fix incomplete handling of translation table in a coding system.
39021 * src/coding.c (get_translation): New arg NCHARS. Even if TRANS
39022 is an alist, return a character or a vector of character.
39023 (produce_chars): Adjust for the above change.
39024 (consume_chars): Likewise.
39026 2016-05-31 Michael Albinus <michael.albinus@gmx.de>
39028 Improve robustness for out-of-band copy in Tramp
39030 * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
39031 * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
39032 * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
39035 * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
39036 Use local `default-directory'. Simplify command to send.
39037 Don't check return code, this was already done in
39038 `tramp-process-actions'.
39039 (tramp-get-inline-coding): Don't set `default-directory'.
39041 * lisp/net/tramp.el (tramp-action-out-of-band):
39042 Throw `out-of-band-failed'.
39043 (tramp-process-actions): Handle `out-of-band-failed'.
39044 (tramp-call-process, tramp-call-process-region):
39045 Use local `default-directory'.
39047 2016-05-31 Paul Eggert <eggert@cs.ucla.edu>
39049 Merge from origin/emacs-25
39051 788c9b6 ; Spelling fix
39052 25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
39053 0992ec3 Correct cl-flet usage (Bug#22317)
39054 50caae3 Release MH-E manual version 8.6
39055 602bb40 Update MH-E's documentation about HTML renderers
39056 89018f0 Fx the we->the typo
39057 845ee57 Restore frames into the current display by default
39058 ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
39059 01c3cd1 etc/TODO: Remove out-of-place issue
39060 5e18486 Clarify doc string of 'file-name-sans-extension'
39061 bffda22 Fix the MSDOS build
39062 f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
39063 1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix. (Bug#23...
39064 f7ffc4b Fix infloop in 'number-sequence'
39065 4ab2673 ; Spelling and punctuation fixes in comments
39066 71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
39068 2016-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
39070 * lisp/emacs-lisp/autoload.el: Use radix-tree.
39072 (autoload--make-defs-autoload): Rewrite.
39073 (autoload--split-prefixes-1): Remove.
39074 (autoload-def-prefixes-max-entries): Rename from
39075 autoload-defs-autoload-max-size.
39076 (autoload-popular-prefixes): Remove.
39077 (autoload-def-prefixes-max-length): New const.
39079 * lisp/emacs-lisp/radix-tree.el: New file.
39081 2016-05-30 Ken Brown <kbrown@cornell.edu>
39083 * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
39085 2016-05-30 Paul Eggert <eggert@cs.ucla.edu>
39087 Omit IF_LINT code that no longer seems needed
39089 Nowadays GCC is smarter, or the Emacs code has mutated, or both,
39090 and now is as good a time as any to remove uses of IF_LINT that
39091 now seem to be unnecessary.
39092 * lib-src/emacsclient.c (set_local_socket):
39093 * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
39094 * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
39095 * src/casefiddle.c (casify_region):
39096 * src/charset.c (load_charset_map):
39097 * src/coding.c (decode_coding_object, encode_coding_object):
39098 * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
39099 (cons_to_unsigned, cons_to_signed):
39100 * src/frame.c (make_frame, x_set_frame_parameters):
39101 * src/keyboard.c (read_event_from_main_queue):
39102 * src/regex.c (regex_compile):
39103 * src/syntax.c (back_comment):
39104 * src/window.c (Frecenter):
39105 * src/xfaces.c (Fx_list_fonts):
39106 Remove IF_LINT that no longer seems necessary.
39107 * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
39108 * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
39109 a pragma dance to pacify GCC -Wclobbered.
39110 * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
39112 * src/xterm.c (x_connection_closed): Now _Noreturn, which should
39113 mean we do not need IF_LINT any more.
39114 (x_io_error_quitter): Now _Noreturn. Put an 'assume (false)’
39115 at the end, to forestall warnings from older compilers.
39117 2016-05-30 Paul Eggert <eggert@cs.ucla.edu>
39119 Port --enable-gcc-warnings to Cygwin, FreeBSD
39121 These platforms have a bug where _Noreturn is empty when 'lint' is
39122 defined. Problem reported by Ken Brown (Bug#23640).
39123 * configure.ac (GCC_LINT): Rename from 'lint'.
39124 * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
39126 2016-05-30 Paul Eggert <eggert@cs.ucla.edu>
39131 2016-05-30 Use GCC_LINT, not lint
39132 2016-05-29 secure_getenv: Port to many more platforms.
39133 * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
39134 * m4/secure_getenv.m4: Copy from gnulib.
39136 2016-05-30 Stefan Monnier <monnier@iro.umontreal.ca>
39138 * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
39140 * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
39142 2016-05-30 Ken Brown <kbrown@cornell.edu>
39144 * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
39146 2016-05-30 Michael Albinus <michael.albinus@gmx.de>
39148 Fix Bug#23631 for Tramp
39150 * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
39151 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
39152 * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
39153 Fix caching problems.
39155 * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
39157 * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
39158 Move duplicate deletion ...
39159 (tramp-smb-handle-file-name-all-completions): ... here.
39161 * lisp/net/tramp.el (tramp-handle-file-name-completion):
39162 Handle `completion-ignored-extensions'. (Bug#23631)
39164 * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
39165 Test also `completion-regexp-list' and `completion-ignored-extensions'.
39167 2016-05-29 Stefan Monnier <monnier@iro.umontreal.ca>
39169 * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
39171 * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
39173 2016-05-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
39175 Fix up remainder of the mml property change
39177 * lisp/gnus/message.el (message-send-mail): Use the renamed
39178 mml-buffer-substring-no-properties-except-some function.
39179 (message-send-news): Ditto.
39181 2016-05-29 Lars Ingebrigtsen <larsi@gnus.org>
39183 Allow preserving EXIF rotations when sending HTML messages
39185 * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
39186 rotation if you have exiftool installed and the image format
39188 (mml-expand-html-into-multipart-related): Use it.
39189 (mml-buffer-substring-no-properties-except-some): Renamed and
39190 copy display properties, too.
39192 2016-05-29 Lars Ingebrigtsen <larsi@gnus.org>
39194 Make message-toggle-image-thumbnails work better
39196 * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
39197 `insert-image' instead of `put-image' to make it possible to
39198 edit the resulting text in a sensible manner.
39200 2016-05-29 Alan Mackenzie <acm@muc.de>
39202 Rationalize the use of c-new-BEG and c-new-END in CC Mode.
39204 Remove the now redundant c-old-BOM and c-old-EOM.
39206 * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
39208 (c-macro-cache-no-comment): New variable.
39209 (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
39210 the new c-macro-cache-no-comment.
39211 (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
39212 (c-no-comment-end-of-macro): New function.
39214 * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
39215 c-extend-font-lock-region-for-macros to C/C++/ObjC value.
39217 * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
39218 (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
39220 (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
39221 a cons for the new region, since the function is now called as an after-change
39222 function. No longer adjust c-new-END for the length of inserted/deleted
39223 text. Move the size restrictions on macros to here from
39224 c-neutralize-syntax-in-and-mark-CPP.
39225 (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
39226 Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
39227 upper boundary to "neutralize" syntactically obtrusive characters.
39228 (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
39231 2016-05-28 Ken Brown <kbrown@cornell.edu>
39233 Avoid compiler warnings
39235 * src/cygw32.c (chdir_to_default_directory): Use "void" as
39236 argument list. Use SSDATA instead of SDATA.
39238 * src/unexcw.c (fixup_executable): Use %td as format specifier for
39239 argument of type ptrdiff_t. Use %zu for argument of type size_t.
39241 2016-05-28 Eli Zaretskii <eliz@gnu.org>
39243 Fix 'next-line' and 'previous-line' during keyboard macro
39245 * lisp/simple.el (line-move-visual): Handle the case when point
39246 moves outside of the visible portion of the buffer while executing
39247 a keyboard macro. (Bug#13452) (Bug#23551) (Bug#23555)
39249 2016-05-28 Alan Mackenzie <acm@muc.de>
39251 C++ Mode: attribute in class declaration fouls up indentation. Fix!
39253 * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
39254 back over noise clauses and attribute clauses.
39256 * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
39258 2016-05-28 Ken Olum <kdo@cosmos.phy.tufts.edu>
39260 Prevent locked-file errors in Rmail
39262 * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
39263 calling 'rmail-insert-inbox-text'. Unlock if
39264 'rmail-insert-inbox-text' doesn't modify buffer.
39265 (rmail-insert-inbox-text): Remove lock-checking code. (Bug#17706)
39267 2016-05-28 Michael Albinus <michael.albinus@gmx.de>
39269 Sync with Tramp repository.
39271 * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
39272 * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
39273 * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
39274 Create BUFFER if it doesn't exist. Reported by Nikolay
39275 Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
39277 * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
39278 (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
39279 (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
39280 (tramp-gvfs-get-directory-attributes)
39281 (tramp-gvfs-get-root-attributes)
39282 (tramp-gvfs-get-file-attributes): New defun.
39283 (tramp-gvfs-handle-file-attributes)
39284 (tramp-gvfs-handle-file-name-all-completions): Use them.
39285 (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
39286 (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
39287 (tramp-gvfs-send-command): Add locale settings to `process-environment'.
39288 (top): Suppress D-Bus error messages during zeroconf initialization.
39290 * lisp/net/tramp.el (tramp-unknown-id-string)
39291 (tramp-unknown-id-integer): New defconst.
39292 (tramp-check-cached-permissions)
39293 * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
39294 * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
39295 (tramp-convert-file-attributes, tramp-get-remote-uid)
39296 (tramp-get-remote-gid): Use them.
39298 * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
39299 Rename from `tramp-color-escape-sequence-regexp'.
39300 (tramp-sh-handle-insert-directory)
39301 (tramp-convert-file-attributes): Adapt callees.
39302 (tramp-device-escape-sequence-regexp): New defconst.
39303 (tramp-wait-for-output): Use it. Reported by Matthías Páll
39304 Gissurarson <icetritlo@gmail.com>.
39306 * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
39309 * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
39310 (tramp-test28-shell-command):
39311 Use `tramp-display-escape-sequence-regexp'.
39313 2016-05-27 Paul Eggert <eggert@cs.ucla.edu>
39315 Don’t document declare-function internals
39317 Suggested by Stefan Monnier in:
39318 https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00618.html
39319 * doc/lispref/functions.texi (Declaring Functions):
39320 * lisp/subr.el (declare-function):
39321 * lisp/emacs-lisp/bytecomp.el:
39322 (byte-compile-macroexpand-declare-function):
39323 Document as (fn file &optional arglist fileonly)
39324 even though it is really (fn file &rest args).
39326 2016-05-27 Paul Eggert <eggert@cs.ucla.edu>
39328 * src/puresize.h (BASE_PURESIZE): Increase it some more.
39330 2016-05-27 Glenn Morris <rgm@gnu.org>
39332 * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
39334 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
39335 avoid build failure.
39337 2016-05-27 Paul Eggert <eggert@cs.ucla.edu>
39339 Port to platforms where rlim_max < 0
39341 * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
39342 this can happen if a special value like RLIM_INFINITY is negative.
39344 2016-05-27 Paul Eggert <eggert@cs.ucla.edu>
39346 Robustify stack-size calculation
39348 * src/emacs.c: Include getpagesize.h.
39349 (main): Check for integer overflow when computing stack size.
39350 Round new rlim_cur to pagesize boundary on all platforms, as this
39351 is easy and would have prevented Bug#23622. If setrlimit
39352 fails, use current limit to determine re_max_failures.
39354 2016-05-27 Ken Brown <kbrown@cornell.edu>
39356 Adjust filenotify-tests on Cygwin
39358 * test/lisp/filenotify-tests.el (file-notify--test-timeout):
39359 Remove special case for Cygwin.
39360 (file-notify-test07-backup): Update expected results on Cygwin.
39362 2016-05-27 Paul Eggert <eggert@cs.ucla.edu>
39364 Improve define-function omitted-arg documentation
39366 * doc/lispref/functions.texi (Declaring Functions):
39367 * lisp/subr.el (declare-function):
39368 Be clearer when documenting omitted args for define-function.
39370 2016-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
39372 * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
39374 2016-05-27 Stefan Monnier <monnier@iro.umontreal.ca>
39376 * lisp/subr.el (definition-prefixes): Expand docstring
39378 * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
39379 Remove unused function.
39381 2016-05-27 Phillip Lord <phillip.lord@russet.org.uk>
39383 Fix broken viper deactivation
39385 * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
39386 args to advice-remove.
39387 (viper--advice-add): Use cons not list.
39389 Addresses bug#23625
39391 2016-05-27 Mark Oteiza <mvoteiza@udel.edu>
39393 Preserve buffer point in windows by default (Bug#4041).
39395 * doc/lispref/windows.texi: Mention new default.
39396 * etc/NEWS: Mention new default.
39397 * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
39399 2016-05-26 Paul Eggert <eggert@cs.ucla.edu>
39401 Fix byte-compiler pacification for declare-function
39403 Problem reported by Michael Heerdegen in:
39404 https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00590.html
39405 * lisp/emacs-lisp/bytecomp.el:
39406 (byte-compile-macroexpand-declare-function):
39407 Revert signature to previous value.
39408 * lisp/subr.el (declare-function): Change signature to
39409 match the reverted signature used in the byte compiler.
39411 2016-05-26 Paul Eggert <eggert@cs.ucla.edu>
39415 This fixes Bug#23611 in a different (and presumably better) way.
39416 * doc/misc/texinfo.tex: Update from gnulib.
39418 2016-05-26 Paul Eggert <eggert@cs.ucla.edu>
39420 Pacify 'make check-declare'
39422 2016-05-26 Paul Eggert <eggert@cs.ucla.edu>
39424 Repair damage from emacs-25 merge
39426 * test/lisp/character-fold-tests.el:
39427 Remove, as it was renamed to test/lisp/char-fold-tests.el.
39428 * test/lisp/emulation/viper-tests.el:
39429 Rename from test/automated/viper-tests.el.
39431 2016-05-26 Paul Eggert <eggert@cs.ucla.edu>
39433 Merge from origin/emacs-25
39435 c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
39436 a4d882c Correct old cell name unbinding when renaming cell.
39437 6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
39438 0be6725 Document problem: slow screen refresh on missing font.
39439 853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
39440 5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
39441 3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
39442 42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
39443 3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
39444 897fb6f ; 'Changes from the pre-25.1 API' copyedits
39445 825ca25 Rename vc-stay-local back to vc-cvs-stay-local
39446 4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
39447 b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
39448 2e589c0 Fix cross-references between manuals
39449 f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
39450 906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
39451 bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
39452 503e752 ; * CONTRIBUTE: Fix a typo.
39453 fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
39454 bdfbe6d ; * admin/release-process: Copyedits.
39455 44a6aed ; * test/automated/data-tests.el: Standardize license notice.
39456 c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
39457 df4a14b Add automated test for viper-tests.el
39458 c0139e3 Fix viper undo breakage from undo-boundary changes
39459 920d76c Fix reference to obsolete fn ps-eval-switch
39460 18a9bc1 Do not trash symlinks to init file
39461 2671179 Don't print the "decomposition" line for control chars in wha...
39462 869092c Bring back xterm pasting with middle mouse
39463 5ab0830 Provide workaround for xftfont rendering problem
39464 c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
39465 30989a0 Mention GTK+ problems in etc/PROBLEMS
39466 421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
39467 dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
39468 e41a5cb Avoid errors with Czech and Slovak input methods
39469 d4ae6d7 epg: Add a way to detect gpg1 executable for tests
39470 ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
39471 6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
39472 c45d9f6 Improve documentation of 'server-name'
39473 3b5e38c Modernize ASLR advice in etc/PROBLEMS
39474 1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
39476 2016-05-26 Eli Zaretskii <eliz@gnu.org>
39478 Avoid byte-compiler warnings due to 'declare-function'
39480 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
39481 (w32-get-valid-locale-ids):
39482 * lisp/progmodes/js.el (ido-mode): Specify arglist in
39483 'declare-function' forms, to avoid byte-compiler warnings.
39485 2016-05-26 Glenn Morris <rgm@gnu.org>
39487 * lisp/info.el (Info-default-directory-list): Don't check /share,info.
39489 No-one puts info pages there. If /share does exist, it's likely to
39490 contain remote file systems where access could be slow.
39492 2016-05-26 Paul Eggert <eggert@cs.ucla.edu>
39494 Merge from origin/emacs-25
39496 2d76405 etc/AUTHORS: Update the AUTHORS file
39498 2016-05-26 Paul Eggert <eggert@cs.ucla.edu>
39500 Merge from origin/emacs-25
39502 06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
39504 2016-05-26 Paul Eggert <eggert@cs.ucla.edu>
39506 Merge from origin/emacs-25
39508 939eb75 Fix bug in default setting of 'ps-paper-type'
39510 2016-05-26 Glenn Morris <rgm@gnu.org>
39512 * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
39514 2016-05-26 Michael Albinus <michael.albinus@gmx.de>
39518 * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
39519 Let-bind `process-coding-system-alist' in order to suppress
39520 the value for "cmdproxy".
39522 * lisp/net/tramp.el (tramp-encoding-shell):
39523 `w32-shell-name' is a function.
39524 (tramp-encoding-command-switch)
39525 (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
39527 * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
39528 Suppress some tests on MS Windows. (Bug#23614)
39530 2016-05-26 Stephen Berman <stephen.berman@gmx.net>
39532 hl-line.el: Fix flickering of highlighted line (bug#23510)
39534 * lisp/hl-line.el (hl-line-maybe-unhighlight)
39535 (global-hl-line-highlight-all)
39536 (global-hl-line-maybe-unhighlight): New functions.
39537 (hl-line-overlay-buffer): New variable.
39538 (hl-line-mode): Use it. Replace hl-line-unhighlight on
39539 pre-command-hook by hl-line-maybe-unhighlight on
39540 post-command-hook, to prevent hl-line from flickering.
39541 Adjust document string.
39542 (global-hl-line-mode): Use global-hl-line-highlight-all to
39543 simultaneously highlight the current line in all live windows.
39544 Replace global-hl-line-unhighlight on pre-command-hook by
39545 global-hl-line-maybe-unhighlight on post-command-hook, to
39546 prevent global-hl-line from flickering. Remove
39547 global-hl-line-unhighlight from change-major-mode-hook on
39548 disabling the mode. Adjust document string.
39550 2016-05-25 Stefan Monnier <monnier@iro.umontreal.ca>
39552 Make autoloads populate a new definition-prefixes table
39554 * lisp/subr.el (definition-prefixes): New hash table.
39555 (register-definition-prefixes): New function.
39557 * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
39558 (autoload--split-prefixes-1, autoload--split-prefixes)
39559 (autoload--make-defs-autoload): New functions.
39560 (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
39561 (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
39562 (update-directory-autoloads): Don't touch loaddefs.el if the set of
39563 autoloads hasn't changed (i.e. if only the timestamp would change).
39565 * lisp/loadup.el: Purify definition-prefixes.
39567 * lisp/w32-fns.el: Keep name space clean.
39568 (w32-set-default-process-coding-system): Rename from
39569 set-default-process-coding-system.
39570 (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
39572 2016-05-24 Ken Brown <kbrown@cornell.edu>
39574 Allow network-stream-tests to work for out-of-tree builds
39576 * test/lisp/net/network-stream-tests.el
39577 (network-stream-tests--datadir): New defconst.
39578 (make-tls-server): Use it.
39580 2016-05-24 Ken Brown <kbrown@cornell.edu>
39582 Fix failing echo-server-nowait test
39584 * test/lisp/net/network-stream-tests.el (echo-server-nowait):
39585 Specify IPv4 for the client, to match the family of the server.
39588 2016-05-24 Ken Brown <kbrown@cornell.edu>
39590 Allow shr-tests to work for out-of-tree builds
39592 * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
39593 (shr-test, rendering): Use it.
39595 2016-05-24 Ken Brown <kbrown@cornell.edu>
39597 Update allowable arguments for open-network-stream
39599 * src/coding.c (Ffind_operation_coding_system): Allow t as a
39600 target for open-network-stream. (Bug #23540)
39602 2016-05-24 Dmitry Gutov <dgutov@yandex.ru>
39604 Make js-mode's syntax highlighting work again
39606 * lisp/progmodes/js.el (js-mode): Fix the assigned
39607 font-lock-defaults value (bug#23603).
39609 2016-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
39611 * lisp/progmodes/cc-mode.el: Add minor comments
39613 (c-change-expand-fl-region): Mark args as unused.
39615 2016-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
39617 * lisp/url/url-http.el: Use lexical-binding
39619 (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
39620 (url-http-wait-for-headers-change-function): Remove unused var
39622 (url-http): Remove unused vars `host' and `port'.
39624 2016-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
39626 * lisp/widget.el (define-widget): Use `declare' (which does work now).
39628 (widget-plist-member): Mark as obsolete.
39630 2016-05-23 Stefan Monnier <monnier@iro.umontreal.ca>
39632 * lisp/image.el: Use lexical-binding
39634 (image-scaling-factor, imagemagick-types-inhibit)
39635 (imagemagick-enabled-types): Remove redundant :group.
39636 (image--get-image): Apply de-Morgan and use car-safe.
39637 (image-compute-scaling-factor): Use the argument.
39639 2016-05-23 Glenn Morris <rgm@gnu.org>
39641 * lisp/image.el (image--get-image): Remove nonsensical code.
39643 * lisp/image.el (image--get-image): Avoid requiring a library for
39644 one trivial operation.
39646 2016-05-23 Paul Eggert <eggert@cs.ucla.edu>
39648 Don’t use only last protocol from getaddrinfo
39650 Problem reported by Ken Brown in:
39651 https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00483.html
39652 * src/process.c (conv_addrinfo_to_lisp): New function.
39653 (connect_network_socket): Arg is now a list of addrinfos, not
39654 merely IP addresses. All uses changed. Use protocol from
39656 (Fmake_network_process): Accumulate protocols into addrinfos
39657 rather than just using the last one found.
39658 (check_for_dns): Accumulate protocols here, too.
39659 * src/process.h (struct Lisp_Process): Remove ai_protocol;
39662 2016-05-23 Paul Eggert <eggert@cs.ucla.edu>
39664 Fix seq requirement that broke bootstrap
39666 * lisp/image.el (image--get-image): Require seq here, not at the
39667 top level, to avoid ‘(require seq) while preparing to dump’ while
39668 bootstrapping. Suggested by Tino Calancha in:
39669 https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00477.html
39671 2016-05-22 Nicolas Petton <nicolas@petton.fr>
39673 Add missing dependencies to seq.el
39675 * lisp/emacs-lisp/find-func.el:
39677 * lisp/image.el: Require seq.
39679 2016-05-22 Alp Aker <alp@food52.com>
39681 * src/process.c (SOCK_NONBLOCK): Fix typo.
39683 2016-05-22 Etienne Prud’homme <e.e.f.prudhomme@gmail.com>
39685 Add completion of colors in CSS mode
39687 * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
39688 from "CSS Color Module Level 3".
39690 * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
39693 2016-05-21 Paul Eggert <eggert@cs.ucla.edu>
39695 Prefer SOCK_NONBLOCK to O_NONBLOCK
39697 * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
39698 (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
39699 avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works. Put the
39700 SOCK_DGRAM check a bit later, to keep the logic cleaner, as
39701 the order does not matter here.
39703 2016-05-21 Alan Third <alan@idiocy.org>
39705 Fix bug#16856, cursor leaves garbage in fringe on OS X.
39707 * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
39708 being drawn outside the text area.
39710 2016-05-21 Eli Zaretskii <eliz@gnu.org>
39712 Fix compiler warnings in the MinGW build
39714 * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
39715 -Wno-pointer-sign, to keep the noise level down.
39717 * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
39718 -Wredundant-decls, as that produces a lot of noise due to
39719 redeclaration of time-related functions by gnulib.
39720 * nt/runemacs.c (set_user_model_id): Fix argument type of
39721 'SetCurrentProcessExplicitAppUserModelID'.
39723 * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
39724 declare 'dpyinfo', as it is unused.
39725 (xpm_load): Fix warnings about pointer signedness.
39726 * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
39728 (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
39729 (sys_select): Provide prototype.
39730 (g_b_init_compare_string_w): Move declaration to file scope.
39731 * src/w32heap.c (dumped_data_commit): Now static.
39732 (FREEABLE_P): Avoid warnings about pointer comparison with integer.
39733 (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
39734 * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
39735 (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
39736 Provide prototypes.
39737 * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
39738 redundant prototypes.
39739 (w32_get_internal_run_time, map_w32_filename): Provide prototype.
39740 (init_environment, sys_ctime): Avoid warnings about discarding
39743 (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
39744 (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
39745 (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
39747 (sys_rename_replace): Use %d to avoid compiler warnings.
39748 (_wsa_errlist): Make the message text 'const char *', to avoid
39749 compilation warnings.
39750 (dynlib_reset_last_error): Move prototype to file scope.
39751 (w32_get_resource): First argument is now 'const char *'.
39752 * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
39753 (otf_features): Second argument is no 'const char *'.
39754 * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
39755 (x_set_window_size): Remove redundant prototypes.
39756 (XChangeGC, XGetGCValues, w32_draw_underwave)
39757 (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
39758 (x_calc_absolute_position, x_destroy_window): Now static.
39759 (menubar_selection_callback): Move prototype to file scope.
39760 * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
39762 (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
39763 (w32font_full_name): Fix warnings about implicit conversion of
39764 'float' to 'double'.
39765 * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
39766 discarding 'const' qualifier.
39767 * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
39768 (set_frame_menubar): Remove redundant prototypes.
39769 (menubar_selection_callback, w32_menu_display_help): Provide
39771 (simple_dialog_show): Avoid warnings about discarding 'const'
39773 * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
39774 (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
39775 (x_set_tool_bar_lines, x_set_internal_border_width): Remove
39776 redundant prototypes.
39777 (current_popup_menu): Remove redundant declaration.
39778 (colormap_t): Member 'name' is now 'const char *'.
39779 (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
39780 (x_decode_color, x_set_border_pixel)
39781 (x_clear_under_internal_border, x_set_name, hook_w32_key)
39782 (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
39784 (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
39785 (w32_msg_worker, w32_last_error): Provide prototypes.
39786 (funhook, lookup_vk_code): Avoid warnings about missing
39788 (x_default_font_parameter, Fw32_notification_notify): Avoid
39789 warnings about discarding 'const' qualifier.
39790 (Fx_create_frame): Avoid warnings about empty body of 'else'.
39791 (x_screen_planes): Ifdef away unused function.
39792 (Fx_show_tip): Remove unused variables.
39793 (Fw32_battery_status): Avoid warnings about implicit promotion
39794 from float to double.
39795 (Fw32_notification_notify): Initialize 'timeout'.
39796 * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
39797 define the TIMER_SETTIME_RUNNING value if it will be used.
39798 * src/w32notify.c (send_notifications): Ifdef away an empty if
39799 clause. Remove unused variable.
39800 (watch_end, watch_completion): Provide prototypes.
39801 * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
39802 * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
39803 warning with pointer signedness.
39804 * src/gnutls.c (gnutls_x509_crt_get_signature)
39805 (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
39806 don't load them from the GnuTLS library, as they are no longer
39808 * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
39809 define, as it's unused.
39810 * src/unexw32.c (open_input_file, open_output_file)
39811 (close_file_data): Remove redundant prototypes.
39812 (_start): provide prototype.
39813 (mainCRTStartup): Move prototype to file level.
39814 (find_section): Use type-cast to shut up compiler warnings.
39815 (offset_to_section, relocate_offset): Now static.
39816 (find_section): First argument is now a 'const char *'.
39817 (offset_to_section): Ifdef away, as it's unused.
39818 * src/w32heap.h (find_section): Adjust prototype.
39819 * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
39820 * src/dired.c (directory_files_internal_w32_unwind): Avoid
39821 warnings about missing prototypes.
39822 (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
39823 (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
39825 * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
39826 Fix warnings about pointer signedness.
39827 * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
39829 * src/sysdep.c (_getpid): Remove redundant prototype.
39830 (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
39831 [!MSDOS]: Don't define 'st', it's unused.
39832 (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
39833 (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
39834 * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
39835 n_to_read, as it is not used.
39836 (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
39837 * src/w32font.h (syms_of_w32font): Remove redundant prototype.
39838 * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
39839 * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
39840 not used by DOS_NT builds, to avoid compiler warnings.
39841 * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
39843 * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
39844 up compiler warnings.
39845 * src/w32term.h (x_set_window_size, x_get_focus_frame)
39846 (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
39847 (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
39848 (x_free_frame_resources, x_real_positions)
39849 (display_x_get_resource): Remove redundant prototypes.
39851 * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
39852 (sys_rename, gettimeofday): Provide prototypes.
39853 * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
39855 * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
39856 (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
39857 (close_winsock, initialize_sockets, w32_set_user_model_id)
39858 (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
39860 (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
39862 (w32_set_user_model_id): Update prototype of
39863 SetCurrentProcessExplicitAppUserModelID to avoid compiler
39865 (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
39866 shut up compiler warnings.
39867 * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
39869 2016-05-21 Eli Zaretskii <eliz@gnu.org>
39871 Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
39873 * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
39874 wrap on a whitespace character if it's followed by another
39875 whitespace character. When returning under WORD_WRAP for a screen
39876 line that is continued, restore to wrap point when atpos/atx
39877 position would be displayed on the next screen line due to
39878 line-wrap. (Bug#23570)
39880 2016-05-21 Puneeth Chaganti <punchagan@muse-amuse.in>
39882 * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns. (Bug#23589)
39884 2016-05-20 Andrew Hyatt <ahyatt@gmail.com>
39886 Added tests for dos unibyte decoding.
39888 The underlying bug was previously fixed by Eli Zaretskii in commit
39889 c8109d9c4057d8cac79e2c139758cadd410e7446.
39891 2016-05-20 Philipp Stephani <phst@google.com>
39893 Fix handling of ‘mouse-on-link-p’.
39895 If ‘mouse-on-link-p’ returns a string or vector, the first element
39896 is to be used as new event. Translation to ‘mouse-2’ should only
39897 happen if the return value is not a string or vector. See
39898 docstring of ‘mouse-on-link-p’ and Bug#23288.
39900 * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
39901 value of ‘mouse-on-link-p’ according to documentation.
39903 * test/lisp/mouse-tests.el (bug23288-use-return-value)
39904 (bug23288-translate-to-mouse-2): Tests for Bug#23288.
39906 2016-05-20 Daiki Ueno <ueno@gnu.org>
39908 epg: Add a way to detect gpg1 executable for tests
39912 * test/automated/epg-tests.el
39913 (epg-tests-program-alist-for-passphrase-callback): New
39915 (epg-tests-find-usable-gpg-configuration): New function,
39916 renamed from `epg-tests-gpg-usable'. All callers changed.
39917 (epg-tests-gpg-usable): Remove.
39919 * lisp/epg-config.el (epg-config--program-alist): Factor out
39920 constructor element to...
39921 (epg-config--configuration-constructor-alist): ...here.
39922 (epg-find-configuration): Rename FORCE argument to NO-CACHE,
39923 and add PROGRAM-ALIST argument.
39925 2016-05-19 Mark Oteiza <mvoteiza@udel.edu>
39927 Put point at beginning of display-time-world buffer.
39929 If display-time-world decides to popup vertically from the bottom of the
39930 frame and scroll-margin is nonzero, the top of the buffer contents are
39931 hidden due to scroll.
39932 * lisp/time.el (display-time-world-display): Move point to point-min
39933 after inserting contents.
39935 2016-05-19 Paul Eggert <eggert@cs.ucla.edu>
39937 Allow null entries in face and image cache
39939 Problem reported by Tino Calancha (Bug#23580).
39940 * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
39941 Don’t assume that the result is non-null.
39942 * src/xdisp.c (fill_image_glyph_string):
39943 Restore check that image pointer is non-null.
39945 2016-05-19 Paul Eggert <eggert@cs.ucla.edu>
39947 Fix flyspell highlighting
39949 Problem reported by Jim Meyering (Bug#23575).
39950 * src/xdisp.c (extend_face_to_end_of_line):
39951 Fix typo in previous change.
39953 2016-05-18 Eli Zaretskii <eliz@gnu.org>
39955 * lisp/server.el (server-name): Add autoload cookie. (Bug#23576)
39957 2016-05-18 Sam Steingold <sds@gnu.org>
39959 python-describe-at-point: add and bind
39961 2016-05-18 Paul Eggert <eggert@cs.ucla.edu>
39963 ‘make check-declare’ now chatters less
39965 * etc/NEWS: Document this.
39966 * lisp/emacs-lisp/check-declare.el (check-declare-locate):
39967 Return relative names, not absolute.
39968 (check-declare-scan, check-declare-verify, check-declare-warn)
39969 (check-declare-file, check-declare-directory):
39970 Generate less chatter. Use relative file names rather than
39971 absolute. Don’t give up on computing a good file name for a
39972 diagnostic merely because the function name was bad. Make
39973 malformed declarations more noticeable. Don’t warn about
39974 "ext:..." declarations if check-declare-ext-errors is nil.
39975 (check-declare-errmsg): Remove.
39976 (check-declare-warn): New optional arg LINE.
39977 (check-declare-files): Put status into mode line rather than
39980 2016-05-18 Paul Eggert <eggert@cs.ucla.edu>
39982 Pacify byte-compiler for byte-compile-macroexpand-declare-function
39984 * lisp/emacs-lisp/bytecomp.el: Change signature of
39985 byte-compile-macroexpand-declare-function to match that of
39988 2016-05-18 Paul Eggert <eggert@cs.ucla.edu>
39990 Pacify byte-compiler for with-wrapper-hook
39992 * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
39993 New macro, split out from with-wrapper-hook.
39994 * lisp/abbrev.el (abbrev--default-expand):
39995 * lisp/minibuffer.el (completion--in-region):
39996 * lisp/simple.el (buffer-substring--filter):
39997 * lisp/subr.el (with-wrapper-hook):
40000 2016-05-18 Paul Eggert <eggert@cs.ucla.edu>
40002 Pacify byte-compiler in lisp/url
40004 * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
40007 2016-05-18 Paul Eggert <eggert@cs.ucla.edu>
40009 Port --enable-gcc-warnings to GCC 6.1
40011 * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
40012 * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
40013 Omit test whether pointer plus a constant equals a null pointer.
40014 * src/alloc.c (compact_small_strings):
40015 Avoid pointer arithmetic on null pointers.
40016 * src/alloc.c (mark_face_cache):
40017 * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
40018 * src/fringe.c (draw_fringe_bitmap_1)
40019 (Fset_fringe_bitmap_face):
40020 * src/macfont.m (macfont_draw):
40021 * src/msdos.c (IT_set_face, IT_clear_screen):
40022 * src/nsfont.m (nsfont_draw):
40023 * src/nsterm.h (FRAME_DEFAULT_FACE):
40024 * src/nsterm.m (ns_draw_window_cursor)
40025 (ns_draw_vertical_window_border, ns_draw_window_divider)
40026 (ns_dumpglyphs_box_or_relief)
40027 (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
40028 (ns_dumpglyphs_stretch):
40029 * src/w32term.c (w32_draw_vertical_window_border)
40030 (w32_draw_window_divider, x_set_mouse_face_gc):
40031 * src/xdisp.c (estimate_mode_line_height, init_iterator)
40032 (handle_face_prop, handle_single_display_spec, pop_it)
40033 (CHAR_COMPOSED_P, get_next_display_element)
40034 (next_element_from_display_vector, extend_face_to_end_of_line)
40035 (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
40036 * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
40037 (lookup_named_face):
40038 * src/xterm.c (x_draw_vertical_window_border)
40039 (x_draw_window_divider, x_set_mouse_face_gc):
40040 Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
40041 * src/xterm.c (try_window_id):
40042 Redo loop to convince GCC 6.1 that it is null pointer safe.
40044 Use eassume as necessary to pacify GCC 6.1.
40045 * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
40046 (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
40047 behavior of the non-_OPT macro, to be used when the result
40048 might be a null pointer.
40049 * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
40050 [HAVE_WINDOW_SYSTEM]:
40051 * src/intervals.h (INTERVAL_WRITABLE_P):
40052 * src/term.c (turn_off_face):
40053 * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
40054 (produce_image_glyph, produce_xwidget_glyph):
40055 * src/xfaces.c (lookup_named_face):
40056 Remove unnecessary test for null pointer.
40057 * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
40058 * src/process.c (would_block): New function.
40059 (server_accept_connection, wait_reading_process_output, send_process):
40061 * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
40062 Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
40065 2016-05-18 Paul Eggert <eggert@cs.ucla.edu>
40070 2016-05-17 manywarnings: update for GCC 6.1
40071 2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
40072 * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
40074 2016-05-16 Glenn Morris <rgm@gnu.org>
40076 * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
40077 Include more details on hydra.
40079 2016-05-16 Alan Mackenzie <acm@muc.de>
40081 Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
40083 2016-05-16 Alan Mackenzie <acm@muc.de>
40085 Fix spurious fontification of "for (; a * b;)" in CC Mode.
40087 This fixes bug #7918 (again).
40089 * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
40090 (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
40091 cons cell - additionally, return a flag indicating whether the declaration
40092 parsed might have been an expression, and the position of the type identifier
40093 in the said declaration.
40095 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
40096 c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
40097 check for it being a spurious declaration in a "for" statement.
40099 2016-05-14 Paul Eggert <eggert@cs.ucla.edu>
40101 Pacify ‘make check-declare’
40103 * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
40104 (data-debug-insert-stuff-list, data-debug-insert-thing):
40105 * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
40106 (viper-change-state-to-emacs):
40107 * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
40108 * lisp/org/ob-asymptote.el (orgtbl-to-generic):
40109 * lisp/org/ob-awk.el (orgtbl-to-generic):
40110 * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
40111 * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
40112 * lisp/org/ob-exp.el (org-element-context):
40113 * lisp/org/ob-gnuplot.el (org-time-string-to-time)
40114 (orgtbl-to-generic):
40115 * lisp/org/ob-haskell.el (org-export-to-file):
40116 * lisp/org/ob-latex.el (org-create-formula-image)
40117 (org-latex-compile):
40118 * lisp/org/ob-python.el (run-python):
40119 * lisp/org/ob-sh.el (orgtbl-to-generic):
40120 * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
40121 * lisp/org/org-colview.el (org-agenda-redo):
40122 * lisp/org/org-feed.el (url-retrieve-synchronously):
40123 * lisp/org/org-info.el (Info-find-node):
40124 * lisp/org/org-list.el (org-previous-line-empty-p):
40125 * lisp/org/org-macs.el (org-string-match-p):
40126 * lisp/org/org.el (org-beamer-mode):
40127 Fix prototype to match current definition.
40128 * lisp/emacs-lisp/advice.el (function-called-at-point):
40129 * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
40131 * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
40132 Insert ,' to pacify check-declare.
40133 * lisp/org/ob-comint.el (tramp-flush-directory-property):
40134 * lisp/org/ob-tangle.el (org-babel-update-block-body):
40135 * lisp/org/org-bibtex.el (org-babel-trim):
40136 * lisp/org/org-pcomplete.el (org-export-backend-options):
40137 * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
40138 Fix file name in declare-function.
40139 * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
40140 * lisp/org/ob-core.el (with-parsed-tramp-file-name):
40141 * lisp/org/org.el (org-beamer-mode):
40142 * lisp/url/url-http.el (gnutls-negotiate):
40143 Append ‘t’ to declare-function, since the declaration isn’t a defun.
40144 * lisp/org/ob-core.el (show-all):
40145 Declare outline-show-all instead, since it is the
40146 non-obsolete version of this function.
40147 (org-save-outline-visibility): Remove; not needed.
40148 * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
40149 (geiser-eval-region, geiser-repl-exit):
40150 * lisp/org/ox-org.el (htmlize-buffer):
40151 Prepend "ext:" to file name, since it is not part of Emacs.
40152 * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
40153 * lisp/org/org-gnus.el (nnimap-group-overview-filename):
40154 Remove decl, since function was removed.
40155 * lisp/org/ob-sh.el (org-babel-comint-with-output):
40156 * lisp/org/org-macro.el (org-with-wide-buffer):
40157 Omit unnecessary (and mismatching) decl.
40158 * lisp/org/org-agenda.el (calendar-absolute-from-iso):
40159 * lisp/org/org-clock.el (calendar-iso-to-absolute):
40160 Declare calendar-iso-to-absolute instead, since it is the
40161 non-obsolete version of this function.
40162 * lisp/org/org-compat.el (w32-focus-frame):
40163 Remove decl, since function is now obsolete.
40165 2016-05-14 Lars Ingebrigtsen <larsi@gnus.org>
40167 :max-width/height fixes for shr after the scaling changes
40169 * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
40170 max-width and max-height even after the scaling changes done
40173 2016-05-14 Eli Zaretskii <eliz@gnu.org>
40175 Fix reading minibuffer input in viper-mode
40177 * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
40178 Restore an assignment to viper-initial that got lost when
40179 viper-cmd.el was switched to lexical-binding. (Bug#23536)
40181 2016-05-14 Paul Eggert <eggert@cs.ucla.edu>
40183 Port autogen.sh to Git 2.4
40185 Problem reported by Michael Brand in:
40186 https://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00367.html
40187 * autogen.sh (git_config): Don't assume that git rev-parse
40188 groks --git-common-dir.
40190 2016-05-13 Paul Eggert <eggert@cs.ucla.edu>
40192 Merge from origin/emacs-25
40194 6de0715 Properly reject malformed or empty package sigs
40195 edae7d9 Remove buggy non-native image scrolling
40197 2016-05-13 Paul Eggert <eggert@cs.ucla.edu>
40199 Improve display of tex-verbatim and Info quoted
40201 Problem reported by Glenn Morris (Bug#19889).
40202 * doc/emacs/display.texi (Standard Faces):
40203 * doc/lispref/display.texi (Basic Faces):
40204 * etc/NEWS: Mention fixed-pitch-serif.
40205 * lisp/faces.el (face-font-family-alternatives):
40206 New family alias Monospace Serif.
40207 (fixed-pitch-serif): New face, which uses the new family.
40208 * lisp/info.el (Info-quoted):
40209 * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
40210 * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
40211 Add test case for Monospace Serif.
40213 2016-05-13 Stefan Monnier <monnier@iro.umontreal.ca>
40215 * lisp/net/sieve-mode.el: Handle the text:... notation
40217 Get rid of redundant :group keywords.
40218 (sieve-mode-syntax-table): Move initialization into declaration.
40219 (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
40220 (sieve-mode): Use them.
40222 2016-05-13 Paul Eggert <eggert@cs.ucla.edu>
40224 Tweak check-declare-directory performance
40226 * lisp/emacs-lisp/check-declare.el (check-declare-directory):
40227 Use ‘find ... -exec ... +’ for speed.
40229 2016-05-13 Paul Eggert <eggert@cs.ucla.edu>
40233 This incorporates a spelling fix, plus:
40234 2016-05-09 Fix undefined behaviour in gettext.h
40235 * lib/gettext.h, lib/mktime.c:
40238 2016-05-13 Paul Eggert <eggert@cs.ucla.edu>
40240 Merge from origin/emacs-25
40242 9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
40243 66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
40244 1a5a05c Do not mistake colon at the end of regexp for slash symbol
40245 4c5a00b Make package-install-from-buffer not move point
40246 9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
40247 f79c352 Redo the fix for bug#21839
40248 8d2f78c Don't treat JS spread as contination method call
40250 2016-05-12 Chris Feng <chris.w.feng@gmail.com>
40252 Correct server/client address
40254 * src/process.c (Fmake_network_process): :local is for servers and :remote
40257 2016-05-12 Ken Brown <kbrown@cornell.edu>
40259 Autosave buffers on logout if HAVE_NTGUI
40261 * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
40264 * src/w32term.c (w32_read_socket): Create an event of type
40265 END_SESSION_EVENT if a WM_ENDSESSION message is received.
40267 * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
40269 * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
40271 (kbd_buffer_get_event): Return an end-session event if an event of
40272 type END_SESSION_EVENT is read.
40273 (keys_of_keyboard): Bind the end-session event to kill-emacs in
40274 special-event-map. (Bug#23483)
40276 2016-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
40278 * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
40280 * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
40281 (object-print): Use cl-call-next-method instead of call-next-method.
40282 * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
40284 2016-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
40286 * lisp/cedet/semantic: Silence some warnings
40288 * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
40289 (semanticdb-get-database-tables): Use make-instance to silence warnings.
40291 * lisp/cedet/semantic/symref.el: Require semantic/find since we use
40292 some macros from there. Silence compilation warnings:
40293 Replace initargs with slot names in oref/oset.
40294 Move `SYMREF TOOLS' section earlier so definitions precede their use.
40296 2016-05-12 Lars Ingebrigtsen <larsi@gnus.org>
40298 Support srcset in <img>
40300 * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
40301 with srcset specifiers (bug#23459).
40303 2016-05-12 Michael Albinus <michael.albinus@gmx.de>
40305 Do not autoload some functions of tramp.el
40307 * lisp/net/tramp.el (tramp-completion-file-name-handler):
40308 Autoload a shortened version of this function, avoid recursive load.
40309 (tramp-completion-file-name-handler-alist)
40310 (tramp-completion-mode-p)
40311 (tramp-completion-handle-expand-file-name)
40312 (tramp-completion-handle-file-name-all-completions)
40313 (tramp-completion-handle-file-name-completion): Do not autoload.
40315 2016-05-12 Michael Albinus <michael.albinus@gmx.de>
40317 Avoid recursive load of tramp.el
40319 * lisp/net/tramp.el (tramp-completion-file-name-handler):
40320 Autoload a shortened version of this function, avoid recursive load.
40322 2016-05-11 Michael Albinus <michael.albinus@gmx.de>
40324 Fix a problem of tramp-tests on hydra.
40326 * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40327 Nullify `tramp-default-method' due to hydra.
40329 2016-05-10 Paul Eggert <eggert@cs.ucla.edu>
40331 Pacify byte-compiler in lisp/vc
40333 * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
40334 * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
40335 Declare functions defined elsewhere, to forestall “might not
40336 be defined at runtime” warnings.
40338 2016-05-10 Paul Eggert <eggert@cs.ucla.edu>
40340 Merge from origin/emacs-25
40342 d0d9f55 Allow newlines inside cl function arglists
40343 963541a Publicize cl--generic-all-functions
40345 e58f900 Add some "safe-local-variable" declarations for compatibility...
40347 2016-05-10 Paul Eggert <eggert@cs.ucla.edu>
40349 'text-quoting-style' now affects only ` and '
40351 Change 'text-quoting-style' so that it no longer affects
40352 formatting of curved quotes in format arguments to functions like
40353 'message'. In particular, when this variable's value is 'grave',
40354 all quotes in formats are output as-is.
40355 * doc/lispref/help.texi (Keys in Documentation):
40356 * doc/lispref/strings.texi (Formatting Strings):
40357 * doc/lispref/tips.texi (Documentation Tips):
40359 * src/doc.c (syms_of_doc): Document this.
40360 * lisp/help-fns.el (describe-function-1):
40361 * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
40363 * src/editfns.c (styled_format): Omit now-unnecessary code.
40364 * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
40366 2016-05-10 Alan Mackenzie <acm@muc.de>
40368 Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
40370 This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556. It is
40371 being reverted because it slowed down CC Mode's fontification too much
40372 (factor ~3). It was the fix to bug #7918.
40374 2016-05-09 Lars Ingebrigtsen <larsi@gnus.org>
40376 Move "Recent messages" earlier in report-emacs-bug
40378 * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
40379 messages" part earlier so that users can see it and remove it
40382 2016-05-09 Michael Albinus <michael.albinus@gmx.de>
40384 Pacify byte compiler in tramp.el
40386 * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
40388 2016-05-09 Paul Eggert <eggert@cs.ucla.edu>
40390 Merge from origin/emacs-25
40392 3b47898 Fix doc string in `insert'
40393 b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
40394 cd27f73 Say 'All results processed' at the end
40395 4ffec91 Document automatic adjustment of process' logical window dime...
40396 dc66271 ; Fix typos and stylistic glitches in NEWS
40398 2016-05-09 Alan Mackenzie <acm@muc.de>
40400 CC Mode now uses the new :after-hook feature of define-derived-mode
40402 It now runs internal variable setting functions after the mode hooks, no
40403 longer runs the mode hooks twice, and declares the configuration variables for
40404 noise macros and macros with semicolons as safe variables (when given suitable
40407 Fixes bug #16759 and bug #23476.
40409 * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
40410 back into the C Mode value.
40412 * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
40413 c-make-macro-with-semi-re.
40414 (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
40415 c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
40416 and c-update-modeline into the :after-hook form. Remove the explicit settings
40417 of the syntax table, the abbreviation table and the local key map, since they
40418 duplicate forms generated by define-derived-mode. Remove the explicit
40419 invocation of each mode's mode hook, since they duplicate ones generated by
40420 define-derived-mode.
40422 * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
40424 (c-noise-macro-names, c-noise-macro-with-parens-names): give the
40425 save-local-variable property c-string-list-p.
40426 (c-macro-names-with-semicolon): give the save-local-variable property
40427 c-string-or-string-list-p.
40429 * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
40430 necessary to call the regexp generating functions after setting the pertinent
40431 configuration values in a mode hook.
40433 2016-05-09 Dmitry Gutov <dgutov@yandex.ru>
40435 Fix the jit-lock-fontify-now test names
40437 * test/lisp/jit-lock-tests.el
40438 (jit-lock-fontify-now-mends-the-gaps)
40439 (jit-lock-fontify-now-does-not-refontify-unnecessarily):
40440 Fix the test names.
40442 2016-05-09 Michael Albinus <michael.albinus@gmx.de>
40444 Extend completion candidates in tramp.el
40446 * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
40447 (tramp-get-completion-function): Use it.
40449 2016-05-09 Michael Albinus <michael.albinus@gmx.de>
40451 Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
40453 * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
40456 2016-05-08 Dmitry Gutov <dgutov@yandex.ru>
40458 Emulate interactive mode
40460 * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
40461 (jit-lock-does-not-refontify-unnecessarily):
40462 Bind noninteractive to nil (bug#23278).
40464 2016-05-08 Paul Eggert <eggert@cs.ucla.edu>
40466 Simplify now that float-time etc. are built-in
40468 This was prompted by warnings about calls to now-obsolete functions.
40469 * lisp/calendar/time-date.el (encode-time-value):
40470 Use setq rather than a recursive call, to avoid a warning
40471 about calling this obsolete function.
40472 * lisp/calendar/time-date.el (encode-time-value)
40473 (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
40474 * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
40475 * lisp/net/rcirc.el (rcirc-float-time):
40476 * lisp/org/org-compat.el (org-float-time):
40477 Simplify now that time-add and float-time are now built-in.
40478 * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
40479 * lisp/net/newst-backend.el (time-add):
40480 * lisp/org/org.el (time-subtract):
40481 Remove backward-compatibility definitions; they are now built-in.
40482 * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
40483 (timeclock-seconds-to-time):
40484 * lisp/net/rcirc.el (rcirc-float-time):
40485 * lisp/org/org-compat.el (org-float-time):
40486 Now obsolete, since callers can just use float-time and
40487 seconds-to-time. All uses changed.
40488 * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
40489 * lisp/gnus/gnus-art.el (article-lapsed-string):
40490 * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
40491 * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
40492 * lisp/gnus/nndiary.el (nndiary-compute-reminders):
40493 * lisp/net/tramp.el (tramp-time-diff):
40494 * lisp/org/org-clock.el (org-clock-timestamps-change):
40495 Prefer the time-subtract builtin to the subtract-time alias.
40496 * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
40497 * test/lisp/character-fold-tests.el (character-fold--speed-test):
40498 Prefer the float-time builtin to the time-to-seconds alias.
40499 * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
40500 * lisp/org/org-timer.el, lisp/org/org.el:
40501 Adjust to org-float-time deprecation.
40503 2016-05-08 Alan Mackenzie <acm@muc.de>
40505 Add :after-hook facility to define-derived-mode.
40507 This allow a form to be evaluated _after_ a major mode's hooks have been run.
40508 It is needed to solve some problems in CC Mode, including bug #16759 and
40511 * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
40512 `:after-hook', and generate the requisite code for it.
40513 (derived-mode-make-docstring): Take account of the possibility of :after-hook.
40515 * lisp/subr.el (delayed-after-hook-forms): New variable.
40516 (run-mode-hooks): As the last thing evaluate the forms in
40517 delayed-after-hook-forms.
40519 * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
40520 (Mode Hooks): Document the new feature in run-mode-hooks.
40522 * etc/NEWS: Note the new feature.
40524 2016-05-08 Michael Albinus <michael.albinus@gmx.de>
40526 Fix recursive load of tramp.elc
40528 * lisp/net/tramp.el (tramp-completion-file-name-handler):
40529 Check also for `tramp-completion-mode-p'.
40530 (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
40532 2016-05-07 Paul Eggert <eggert@cs.ucla.edu>
40534 Prefer grep -E/-F to egrep/fgrep
40536 POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
40537 withdrew them in SUSv3 (2001), and these days grep -E and grep -F
40538 are probably more portable.
40539 * lib-src/etags.c (main):
40540 * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
40542 * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
40543 * lisp/eshell/esh-var.el (eshell-apply-indices):
40544 * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
40545 (ada-find-in-src-path):
40546 * lisp/textmodes/ispell.el (ispell-grep-command):
40547 (ispell-lookup-words):
40548 Use or document grep -E and grep -F instead of egrep and fgrep.
40549 * lisp/textmodes/ispell.el (ispell-grep-options):
40550 Use -Ei on all platforms, not just MS-Windows.
40552 2016-05-07 Dmitry Gutov <dgutov@yandex.ru>
40554 Avoid unnecessary work if a chunk is empty
40556 * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
40557 if a chunk is empty (bug#23278).
40559 2016-05-07 Dmitry Gutov <dgutov@yandex.ru>
40561 * test/lisp/jit-lock-tests.el: New file.
40563 2016-05-07 Michael Albinus <michael.albinus@gmx.de>
40565 Continue to fix Bug#10085
40567 * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
40568 <expand-file-name>: Add handler.
40569 (tramp-completion-handle-expand-file-name): New defun.
40570 (tramp-handle-file-name-as-directory): Handle completion mode case.
40572 * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40574 (tramp-test24-file-name-completion): Extend test.
40576 2016-05-07 Alan Mackenzie <acm@muc.de>
40578 Revert change 8e4595a... due to annoyance it causes the development team.
40580 Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
40581 +0000 was an enhancement to .dir-locals to allow correct fontification
40582 of certain macro constructs.
40584 * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
40586 2016-05-07 Alan Mackenzie <acm@muc.de>
40588 * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
40590 2016-05-07 Simen Heggestøyl <simenheg@gmail.com>
40592 Add tests for CSS mode completion
40594 * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
40595 (css-test-property-values-no-duplicates)
40596 (css-test-value-class-lookup): Use `seq-sort'.
40597 (css-mode-tests--completions): New helper function for retrieving CSS
40599 (css-test-complete-bang-rule, scss-test-complete-bang-rule)
40600 (css-test-complete-property-value, css-test-complete-pseudo-class)
40601 (css-test-complete-pseudo-element, css-test-complete-at-rule)
40602 (scss-test-complete-at-rule, css-test-complete-property)
40603 (css-test-complete-selector, css-test-complete-nested-selector)
40604 (scss-test-complete-nested-selector): New tests.
40606 2016-05-06 Alan Mackenzie <acm@muc.de>
40608 Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
40610 Requested by Paul Pogonyshev. Also add in documentation for Edebug config
40611 variables which was missing.
40613 * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
40614 (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
40616 * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
40617 (Edebug Options): Document the new option. Also add documentation for
40618 edebug-eval-macro-args, edebug-print-length, edebug-print-level,
40619 edebug-print-circle, edebug-sit-for-seconds.
40621 * etc/NEWS: Note the new feature.
40623 2016-05-07 Jorgen Schaefer <contact@jorgenschaefer.de>
40625 scheme.el: Turn literal tabs into \t
40627 * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
40628 also caught some literal tabs in character classes. Fix this by
40629 adding \t to those classes.
40631 2016-05-07 Tino Calancha <f92capac@gmail.com>
40633 Make 'backtab' work in table-mode on text terminals
40635 * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
40636 explicitly. (Bug#23456)
40638 2016-05-07 Eli Zaretskii <eliz@gnu.org>
40640 Try to speed-up display of many all-blank lines
40642 * src/bidi.c (bidi_initialize): Use anchored regexps for
40643 paragraph start and paragraph separator sequences. (Bug#23457)
40645 2016-05-06 Alan Mackenzie <acm@muc.de>
40647 Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
40649 Prevent hack-local-variables being called from the fundamental-mode mode call
40650 early in normal-mode. This fixes bug #23460 and bug #23463.
40652 * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
40653 the things it calls, with the exception of hack-local-variables.
40655 * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
40656 major mode initialization.
40658 2016-05-06 Paul Eggert <eggert@cs.ucla.edu>
40660 Port xref-tests to master branch
40662 Also, add a test to make this problem less likely in the future.
40663 * test/Makefile.in (check-no-automated-subdir): New rule.
40664 (check, check-expensive, check-maybe): Depend on it.
40665 * test/automated/data/xref/file1.txt: Rename to ...
40666 * test/data/xref/file1.txt: ... here.
40667 * test/automated/data/xref/file2.txt: Rename to ...
40668 * test/data/xref/file2.txt: ... here.
40669 * test/automated/xref-tests.el: Rename to ...
40670 * test/lisp/progmodes/xref-tests.el: ... here.
40671 (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
40673 2016-05-05 Paul Eggert <eggert@cs.ucla.edu>
40675 Merge from origin/emacs-25
40677 50650cb Doc fixes for fclist and grep
40678 5e814e0 Minor doc fixes for quoting
40679 3347a73 `nreverse' the marker pairs list
40680 1a4127d Use save-excursion in xref-location-marker more
40681 ab3ba91 shell-quote-argument DIR when appropriate
40682 922c7a3 Rework xref-query-replace-in-results
40683 3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
40684 0932b94 Fix todo-mode bug involving archived items (bug#23447)
40685 e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
40686 adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
40687 4d8fd9c Handle "empty line" regexp in xref searches
40688 f559b37 Add tests for xref-collect-matches
40689 6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
40690 6f82d8e Clear buffer-undo-list when showing xrefs
40691 c68a091 Note the quote translation in `message' in section "incompati...
40692 52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
40693 93703c5 (Common Keywords): Correct what missing :group means
40694 79e5800 Improve documentation of Dired's 'A' and 'Q' commands
40695 2ea2a2f Doc fixes for quoting
40696 8544b98 posnp doc clarification
40697 805204f Mention what a missing :group does
40698 ec554d7 Fix documentation of dired-aux search/replace commands
40700 2016-05-05 Simen Heggestøyl <simenheg@gmail.com>
40702 Support completion of HTML tags in CSS selectors
40704 * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
40705 list of HTML tags for completion.
40706 (css--nested-selectors-allowed): New variable for determining whether
40707 nested selectors are allowed in the current mode.
40708 (css--complete-selector): New function for completing part of a CSS
40710 (css-completion-at-point): Support completion of selectors.
40711 (scss-mode): Allow nested selectors.
40713 2016-05-05 Lars Ingebrigtsen <larsi@gnus.org>
40715 Make `R' in eww work more reliably
40717 * lisp/net/eww.el (eww-score-readability): Protect against
40720 2016-05-05 Alan Mackenzie <acm@muc.de>
40722 Call hack-local-variables from major modes rather than from file visiting
40724 This prevents file/directory local variables from being lost when the major
40725 mode is set or changed.
40727 This fixes bug #15577 and bug #23407.
40729 * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
40730 function hasn't already done so.
40731 (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
40732 its previous non-nil setting be t, and introduce the following action for a
40733 non-nil non-t value: apply all settings apart from `mode'.
40735 * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
40736 which are visiting files.
40738 * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
40739 sets file variables.
40740 (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
40741 dir local variables, but `coding' can't.
40743 * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
40744 also calls `hack-local-variables'.
40745 (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
40746 as from 25.2. Remove vagueness from `normal-mode' and `set-auto-mode' by
40747 saying that the mode IS SET, not merely "selected" or "chosen".
40748 (Mode Hooks): Document change to `run-mode-hooks'.
40750 * doc/lispref/variables.texi (File Local Variables): Document change to
40751 `hack-local-variables'.
40753 2016-05-05 Michael Albinus <michael.albinus@gmx.de>
40755 tramp-sh.el: Work around a stat bug
40757 * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
40758 stat versions which produce shell quoted output. See also
40759 coreutils Bug#23422.
40761 2016-05-04 Noam Postavsky <npostavs@gmail.com>
40763 Fix autogen.sh for separate worktrees
40765 * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
40766 of assuming .git/hooks is a directory.
40768 2016-05-04 Alan Mackenzie <acm@muc.de>
40770 Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
40772 * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
40773 when text-quoting-style is `leave'.
40775 * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
40777 * src/doc.c (syms_of_doc): New symbol "leave". Amend doc string of
40778 `text_quoting_style'.
40779 (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
40780 (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
40781 LEAVE_QUOTING_STYLE.
40783 * src/editfns.c (styled_format): Set quoting_style to -1 when
40784 text-quoting-style is `leave'.
40786 2016-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
40788 * lisp/emulation/viper.el:
40789 * lisp/emulation/viper-cmd.el: Use lexical-binding.
40790 (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
40791 args, for use in advice-add.
40792 (viper--init-message): Rename from init-message.
40793 (viper-minibuffer-standard-hook): Adjust accordingly.
40794 (viper-undo): Remove unused var `modified'.
40795 (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
40796 Don't use dynamic vars as args.
40797 (viper-submit-report): Clarify use of dynamic vars.
40799 * lisp/emulation/viper.el: Use lexical-binding and nadvice.
40800 Remove redundant :group keywords. Group the (if viper-mode) at top-level.
40801 Use add-function rather than a `(lambda ...).
40802 (viper--advice-list): New var.
40803 (viper--advice-add, viper--deactivate-advice-list): New funs.
40804 (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
40805 (viper-non-hook-settings): Don't hook into find-file any more.
40807 2016-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
40809 * lisp/vc/ediff-util.el: Use lexical-binding.
40811 * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
40813 2016-05-03 Lars Ingebrigtsen <larsi@gnus.org>
40815 Add an animation sanity check
40817 * lisp/image.el (image-multi-frame-p): Give up on animations
40818 if it seems like they are too slow (bug#23431).
40820 2016-05-03 Lars Ingebrigtsen <larsi@gnus.org>
40822 abbrev-tests.el fix
40824 * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
40825 internal implementation detail.
40827 2016-05-03 Lars Ingebrigtsen <larsi@gnus.org>
40829 (shr-rescale-image): Clarify logic slightly
40831 * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
40833 2016-05-02 Martin Rudalics <rudalics@gmx.at>
40835 Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
40837 * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
40838 to mouse-1/-2 instead of down-mouse-1/-2. Suggested by Stefan
40839 Monnier. (Bug#19185, Bug#20398)
40841 2016-05-02 Lee Bochicchio <lboc.home@gmail.com>
40843 Add more abbrev tests
40845 * test/lisp/abbrev-tests.el
40846 (clear-abbrev-table-test): Use `abbrev-expansion'
40847 (abbrev-table-empty-p-test, list-abbrevs-test)
40848 (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
40849 (edit-abbrevs-test, define-abbrevs-test)
40850 (read-write-abbrev-file-test)
40851 (abbrev-edit-save-to-file-test): New tests (bug#23139).
40853 2016-05-02 Philipp Stephani <p.stephani2@gmail.com> (tiny change)
40855 Allow eval-ing named character literals
40857 * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
40858 named character literals.
40859 * test/lisp/progmodes/elisp-mode-tests.el
40860 (elisp--preceding-sexp--char-name): Add test for skipping over
40861 named character literals (bug#23354).
40863 2016-05-02 Aaron Conole <aconole@redhat.com>
40865 Call va_end in boot_error
40867 * src/gnutls.c (boot_error): A recent change added a function
40868 to signal an error or return an error code. That function uses
40869 a variadic argument list to populate an error message
40870 string. However, it missed calling va_end after using the
40871 variadic argument list.
40873 Copyright-paperwork-exempt: yes
40875 2016-05-02 Aaron Conole <aconole@bytheb.org>
40877 Fix the call to set_network_coding_system
40879 * src/process.c (Fmake_network_process): A recent commit
40880 modified the set_network_socket_coding_system function to take
40881 arguments host, service, and name. However, those arguments
40882 appear to be swapped.
40884 Copyright-paperwork-exempt: yes
40886 2016-05-02 Lars Ingebrigtsen <larsi@gnus.org>
40888 Revert "alas, a map can have only one parent"
40890 This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
40892 This had already been fixed by using `make-composed-map'. And
40893 we don't want image-map to inherit from special-mode-map, anyway.
40895 2016-05-02 Paul Eggert <eggert@cs.ucla.edu>
40897 Merge from origin/emacs-25
40899 bf21c84 Fix quoting problem in cc-engine debug message
40900 8f36614 Add electric-quote-string unit test
40901 6280531 Don’t electrically quote ‘'’ in Python
40902 fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
40904 2016-05-02 Sam Steingold <sds@gnu.org>
40906 alas, a map can have only one parent
40908 * lisp/image-mode.el (image-model-map): Cannot have two parents.
40909 * lisp/image.el (image-map): Inherit from `special-mode-map'.
40911 2016-05-02 Michael Albinus <michael.albinus@gmx.de>
40915 * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
40916 Add optional arguments OPERATION and COMPETION. Handle
40917 `file-name-as-directory', `file-name-directory' and
40918 `file-name-nondirectory' also in completion mode.
40919 (tramp-file-name-handler): Use it. (Bug#10085)
40921 * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40924 2016-05-01 Martin Rudalics <rudalics@gmx.at>
40926 * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
40928 2016-05-01 Paul Eggert <eggert@cs.ucla.edu>
40932 * .gitignore: Remove leim/changed.misc, leim/changed.tit,
40933 as these files are no longer created. Add gmon.out, for
40934 -pg profiling. Sort.
40936 2016-05-01 Paul Eggert <eggert@cs.ucla.edu>
40941 2016-05-01 mktime: port to stricter signed overflow checking
40942 2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
40943 2016-05-01 mktime: resurrect DEBUG_MKTIME testing
40944 2016-05-01 mktime: simplify DEBUG_MKTIME
40945 2016-05-01 Port mktime_internal offset to unsigned time_t
40946 2016-04-27 xstrtol: prohibit monstrosities like "1bB"
40947 2016-04-13 mktime: improve integer overflow checking
40948 2016-04-13 intprops: check two's complement assumption
40949 2016-04-13 intprops, mktime, strtol: assume two's complement
40950 * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
40951 * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
40954 2016-05-01 Paul Eggert <eggert@cs.ucla.edu>
40956 Merge from origin/emacs-25
40958 c695fb3 ; Spelling fixes
40959 03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
40960 42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
40962 2016-05-01 Paul Eggert <eggert@cs.ucla.edu>
40964 Merge from origin/emacs-25
40966 d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
40967 d38d2a8 Fix documentation of 'url-retrieve-synchronously'
40968 586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix. (Bu...
40971 # doc/misc/url.texi
40974 2016-05-01 Paul Eggert <eggert@cs.ucla.edu>
40976 Merge from origin/emacs-25
40978 16e5e8e Fix last change to isearch-update (bug#23406)
40979 b755d98 Autoload cursor-sensor-inhibit (bug#23406)
40980 b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
40981 86aa409 Followup for last commit in the user manual
40982 7004459 Improve doc string of 'set-goal-column'
40983 ccdaf04 Fix the MSDOS build
40984 ffe701c Remove \= from format string (bug#18190)
40985 1c58fa1 Fix variable-pitch font on MS-Windows
40986 c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
40987 b671e21 Revert unneeded change which harms syntactic parsing. This f...
40988 48b24c9 Correct indentation of ids in a C++ enum after a protection k...
40989 5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
40990 734fb3a Port dumping to NetBSD with PaX
40991 0255a70 Don't mistake `for' inside a function for a part of array com...
40996 2016-05-01 Paul Eggert <eggert@cs.ucla.edu>
40998 Merge from origin/emacs-25
41000 71fb0e0 Improve last change to vc-git-mode-line-string
41001 6858e77 Todo mode doc bug fix
41002 e55d0db Fix revision calculation in vc-git-mode-line-string
41003 ca87b34 ; Fix errant revert ccb75d7
41004 40bfebe Add Python 3.5 keyword "await"
41005 fa7886a Add new keywords of Python 3.5
41006 ccb75d7 Partially revert previous change.
41007 8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
41008 b09ca27 Say why text-quoting-style is not a user option
41010 2016-05-01 Paul Eggert <eggert@cs.ucla.edu>
41012 Merge from origin/emacs-25
41014 5a952eb Don't mention ~/.emacs.bmk literally in doc strings
41015 c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
41016 c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
41018 2016-05-01 Lars Ingebrigtsen <larsi@gnus.org>
41020 Mention the `find-library-name' changes
41022 2016-05-01 Lars Ingebrigtsen <larsi@gnus.org>
41024 Fix text in menu in minor-mode-menu-from-indicator
41026 * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
41027 capitalize "Off" in "Turn Off" (bug#11028).
41029 2016-05-01 David Engster <deng@randomsample.de>
41031 gitmerge: Add cherry pick to gitmerge-skip-regexp
41033 * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
41034 from commit", which is the string appended by 'git cherry-pick
41037 2016-05-01 Lars Ingebrigtsen <larsi@gnus.org>
41039 Allow `global-set-key' to bind keys under the `M-o' map
41041 * lisp/subr.el (global-set-key): Allow binding keys under the
41042 `M-o' map (bug#9730).
41044 2016-05-01 Lars Ingebrigtsen <larsi@gnus.org>
41046 Add `size-indication-mode' to the menu on `mouse-1' "Top"
41048 * lisp/bindings.el (mode-line-column-line-number-mode-map):
41049 Add `size-indication-mode' to the menu (bug#5727).
41051 2016-05-01 Lars Ingebrigtsen <larsi@gnus.org>
41053 Allow finding libraries loaded manually outside the load-path
41055 * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
41056 New function to find a library from a load path (bug#5661).
41057 (find-library-name): Use it.
41059 There are so many combinations of inputs and possibly entries in
41060 `load-history' that the code looks like an entry in a code obfuscation
41061 contest. If anybody has a better implementation, please substitute.
41063 But remember that the input given may be foo, foo.el, foo.elc, and the
41064 entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
41065 want to return only foo.el and foo.el.gz. *phew*
41067 2016-05-01 Lars Ingebrigtsen <larsi@gnus.org>
41069 Allow minibuffer prompts to use faces
41071 * doc/lispref/minibuf.texi (Text from Minibuffer): Document
41072 `minibuffer-prompt-properties' and explain how faces work in
41073 the minibuffer prompt.
41075 * src/minibuf.c (read_minibuf): If `face' is in
41076 `minibuffer-prompt-properties', apply it to the end of the
41077 face list to allow users to have their own faces on the
41078 prompts (bug#16136).
41080 2016-05-01 Peter Feigl <peter.feigl@nexoid.at> (tiny change)
41082 Add R7RS syntax forms to scheme.el
41084 * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
41085 a number of special forms introduced in R7RS-small.
41086 * lisp/progmodes/scheme.el (scheme-indent-function): Same.
41088 2016-05-01 Alan Third <alan@idiocy.org>
41090 Implement horizontal scroll bars on NS
41092 * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
41094 * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
41095 scroll-bar mouse clicks to standard handlers.
41096 * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
41097 pixel_height to pixel_length.
41098 * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
41099 caused scroll-bars to be over-drawn and the best working solution
41100 appears to be complete removal.
41101 (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
41103 (ns_set_vertical_scroll_bar): Set width to actual scroller width.
41104 (setFrame): Handle horizontal case.
41105 (dealloc): Handle horizontal case.
41106 (judge): Handle horizontal case.
41107 (setPosition): Rename pixel_height to pixel_length.
41108 (sendScrollEventAtLoc): Handle horizontal case.
41109 (mouseDown): Handle horizontal case and general tidy up of code.
41110 (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
41111 absolute pixel size instead of ratio.
41112 * src/window.h: Remove NS check.
41114 2016-05-01 Michael Albinus <michael.albinus@gmx.de>
41116 tramp.texi: Revert last change due to backward compatibility
41118 2016-04-30 Paul Eggert <eggert@cs.ucla.edu>
41120 Fix the buffer-count patch (Bug#23394)
41122 * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
41123 once each time through the loop. Reported by Lars Ingebrigtsen in:
41124 https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00918.html
41126 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41128 cua-prefix-override-inhibit-delay doc fix
41130 * lisp/emulation/cua-base.el
41131 (cua-prefix-override-inhibit-delay): Typo fix in doc string
41134 2016-04-30 Paul Eggert <eggert@cs.ucla.edu>
41136 Fix generate-new-buffer-name increment typo
41138 Problem reported by Chaitanya Koparkar (Bug#23394).
41139 * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
41140 generating a new buffer. This fixes a typo I introduced in
41141 2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
41143 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41145 global-eldoc-mode doc fix
41147 * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
41148 specific about what "applicable" means (bug#23071).
41150 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41152 Make the legend in describe-categories a link
41154 * lisp/help-fns.el (describe-categories): Make the "see
41155 bottom" text a link (bug#22227).
41157 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41159 normal-top-level-add-subdirs-to-load-path doc fix
41161 * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
41162 Doc fix (bug#21962).
41164 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41166 isearch-search-fun-function doc tweak
41168 * lisp/isearch.el (isearch-search-fun-function): Mention what
41169 the STRING parameter is (bug#21552).
41171 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41173 Fill some imenu--index-alist doc lines
41175 * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
41177 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41179 Make describe-variable look up the variable in the current buffer
41181 * lisp/help-fns.el (describe-variable): Get the variable
41182 definition in the buffer we were called from (in case it only
41183 exists there) (bug#21252).
41185 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41187 Fmarker_position doc string clarification
41189 * src/marker.c (Fmarker_position): Clarify the doc string
41192 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41194 Further define-obsolete-* doc fixups
41196 * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
41197 Fix up last change.
41198 (define-obsolete-variable-alias): Ditto.
41200 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41202 Describe WHEN in all the define-obsolete- macros
41204 * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
41205 Say more verbosely what WHEN is (bug#21225).
41206 (define-obsolete-function-alias): Describe the WHEN parameter.
41207 (define-obsolete-variable-alias): Ditto.
41209 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41211 Mention with-silent-modifications in the lispref manual
41213 * doc/lispref/text.texi (Changing Properties): Document
41214 with-silent-modifications (bug#21171).
41216 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41218 with-silent-modifications doc clarification
41220 * lisp/subr.el (with-silent-modifications): Rearrange the doc
41221 string a bit so that the most pertinent information is at the
41224 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41226 clear-visited-file-modtime doc string fix
41228 * lisp/files.el (clear-visited-file-modtime): Fix possibly
41229 confusing doc string wording (bug#21169).
41231 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41233 Document mode mode line variables
41235 * doc/lispref/modes.texi (Mode Line Variables): Document
41236 `mode-line-front-space, `mode-line-misc-info',
41237 `mode-line-end-spaces' (bug#21014).
41239 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41241 Add a cross ref to Optional Mode Line
41243 * doc/lispref/modes.texi (Mode Line Variables): Add a cross
41244 reference to the Emacs mode line node that explains things
41245 like `display-time-string' (bug#21002).
41247 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41249 Add a doc string to display-time-string
41251 * lisp/time.el: Add a doc string to `display-time-string',
41252 because it's referred to in the manual, and is too mysterious
41253 otherwise (bug#21002).
41255 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41257 custom-buffer-style doc fix
41259 * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
41262 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41264 Document how to check for ImageMagick support
41266 * doc/lispref/display.texi (ImageMagick Images): Say how to
41267 check for ImageMagick support, which isn't quite obvious
41270 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41272 Minor doc fix for ImageMagick/SVG builds
41274 * doc/lispref/display.texi (SVG Images): Don't imply that you
41275 have to build Emacs yourself (bug#20702).
41276 (ImageMagick Images): Ditto.
41278 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41280 Rearrange the doc of query-replace slightly
41282 * lisp/replace.el (query-replace): Move the mention of the
41283 interactive prefix arg earlier so that users can find it
41286 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41288 apropos-print doc fix
41290 * lisp/apropos.el (apropos-print): Document the undocumented
41291 parameters (bug#20520).
41293 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41295 completion-table-with-predicate doc string fix
41297 * lisp/minibuffer.el (completion-table-with-predicate): t ->
41298 non-nil in the doc string (bug#20460).
41300 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41302 Fill the completion-table-with-predicate doc string
41304 * lisp/minibuffer.el (completion-table-with-predicate): Fill
41305 the doc string (bug#20460).
41307 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41309 replace-match-maybe-edit doc clarification
41311 * lisp/replace.el (replace-match-maybe-edit): Say what
41312 MATCH-DATA is (bug#20304).
41314 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41316 add-timeout doc fix
41318 * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
41321 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41323 Extremely minor doc fix in Choosing Window
41325 * doc/lispref/windows.texi (Choosing Window): There's only one
41326 action alist, I think (bug#20158).
41328 2016-04-30 Alan Mackenzie <acm@muc.de>
41330 * .dir-locals.el: Amend for correct fontification of *.[ch]
41331 containing "IF_LINT"
41333 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41335 Transform mentions of `eval-after-load' to `with-eval-after-load'
41337 * doc/lispref/loading.texi (Hooks for Loading): Update text to
41338 not mention `eval-after-load' (bug#20038).
41340 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41342 cursor-type doc fix
41344 * src/buffer.c (syms_of_buffer): Mention that cursor-type's
41345 WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
41347 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41349 Add a link from Tool Bar to Images
41351 * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
41352 Images node (bug#19722).
41354 2016-04-30 Alan Mackenzie <acm@muc.de>
41356 CC Mode: Recognize a noise macro with parens after a declarator's identifier
41358 * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
41359 following comment "Skip over type decl suffix operators." insert code also
41360 to check for noise macros with parentheses.
41362 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41364 (default-mode-line-format): More explicit obsolete info
41366 * lisp/subr.el (default-mode-line-format): Be more explicit in
41367 how default values are now handled (bug#19424).
41369 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41371 Fcompare_buffer_substrings doc string clarification
41373 * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
41374 doc string clarification (bug#19255).
41376 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41378 insert-file-contents-literally doc fix
41380 * lisp/files.el (insert-file-contents-literally): Say that the
41381 parameters are explained in the other function (bug#18317).
41383 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41385 Fix custom types for cursor-in-non-selected-windows
41387 * lisp/cus-start.el (standard): Use the same custom types for
41388 cursor-in-non-selected-windows as for cursor-type (bug#19214).
41390 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41392 Doc clarification to mwheel-scroll
41394 * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
41395 does not apply to Windows (bug#19209).
41397 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41399 Clarify the doc of eval-expression-print-format
41401 * lisp/simple.el (eval-expression-print-format): Doc
41402 clarification (bug#19114).
41404 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41406 (extended-command-suggest-shorter): Add a version string
41408 * lisp/simple.el (extended-command-suggest-shorter): Add a
41411 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41413 Document extended-command-suggest-shorter
41415 * doc/emacs/m-x.texi (M-x): Mention
41416 extended-command-suggest-shorter (bug#19152).
41418 2016-04-30 Ivan Shmakov <ivan@siamics.net>
41420 Add a variable to control "shorter command" suggestions
41422 * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
41423 (execute-extended-command): Use it.
41425 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41427 Explictly explain that package-initialize loads the packages
41429 * lisp/emacs-lisp/package.el (package-initialize): Be explicit
41430 in saying that `package-initialize' obviates adjusting the
41431 path or requiring the packages, as this is a question that
41432 apparently comes up now and then (bug#18829).
41434 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41436 Have the doc strings of `load-path' and `require' mention each other
41438 * src/fns.c (Frequire): Mention `load-path' and fill the doc
41439 string (bug#18829).
41441 * src/lread.c (syms_of_lread): Mention that `require' uses
41444 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41446 Doc fix for insert-pair-alist
41448 * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
41449 COMMAND-CHAR is (bug#18809).
41451 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41453 Move doc of backup-directory-alist to the Backup node
41455 * doc/emacs/files.texi (Backup): Move the documentation of
41456 `backup-directory-alist' here from the "Single or Numbered
41457 Backups" node, because it doesn't seem to have much to do with
41458 numbering (bug#18692).
41460 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41462 Tiny doc clarification for create-fontset-from-fontset-spec
41464 * lisp/international/fontset.el (create-fontset-from-fontset-spec):
41465 Clarify what the optional part is (bug#18686).
41467 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41469 Fill the doc string of font-lock-keywords
41471 * lisp/font-lock.el (font-lock-keywords): Fill the lines and
41472 reorganize some explanations (bug#21427).
41474 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41476 Doc fix for font-lock-remove-keywords
41478 * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
41479 `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
41481 2016-04-30 Lars Ingebrigtsen <larsi@gnus.org>
41483 Clarify whitespace-style doc string
41485 * lisp/whitespace.el (whitespace-style): Doc clarification
41488 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41490 No need to test for jka-compr
41492 * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
41493 is always available; no need to test (bug#18204).
41495 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41497 Doc fixed for next-error-buffer-p
41499 * lisp/simple.el (next-error-buffer-p): Clarify doc string
41502 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41506 * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
41507 (and fill) (bug#18201).
41509 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41513 * src/keymap.c (Fdefine_prefix_command): Clarify doc string
41514 slightly (bug#18092).
41516 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41518 delsel doc touch ups
41520 * lisp/delsel.el (delete-selection-helper): Use non-nil
41521 instead of t and clarify function return values (bug#18089).
41523 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41525 Doc fixes for menu-bar.el
41527 * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
41528 REGION parameter (bug#18028).
41529 (clipboard-kill-region): Ditto.
41531 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41535 * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
41537 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41539 Minor doc clarification
41541 * lisp/subr.el (y-or-n-p): Document the return value from "n"
41544 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41546 Fill font-lock-mode doc string
41548 * lisp/font-core.el (font-lock-mode): Fill the text to make it
41549 narrower (bug#18008).
41551 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41553 Wrap the auto-generated doc string
41555 * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
41556 string to make it less likely that we get overlong lines
41559 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41561 Clarify hi-lock-find-patterns
41563 * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
41566 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41568 Warning fix in jit-lock-mode
41570 * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
41571 turning the mode on in an indirect buffer, if this somehow has
41572 happened (bug#17738).
41574 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41576 Add a doc string to `winner-mode'
41578 * lisp/winner.el (winner-mode): Add a doc string based on the
41579 comments in the file (bug#17716).
41581 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41583 Doc fix for align-newline-and-indent
41585 * lisp/align.el (align-newline-and-indent): Mention that
41586 alignment is done by `align' (bug#17707).
41588 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41590 Cancel the eldoc timer when switching off eldoc mode
41592 * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
41593 timer when switching off eldoc mode. It will be restarted
41594 again if needed (bug#17582).
41596 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41600 * lisp/subr.el (kbd): Describe more fully the format of the
41601 parameter (bug#17039).
41603 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41605 Add a sanity check to apropos-documentation-internal
41607 * lisp/apropos.el (apropos-documentation-internal): Add a
41608 sanity check to be less fragile in the presence of invalid
41611 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41615 * lisp/simple.el (use-empty-active-region): Doc tweak.
41616 There's only one region (bug#16513).
41618 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41620 Clarify `read-face-name' doc and tweak the code
41622 * lisp/faces.el (read-face-name): Clarify the documentation
41623 and allow a mix of faces and faces names in all cases
41626 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41628 Remove ": ?" from the read-face-name prompt
41630 * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
41631 to be more backwards compatible (bug#15909).
41633 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41635 Link from (emacs)Exiting to (lisp)Killing Emacs
41637 * doc/emacs/entering.texi (Exiting): Link to the lispref
41638 manual for further customizations (bug#15445).
41640 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41642 find-lisp doc touchups
41644 * lisp/find-lisp.el (find-lisp-format): Copy over the doc
41645 string (bug#15047).
41646 (find-lisp-find-files): Clarify doc.
41648 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41650 Don't have the manual claim that it lists all CL incompatibilities
41652 * doc/misc/cl.texi (Common Lisp Compatibility): The list of
41653 incompatibilities isn't exhaustive, so don't say that it is
41656 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41658 Fix call of `kmacro-display'
41660 * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
41661 `kmacro-display' (bug#15020).
41663 2016-04-29 Lars Ingebrigtsen <larsi@gnus.org>
41665 Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
41667 * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
41668 "mouse-[0-9]". These are case sensitive, and the keys are lower case
41671 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41673 Rename "Directory Search" menu to "Servers"
41675 * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
41676 Search" to "Directory Servers". Suggested by Eli
41677 Zaretskii. (bug#14919).
41679 * lisp/net/eudc.el: Rename ditto throughout.
41681 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41683 Remove uses of the unused to-end parameter from simple.el
41685 * lisp/simple.el (line-move-partial): Remove usages of the
41686 unused to-end parameter, and make it optional (bug#14844).
41687 (line-move): Remove use of the unused to-end parameter.
41689 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41691 Doc fix: _ chars are automatically removed.
41693 * lisp/cus-edit.el (custom-buffer-create): _ chars are
41694 automatically removed when displaying help, so fix the last
41696 (custom-buffer-create-other-window): Ditto.
41698 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41700 Doc string change to enable-recursive-minibuffers
41702 * src/minibuf.c (syms_of_minibuf): Mention
41703 minibuffer-depth-indicator-mode in the doc string to
41704 enable-recursive-minibuffers (bug#14147).
41706 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41708 Fix definition of nobreak-space
41710 * lisp/faces.el (nobreak-space): The definition to
41711 nobreak-space was inadvertantly changed by the previous checkin.
41713 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41715 Clarify the `interactive' doc string slightly
41717 * src/callint.c (Finteractive): Clarify the doc string slightly
41720 2016-04-28 Drew Adams <drew.adams@oracle.com>
41722 Make icomplete respect `completion-ignored-extensions'
41724 * lisp/icomplete.el (icomplete-completions): Heed
41725 `completion-ignored-extensions' (bug#12939).
41727 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41729 Make ibuffer not break on newline-embedded buffer names
41731 * lisp/ibuffer.el (name): When buffer names contain newlines,
41732 quote those newlines before displaying (bug#12378).
41734 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41736 Add a new face for non-breaking hyphen characters
41738 * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
41739 (Text Display): Ditto.
41741 * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
41743 * src/xdisp.c (get_next_display_element): Use it instead of
41744 the escape-glyph face.
41746 * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
41748 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41750 Make a menu less ambiguous
41752 * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
41753 is about using modifier keys, not binding them (bug#10942).
41755 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41757 Make kill-emacs-query-functions into defcustom
41759 * lisp/files.el (save-buffers-kill-terminal): Mention
41760 `save-buffers-kill-emacs' (bug#10794).
41761 (kill-emacs-query-functions): Made into a defcustom.
41763 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41765 Have describe-variable output multi-line values better
41767 * lisp/help-fns.el (describe-variable): When printing
41768 multi-line expressions, display them prettier (bug#10723).
41770 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41772 Clean up custom-buffer-create code slightly
41774 * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
41775 pass the unused description value on (for clarity) (bug#10540).
41776 (custom-buffer-create): Ditto
41778 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41780 Clarify some doc strings
41782 * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
41783 Clarify doc string (bug#8693).
41784 (syntax-propertize): Clarify doc string.
41786 2016-04-28 Nicolas Richard <theonewiththeevillook@yahoo.fr>
41788 Fix number-at-point in lisp buffers
41790 * lisp/thingatpt.el (number-at-point): Don't say that things
41791 like ?a are numbers in lisp mode buffers (bug#8634).
41793 2016-04-28 Lars Ingebrigtsen <larsi@gnus.org>
41795 Don't consider colons to be paragraphs starting chars in strings
41797 * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
41798 consider colons to start paragraphs in (doc) strings
41801 2016-04-27 Lars Ingebrigtsen <larsi@gnus.org>
41803 Make `undo' of `C-x r t' put point where it should be
41805 * lisp/rect.el (string-rectangle): Make `undo' of a this
41806 command put point back where it was (bug#7522).
41808 2016-04-27 Lars Ingebrigtsen <larsi@gnus.org>
41810 Add some concept index entries for custom types
41812 * doc/lispref/customize.texi (Composite Types): Add concept
41813 index entries for restricted-sexp, radio and choice (bug#7385).
41815 2016-04-27 Lars Ingebrigtsen <larsi@gnus.org>
41817 Mention `lisp-indent-function' in the lispref manual
41819 * doc/lispref/macros.texi (Indenting Macros): Mention
41820 `lisp-indent-function' (bug#3393).
41822 2016-04-27 Lars Ingebrigtsen <larsi@gnus.org>
41824 Clarify doc string of internal compilation function
41826 * lisp/progmodes/compile.el (compilation-get-file-structure):
41827 Clarify doc string (bug#3137).
41829 2016-04-27 Lars Ingebrigtsen <larsi@gnus.org>
41831 Avoid having `C-x h' mark the prompt part of the minibuffer
41833 * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
41834 part of the minibuffer (bug#2589).
41836 2016-04-27 Lars Ingebrigtsen <larsi@gnus.org>
41838 Allow a prefix argument to find-library to pop to a different window
41840 * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
41841 argument to pop to a different window (bug#2270).
41843 2016-04-27 Lars Ingebrigtsen <larsi@gnus.org>
41845 Move the diff command to "Operate" in ibuffer
41847 * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
41848 command to the "Operate" menu, and remove the customization
41849 entry to make the "View" menu more logical (bug#1150).
41851 2016-04-27 Lars Ingebrigtsen <larsi@gnus.org>
41853 Make the minor modes in help buffers into buttons
41855 * lisp/help.el (describe-mode): Make the minor modes into
41856 buttons to enable easier documentation traversal (bug#1149).
41858 2016-04-27 Jorgen Schaefer <contact@jorgenschaefer.de>
41860 Add a number of Python 3 exceptions
41862 * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
41863 the exception list, adding a number of new Python 3 exceptions and
41864 moving some exceptions to the Python 2 and 3 list as Python 2.7
41867 2016-04-26 Anders Lindgren <andlind@gmail.com>
41869 Fix bug#22891: wrong terminal width when a fringe width is zero.
41871 When either fringe width is zero, Emacs reserved one column for a
41872 continuation glyph. Terminal windows does not take this into
41873 account when the frame is resized.
41875 * lisp/window.el (window-adjust-process-window-size): Use
41876 `window-max-chars-per-line' instead of `window-body-width'.
41877 * lisp/term.el (term-window-width): Remove function. (It does the
41878 same as `window-max-chars-per-line' but without recent bug fixes.)
41879 (term-mode): Use `window-max-chars-per-line' instead of
41880 `term-window-width'.
41882 2016-04-26 Simen Heggestøyl <simenheg@gmail.com>
41884 Add completion of `calc()' in CSS mode
41886 * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
41887 a completion candidate for several value classes.
41888 (css--value-class-lookup): Return only unique results.
41890 * test/lisp/textmodes/css-mode-tests.el
41891 (css-test-property-values-no-duplicates)
41892 (css-test-value-class-lookup): Update to reflect the above changes.
41894 2016-04-26 Paul Eggert <eggert@cs.ucla.edu>
41896 Fix socketd fd startup bug that I introduced
41898 Problem reported by Matthew Leach in:
41899 https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00778.html
41900 * src/emacs.c (main): Indicate more clearly the coupling between
41901 the --daemon option and init_process_emacs.
41902 * src/lisp.h: Adjust to API changes.
41903 * src/process.c (set_external_socket_descriptor):
41904 Remove, replacing by ...
41905 (init_process_emacs): ... passing the socket FD here instead.
41908 2016-04-25 Tao Fang <fangtao0901@gmail.com>
41910 Fix: (void-variable url-http-response-status)
41912 * lisp/url/url-http.el
41913 (url-https-proxy-after-change-function): Display the error
41914 message before doing the callback to avoid a void variable
41915 situation (bug#23290).
41917 2016-04-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
41919 smtpmail would say it's done before it is
41921 * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
41922 of the data end marker from here... (bug#23020).
41923 (smtpmail-send-data): ... to here, so that we don't get a
41924 "Sending done" before we've sent the final "." (which can make
41925 the SMPT server reject the email.
41927 2016-04-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
41929 `url-retrieve-synchronously' now takes an optional timeout parameter
41931 * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
41933 * lisp/url/url.el (url-retrieve-synchronously): Allow passing
41934 in a timeout parameter (bug#22940).
41936 2016-04-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
41938 Include "Retype" as a comint password prompt
41940 * lisp/comint.el (comint-password-prompt-regexp): Include
41941 "Retype" to catch "Retype password for [account]:" from the
41942 "pass" utility (bug#22942).
41944 2016-04-25 Alan Mackenzie <acm@muc.de>
41946 Fix spurious fontification of "for (; a * b;)" in CC Mode.
41948 * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
41949 inside the parens of a for statement and after a semicolon near the beginning
41950 of the lambda form.
41952 2016-04-25 Paul Eggert <eggert@cs.ucla.edu>
41954 New function ‘char-from-name’
41956 This also fixes the mishandling of "\N{CJK COMPATIBILITY
41957 IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
41958 Problem reported by Eli Zaretskii in:
41959 https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00614.html
41960 * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
41961 * lisp/international/mule-cmds.el (char-from-name): New function.
41962 (read-char-by-name): Use it. Document that "BED" is treated as
41963 a name, not as a hexadecimal number. Reject out-of-range integers,
41964 floating-point numbers, and strings with trailing junk.
41965 * src/lread.c (character_name_to_code): Call char-from-name
41966 instead of inspecting ucs-names directly, so that we handle
41967 computed names like "VARIATION SELECTOR-1". Do not use an auto
41968 string, since char-from-name might GC.
41969 * test/src/lread-tests.el: Add tests for new behavior, and
41970 fix some old tests that were wrong.
41972 2016-04-25 Alan Mackenzie <acm@muc.de>
41974 c-forward-<>-arglist no longer directly applies face properties in Java Mode.
41976 This allows the calling of c-restore-<>-properties from c-common-init without
41977 the test suite giving spurious errors.
41979 * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
41980 sets face properties.
41981 (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
41982 template brackets using c-inside-<>-type-key. Don't bind
41983 c-record-type-identifiers or c-record-found-types around the recursive call,
41984 allowing positions of found types to flow back to the caller.
41986 * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
41987 new lang consts/var.
41989 * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
41990 c-restore-<>-properties from the list of functions called at mode
41993 2016-04-25 Jun Hao <jun_hao@aol.com>
41995 Pass in port only if provided by caller in the OS X keychain
41997 * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
41998 port only if provided (bug#23374).
42000 2016-04-25 Alan Mackenzie <acm@muc.de>
42002 Add fontification for a C declaration which looks like a function call.
42004 For example, "t1 *fn (t2 *b);".
42006 * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
42007 at-decl-start, setting it to whether the putative decl starts immediately
42008 after ; or { or }. Accept such a construct as a decl when at-decl-start is
42011 * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
42013 2016-04-25 Eli Zaretskii <eliz@gnu.org>
42015 Don't mirror slashes in convert-standard-filename on MS-Windows
42017 * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
42018 slashes into backslashes. This avoids producing ugly file names,
42019 and is deemed no longer necessary, and should certainly be
42020 unrelated to which shell is in use.
42022 2016-04-24 Dmitry Gutov <dgutov@yandex.ru>
42024 Revert the disputed VC change and update the tests
42026 * lisp/vc/vc-hooks.el (vc-working-revision):
42027 Remove the previous change.
42028 (vc-state): Same. And update the old, incorrect comment about
42030 (https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00526.html).
42032 * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
42033 calling `vc-state' on default-directory (VC state is undefined
42034 for directories). Check that `vc-state' returns nil where it
42035 returned `unregistered' before. Remove all checks comparing
42036 invocations with the backend passed in explictly and without.
42037 (vc-test--working-revision): Remove all checks comparing
42038 invocations with the backend passed in explictly and without.
42039 Update comments, and add a new one.
42041 2016-04-24 Paul Eggert <eggert@cs.ucla.edu>
42043 * etc/NEWS: Grammar and punctuation improvements.
42045 2016-04-24 Paul Eggert <eggert@cs.ucla.edu>
42047 Merge from origin/emacs-25
42049 9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
42050 0cd2e92 Don't kill ~/ if it's the top level directory
42051 4f40f5f describe-char: fix insert char documentation
42052 87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
42054 2016-04-24 Paul Eggert <eggert@cs.ucla.edu>
42056 Merge from origin/emacs-25
42058 960f90d * etc/AUTHORS: Update the AUTHORS file
42059 b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
42061 2016-04-24 Paul Eggert <eggert@cs.ucla.edu>
42063 Merge from origin/emacs-25
42065 78f9af7 ; ChangeLog fixes
42066 162e549 * admin/authors.el (authors-ignored-files): Additions.
42067 2b31a0c In x_set_window_size restore do_pending_window_change calls
42068 401857e Fix Alt-modified keys on some European MS-Windows keyboards
42069 a77cf24 Document 'help-go-forward'
42070 1ba947f Revert "Allow to customize names of executables used by grep.el"
42071 570e0fa Revert "Don't use 'find-program'"
42072 645f4ef Revert "Use 'grep-find-program' in check-declare.el"
42073 aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
42074 ce0d8c7 Make tmm-menubar work in correct order again
42075 b8d5a8f Remove the Meta-CVS VC backend
42077 2016-04-24 Simen Heggestøyl <simenheg@gmail.com>
42079 Don't let `css--property-values' return duplicates
42081 * lisp/textmodes/css-mode.el (css--property-values): Don't return
42084 * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
42085 Take the above into account.
42086 (css-test-property-values-no-duplicates): Test that duplicates aren't
42087 returned by `css--property-values'.
42089 2016-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
42091 Call `make-composed-keymap' correctly
42093 * lisp/image-mode.el (image-mode-map): Call
42094 `make-composed-keymap' correctly.
42096 2016-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
42098 Use `make-composed-keymap' instead of copying the keymap
42100 * lisp/image-mode.el (image-mode-map): Use
42101 `make-composed-keymap' instead of copying the keymap.
42103 2016-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
42105 Make `q' etc work in image mode again
42107 * lisp/image-mode.el (image-mode-map): Restore
42108 special-mode-map as the parent keymap of image-mode-map (bug#23167).
42110 2016-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
42112 Fix typo in last url.texi checkin
42114 2016-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
42116 Make STARTTLS error messages better
42118 * lisp/net/network-stream.el (network-stream-open-starttls):
42119 Output a better error message when TLS negotiation fails while
42120 doing STARTTLS (bug#23027).
42122 2016-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
42124 Encode the shr tests files with trailing white space
42126 2016-04-24 Simen Heggestøyl <simenheg@gmail.com>
42128 Cache results of `css--property-values'
42130 * lisp/textmodes/css-mode.el (css--property-values): Cache computed
42133 * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
42134 New regression test for the above.
42136 2016-04-24 Michael Albinus <michael.albinus@gmx.de>
42138 Some improvements in vc
42140 * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
42141 Check, whether FILE is registered.
42143 * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
42144 for nonexistent files.
42146 * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
42147 (vc-test--revision-granularity-function)
42148 (vc-test--unregister-function): Use `vc-call-backend'.
42149 (vc-test--run-maybe-unsupported-function): New defmacro.
42150 (vc-test--register, vc-test--state, vc-test--working-revision)
42151 (vc-test--checkout-model): Use it. Fix also expected results.
42152 (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
42154 2016-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
42156 Document the nil/default values of url-user-agent
42158 * doc/misc/url.texi (Customization): Document the nil/default
42159 values of url-user-agent.
42161 2016-04-24 Clément Pit--Claudel <clement.pit@gmail.com>
42163 Compute User-Agent dynamically in url-http
42165 * lisp/url/url-http.el (url-http-user-agent-string): Compute
42166 User-Agent string dynamically.
42167 (url-http--user-agent-default-string): New function.
42169 * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
42170 of information not to send.
42171 (url-user-agent): Add nil and `default' options; do not
42174 2016-04-24 Jun Hao <jun_hao@aol.com>
42176 Handle auth-source items with special characters on OS X
42178 * lisp/auth-source.el
42179 (auth-source-macos-keychain-search-items): Handle keychain
42180 output correctly when has special chararcters (bug#22824).
42182 2016-04-24 Magnus Henoch <magnus.henoch@gmail.com>
42184 Implement process-attributes for Darwin
42186 * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
42187 (system_process_attributes): Implement process-attributes
42188 for Darwin (bug#16579).
42190 2016-04-24 Lars Magne Ingebrigtsen <larsi@gnus.org>
42192 Use Unicode literals instead of hex values
42194 * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
42195 of hex values for greater readability.
42196 (shr-tag-bdi): Ditto.
42198 2016-04-24 Steve Purcell <steve@sanityinc.com>
42200 Allow _ characters in SQL prompts
42202 * lisp/progmodes/sql.el (sql-product-alist): Allow _
42203 characters in SQL prompts (bug#22596).
42205 Fixes issue 22596, whereby "_" is now not considered a word constituent
42206 character in sql-interactive-mode, so prompts like "foo_dev# " are not
42207 correctly detected. Rather than piggy-back on the symbol table, we
42208 explicitly match against alphanumeric chars or "_".
42210 2016-04-23 Glenn Morris <rgm@gnu.org>
42212 When autoload-timestamps is nil, use a dummy timestamp rather than "t".
42214 * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
42215 (autoload-generate-file-autoloads, autoload-find-destination)
42216 (update-directory-autoloads): Use autoload--non-timestamp.
42218 2016-04-23 Glenn Morris <rgm@gnu.org>
42220 * test/lisp/xt-mouse-tests.el: Move from test/automated/.
42222 2016-04-22 Jö Fahlke <jorrit@jorrit.de> (tiny change)
42224 Regexps for matching CMake output
42226 * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
42227 regexps for matching CMake output.
42228 * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
42230 * etc/compilation.txt (CMake): Add CMake examples.
42232 2016-04-22 Artur Malabarba <bruce.connor.am@gmail.com>
42234 * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
42236 Fix docstring quotes.
42238 2016-04-21 Paul Eggert <eggert@cs.ucla.edu>
42240 Improve character name escapes
42242 * doc/lispref/nonascii.texi (Character Properties):
42243 Avoid duplication of Unicode names. Reformat examples to fit in
42245 * doc/lispref/objects.texi (General Escape Syntax):
42246 Simplify and better-organize explanation of \N{...} escapes.
42247 * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
42248 (char_surrogate_p): New inline function.
42249 * src/lread.c: Do not include string.h; no longer needed.
42250 (invalid_character_name, check_scalar_value): Remove; the ideas
42251 behind these functions are now bundled into character_name_to_code.
42252 (character_name_to_code): Remove undocumented support for "CJK
42253 IDEOGRAPH-XXXX" names, as "U+XXXX" suffices. Reject monstrosities
42254 like "\N{U+-0}" and null bytes in \N escapes. Reject floating
42255 point in \N escapes instead of returning garbage. Use
42256 AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
42257 * test/src/lread-tests.el (lread-char-number, lread-char-name)
42258 (lread-string-char-number, lread-string-char-name):
42259 Test runtime behavior, not compile-time, as the test framework
42260 is not set up to test compile-time.
42261 (lread-char-surrogate-1, lread-char-surrogate-2)
42262 (lread-char-surrogate-3, lread-char-surrogate-4)
42263 (lread-string-char-number-2, lread-string-char-number-3):
42265 (lread-string-char-number-1): Rename from lread-string-char-number.
42267 2016-04-21 Philipp Stephani <phst@google.com>
42269 Use 'ucs-names' for character name escapes
42271 * src/lread.c (invalid_character_name, check_scalar_value)
42272 (parse_code_after_prefix, character_name_to_code): New helper
42273 functions that use 'ucs-names' and parsing for CJK ideographs.
42274 (read_escape): Use helper functions.
42275 (syms_of_lread): New symbol 'ucs-names'.
42276 * test/src/lread-tests.el: New tests; fix a couple of bugs in
42279 2016-04-21 Philipp Stephani <phst@google.com>
42281 Minor cleanups for character name escapes
42283 * src/lread.c (init_character_names): Add missing 'void'.
42284 Remove top-level 'const'.
42285 (read_escape): Simplify loop a bit. Remove top-level 'const'.
42287 2016-04-21 Philipp Stephani <phst@google.com>
42289 Add documentation for character name escapes
42291 2016-04-21 Philipp Stephani <phst@google.com>
42293 Implement named character escapes, similar to Perl
42295 * src/lread.c (init_character_names): New function.
42296 (read_escape): Read Perl-style named character escape sequences.
42297 (syms_of_lread): Initialize new variable 'character_names'.
42298 * test/src/lread-tests.el (lread-char-empty-name): Add test file
42301 2016-04-21 Fabrice Popineau <fabrice.popineau@gmail.com>
42303 Avoid run-time dependency on libwinpthread DLL on MS-Windows
42305 * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
42306 (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
42307 present, so that MinGW64 builds don't depend on libwinpthread.
42310 2016-04-21 Matthew Leach <matthew@mattleach.net>
42312 Add LIBSYSTEMD to the list of supported features
42314 * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
42315 message at the end of configure stating whether Emacs will be build
42316 with libsystemd support.
42318 2016-04-21 Vasilij Schneidermann <v.schneidermann@gmail.com>
42320 Support absolute column movement in 'ansi-term'
42322 * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
42323 for absolute column movement. (Bug#23303)
42325 2016-04-21 Jorgen Schaefer <contact@jorgenschaefer.de>
42327 Add Python 3.5 keyword "await"
42329 * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
42332 2016-04-20 Simen Heggestøyl <simenheg@gmail.com>
42334 Add "keyframes" to list of CSS at-rules
42336 * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
42338 2016-04-20 Phillip Lord <phillip.lord@russet.org.uk>
42340 Prevent bootstrap autoload backup files
42342 * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
42343 backups in newly created file.
42345 (autoload-ensure-default-file): Function split into two.
42346 (autoload-ensure-file-writeable): New function from split.
42350 2016-04-20 Paul Eggert <eggert@penguin.cs.ucla.edu>
42352 Fix org-timestamp-change typo
42354 Problem reported by Peter Münster (Bug#23299).
42355 * lisp/org/org.el (org-timestamp-change): Fix typo that relied
42356 on undocumented behavior in ‘encode-time’. In practice the
42357 old code used local time, so use that.
42359 2016-04-19 Paul Eggert <eggert@cs.ucla.edu>
42361 Avoid AC_PREPROC_IFELSE glitch in configure.ac
42363 Problem reported by Angelo Graziosi in:
42364 https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00545.html
42365 * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
42366 AC_PREPROC_IFELSE doesn’t generate a simple shell command.
42368 2016-04-19 Michael Albinus <michael.albinus@gmx.de>
42370 autorevert: Resume with polling if file is deleted
42372 * lisp/autorevert.el: Use consistent wording in comments and
42374 (auto-revert-mode): Add local function to `kill-buffer-hook'.
42375 (auto-revert-notify-handler): Improve handling of `stopped' event.
42377 * test/lisp/autorevert-tests.el
42378 (auto-revert-test02-auto-revert-deleted-file): New test.
42379 (auto-revert-test03-auto-revert-tail-mode)
42380 (auto-revert-test04-auto-revert-mode-dired): Rename them.
42382 2016-04-18 Paul Eggert <eggert@cs.ucla.edu>
42384 Merge from origin/emacs-25
42386 5a0cbe5 Fix Bug#23276
42387 2007e32 Sync with upstream vhdl mode v3.38.1.
42388 b6d2552 Tweak configure.ac syntax in recent module patch
42390 2016-04-18 Paul Eggert <eggert@cs.ucla.edu>
42392 Merge from origin/emacs-25
42394 ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
42395 3287f48 ; Add entry to MAINTAINERS
42396 b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
42397 0f33284 Make use of rectangle-preview custom variable.
42398 aa0d83a Make use of rectangle-preview face.
42399 33bef6e Use 'grep-find-program' in check-declare.el
42400 a8560e5 Improve "C-h S" for cl-lib symbols
42401 52e798b Fix minor issues with removing left or right fringes
42402 d6ffd64 Speed up redisplay in ansi-term mode
42403 4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
42404 f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux. (Bu...
42405 ab849b7 Fix w32 memory-management problem when extending buffer text
42407 2016-04-18 Paul Eggert <eggert@cs.ucla.edu>
42409 Merge from origin/emacs-25
42411 32364bb substitute-command-keys keeps quotes’ text props
42412 567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
42413 24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
42414 cc0b713 Perform xref searches without visiting unopened files
42415 5045575 Revert "Prevent bootstrap autoload backup files"
42417 2016-04-18 Philipp Stephani <p.stephani2@gmail.com>
42419 * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
42421 so that it matches the actual implementation.
42422 See https://lists.gnu.org/archive/html/help-gnu-emacs/2016-04/msg00071.html
42424 2016-04-18 Stefan Monnier <monnier@iro.umontreal.ca>
42426 * lisp/textmodes/ispell.el: Compile with lexical-binding
42428 (declare-function): Don't define any more.
42429 (ispell-check-minver, ispell-looking-back): Tweak definition so that
42430 the compiler can obviously know that it's always defined.
42431 (ispell-debug-buffer): Declare var.
42432 (ispell-hunspell-fill-dictionary-entry)
42433 (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
42434 (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
42435 (ispell-command-loop): Avoid add-to-list on local variables.
42437 2016-04-17 Paul Eggert <eggert@cs.ucla.edu>
42439 Minor fixups for external socket launching
42441 * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
42442 * doc/emacs/misc.texi (Emacs Server):
42443 * etc/NEWS: Spelling and doc fixes.
42444 * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
42445 Check for sd_is_socket returning positive, not zero.
42446 * src/process.c (external_sock_fd): Instead of initializing here ...
42447 (init_process_emacs): ... initialize it here, so that it does the
42448 right thing after dump/restore.
42449 (connect_network_socket): Simplify socket_to_use test.
42451 2016-04-17 Simen Heggestøyl <simenheg@gmail.com>
42453 Add HTML5 tags to HTML mode
42455 * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
42456 (html-tag-help): Add short descriptions of those tags.
42458 2016-04-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
42460 Finish idna->puny changes in last Message patch
42462 * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
42463 instead of idna functions.
42465 2016-04-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
42467 Use puny.el instead of idna.el functions in Gnus
42469 * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
42470 Emacs comes with IDNA support built in).
42471 (article-decode-idna-rhs): Use `puny-decode-domain' instead of
42474 * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
42476 2016-04-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
42478 Mention `message-use-idna' in NEWS
42480 2016-04-17 Lars Magne Ingebrigtsen <larsi@gnus.org>
42482 Default `message-use-idna' to t
42484 * lisp/gnus/message.el (message-use-idna): Default to t (since
42485 Emacs comes with puny.el now).
42487 2016-04-16 Matthew Leach <matthew@mattleach.net>
42489 Extend battery.el to exotic power supply types
42491 * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
42492 'battery--linux-sysfs-regexp' and make a defcustom. All users
42493 changed. (Bug#23216)
42495 2016-04-16 Matthew Leach <matthew@mattleach.net>
42497 Add external socket launching support
42499 * src/process.c (connect_network_socket): Allow a pre-allocated socket
42500 descriptor to be used if passed to Emacs, avoiding the call to
42501 'socket' and 'bind'.
42502 (Fmake_network_process): Allow users to pass ':use-external-socket' in
42503 the parameter plist to use any sockets that have been passed to Emacs.
42504 (wait_reading_process_output): Call 'socket' and 'bind' every time.
42505 (syms_of_process): New symbol ':use-external-socket'.
42506 (set_external_socket_descriptor): New function.
42507 (external_sock_fd): New variable.
42508 * src/lisp.h: (set_external_socket_descriptor): New declaration.
42509 * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
42510 passed and call 'set_external_socket_descriptor' to set the external
42512 * src/Makefile.in: Add libsystemd library and C flags to the Emacs
42513 compilation options.
42515 * configure.ac: Add new default-on option "systemd" and check for
42516 libsystemd at configure time.
42518 * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
42519 calling 'make-network-process'.
42521 * etc/NEWS: Document new socket-passing functionality and the configure
42522 option to disable systemd interaction.
42524 * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
42525 functionality and provide systemd unit examples.
42526 * doc/lispref/processes.texi (Network Processes): Document new
42527 'make-network-process' option ':use-external-socket'.
42529 2016-04-16 Matthew Leach <matthew@mattleach.net>
42531 Don't spell-check argument of 'cref' TeX macro
42533 * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
42534 macro to skip spell-checking the cref macro argument.
42536 2016-04-14 Paul Eggert <eggert@cs.ucla.edu>
42538 Simplify use of O_BINARY
42540 * src/callproc.c (call_process):
42541 * src/fileio.c (write_region):
42542 * src/filelock.c (read_lock_data):
42543 * src/image.c (x_find_image_fd):
42544 * src/lread.c (openp):
42545 * src/sysdep.c (init_random, emacs_fopen):
42546 * src/unexcw.c (unexec):
42547 Omit unnecessary use of O_BINARY, since emacs_open now arranges
42550 2016-04-14 Paul Eggert <eggert@cs.ucla.edu>
42552 * src/indent.c (Fvertical_motion): Pacify GCC
42554 5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
42556 2016-04-13 Paul Eggert <eggert@cs.ucla.edu>
42558 Port ‘./autogen.sh git’ to non-clones
42560 Problem reported by Angelo Graziosi in:
42561 https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00341.html
42562 * autogen.sh (do_git): Default to false when the arg is ‘all’ but
42563 there is no ‘.git’.
42564 (git_common_dir, hooks): New vars.
42565 (git_config, tailored_hooks, sample_hooks): Use them.
42567 2016-04-13 Paul Eggert <eggert@cs.ucla.edu>
42569 Do not require that .git be a directory
42571 Problem reportyed by Phillip Lord.
42572 * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
42573 * configure.ac, make-dist:
42574 Do not require that .git be a directory, as 'git worktree' makes
42575 it a file and not a directory.
42577 2016-04-12 Paul Eggert <eggert@cs.ucla.edu>
42579 Avoid now-obsolete function gmm-format-time-string
42581 * lisp/gnus/message.el (message-insert-formatted-citation-line):
42582 Use format-time-string instead of obsolete function
42583 gmm-format-time-string.
42585 2016-04-12 Paul Eggert <eggert@cs.ucla.edu>
42587 Support OFFSET and (OFFSET ABBR) time zone rules
42589 This simplifies Gnus and VC time zone support, by letting them
42590 feed the output of ‘current-time-zone’ and ‘decode time’ to
42591 primitives that accept time zone arguments.
42592 * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
42594 * lisp/gnus/message.el (message-insert-formatted-citation-line):
42595 * lisp/org/org.el (org-timestamp-format):
42596 * src/editfns.c (Fformat_time_string, Fdecode_time):
42597 (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
42598 Document new behavior.
42599 * lisp/gnus/gmm-utils.el (gmm-format-time-string):
42600 * lisp/vc/add-log.el (add-log-iso8601-time-zone):
42601 Mark as obsolete, as it is now just an alias or narrow wrapper
42602 around format-time-string.
42603 * src/editfns.c (tzlookup): Also support integer OFFSET and
42604 list (OFFSET ABBR) as time zone rules.
42605 (Fencode_time): No longer need a special case for a cons ZONE.
42606 (Fcurrent_time_zone): If the time zone string is missing, compute
42607 it the same way the other new code does.
42609 2016-04-12 Paul Eggert <eggert@cs.ucla.edu>
42611 Merge from origin/emacs-25
42613 ca50981 Improve time zone documentation
42614 c23c965 Prevent bootstrap autoload backup files
42615 9344612 Disable multicolor fonts on OS X since they are not supported...
42616 c41ce1c Capitalize “Universal Time” in documentation
42617 10597c9 Don't use 'find-program'
42619 2016-04-11 Paul Eggert <eggert@cs.ucla.edu>
42621 Merge from origin/emacs-25
42623 b134c20 Sync with gnulib
42624 bb30fa9 Fix last change on 2016-01-02
42625 488a72f ; Spelling fixes
42626 9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
42627 0e7bcec Avoid crashes due to unreasonably large or small text scaling
42628 85f257c Improve documentation of 'with-eval-after-load'
42629 668c7bc Improve handling of non-ASCII characters in Git log messages
42630 b570769 Remove undefined behavior in OS X dumper.
42631 97211f3 Fix clipping of xwidgets
42632 e87fbc0 Improve Lisp-level documentation of tooltips
42633 9f1786e Faces names should not end in "-face".
42634 3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
42635 a1f221b Comint and compile no longer set EMACS
42636 5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
42637 a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
42638 c93ae7a Allow to customize names of executables used by grep.el
42639 f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
42640 7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
42641 a3f1ac2 Avoid infinite loop in 'studlify-word'
42642 f36df4b Don’t recommend obsolete EMACS env var
42643 fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
42645 2016-04-11 Paul Eggert <eggert@cs.ucla.edu>
42647 Merge from origin/emacs-25
42649 96d9e78 Fix "Beginning of buffer" error in forward-page
42650 20686f7 Add a `transient' project type
42652 2016-04-11 Paul Eggert <eggert@cs.ucla.edu>
42654 Merge from origin/emacs-25
42656 80128a7 Fix stability confusion in sort-tests
42657 1e4aa42 Avoid describe-key error with lambdas
42658 a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
42659 f501116 Sync with gnulib
42660 c4963f9 Fix doc for Universal Time
42662 2016-04-10 Etienne Prud'homme <e.e.f.prudhomme@gmail.com> (tiny change)
42664 Fix alignement rule for CSS
42666 * lisp/align.el (align-rules-list): Support CSS properties that have
42669 2016-04-10 Tassilo Horn <tsdh@gnu.org>
42671 New custom option for overriding mailcap choices
42673 * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
42674 (mailcap--set-user-mime-data): New function.
42675 (mailcap-user-mime-data): New customization option.
42676 (mailcap-select-preferred-viewer): New function.
42677 (mailcap-mime-info): Use it.
42679 * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
42681 2016-04-10 Michael Albinus <michael.albinus@gmx.de>
42685 * src/keyboard.c (read_char): Resume idle timers in case of
42686 dbus-event, file-notify-event and config-changed-event.
42687 Reported by Johan Claesson <johanclaesson@bredband.net>. (Bug#23207)
42689 2016-04-09 Michael Albinus <michael.albinus@gmx.de>
42691 Add vc-backend and vc-responsible-backend tests
42693 * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
42694 (vc-file-clearprops): Use properties on absolute files.
42696 * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
42697 Clear file properties.
42698 (vc-test--register): Add tests for `vc-backend' and
42699 `vc-responsible-backend'. Catch other errors but `vc-not-supported'.
42700 (vc-test--state, vc-test--checkout-model): Catch other errors
42701 but `vc-not-supported'.
42702 (vc-test--working-revision): Fix test for RCS and SCCS. Catch
42703 other errors but `vc-not-supported'.
42704 (vc-test-src02-state): Mark as an expected failure.
42706 2016-04-08 Paul Eggert <eggert@cs.ucla.edu>
42708 Minor improvements for hash function primitives
42710 * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
42711 hashfn_eq rather than reaching inside them.
42712 (hashtest_eq, hashtest_eql, hashtest_equal):
42713 Now constants with initializers.
42714 (syms_of_fns): Omit no-longer-needed initialization.
42715 * src/lisp.h (LISPSYM_INITIALLY): New macro.
42716 (DEFINE_LISP_SYMBOL): Use it.
42718 2016-04-08 Paul Pogonyshev <pogonyshev@gmail.com>
42720 New primitives sxhash-eq, sxhash-eql
42722 * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
42723 * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
42724 Add sxhash-equal, sxhash-eq, sxhash-eql.
42725 * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
42726 * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
42728 2016-04-08 Eli Zaretskii <eliz@gnu.org>
42730 Teach Dired support parallel execution of commands on MS-Windows
42732 * lisp/dired-aux.el (dired-shell-stuff-it): Support
42733 parallel-in-background execution of commands on MS-Windows.
42734 Test 'w32-shell-dos-semantics' instead of the underlying OS
42735 when determining whether addition of 'wait' is needed.
42737 2016-04-08 Tino Calancha <f92capac@gmail.com>
42739 Make 'dired-do-shell-command' wait for all background jobs
42741 * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
42742 wait until all background jobs exit. (Bug#23206).
42744 2016-04-07 Vivek Dasmohapatra <vivek@etla.org>
42746 Prefer 'font-lock-face to 'face in erc where appropriate
42748 * lisp/erc/erc-button.el (erc-button-add-face): Prefer
42749 'font-lock-face to 'face where appropriate.
42750 * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
42751 * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
42752 * lisp/erc/erc-goodies.el (erc-controls-propertize)
42753 * lisp/erc/erc-stamp.el (erc-format-timestamp)
42754 * lisp/erc/erc-track.el (erc-faces-in)
42755 * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
42756 (erc-display-command, erc-make-notice, erc-highlight-notice)
42757 (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
42758 (erc-display-prompt, erc-display-message-highlight)
42759 (erc-log-irc-protocol): Ditto.
42761 * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
42764 2016-04-06 Lele Gaifax <lele@metapensiero.it>
42766 Add new keywords of Python 3.5
42768 Python 3.5, released in mid September 2015, introduced a few new
42769 keywords to better support asynchronous code, "async" and "await"
42770 in particular. See https://www.python.org/dev/peps/pep-0492/ for
42771 details. (Bug#21783)
42772 * lisp/progmodes/python.el (python-rx-constituents): Add async
42773 def/for/with as block-start and async def as defun.
42774 * lisp/progmodes/python.el (python-font-lock-keywords): Add async
42775 def/for/with as keyword.
42776 * test/automated/python-tests.el (python-indent-after-async-block-1,
42777 python-indent-after-async-block-2, python-indent-after-async-block-3,
42778 python-nav-beginning-of-defun-3): New tests to test indentation and
42779 navigation for the async keyword.
42781 2016-04-05 Etienne Prud'homme <e.e.f.prudhomme@gmail.com> (tiny change)
42783 Support completion of at-rules in SCSS mode
42785 lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
42786 SCSS-specific at-rules.
42787 (css--at-ids): New buffer-local variable holding the list of at-rules
42788 for the current mode.
42789 (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
42790 (scss-mode): Set `css--at-ids'.
42792 2016-04-05 Paul Eggert <eggert@cs.ucla.edu>
42794 Enable GCC warnings in developer builds
42796 However, do not fail; just issue the warnings. Add an option
42797 --enable-gcc-warnings=warn-only to configure, to implement this.
42798 * INSTALL, etc/NEWS: Document this.
42799 * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
42800 (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
42801 Don’t treat --with-x-toolkit=no as a special case when configuring
42804 2016-04-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
42806 Inhibit querying for the encoding of the headers when resending
42808 * lisp/gnus/message.el (message-resend): Inhibit querying for
42809 the encoding of the headers when resending.
42811 2016-04-04 Paul Eggert <eggert@cs.ucla.edu>
42813 Prefer AUTO_STRING_WITH_LEN to make_formatted_string
42815 * src/buffer.c (Fgenerate_new_buffer_name):
42816 * src/filelock.c (get_boot_time):
42817 * src/minibuf.c (get_minibuffer):
42818 * src/process.c (make_process):
42819 * src/xdisp.c (ensure_echo_area_buffers):
42820 Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
42821 when either will do.
42823 2016-04-04 Tao Fang <fangtao0901@gmail.com>
42825 Allow URL using HTTPS proxies using CONNECT
42827 * lisp/url/url-http.el (url-http-find-free-connection): Allow
42828 using proxies (bug#11788).
42829 (url-http-end-of-document-sentinel): Ditto.
42830 (url-http): The protocol may change from http to https and
42832 (url-https-proxy-connect): Allow using CONNECT proxies for https.
42834 2016-04-04 Paul Eggert <eggert@cs.ucla.edu>
42836 New C macro AUTO_STRING_WITH_LEN
42838 Put a bit less pressure on the garbage collector by defining a
42839 macro that is like AUTO_STRING but also allows null bytes in strings,
42840 and by extending AUTO_STRING to work with any unibyte string.
42841 * src/alloc.c (verify_ascii): Remove; all uses removed.
42842 AUTO_STRING can now be used on non-ASCII unibyte strings.
42843 * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
42844 (AUTO_STRING_WITH_LEN): New macro.
42845 * src/coding.c (from_unicode_buffer):
42846 * src/editfns.c (format_time_string):
42847 * src/emacs-module.c (module_make_string, module_format_fun_env):
42848 * src/fileio.c (Fexpand_file_name):
42849 * src/font.c (font_parse_family_registry):
42850 * src/ftfont.c (ftfont_get_charset):
42851 * src/keymap.c (silly_event_symbol_error):
42852 * src/menu.c (single_menu_item):
42853 * src/sysdep.c (system_process_attributes):
42854 Use AUTO_STRING_WITH_LEN if possible.
42855 * src/emacs-module.c (module_make_function):
42856 * src/fileio.c (report_file_errno, report_file_notify_error):
42857 * src/fns.c (Flocale_info):
42858 * src/sysdep.c (system_process_attributes):
42859 Use AUTO_STRING if possible. This is doable more often now
42860 that AUTO_STRING works on any unibyte string.
42862 2016-04-04 Paul Eggert <eggert@cs.ucla.edu>
42864 Port redirect-debugging-output to MS-Windows
42866 Suggested by Eli Zaretskii in:
42867 https://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00037.html
42868 * src/print.c [WINDOWSNT]: Include sys/socket.h.
42869 * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
42871 2016-04-04 Paul Eggert <eggert@cs.ucla.edu>
42873 Port redirect-debugging-output to non-GNU/Linux
42875 Problem reported by Kylie McClain for musl in:
42876 https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01592.html
42877 * etc/DEBUG, etc/NEWS: Mention this.
42878 * src/callproc.c (child_setup) [!MSDOS]:
42879 * src/dispnew.c (init_display):
42880 * src/emacs.c (main, Fdaemon_initialized):
42881 * src/minibuf.c (read_minibuf_noninteractive):
42882 * src/regex.c (xmalloc, xrealloc):
42883 Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
42884 to make file-descriptor manipulation easier to follow.
42885 * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
42886 now that we make sure stdin, stdout and stderr are open. All uses
42888 (main): Make sure standard FDs are OK. Prefer symbolic names like
42889 EXIT_FAILURE to magic numbers like 1. Use bool for boolean.
42890 * src/lisp.h (init_standard_fds): New decl.
42891 * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
42892 Remove; no longer needed.
42893 (Fredirect_debugging_output): Define on all platforms, not just
42894 GNU/Linux. Redirect file descriptor, not stream, so that the code
42895 works even if stderr is not an lvalue. Report an error if the
42896 file arg is neither a string nor nil.
42897 (syms_of_print): Always define redirect-debugging-output.
42898 * src/sysdep.c (force_open, init_standard_fds): New functions.
42900 2016-04-03 Paul Eggert <eggert@cs.ucla.edu>
42904 2016-04-03 John Wiegley <johnw@newartisans.com>
42906 Revert "Add `r'/`l' grep command history commands"
42908 This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
42910 2016-04-03 John Wiegley <johnw@newartisans.com>
42912 Revert "Restore the point in grep buffers when traversing the history"
42914 This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
42916 2016-04-03 Paul Eggert <eggert@cs.ucla.edu>
42918 Merge from origin/emacs-25
42920 787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
42922 2016-04-03 Paul Eggert <eggert@cs.ucla.edu>
42924 Merge from origin/emacs-25
42926 b787d55 More format-time-string change fixups
42927 13c8f29 make-xwidget unused arg cleanup
42928 36e05f0 Remove unused arguments from make-xwidget
42929 1042217 Document incompatible changes in 'format-time-string'
42930 7228eb8 Improve documentation of byte-code objects
42931 0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
42932 17b5152 Improve vc-diff with Git backend
42933 c28f87a (js--continued-expression-p): Special-case unary plus and minus
42934 2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
42935 9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
42936 b3b523c Avoid crashes due to insanely large columns in tabulated-list...
42937 a3daa34 Teach M-x disassemble a default argument.
42938 e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
42939 df441b3 Fix OS X specific settings in tramp-tests
42940 2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
42943 # lisp/net/tramp-sh.el
42944 # lisp/progmodes/cc-engine.el
42946 2016-04-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
42948 Restore the point in grep buffers when traversing the history
42950 * lisp/progmodes/grep.el (grep-process-setup): Allow moving
42951 point to a specific place after finishing the grep command.
42952 (grep-mode): Use it to restore point after traversing the history.
42953 (grep--history-point): New internal variable.
42954 (grep--save-history, grep-forward-history): Use it to restore
42957 2016-04-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
42959 Add `r'/`l' grep command history commands
42961 * doc/emacs/building.texi (Grep Searching): Mention the
42964 * lisp/progmodes/grep.el (grep-forward-history): New command.
42965 (grep-backward-history): Ditto.
42966 (grep--save-buffers): New function.
42967 (grep): Use it to record the history.
42968 (grep--command-history, grep--history-inhibit)
42969 (grep--history-place): New internal variables for the grep
42970 history (bug#22627).
42972 2016-04-03 Michael Albinus <michael.albinus@gmx.de>
42974 Fix Bug#23186, again
42976 * lisp/net/tramp.el (tramp-encoding-shell)
42977 (tramp-encoding-command-switch)
42978 (tramp-encoding-command-interactive): Check for
42979 `w32-shell-name'. (Bug#23186)
42981 2016-04-03 Michael Albinus <michael.albinus@gmx.de>
42985 * lisp/net/tramp.el (tramp-encoding-command-switch)
42986 (tramp-encoding-command-interactive):
42987 * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
42988 `tramp-encoding-shell' could be nil. (Bug#23186)
42990 2016-04-03 Michael Albinus <michael.albinus@gmx.de>
42994 * lisp/net/tramp-cache.el (tramp-get-connection-property)
42995 (tramp-set-connection-property, tramp-connection-property-p)
42996 (tramp-flush-connection-property): Improve docstring.
42998 * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
43000 * lisp/net/tramp.el (tramp-get-local-locale): New defun.
43002 * test/automated/tramp-tests.el (tramp--test-utf8):
43003 Improve settings of coding systems. (Bug#22145)
43005 2016-04-02 John Wiegley <johnw@newartisans.com>
43007 Merge from origin/emacs-25
43009 7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
43010 9034c50 * doc/man/emacsclient.1: Document +line:column option.
43011 06495c9 Fix rare problems with echo-area display and multiple frames
43012 f99b512 In M-%, avoid making buffer-local binding of text-property-de...
43014 2016-04-02 John Wiegley <johnw@newartisans.com>
43016 Merge from origin/emacs-25
43018 e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
43019 c8b868b Don't start the 'midnight' timer twice
43020 278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
43021 e5c17f4 Fix todo-mode category movement
43022 bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
43023 cf40f38 Ignore non-nil. non-cons values of unread-command-events
43024 8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
43025 fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
43026 1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
43027 3a13472 Fix map-put and map-delete for alists (Bug#23105)
43028 422c3da Minor copyedits of documentation for temporary displays
43029 90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
43030 f14d463 Minor doc string fixes in replace.el
43031 e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
43032 44782de Fix display of Indic scripts
43033 326c64f Fix splash screen display at startup
43034 7ab2a97 ; In NEWS mention new display of minibuffer completions window
43035 a1cd84c Describe temporary displays in Emacs manual
43036 5ec1056 Avoid stray As next to IDLW icons
43037 45577d5 Avoid GTK 3 crash with icons and masks
43038 e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
43039 077b78c Define make_save_ptr_ptr unconditionally
43040 20a1003 Preserve current buffer when popping up TTY menus
43041 7eba90c Improve font selection by family on MS-Windows
43042 73d213f Comint, term, and compile now set EMACS
43043 9524ec5 Ignore more merges when generating ChangeLog
43044 ad250f2 Sync with gnulib
43045 c0165ea Resurrect GNUS-NEWS autogeneration
43046 1e5327c ; Backport ChangeLog.2 fixes from master
43047 e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
43048 38a43f1 Fix bug in displaying header line with a box face
43049 91e6676 Fix an Isearch var to be a string (Bug#23038)
43050 76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
43051 8a35f83 Render empty <ul><li><ul> correctly
43052 d8b2ce5 Ignore invalid base64 encoded embedded images
43053 52ba24b Fix <p> and <div> newlines with or without <li> in shr
43054 b8ea08b Avoid errors in 'newline'
43055 fc3cd53 Fix Bug#23032
43056 dd2737b Adjudicate review comments in abbrevs.texi
43057 26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
43058 413e73b ; Small theme additions
43059 cd950da Honor prefix arg in doc-view-next-line-or-next-page
43060 ed909c0 ; Spelling fixes
43061 6da3a6d Port to strict C99 offsetof
43062 de7601f Port to GTK with strict C11 compiler
43063 658aa2d Port to GTK with strict C99 compiler
43064 1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
43065 7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
43066 dca240a Suppress some Tramp tests for OSX, do not merge with master
43067 9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
43068 cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
43069 005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
43070 9ab03f2 ; Auto-commit of loaddefs files.
43071 56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
43072 a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
43073 79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
43074 253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
43075 ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
43076 d6d164f Avoid segfaults due to frame image cache being absent
43077 bc7f6f6 Improve documentation of glyphless-character display
43078 6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
43079 ee9a1f7 Support safe navigation operator in non-SMIE indentation code
43080 c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
43081 2036be4 Fix Ruby's operator precedence
43082 1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
43083 7950e1d Port to clang 3.7.0 on x86-64
43084 218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
43085 ba33b7c Sync with gnulib
43086 38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
43087 dbfbedd Do not tokenize a comment before continuation as ';'
43088 0403620 Don't misindent arguments of a method call inside continuation
43089 e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
43090 8475f3d ASCII-only etc/NEWS etc.
43091 5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
43092 0ce37ea Fix Isearch prompt when invoked with an argument
43093 f3033d4 Fix a typo in the Emacs manual
43094 4235d2d Curved quotes in etc/NEWS etc.
43095 26b56dc Fix some single quotes in documentation
43096 80ec484 Make lisp-completion-at-point's argument optional
43097 9d463ae Tweak the left precedence of '=>'
43098 5b705bc Indent '.' relative to the first sibling expression
43099 04f5525 Make '.' associative, for easier sexp navigation
43100 ba24c99 Revert "Simplify "Visit New File" to "New File""
43102 2016-04-02 Stefan Monnier <monnier@iro.umontreal.ca>
43104 * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
43106 Use #' to quote functions.
43107 (erc-server-delayed-reconnect): Remove unused arg `event'.
43108 (erc-process-sentinel-2): Adjust accordingly.
43109 Don't pass `err' to condition-case if we don't use it.
43110 (define-erc-response-handler): Use add-hook rather than add-to-list.
43111 (NICK): Use cl-pushnew rather than add-to-list.
43112 (331): Remove unused var `topic'.
43113 (352): Remove unused var `hopcount'.
43115 2016-04-02 Paul Pogonyshev <pogonyshev@gmail.com>
43117 Support macros in 'func-arity'
43119 * src/eval.c (Ffunc_arity): Support Lisp macros as well.
43121 2016-04-02 Andy Moreton <andrewjmoreton@gmail.com>
43123 Fix compilation of Cygwin w32 port
43125 * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
43126 initialize and free the notification set if compiling with
43129 2016-04-01 Paul Eggert <eggert@penguin.cs.ucla.edu>
43131 Fix resize incompatibility with GTK+ master
43133 Problem reported by Matthias Clasen (Bug#23144).
43134 * src/xterm.c (handle_one_xevent) [USE_GTK]:
43135 Do not call xg_frame_resized.
43137 2016-04-01 Paul Eggert <eggert@cs.ucla.edu>
43139 Fix check for subscript errors in module calls
43141 * src/emacs-module.c (check_vec_index): New function.
43142 (module_vec_set, module_vec_get): Use it instead of a
43143 not-strict-enough check.
43145 2016-03-31 Simen Heggestøyl <simenheg@gmail.com>
43147 Support completion of bang-rules in CSS mode
43149 lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
43150 holding the list of bang-rules for the current mode.
43151 (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
43152 instead of computing them.
43153 (css--complete-bang-rule): New function for completing a bang-rule.
43154 (css-completion-at-point): Add support for completing bang-rules.
43155 (scss-font-lock-keywords): Change from a variable to a function in
43156 order to recompute `css--font-lock-keywords' when `css--bang-ids' has
43158 (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
43160 2016-03-30 Simen Heggestøyl <simenheg@gmail.com>
43162 Add HTML4 tags to HTML mode
43164 * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
43165 (html-tag-help): Add short descriptions of those tags.
43167 2016-03-29 Paul Eggert <eggert@cs.ucla.edu>
43169 Pacify --enable-gcc-warnings for buffer-hash etc.
43171 * src/fns.c (make_digest_string): Now static.
43172 (secure_hash): Omit unused local.
43174 2016-03-29 Oleh Krehel <ohwoeowho@gmail.com>
43176 Add support for 7z archives
43178 * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
43179 also work with 7z archives.
43181 The shell command should produce a single extracted directory named
43182 after the archive's name.
43184 In case the extracted directory exists, all files will be overwritten
43185 without a prompt. This matches the expected behavior with the "tar.gz"
43188 2016-03-29 Nicolas Petton <nicolas@petton.fr>
43190 * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
43192 2016-03-29 Michael Albinus <michael.albinus@gmx.de>
43194 Fix typo in network-stream-tests.el
43196 * test/lisp/net/network-stream-tests.el
43197 (connect-to-tls-ipv6-nowait): Fix typo.
43199 2016-03-29 Nicolas Petton <nicolas@petton.fr>
43201 New function seq-sort-by in seq.el
43203 * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
43204 * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
43205 * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
43207 2016-03-28 Lars Magne Ingebrigtsen <larsi@gnus.org>
43209 Mention the `M-q' changes
43211 2016-03-28 Lars Magne Ingebrigtsen <larsi@gnus.org>
43213 Have `M-q' not mark buffers are changed when they haven't
43215 * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
43216 to avoid marking buffers as changed when they haven't.
43218 2016-03-28 Lars Magne Ingebrigtsen <larsi@gnus.org>
43220 Add a new function `buffer-hash'
43222 * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
43224 * src/fns.c (Fbuffer_hash): New function.
43225 (make_digest_string): Refactored out into its own function.
43226 (secure_hash): Use it.
43228 * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
43230 2016-03-27 Paul Eggert <eggert@cs.ucla.edu>
43232 Rename C names to match Lisp symbols better
43234 This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
43235 which fixed a bug where the C name for a symbol disagreed with the
43236 symbol name itself. Fix other instances of disagreements that I found.
43237 Although this doesn’t fix a bug, it should make code easier to follow.
43238 The remaining disagreements are idiosyncratic: Qminus, Qplus,
43239 Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
43241 * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
43242 * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
43243 (QCsession): Rename from QCdbus_session_bus.
43244 (QCtimeout): Rename from QCdbus_timeout.
43245 (QCbyte): Rename from QCdbus_type_byte.
43246 (QCboolean): Rename from QCdbus_type_boolean.
43247 (QCint16): Rename from QCdbus_type_int16.
43248 (QCuint16): Rename from QCdbus_type_uint16.
43249 (QCint32): Rename from QCdbus_type_int32.
43250 (QCuint32): Rename from QCdbus_type_uint32.
43251 (QCint64): Rename from QCdbus_type_int64.
43252 (QCuint64): Rename from QCdbus_type_uint64.
43253 (QCdouble): Rename from QCdbus_type_double.
43254 (QCstring): Rename from QCdbus_type_string.
43255 (QCobject_path): Rename from QCdbus_type_object_path.
43256 (QCsignature): Rename from QCdbus_type_signature.
43257 (QCunix_fd): Rename from QCdbus_type_unix_fd.
43258 (QCarray): Rename from QCdbus_type_array.
43259 (QCvariant): Rename from QCdbus_type_variant.
43260 (QCstruct): Rename from QCdbus_type_struct.
43261 (QCdict_entry): Rename from QCdbus_type_dict_entry.
43262 (QCserial): Rename from QCdbus_registered_serial.
43263 (QCmethod): Rename from QCdbus_registered_method.
43264 (QCsignal): Rename from QCdbus_registered_signal.
43265 * src/emacs-module.c (Qinternal__module_call):
43266 Rename from Qinternal_module_call.
43267 * src/frame.c (Qwindow__pixel_to_total):
43268 Rename from Qwindow_pixel_to_total.
43269 * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
43270 (QCpriority): Rename from QCgnutls_bootprop_priority.
43271 (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
43272 (QCkeylist): Rename from QCgnutls_bootprop_keylist.
43273 (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
43274 (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
43275 (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
43276 (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
43277 (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
43278 (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
43279 * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
43280 (Qgnutls): Rename from Qgnutls_dll.
43281 (Qlibxml2): Rename from Qlibxml2_dll.
43282 (Qzlib): Rename from Qzlib_dll.
43283 * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
43284 * src/window.c (Qwindow__resize_root_window):
43285 Rename from Qwindow_resize_root_window.
43286 (Qwindow__resize_root_window_vertically):
43287 Rename from Qwindow_resize_root_window_vertically.
43288 (Qwindow__sanitize_window_sizes):
43289 Rename from Qwindow_sanitize_window_sizes.
43290 (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
43291 * src/xdisp.c (Qredisplay_internal_xC_functionx):
43292 Rename from Qredisplay_internal.
43293 * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
43294 * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
43296 2016-03-26 Paul Eggert <eggert@cs.ucla.edu>
43298 func-arity minor improvements
43300 * src/bytecode.c (get_byte_code_arity): Omit unnecessary
43301 runtime test for integer argument, unless debugging.
43302 Use EMACS_INT for Emacs integers.
43303 * src/eval.c (Ffunc_arity): Omit unused locals.
43304 Avoid side effects in ‘if’ expr.
43305 (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
43307 2016-03-26 John Wiegley <johnw@newartisans.com>
43309 Restore the fix to bug#18527 from commit d6868025
43311 2016-03-26 Martin Rudalics <rudalics@gmx.at>
43313 Safely run window size change functions
43315 * src/window.c (run_window_size_change_functions): Use
43316 safe_call1 when running a size change function.
43317 (grow_mini_window, shrink_mini_window): Report error when
43318 minibuffer window cannot be resized.
43320 2016-03-26 Paul Pogonyshev <pogonyshev@gmail.com>
43322 Implement 'func-arity'
43324 * src/eval.c (Ffunc_arity, lambda_arity): New functions.
43325 * src/bytecode.c (get_byte_code_arity): New function.
43326 * src/lisp.h (get_byte_code_arity): Add prototype.
43328 * doc/lispref/functions.texi (What Is a Function): Document
43331 * etc/NEWS: Mention 'func-arity'.
43333 * test/src/fns-tests.el (fns-tests-func-arity): New test set.
43335 2016-03-25 Alan Mackenzie <acm@muc.de>
43337 Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
43339 * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
43340 (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
43341 (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
43342 c-noise-macro-with-parens-name-re.
43344 * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
43347 * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
43348 `c-make-noise-macro-regexps'.
43349 (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
43351 * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
43352 (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
43354 2016-03-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
43356 (shr-insert): Respect non-breaking space in non-<pre> text
43358 * lisp/net/shr.el (shr-insert): Respect non-breaking space in
43361 2016-03-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
43363 parse-times-string doc string clarification
43365 * lisp/calendar/parse-time.el (parse-time-string): Note that
43366 we accept RFC2822 strings.
43368 2016-03-25 Marcin Borkowski <mbork@mbork.pl>
43372 * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
43373 doc string and clean up code.
43375 2016-03-25 Michael Albinus <michael.albinus@gmx.de>
43377 Cleanup file notification code in Tramp
43379 * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
43380 Make `events' a list of symbols for "inotifywait".
43381 (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
43382 Call `file-notify-handle-event' for better traces.
43383 (tramp-sh-inotifywait-process-filter): Check for expected events.
43384 Call `file-notify-handle-event' for better traces.
43386 2016-03-24 Michael Albinus <michael.albinus@gmx.de>
43388 Adapt filenotify-tests.el according latest tests
43390 * test/lisp/filenotify-tests.el (file-notify-test02-events)
43391 (file-notify-test04-file-validity, file-notify-test05-dir-validity):
43392 Remove superfluous `read-event' calls.
43393 (file-notify-test02-events): Expect different events under MS
43395 (file-notify-test04-file-validity): Move `file-notify-valid-p'
43398 2016-03-23 Paul Eggert <eggert@cs.ucla.edu>
43400 Merge from origin/emacs-25
43402 ad250f2 Sync with gnulib
43403 c0165ea Resurrect GNUS-NEWS autogeneration
43409 2016-03-23 Paul Eggert <eggert@cs.ucla.edu>
43411 Merge from origin/emacs-25
43413 e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
43414 38a43f1 Fix bug in displaying header line with a box face
43416 2016-03-23 Paul Eggert <eggert@cs.ucla.edu>
43418 * etc/NEWS: Use straight quotes.
43420 2016-03-23 Simen Heggestøyl <simenheg@gmail.com>
43422 Support completion of attribute values in CSS mode
43424 * lisp/textmodes/css-mode.el (css-property-alist): New defconst
43425 holding CSS identifiers and the values they can have.
43426 (css-property-ids): Compute dynamically from `css-property-alist'.
43427 (css-value-class-alist): New defconst holding property value classes
43429 (css--property-value-cache): New variable providing a cache for
43430 `css--property-values'.
43431 (css--value-class-lookup): New function for computing a list of values
43433 (css--property-values): New function for computing a list of possible
43434 values for a CSS property.
43435 (css--complete-property-value): New function for completing a property
43437 (css-completion-at-point): Add support for completing property values.
43438 * test/lisp/textmodes/css-mode-tests.el: New file.
43440 2016-03-22 Wilson Snyder <wsnyder@wsnyder.org>
43442 Sync with verilog-mode development tree.
43444 * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
43445 verilog-speedbar-initialize): Automatically add verilog-mode
43446 extensions when in speedbar mode, bug1045, bug1046. Reported by
43448 (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
43449 avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
43450 (verilog-read-always-signals-recurse): Fix :: notation for
43451 auto-reset signals. Reported by Andrew Jones.
43452 (verilog-font-lock-grouping-keywords-face): Fix highlighting of
43453 grouping keywords, bug1002. Reported by Paul Sargent.
43454 (verilog-save-font-no-change-functions): Commentary and fix
43455 pre-Emacs 21 behavior.
43457 2016-03-22 Paul Eggert <eggert@cs.ucla.edu>
43459 Compute a better commit message for merges
43461 Problem reported by David Engster in:
43462 https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01270.html
43463 * admin/gitmerge.el (gitmerge-commit-message):
43464 Truncate the computed commit message to at most 72 characters per line.
43465 (gitmerge-maybe-resume): Don’t use "-" as the commit message for
43466 merges; use the computed commit message instead.
43468 2016-03-22 Paul Eggert <eggert@cs.ucla.edu>
43470 * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
43472 2016-03-22 Paul Eggert <eggert@cs.ucla.edu>
43474 Change do-not-merge pattern to "do not merge"
43476 This should avoid the problem we recently had with
43477 automatically-generated merge messages, while still letting people
43478 specify commits not to merge.
43479 * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
43480 (gitmerge-highlight-skip-regexp): Fold case when searching
43481 for gitmerge-skip-regexp.
43483 2016-03-22 Paul Eggert <eggert@cs.ucla.edu>
43485 Merge from origin/emacs-25
43487 91e6676 Fix an Isearch var to be a string (Bug#23038)
43488 76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
43490 2016-03-22 Paul Eggert <eggert@cs.ucla.edu>
43496 2016-03-22 Paul Eggert <eggert@cs.ucla.edu>
43498 Keep "merge" commits by default in gitmerge
43500 * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
43501 causes false positives. See:
43502 https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01234.html
43504 2016-03-22 Paul Eggert <eggert@cs.ucla.edu>
43506 Assume NON_BLOCKING_CONNECT (Bug#22946)
43508 * lisp/proced.el (proced-signal-list): Omit comment about
43509 obsolete systems that do not support POSIX 1003.1-2001 signals.
43510 * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
43511 assume POSIX 1003.1-2001 or better here. Assume it’s defined.
43512 (connect_network_socket): Assume EINPROGRESS is defined,
43513 as that’s portable too now.
43514 (Fmake_network_process): Use bool for boolean.
43516 2016-03-21 Eli Zaretskii <eliz@gnu.org>
43518 Fix problems caused by new implementation of sub-word mode
43520 * lisp/subr.el (forward-word-strictly, backward-word-strictly):
43522 (word-move-empty-char-table): New variable.
43524 * etc/NEWS: Mention 'forward-word-strictly' and
43525 'backward-word-strictly'.
43527 * doc/lispref/positions.texi (Word Motion): Document
43528 'find-word-boundary-function-table', 'forward-word-strictly', and
43529 'backward-word-strictly'. (Bug#22560)
43531 * src/syntax.c (syms_of_syntax)
43532 <find-word-boundary-function-table>: Doc fix.
43534 * lisp/wdired.el (wdired-xcase-word):
43535 * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
43536 (texinfo-copy-section-title, texinfo-start-menu-description)
43537 (texinfo-copy-menu-title, texinfo-specific-section-type)
43538 (texinfo-insert-node-lines, texinfo-copy-next-section-title):
43539 * lisp/textmodes/texinfo.el (texinfo-clone-environment)
43540 (texinfo-insert-@end):
43541 * lisp/textmodes/texinfmt.el (texinfo-format-scan)
43542 (texinfo-anchor, texinfo-multitable-widths)
43543 (texinfo-multitable-item):
43544 * lisp/textmodes/tex-mode.el (latex-env-before-change):
43545 * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
43546 * lisp/skeleton.el (skeleton-insert):
43547 * lisp/simple.el (count-words):
43548 * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
43549 (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
43550 (vhdl-update-sensitivity-list, vhdl-template-block)
43551 (vhdl-template-break, vhdl-template-case, vhdl-template-default)
43552 (vhdl-template-default-indent, vhdl-template-for-loop)
43553 (vhdl-template-if-then-use, vhdl-template-bare-loop)
43554 (vhdl-template-nature, vhdl-template-procedural)
43555 (vhdl-template-process, vhdl-template-selected-signal-asst)
43556 (vhdl-template-type, vhdl-template-variable)
43557 (vhdl-template-while-loop, vhdl-beginning-of-block)
43558 (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
43559 * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
43560 (verilog-forward-sexp, verilog-beg-of-statement)
43561 (verilog-set-auto-endcomments, verilog-backward-token)
43562 (verilog-do-indent):
43563 * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
43564 (vera-indent-block-closing):
43565 * lisp/progmodes/simula.el (simula-context)
43566 (simula-backward-up-level, simula-forward-down-level)
43567 (simula-previous-statement, simula-next-statement)
43568 (simula-skip-comment-backward, simula-calculate-indent)
43569 (simula-find-if, simula-electric-keyword):
43570 * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
43571 * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
43572 (ruby-smie--forward-token, ruby-smie--backward-token)
43573 (ruby-singleton-class-p, ruby-calculate-indent)
43574 (ruby-forward-sexp, ruby-backward-sexp):
43575 * lisp/progmodes/ps-mode.el (ps-run-goto-error):
43576 * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
43577 (perl-syntax-propertize-special-constructs)
43578 (perl-backward-to-start-of-continued-exp):
43579 * lisp/progmodes/pascal.el (pascal-indent-declaration):
43580 * lisp/progmodes/octave.el (octave-function-file-p):
43581 * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
43582 * lisp/progmodes/js.el (js--forward-function-decl):
43583 * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
43584 (idlwave-beginning-of-block, idlwave-end-of-block)
43585 (idlwave-block-jump-out, idlwave-determine-class):
43586 * lisp/progmodes/icon.el (icon-is-continuation-line)
43587 (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
43588 * lisp/progmodes/hideif.el (hide-ifdef-define):
43589 * lisp/progmodes/f90.el (f90-change-keywords):
43590 * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
43591 (cperl-linefeed, cperl-electric-terminator)
43592 (cperl-find-pods-heres, cperl-fix-line-spacing)
43593 (cperl-invert-if-unless):
43594 * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
43595 * lisp/progmodes/cc-align.el (c-lineup-java-inher):
43596 * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
43597 (ada-adjust-case-skeleton, ada-create-case-exception)
43598 (ada-create-case-exception-substring)
43599 (ada-case-read-exceptions-from-file, ada-after-keyword-p)
43600 (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
43601 (ada-get-indent-if, ada-get-indent-block-start)
43602 (ada-get-indent-loop, ada-get-indent-type)
43603 (ada-search-prev-end-stmt, ada-check-defun-name)
43604 (ada-goto-decl-start, ada-goto-matching-start)
43605 (ada-goto-matching-end, ada-looking-at-semi-or)
43606 (ada-looking-at-semi-private, ada-in-paramlist-p)
43607 (ada-search-ignore-complex-boolean, ada-move-to-start)
43608 (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
43609 * lisp/net/quickurl.el (quickurl-grab-url):
43610 * lisp/mail/sendmail.el (mail-do-fcc):
43611 * lisp/mail/rmail.el (rmail-resend):
43612 * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
43613 * lisp/mail/mail-extr.el (mail-extract-address-components):
43614 * lisp/json.el (json-read-keyword):
43615 * lisp/files.el (insert-directory):
43616 * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
43617 * lisp/completion.el (symbol-under-point, symbol-before-point)
43618 (symbol-before-point-for-complete, next-cdabbrev)
43619 (add-completions-from-c-buffer):
43620 * lisp/cedet/semantic/texi.el (semantic-up-context)
43621 (semantic-beginning-of-context):
43622 * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
43623 use 'forward-word-strictly' and 'backward-word-strictly' instead
43624 of 'forward-word' and 'backward-word'.
43626 [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
43627 which was inadvertently lost by merge commit
43628 c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
43630 2016-03-21 Paul Eggert <eggert@cs.ucla.edu>
43632 * etc/TODO: Minor quoting and grammar fixes.
43634 [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
43635 which was inadvertently lost by merge commit
43636 5ab243f40e4db91586ff74b01a775a5218a1d5be.]
43638 2016-03-21 Alan Mackenzie <acm@muc.de>
43640 Don't confuse "::" with ":" when trying to parse member initializers.
43642 * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
43643 more robustly for ":" token when searching backwards for it.
43645 * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
43648 [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
43649 which was inadvertently lost by merge commit
43650 7823745acbe9b87eea2db4ef434e379fc903ec35.]
43652 2016-03-21 Eli Zaretskii <eliz@gnu.org>
43654 Ensure positive number of glyphs for margins of positive width
43656 * src/dispnew.c (margin_glyphs_to_reserve): Always return a
43657 positive value when a non-zero width of the marginal area was
43658 requested. (Bug#22356)
43660 [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
43661 which was inadvertently lost by merge commit
43662 7823745acbe9b87eea2db4ef434e379fc903ec35.]
43664 2016-03-21 Alan Mackenzie <acm@muc.de>
43666 In comment-dwim with style `extra-line', respect indent-tabs-mode.
43668 This fixes bug #22369.
43670 * lisp/newcomment.el (comment-make-bol-ws): New function.
43671 (comment-make-extra-lines): Use new function instead of a crude `make-string'.
43673 [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
43674 which was inadvertently lost by merge commit
43675 7823745acbe9b87eea2db4ef434e379fc903ec35.]
43677 2016-03-21 Eli Zaretskii <eliz@gnu.org>
43679 Merge doc fixes for 'random' lost in previous merge
43681 [This reapplies part of commit
43682 3ffe81e245d854a694ae1734f1b6a995bdc5e724,
43683 which was inadvertently lost by merge commit
43684 7823745acbe9b87eea2db4ef434e379fc903ec35.]
43687 2016-03-21 Eli Zaretskii <eliz@gnu.org>
43689 Unhide the --no-line-directive option to 'etags'
43691 * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
43692 option. (Bug#22306)
43694 * doc/man/etags.1: Document the --no-line-directive option.
43696 [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
43697 which was inadvertently lost by merge commit
43698 7823745acbe9b87eea2db4ef434e379fc903ec35.]
43700 2016-03-21 Alan J Third <alan@idiocy.org> (tiny change)
43702 Fix picture-mode wrt double-width characters
43704 * lisp/textmodes/picture.el (picture-insert): Check the width of
43705 the character being replaced, not just that of the replacement.
43708 [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
43709 which was inadvertently lost by merge commit
43710 7823745acbe9b87eea2db4ef434e379fc903ec35.]
43712 2016-03-20 Martin Rudalics <rudalics@gmx.at>
43714 Resurrect earlier fix of resize_frame_windows
43716 * src/window.c (resize_frame_windows): Resurrect earlier fix for
43717 calculating the number of columns of the minibuffer window which
43718 was lost in subsequent merges.
43720 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43722 Move the cert files to the data directory
43724 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43726 Further empty <li> tweaks
43728 * lisp/net/shr.el (shr-tag-li): When showing several empty
43729 <li> elements, ensure that they really get inserted on a new line.
43731 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43733 Don't remove too much white space at the end of documents
43735 * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
43736 remove too much white space -- leave it on the last line (in
43737 case there's a background color).
43739 2016-03-20 Alan Mackenzie <acm@muc.de>
43741 Amend parse-partial-sexp correctly to handle two character comment delimiters
43743 Do this by adding a new field to the parser state: the syntax of the last
43744 character scanned, should that be the first char of a (potential) two char
43745 construct, nil otherwise.
43746 This should make the parser state complete.
43747 Also document element 9 of the parser state. Also refactor the code a bit.
43749 * src/syntax.c (struct lisp_parse_state): Add a new field.
43750 (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
43751 (internalize_parse_state): New function, extracted from scan_sexps_forward.
43752 (back_comment): Call internalize_parse_state.
43753 (forw_comment): Return the syntax of the last character scanned to the caller
43754 when that character might be the first of a two character construct.
43755 (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
43756 (scan_sexps_forward): Remove a redundant state parameter. Access all `state'
43757 information via the address parameter `state'. Remove the code which converts
43758 from external to internal form of `state'. Access buffer contents only from
43759 `from' onwards. Reformulate code at the top of the main loop correctly to
43760 recognize comment openers when starting in the middle of one. Call
43761 forw_comment with extra argument (for return of syntax value of possible first
43762 char of a two char construct).
43763 (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
43764 doc string. Clarify the doc string in general. Call
43765 internalize_parse_state. Take account of the new elements when consing up the
43766 output parser state.
43768 * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
43769 element 10. Minor wording corrections (remove reference to "trivial
43771 (Low Level Parsing): Minor corrections.
43773 * etc/NEWS: Note new element 10, and documentation of element 9 of parser
43776 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43778 Allow the shr test files to have trailing blank space.
43780 * .gitattributes: Allow the shr test files to have trailing
43783 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43785 Add tests for empty <ul><li>
43787 2016-03-20 Paul Eggert <eggert@cs.ucla.edu>
43789 * src/alloc.c (purecopy): Use AUTO_STRING.
43791 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43793 Ignore invalid base64 encoded embedded images
43795 * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
43796 encoded embedded images (bug#22928).
43798 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43800 Render empty <ul><li><ul> correctly
43802 * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
43803 correctly (bug#22964).
43805 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43807 Fix <p> and <div> newlines with or without <li> in shr
43809 * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
43810 a <li>, if we are, and don't insert newlines there.
43811 (shr-ensure-paragraph): When mixing newlines and paragraph
43812 ensurements, don't insert too many blank lines.
43813 (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
43816 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43818 Add more shr HTML rendering tests
43820 Add a test harness for shr HTML rendering and one test
43822 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43824 Remove code left over from when overlays were used for padding
43826 * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
43827 (shr-remove-trailing-whitespace): Ditto.
43828 (shr-insert-document): Don't call them.
43830 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43832 Remove trailing blank lines in shr
43834 * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
43835 (shr-insert-document): Use it to remove trailing blank lines
43836 at the end of documents, since these never seem to be very useful.
43838 2016-03-20 Lars Magne Ingebrigtsen <larsi@gnus.org>
43840 Don't bug out on nil `patch-buf' arguments
43842 * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
43843 `patch-buf' arguments.
43845 2016-03-20 Ernest Adrogué <nfdisco@gmail.com>
43847 Add a Catalan language environment
43849 * lisp/international/mule-cmds.el (locale-language-names): Map locale
43850 language name `ca' to language environment `Catalan'.
43852 * lisp/language/european.el: Add definition of language
43853 environment for the Catalan language.
43855 * lisp/leim/quail/latin-pre.el: Add quail rule to the
43856 `catalan-prefix' input method to support input of middle dot
43857 characters through composition (bug#18279).
43859 2016-03-19 Paul Eggert <eggert@cs.ucla.edu>
43861 No need to block input when reading directories
43863 * src/dired.c: Don’t include blockinput.h.
43864 (open_directory, directory_files_internal_unwind)
43865 (directory_files_internal, file_attributes):
43866 Don’t block input here, as the reasons for blocking input should
43867 no longer apply. See blockinput.h FIXME. (Bug#22996).
43869 2016-03-19 Oscar Fuentes <ofv@wanadoo.es>
43871 * lisp/vc/vc-hooks.el: Fix typo
43873 2016-03-19 Fabrice Popineau <fabrice.popineau@gmail.com>
43875 Improve w32notify notifications
43877 * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
43878 (struct notification): 'terminate' is now a HANDLE.
43879 (send_notifications): Argument is now a pointer to a
43880 notification. Don't loop waiting for the notification to be
43881 acknowledged by the main thread; instead, just add the
43882 notification to the linked list of notifications waiting to be
43884 (watch_end): Don't close the directory handle.
43885 (watch_completion): Allocate a new notification structure to be
43886 added to the notifications set. Call ReadDirectoryChangesW
43887 immediately after adding the new notification, and before sending
43888 a message to the main thread about them.
43889 (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
43890 call it just once -- it will be called again in watch_completion.
43891 Loop waiting for the main thread's indication to terminate.
43892 (start_watching): Create the event to be used to indicate to the
43893 worker thread that its should terminate.
43894 (remove_watch): Indicate to the worker thread that it should
43896 * src/w32term.c (queue_notifications): Loop over all the
43897 notifications in the linked list, processing all of them in one
43899 * src/w32inevt.c (handle_file_notifications): Loop over all the
43900 notifications in the linked list.
43901 * src/w32xfns.c (init_crit): Initialize the linked list of file
43903 (delete_crit): Free the linked list of file notifications,
43904 including any unprocessed notifications left in it.
43905 * src/w32term.h (struct notifications_se): New struct.
43907 * test/lisp/filenotify-tests.el (file-notify-test02-events)
43908 (file-notify-test05-dir-validity): Add read-event calls to
43909 facilitate event recognition by the main thread in batch mode.
43911 2016-03-17 Sam Steingold <sds@gnu.org>
43913 make `vc-log-operation' buffer local to allow multiple simultaneous editing
43915 2016-03-17 Glenn Morris <rgm@gnu.org>
43917 Simplify some rococo Gnus code that loads or tests for other libraries.
43919 * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
43920 * lisp/gnus/mml-smime.el (epg): Simply require it.
43921 (mml-smime-use): Simplify the default. Doc fix.
43922 * lisp/gnus/mml2015.el (epg-config): Require it.
43923 (mml2015-use): Simplify the default.
43924 * lisp/gnus/smime.el (password-cache): Simply require it.
43925 (password-read-and-add): Remove declaration.
43927 2016-03-16 Glenn Morris <rgm@gnu.org>
43929 * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
43931 2016-03-16 Thomas Fitzsimmons <fitzsim@fitzsim.org>
43932 Alex Harsanyi <AlexHarsanyi@gmail.com>
43934 Sync with soap-client repository, version 3.1.1
43936 * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
43938 (soap-find-port): Delete trailing whitespace.
43939 (soap-find-operation): Fix documentation and rename parameter.
43940 (soap-find-port): Likewise.
43941 (soap-operation-arity): Likewise.
43943 * lisp/net/soap-client.el: Update copyright years.
43944 (soap-warning): Fix docstring quoting.
43945 (soap-decode-date-time): Likewise.
43946 (soap-validate-xs-simple-type): Remove tabs for indentation.
43947 * lisp/net/soap-inspect.el: Update copyright years.
43949 * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
43950 assume xsd:base64Binary values are UTF-8 strings.
43951 (soap-decode-xs-basic-type): Likewise.
43952 (soap-invoke): Document xsd:base64Binary handling.
43954 * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
43955 (soap-operation-arity): new defuns
43956 (soap-invoke-internal): use soap-find-port, soap-find-operation.
43958 2016-03-15 Paul Eggert <eggert@cs.ucla.edu>
43963 2016-03-15 std-gnu11: improve clang support
43964 * m4/std-gnu11.m4: Copy from gnulib.
43966 2016-03-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
43968 Disable MOVE more for Dovecot
43970 * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
43971 disable MOVE when expirying.
43972 (nnimap-split-incoming-mail): And when splitting mail.
43974 2016-03-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
43976 Don't use MOVE on Dovecot
43978 * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
43979 MOVE on Dovecot, since it's broken in many versions.
43980 (nnimap-quirks): Mark MOVE on Dovecot as non-working.
43982 2016-03-13 Paul Eggert <eggert@cs.ucla.edu>
43984 Improve diff hunk headers when maintaining Emacs
43986 * .gitattributes: Improve diff hunk header support for makefiles,
43987 shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
43988 Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
43989 somewhere (sometimes just in test cases).
43990 * autogen.sh: Add regexes for makefiles and shell scripts.
43992 2016-03-12 Eli Zaretskii <eliz@gnu.org>
43994 Update handling of <bdo> per Unicode 9.0
43996 * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
43997 Unicode 9.0 changes in UAX#9, paragraph 2.7.
43999 2016-03-11 John Wiegley <johnw@newartisans.com>
44001 Merge from origin/emacs-25
44003 facb5e2 Update Emacs manual section related to character folding
44004 4efea8e ; * etc/DEBUG: Fix a typo. (Bug#22984)
44005 f8df21b Update admin/notes/unicode
44006 950be68 Add symref-filepattern entries for c?perl-mode
44007 8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
44008 985dacf ; NEWS update for the last change in etags
44009 741a6f8 Sync with gnulib
44010 7352c6c Rework C source files to avoid ^(
44011 a589e9a By default, etags produces unqualified Perl tag names
44012 72c7438 Indent methods with keyword names correctly
44013 28532a9 Propertize character literals and special global variables
44015 a7d6f39 ; Fix last change in NEWS
44016 83b2a20 Change how /etc/NEWS presents character folding
44017 b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
44019 711ca36 Properly handle lambda as read function (bug 22961)
44020 1b9d616 Propertize operator symbol names with symbol syntax class
44021 9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
44022 366ec77 Allow using the left shift operator without spaces on both sides
44023 02bf7cc Properly handle unquoting in wdired (bug 22938)
44024 16cf469 ; Spelling fix and tighten up comment
44025 f50bc04 Allow splat operator before percent literal
44026 991c801 Don't apply the return value of goto-char as syntax class
44027 6e63b3e Guard against nested percent literals
44028 066f3bc Recognize iuwu-mod after an escaped newline
44029 6f7a57c Fix symbolic mode string conversion for s and t
44030 50b9826 Update 'ucs-names' database
44031 993b2fb Improve doc string of 'shell-command'
44032 b71c717 Make the code in movemail_strftime more general
44033 cc057e4 Speed up redisplay of binary files with long series of nulls
44034 e51b27e Remove the highlighting support for quoting 'like this' inside
44036 b1abce1 Restore leading space in movemail pop output
44037 98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
44038 dc9d837 Don't misindent computed property generator methods
44039 7923112 Fix mbox files produced by movemail on MS-Windows
44040 c45a1ca doc string file descriptor exhaustion fix
44041 265141b Fix Bug#22814
44043 2016-03-11 John Wiegley <johnw@newartisans.com>
44045 Merge from origin/emacs-25
44047 620951f Fix previous fix of enlarge-/shrink-window
44048 2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
44049 66d2717 Complete temperature units in calc-convert-temperature
44050 dbb02bf Make sure to use case-sensitive search
44051 8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
44052 100346a Add the missing test case for the previous patch
44053 5aba61e Use the correct dabbrev expansion
44055 2016-03-11 Michael Albinus <michael.albinus@gmx.de>
44057 Remove compat code in Tramp
44059 * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
44060 Remove compat code.
44062 2016-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
44064 * lisp/textmodes/tex-mode.el: Complete local envs. Use #'.
44066 Use #' for function names.
44067 (latex-complete-envnames): Include existing environments in
44069 (latex-insert-block): Use latex-complete-envnames.
44070 (tildify-foreach-ignore-environments): Declare.
44072 2016-03-10 Alain Schneble <a.s@realize.ch>
44074 Fix asynchronous TLS connections on MS-Windows
44076 * src/w32.c (sys_write): Don't switch the socket to blocking mode
44077 if the connection attempt is in progress. Instead, return either
44078 EWOULDBLOCK immediately if the connection is in progress, or the
44079 error code produced by '_sys_wait_connect' if the connection
44080 failed. Switching the socket to blocking mode was found to
44081 interfere with GnuTLS handshake. (Bug#22789)
44083 2016-03-10 Alan Mackenzie <acm@muc.de>
44085 Clarify the documentation of nested comments.
44087 * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
44088 style are recognized inside nestable comments.
44089 (Low-Level Parsing): Clarify that parsing will stop after the start or end of
44092 2016-03-10 Nicolas Richard <youngfrog@members.fsf.org>
44094 Add new function display-buffer-reuse-mode-window
44096 * lisp/window.el (display-buffer-reuse-mode-window): New function.
44097 * doc/lispref/windows.texi (Display Action Functions): Document it.
44099 2016-03-09 Paul Eggert <eggert@cs.ucla.edu>
44101 Minor fixes for getaddrinfo_a usage
44103 * src/process.c (Fdelete_process): Check gai_cancel return value.
44104 That way, there’s no need to invoke gai_error. Check gai_suspend
44106 (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
44107 string. Simplify call to connect_network_socket.
44108 (check_for_dns): Avoid unnecessary initialization of local.
44110 2016-03-09 Sam Steingold <sds@gnu.org>
44112 declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
44114 The former avoids a compiler warning, the latter fixes a bug whereas
44115 the variable is compiled as lexical instead of dynamic.
44117 2016-03-08 Paul Eggert <eggert@cs.ucla.edu>
44119 Pacify --enable-gcc-warnings
44121 * src/xfns.c (x_create_tip_frame): Omit unused local.
44122 (Fx_show_tip): Don’t jump over auto initialization.
44124 2016-03-07 Martin Rudalics <rudalics@gmx.at>
44126 Optionally reuse tooltip frames instead of deleting/recreating them.
44128 * src/frame.c (tooltip_reuse_hidden_frame): New option.
44129 * src/w32fns.c (x_create_tip_frame): Remove argument TEXT. Fix
44130 handling of dividers.
44131 (x_hide_tip): New function.
44132 (Fx_show_tip): Try to reuse old tooltip frame when
44133 `tooltip-reuse-hidden-frame' is non-nil and frame parameters
44134 have not changed. Insert STRING here instead of passing it to
44135 x_create_tip_frame. Compute size of tooltip window with
44136 Fwindow_text_pixel_size. Obey Vw32_tooltip_extra_pixels when
44137 padding tooltip window.
44138 (Fx_hide_tip): Call x_hide_tip.
44139 (Vw32_tooltip_extra_pixels): New variable.
44140 * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
44141 value. Fix doc-string.
44142 * src/xfns.c (x_create_tip_frame): Remove argument TEXT. Call
44143 make_frame with mini_p argument false.
44144 (x_hide_tip): New function.
44145 (Fx_show_tip): Try to reuse old tooltip frame when
44146 `tooltip-reuse-hidden-frame' is non-nil and frame parameters
44147 have not changed. Insert STRING here instead of passing it to
44148 x_create_tip_frame. Compute size of tooltip window with
44149 Fwindow_text_pixel_size.
44150 (Fx_hide_tip): Call x_hide_tip.
44151 * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
44152 customization entry.
44154 2016-03-07 Paul Eggert <eggert@cs.ucla.edu>
44156 Assume getaddrinfo in C code
44158 * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
44160 * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
44161 Say that port numbers can be integer strings.
44162 * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
44163 (socket_connection): Assume HAVE_GETADDRINFO.
44164 * lisp/mpc.el (mpc--proc-connect):
44165 * lisp/net/network-stream.el (open-network-stream):
44166 It’s now OK to use integer strings as port numbers.
44167 * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
44168 (Fmake_network_process): Assume HAVE_GETADDRINFO.
44170 2016-03-07 Paul Eggert <eggert@cs.ucla.edu>
44172 Remove support for IRIX
44174 The IRIX port wasn’t really working anyway, and the code was
44175 getting in the way of other changes (e.g., getaddrinfo fixes).
44176 IRIX’s supplier dropped support for IRIX in 2013.
44177 * admin/CPP-DEFINES:
44178 * configure.ac (opsys):
44179 * doc/lispref/os.texi (System Environment):
44180 * etc/MACHINES, etc/PROBLEMS:
44181 * lisp/find-dired.el (find-grep-options):
44182 * lisp/lpr.el (lpr-lp-system):
44183 * lisp/ls-lisp.el (ls-lisp-emulation):
44184 * lisp/mail/rmail.el (rmail-spool-directory):
44185 * lisp/net/net-utils.el (ping-program-options):
44186 * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
44187 * lisp/progmodes/ps-mode.el (ps-mode-print-function):
44188 * src/conf_post.h [IRIX6_5]:
44189 * src/emacs.c (Vsystem_type):
44190 * src/filelock.c (get_boot_time_1):
44191 * src/process.c (process_send_signal):
44192 * src/unexelf.c (unexec):
44193 Omit IRIX-specific code and/or documentation.
44194 * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
44195 Remove. All uses removed.
44196 * etc/NEWS: Document the change.
44198 2016-03-06 John Wiegley <johnw@newartisans.com>
44200 Revert "Use colors in the VC mode lines"
44202 This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
44204 2016-03-06 Ken Brown <kbrown@cornell.edu>
44206 Fix Cygwin-w32 build
44208 * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
44209 Define only if WINDOWSNT, and update all uses accordingly.
44210 * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
44211 (remove_w32_kbdhook): Declare only if WINDOWSNT.
44212 (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
44214 2016-03-06 Eli Zaretskii <eliz@gnu.org>
44216 Unbreak the MinGW64 build
44218 * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR. See
44219 https://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00130.html
44220 for the details. Reported by Angelo Graziosi
44221 <angelo.graziosi@alice.it>.
44223 2016-03-06 Lars Magne Ingebrigtsen <larsi@gnus.org>
44225 Don't signal errors on E_AGAIN
44227 * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
44228 error now that TLS is async.
44230 2016-03-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
44232 Allow making TLS negotiation blocking
44234 * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
44236 * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
44237 :complete-negotiation, to specify that we want complete
44238 negotiation even if the socket is non-blocking.
44239 (gnutls_try_handshake): Complete negotiation if given that keyword.
44241 * src/process.h (L): Added gnutls_complete_negotiation_p.
44243 2016-03-05 Lars Magne Ingebrigtsen <larsi@gnus.org>
44245 Don't run ipv6 test on systems without ipv6
44247 * test/lisp/net/network-stream-tests.el
44248 (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
44250 2016-03-05 Eli Zaretskii <eliz@gnu.org>
44252 Implement getaddrinfo fallback for MS-Windows
44254 See https://lists.gnu.org/archive/html/emacs-devel/2016-02/msg01602.html
44257 * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
44258 (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
44259 test program is not smart enough to auto-detect these.
44260 * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
44261 sys_getaddrinfo and sys_freeaddrinfo. Provide prototypes for
44262 sys_getaddrinfo and sys_freeaddrinfo.
44264 * src/w32.c (init_winsock): Try loading getaddrinfo and
44265 freeaddrinfo from ws2_32.dll.
44266 (sys_getaddrinfo, sys_freeaddrinfo): New functions.
44268 * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
44269 and also ws2tcpip.h.
44270 (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
44271 sys_getaddrinfo and sys_freeaddrinfo, respectively.
44272 (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
44275 2016-03-04 Glenn Morris <rgm@gnu.org>
44277 * lisp/files.el: Fix recent typo.
44279 * lisp/subr.el (read-multiple-choice): Avoid free variable.
44281 * doc/lispref/files.texi (File Attributes): Fix typo.
44283 2016-03-04 Lars Ingebrigtsen <larsi@gnus.org>
44285 Make the describe-key prompts clearer
44287 * lisp/help.el (describe-key-briefly): Make the prompt clearer
44289 (describe-key): Ditto.
44291 2016-03-04 Lars Ingebrigtsen <larsi@gnus.org>
44293 Allow scrolling while querying multiple choice
44295 * lisp/subr.el (read-multiple-choice): Allow scrolling the
44296 buffer while querying (bug#22827).
44298 2016-03-04 Lars Ingebrigtsen <larsi@gnus.org>
44300 Add accessors for `file-attributes'
44302 * doc/lispref/files.texi (File Attributes): Mention the accessors.
44304 * lisp/files.el (file-attribute-type)
44305 (file-attribute-link-number, file-attribute-user-id)
44306 (file-attribute-group-id, file-attribute-access-time)
44307 (file-attribute-modification-time)
44308 (file-attribute-change-time, file-attribute-size)
44309 (file-attribute-modes, file-attribute-inode-number)
44310 (file-attribute-device-number): New functions.
44312 * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
44314 2016-03-04 Michael Albinus <michael.albinus@gmx.de>
44318 * lisp/autorevert.el (global-auto-revert-mode): Do not set
44319 `auto-revert-use-notify' to nil.
44321 * etc/NEWS: Mention this.
44323 * etc/PROBLEMS: Remove problem Bug#22814.
44325 * src/kqueue.c: Include <sys/resource.h>.
44326 (Fkqueue_add_watch): Limit the number of used file descriptors.
44329 * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
44330 (file-notify-test00-availability, file-notify-test01-add-watch)
44331 (file-notify-test02-events, file-notify-test06-many-events):
44332 Use #' read syntax for functions.
44333 (file-notify-test05-dir-validity)
44334 (file-notify-test06-many-events): Simplify directory creation.
44335 (file-notify-test09-sufficient-ressources): New test.
44337 2016-03-04 Lars Ingebrigtsen <larsi@gnus.org>
44339 Fix insertion of edited servers in the dribble file
44341 * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
44342 insert explicit newlines, because they're quoted (bug#22903).
44344 2016-03-04 Lars Ingebrigtsen <larsi@gnus.org>
44346 Move cl-seq-tests to the right place after the merge
44348 Move cl-seq-tests to the right place after the merge
44350 2016-03-03 John Wiegley <johnw@newartisans.com>
44352 Merge from origin/emacs-25
44354 d6f6b7d * etc/AUTHORS: Update the AUTHORS file
44355 5cf7c39 authors.el updates
44356 a26f193 ; fix changelog entries
44357 fbc85c7 ; make change-history-commit
44358 06da00c Fix Bug#22859
44359 ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
44360 1481029 Fix reordering of bidi text in an isolate inside an override
44361 60e0596 Document c-guess-basic-syntax in the CC Mode manual.
44363 2016-03-03 John Wiegley <johnw@newartisans.com>
44365 Merge from origin/emacs-25
44367 f5d1435 Fix targets in test/automated/Makefile.in
44369 2016-03-03 John Wiegley <johnw@newartisans.com>
44371 Merge from origin/emacs-25
44373 b6d6304 Comment on last change to define-derived-mode
44375 2016-03-03 John Wiegley <johnw@newartisans.com>
44377 Merge from origin/emacs-25
44379 cb1e3da Also allow setting the paragraph direction to nil
44380 bbe8a89 Made the new OS X visible bell more visible.
44382 2016-03-03 John Wiegley <johnw@newartisans.com>
44384 Merge from origin/emacs-25
44386 aae436e Uncomment the next-error-function integration in xref
44387 5f0d096 Remove the word "valid", to avoid ambiguity
44389 2016-03-03 John Wiegley <johnw@newartisans.com>
44391 Merge from origin/emacs-25
44393 5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode. (Bug#22814)
44394 0d60bfc Fix ModelSim error parsing
44396 2016-03-03 John Wiegley <johnw@newartisans.com>
44398 Merge from origin/emacs-25
44400 b13cab6 Add a eww command to toggle paragraph direction
44401 4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
44402 9e078e5 Fix char signedness issue in bidi code
44403 064adf6 * lib-src/pop.c (socket_connection): Fix format string.
44404 14060a9 Avoid inflooping in thing-at-point-looking-at
44405 098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
44407 b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
44408 ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix. (Bug#22813).
44409 d2dd614 Remove unneeded workaround in xftfont.c
44410 9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
44411 fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
44412 06a872b Fix redisplay on a TTY after 'make-frame'
44413 95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
44415 7d206fc Input method polish-slash should not use keyboard translation
44416 8be32cf Fix an assertion
44417 040e0d6 Fix 'toggle-save-place'
44418 5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
44420 2016-03-03 John Wiegley <johnw@newartisans.com>
44422 Merge from origin/emacs-25
44424 e6a3819 Update HISTORY section in readme for the NextStep interface.
44425 f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
44426 7c81a0b Improve documentation of 'save-place-mode'
44427 cab3f0a Allocate glyph matrices for the initial frame
44428 e01c72f Fix white space in last checkin
44429 370eb67 Make `insert-pair' always leave the cursor where documented
44430 b594393 etc/NEWS: Mention the new second parameter to `package-install'
44432 2016-03-03 John Wiegley <johnw@newartisans.com>
44434 Merge from origin/emacs-25
44436 bd58c13 Improve documentation of focus-related hooks
44437 00a4720 Further improve doc string of 'disable-point-adjustment'
44438 c582def Further adaptions in file-notify-tests.el for w32notify
44439 a1585e1 Don't bug out on localised dates in gnus-icalendar
44441 2016-03-03 John Wiegley <johnw@newartisans.com>
44443 Merge from origin/emacs-25
44445 7bc4820 Make setf for frame-height/width work again
44447 2016-03-03 John Wiegley <johnw@newartisans.com>
44449 Merge from origin/emacs-25
44451 6620944 (cl-union): Do not ignore :test argument when lists are equal.
44452 17dd3fb Add `isearch' to `basic-faces'
44453 c1ec743 Make $, : and @ "prefix characters" in ruby-mode
44454 e72a26e Make find-tag-default-bounds more strict
44455 1bc0e0a Minor fixes in filenotify.el
44457 2016-03-02 Alain Schneble <a.s@realize.ch>
44459 Fix issue of inserting images on some systems
44461 * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
44462 to pass to shr-image-fetched, to indicate where to insert the
44463 image. Fixes the issue introduced with commit
44464 80852f843e69b81618f29cfb9aa4b074946cb3c4
44467 2016-03-02 Lars Ingebrigtsen <larsi@gnus.org>
44469 Ensure TLS negotiation progress
44471 * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
44472 number of retries so that we try for about a minute.
44474 * src/process.c (wait_reading_process_output): Ensure progress
44475 for DNS resolution and TLS negotiation.
44477 2016-03-02 Paul Eggert <eggert@cs.ucla.edu>
44479 emacs-module.h slight simplification
44481 * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
44482 * src/emacs-module.h: ... from here, as they don’t need to be public.
44483 (enum emacs_arity): Remove useless enum tag. The enum value is
44484 used in ptrdiff_t contexts.
44486 * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
44488 2016-03-02 Paul Eggert <eggert@cs.ucla.edu>
44490 * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
44492 2016-03-02 Paul Eggert <eggert@cs.ucla.edu>
44494 emacs-module.c simplification and tuneup
44496 * src/emacs-module.c (CHECK_USER_PTR): New function.
44497 (module_get_user_ptr, module_set_user_ptr)
44498 (module_get_user_finalizer, module_set_user_finalizer): Use it.
44499 (module_make_global_ref, module_copy_string_contents)
44500 (module_make_string, module_vec_set, module_vec_get): Omit
44501 unnecessary runtime tests. For example, vector sizes are always
44502 fixnums, so we don’t need to test that they are in fixnum range.
44504 2016-03-02 Philipp Stephani <phst@google.com>
44506 Use standard checks whenever possible.
44508 This is possible in all functions where we catch signals anyway.
44510 * src/emacs-module.c (module_make_global_ref, module_funcall)
44511 (module_copy_string_contents, module_make_string): Use xsignal0
44512 and CHECK macros for argument checks.
44514 2016-03-02 Paul Eggert <eggert@cs.ucla.edu>
44516 Deterministic build improvements
44518 * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
44519 and negate its sense. Use it via AC_SUBST, not AC_DEFINE,
44520 and have its value be either empty or --no-build-details.
44521 All uses changed. Change option to --disable-build-details.
44522 * doc/emacs/cmdargs.texi (Initial Options):
44523 Document --no-build-details.
44524 * doc/lispref/internals.texi (Building Emacs):
44526 Document --disable-build-details.
44527 * doc/lispref/intro.texi (Version Info): Say that
44528 emacs-build-time can be nil.
44529 * lisp/erc/erc-compat.el (erc-emacs-build-time):
44530 Now nil if details are omitted.
44531 * lisp/erc/erc.el (erc-cmd-SV):
44532 * lisp/version.el (emacs-build-time):
44533 Now nil if no build details.
44535 Output build time only if build details.
44536 * src/Makefile.in (BUILD_DETAILS): New macro.
44537 (temacs, bootstrap-emacs): Use it.
44538 * src/emacs.c (build_details): New var.
44539 (standard_args, main): Support --no-build-details.
44540 (Vdeterministic_dump): Remove; all uses replaced
44542 (syms_of_emacs): Set Vbuild_details to a boolean, not
44544 * src/lisp.h (build_details): New decl.
44545 * src/sysdep.c (init_system_name): When !build_details,
44546 set system-name to nil, not to "elided".
44548 2016-03-02 Philipp Stephani <phst@google.com>
44550 Remove build system name from deterministic dumps
44552 * configure.ac (DETERMINISTIC_DUMP): New configuration option.
44553 * lisp/version.el (emacs-build-time): Add a comment to make the
44554 build time deterministic if requested.
44555 (emacs-build-system): Make variable deterministic if requested.
44556 * src/emacs.c (main): Initialize `deterministic-dump' from the
44557 configuration option.
44558 (syms_of_emacs): New constant `deterministic-dump'.
44559 * src/sysdep.c (init_system_name): Use a constant
44560 if a deterministic dump is requested.
44562 2016-03-02 Lars Ingebrigtsen <larsi@gnus.org>
44564 Remove buggy parse-time test
44566 * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
44567 Remove the iso parse test, since it doesn't work.
44569 2016-03-01 Paul Eggert <eggert@cs.ucla.edu>
44571 * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
44573 2016-02-29 Glenn Morris <rgm@gnu.org>
44575 * lisp/emacs-lisp/autoload.el (autoload-timestamps):
44576 Experiment with setting to nil.
44578 2016-02-29 Lars Ingebrigtsen <larsi@gnus.org>
44580 Make the revert command in timer-list-mode work
44582 * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
44585 2016-02-29 Glenn Morris <rgm@gnu.org>
44587 * lisp/emacs-lisp/autoload.el (autoload-find-destination):
44588 Fix 6-week old merge error.
44590 * lisp/emacs-lisp/autoload.el (update-file-autoloads):
44593 * lisp/emacs-lisp/package.el (package-generate-autoloads):
44594 Disable timestamps.
44596 2016-02-29 Lars Ingebrigtsen <larsi@gnus.org>
44598 Allow binding `url-mime-accept-string'
44600 * lisp/url/url-http.el (url-http): Allow binding
44601 `url-mime-accept-string' (bug#22855).
44603 2016-02-29 Lars Ingebrigtsen <larsi@gnus.org>
44605 Add a NEWS entry for the colorful VC indicator
44607 2016-02-29 Lars Ingebrigtsen <larsi@gnus.org>
44609 Use colors in the VC mode lines
44611 * lisp/vc/vc-hooks.el: Make the mode line faces default to
44612 using colors to more clearly tell the user what the status is.
44614 2016-02-29 Lars Ingebrigtsen <larsi@gnus.org>
44616 Support <bdo> and <bdi>
44618 * lisp/net/shr.el (shr-tag-bdo): New function.
44619 (shr-tag-bdi): Ditto.
44621 2016-02-29 Lars Ingebrigtsen <larsi@gnus.org>
44623 Respect <html dir=auto>
44625 * lisp/net/shr.el (shr-tag-html): Respect the "auto"
44626 directional HTML setting.
44628 2016-02-29 Lars Ingebrigtsen <larsi@gnus.org>
44630 Default bidi paragraph direction to nil
44632 * lisp/net/eww.el (eww-display-html): Default bidi rendering
44633 to nil, so that possibly more Arabic web pages render
44634 correctly (bug#22786).
44635 (eww-setup-buffer): Ditto.
44637 2016-02-29 Mathias Dahl <mathias.dahl@gmail.com>
44639 Preserve current column, going up/down in thumbnail view.
44641 2016-02-29 Alan Mackenzie <acm@muc.de>
44643 Handle "noise" macros and compiler directives.
44645 * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
44647 * lisp/progmodes/cc-vars.el (c-noise-macro-names)
44648 (c-noise-macro-with-parens-names): New customizable variables.
44649 (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
44650 (c-make-noise-macro-regexps): New function.
44652 * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
44653 members of c-noise-macro-names as whitespace.
44654 (c-forward-noise-clause): New function.
44655 (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
44656 (c-forward-decl-or-cast-1, c-backward-over-enum-header)
44657 (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
44658 Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
44660 * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
44661 in parallel with "prefix-spec keywords".
44663 * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
44664 c-make-noise-macro-regexps to initialize the internal variables.
44666 * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
44669 2016-02-29 Paul Eggert <eggert@cs.ucla.edu>
44671 Stop calling res_init
44673 Emacs shouldn’t need to call res_init any more, now that nscd or
44674 equivalent is everywhere. On modern systems, calling res_init
44675 simply slows Emacs down. On ancient systems lacking nscd Emacs
44676 will still work well enough with this change; it’s just that it
44677 won’t respond to changes in /etc/resolv.conf.
44678 * configure.ac (HAVE_RES_INIT): Remove. Worry about -lresolv only
44679 when configured --with-hesiod. Hesiod is still used; see, e.g.:
44680 https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
44681 * src/Makefile.in (LIBRESOLV): Remove. All uses removed.
44683 2016-02-29 Glenn Morris <rgm@gnu.org>
44685 * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
44687 * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
44689 2016-02-29 Paul Eggert <eggert@cs.ucla.edu>
44691 * src/process.c (Fdelete_process): Simplify cast.
44693 2016-02-29 Lars Ingebrigtsen <larsi@gnus.org>
44695 Use the correct background color when filling nested <divs>
44697 * lisp/net/shr.el (shr-face-background): Return the first
44698 background, because that's the one that's visible (bug#22680).
44700 2016-02-28 Lars Ingebrigtsen <larsi@gnus.org>
44702 Make <div> in <li> not insert extra newlines
44704 * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
44705 extra newlines (bug#19587).
44707 2016-02-28 Lars Ingebrigtsen <larsi@gnus.org>
44709 Allow reading Gnus reports from an offline cache
44711 * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
44712 Allow reading bug reports from an offline cache directory.
44714 2016-02-28 Tino Calancha <f92capac@gmail.com>
44716 Meta + shift + Fn combos are recognized by xterm>=216.
44718 * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
44719 Fn combos are recognized by xterm>=216 (bug#22837).
44721 2016-02-28 Simen Heggestøyl <simenheg@gmail.com>
44723 Declare $ as an expression prefix in SCSS
44725 * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
44726 expression prefix (bug#22841).
44728 2016-02-28 Lars Ingebrigtsen <larsi@gnus.org>
44730 Revert "Declare $ as an expression prefix in SCSS"
44732 This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
44734 Revering to fix author name.
44736 2016-02-28 Simen <simenheg@gmail.com>
44738 Declare $ as an expression prefix in SCSS
44740 * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
44741 expression prefix (bug#22841).
44743 2016-02-28 Hugh Brown <aardvark@saintaardvarkthecarpeted.com>
44745 Save buffers before running grep commands
44747 * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
44748 (grep, lgrep, rgrep): Use it (bug#96).
44750 * doc/emacs/building.texi (Grep Searching): Document
44751 `grep-save-buffers'.
44753 * lisp/progmodes/grep.el (grep-save-buffers): Rename from
44754 `grep-ask-about-save'.
44755 (grep--save-buffers): New function.
44756 (grep, lgrep, rgrep): Use it.
44758 2016-02-28 Lars Ingebrigtsen <larsi@gnus.org>
44760 Allow sorting flyspell corrections
44762 * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
44763 (flyspell-sort-corrections-functionx): New variable.
44764 (flyspell-sort-corrections-alphabetically): New function.
44765 (flyspell-notify-misspell): Use them.
44766 (flyspell-auto-correct-word): Ditto.
44767 (flyspell-emacs-popup): Ditto.
44768 (flyspell-xemacs-popup): Ditto. Suggested by Sebastien Delafond.
44770 2016-02-28 Lars Ingebrigtsen <larsi@gnus.org>
44772 Wait for async DNS to complete before freeing resources
44774 * src/process.c (Fdelete_process): Wait for async DNS to
44775 complete before freeing the data structures it needs.
44777 2016-02-28 Lars Ingebrigtsen <larsi@gnus.org>
44779 * lisp/faces.el: Remove duplicated functions from previous patch.
44781 2016-02-28 Eli Zaretskii <eliz@gnu.org>
44783 Fix TLS connections on MS-Windows
44785 * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
44786 this is a non-blocking socket whose connection is in progress, set
44787 errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
44788 Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
44789 Suggested by Alain Schneble <a.s@realize.ch>. (Bug#22789)
44791 2016-02-27 Lars Ingebrigtsen <larsi@gnus.org>
44793 Add a NEWS entry for the read-color change
44795 2016-02-27 Jan Moringen <jan.moringen@uni-bielefeld.de>
44797 Show the face colours when completing in `read-color'
44799 * lisp/faces.el (defined-colors-with-face-attributes): New function.
44800 (readable-foreground-color, defined-colors-with-face-attributes)
44801 (readable-foreground-color): Ditto.
44802 (read-color): Use them (bug#5305).
44804 2016-02-27 Lars Ingebrigtsen <larsi@gnus.org>
44806 Clean up the code in parse-time-string-chars
44808 * lisp/calendar/parse-time.el (parse-time-string-chars):
44809 Clean up the code a bit.
44811 2016-02-27 Lars Ingebrigtsen <larsi@gnus.org>
44813 Add some tests for parse-time.el
44815 * test/lisp/calendar/parse-time-tests.el: New file.
44817 2016-02-27 Dima Kogan <dima@secretsauce.net>
44819 Strip out some leading whitespace when looking at logs
44821 * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
44822 at expanded git logs with `vc-print-root-log' (C-x v L, then
44823 <enter> by default), Emacs was stripping out all leading
44824 whitespace from git logs. I now strip exactly 2 leading
44825 spaces, which retains the indentation in the logs (bug#18110).
44827 2016-02-27 Dima Kogan <dima@secretsauce.net>
44829 Use a separate history variable for align-regexp
44831 * lisp/align.el (align-regexp-history): New variable (bug#16891).
44832 (align-regexp): Use it.
44834 2016-02-27 Phil Sung <philbert@gmail.com>
44836 Create subdirectories automatically in wdired
44838 * lisp/wdired.el (wdired-create-parent-directories): New
44839 variable (bug#6817).
44840 (wdired-create-parentdirs): New function.
44841 (wdired-do-renames): Use it.
44842 * doc/emacs/dired.texi (Wdired): Mention
44843 `wdired-create-parent-directories'
44845 2016-02-27 Lars Ingebrigtsen <larsi@gnus.org>
44847 Return the correct error values from gnutls.c
44849 * src/gnutls.c (emacs_gnutls_read): Set errno to the value
44850 expected by process.c.
44851 (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
44852 possible race condition with the process.c socket polling
44855 2016-02-27 Aaron S. Hawley <aaron.s.hawley@gmail.com>
44857 Don't make assumptions about mkdir. (Bug#22822)
44859 * test/Makefile.in (MKDIR_P): New, set by configure.
44860 (%.log): Use MKDIR_P.
44862 2016-02-27 Alexander Kuleshov <kuleshovmail@gmail.com>
44864 Support switching to hexl-mode from image-mode
44866 * lisp/image-mode.el (image-toggle-hex-display)
44867 (image-mode-to-text): New functions.
44868 (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
44869 image-toggle-hex-display.
44870 (image-mode-map): New menu item "Show as Hex".
44871 (image-mode): Update doc string and echo-area message.
44872 (image-toggle-display): Support toggle to hex. (Bug#22453)
44874 * doc/emacs/files.texi (File Conveniences): Document
44875 'image-toggle-hex-display'.
44877 2016-02-27 Eli Zaretskii <eliz@gnu.org>
44879 Remove unused code in coding.c
44881 * src/coding.c (decode_eol): Remove unused code that handled the
44882 case of coding->dst_object being nil. Replace it with an
44885 2016-02-26 Aurelien Aptel <aaptel@suse.com>
44887 * src/syntax.c: Fix result of syntax_multibyte()
44889 The ?: operator has a lower precedence than ||.
44890 Bug introduced by commit 45b683a.
44892 2016-02-26 Paul Eggert <eggert@cs.ucla.edu>
44894 --enable-gcc-warnings now uses -Wjump-misses-init
44896 When configuring with --enable-gcc-warnings, also enable
44897 -Wjump-misses-init, as it’s confusing to use a goto to skip over
44898 an initialization. Fix the few places in the code that run afoul
44900 * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
44901 * src/doc.c (Fsubstitute_command_keys):
44902 * src/image.c (svg_load_image):
44903 * src/regex.c (re_match_2_internal):
44904 * src/xdisp.c (redisplay_internal, redisplay_window):
44905 Don’t jump over initialization.
44907 2016-02-26 Jussi Lahdenniemi <jussi@aprikoodi.fi>
44909 Improve the register-hotkey functionality on MS-Windows
44911 * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
44912 keyboard hook functionality.
44913 Include w32inevt.h, basetyps.h and unknwn.h.
44914 (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
44915 (kbdhook): A new struct definition.
44916 (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
44917 (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
44918 (modifier_set): Call check_w32_winkey_state if a Win key was
44919 pressed and the keyboard hook is active.
44920 (w32_wnd_proc): Don't handle Win key combinations if the keyboard
44921 hook is active. Only register/unregister the hotkeys if the
44922 keyboard hook is not active. When WM_CREATE is received, call
44923 setup_w32_kbdhook. When WM_DESTROY is received, call
44924 reset_w32_kbdhook_state.
44925 (lookup_vk_code): When the keyboard hook is active, map
44926 alphanumeric characters to themselves.
44927 (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key. Map
44928 modified keys to VK_ANY if the keyboard hook is active. Register
44929 Alt-x and Win-x combinations.
44930 (Fw32_shell_execute): Update doc string to reflect new
44931 functionality. Bypass the code that posts the
44932 WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
44933 (Fw32_unregister_hot_key): Bypass the code that posts the
44934 WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
44935 (syms_of_w32fns) <w32-pass-lwindow-to-system>
44936 <w32-pass-rwindow-to-system, w32-phantom-key-code>
44937 <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
44938 to reflect the new functionality.
44939 * src/w32console.c (initialize_w32_display): Install the low-level
44941 * src/w32inevt.c (key_event): Handle Win-x combinations only if
44942 the keyboard hook is not active. If the hook is active, use
44943 check_w32_winkey_state instead.
44944 * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
44945 (check_w32_winkey_state): Add prototypes.
44946 (w32_kbdhook_active): New macro.
44948 * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
44951 2016-02-25 Aaron S. Hawley <aaron.s.hawley@gmail.com>
44953 Add forward-sexp (and related) tests
44955 * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
44956 forward-sexp and related functions (bug#22800).
44958 2016-02-25 Jan Tatarik <jan.tatarik@gmail.com>
44960 Don't use (localised) week days in dates
44962 * lisp/gnus/gnus-icalendar.el
44963 (gnus-icalendar-event:org-timestamp): Don't use (localised)
44964 week days in the dates, because that messes up things later.
44966 2016-02-25 Thierry Volpiatto <thierry.volpiatto@gmail.com>
44968 Update pcomplete/find
44970 * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
44973 2016-02-25 Lars Ingebrigtsen <larsi@gnus.org>
44975 Make parse-time-string-chars more efficient
44977 * lisp/calendar/parse-time.el (parse-time-string-chars): The
44978 string has already been downcase, so don't care about case
44981 2016-02-25 Lars Ingebrigtsen <larsi@gnus.org>
44983 Remove killed buffers from the list of Gnus buffers
44985 * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
44986 buffers from the list of Gnus buffers (bug#18522).
44988 2016-02-25 Paul Eggert <eggert@cs.ucla.edu>
44990 Integer overflow cleanups for ports and socklen
44992 * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
44993 (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
44994 (connect_network_socket):
44995 Use ptrdiff_t, not int, for signed object sizes.
44996 This addresses only a theoretical problem, as in practice these
44997 object sizes are less than 2**31, but we might as well use the
44998 same style here as elsewhere in Emacs.
44999 (string_integer_p): Remove; all uses removed.
45000 (Fmake_network_process): Check that port number is in range.
45001 When converting an integer-string service, rely on strtol
45002 rather than rechecking the string by hand.
45003 * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
45004 Adjust prototypes to match.
45006 2016-02-24 Thierry Volpiatto <thierry.volpiatto@gmail.com>
45008 Add pcomplete support for find
45010 * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
45011 for find (bug#10487).
45013 2016-02-24 Per Starbäck <starback@stp.lingfil.uu.se>
45015 Replace XXX acronyms with draft standard ones
45017 * lisp/international/characters.el (c1-acronyms): Replace XXX
45018 entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
45021 2016-02-24 Kevin Ryde <user42@zip.com.au>
45023 Make checkdoc warn about variables described as "True"
45025 * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
45026 Docstrings for variables "True...", and functions "Return
45027 true...", should usually be "non-nil" (bug#15506).
45029 2016-02-24 Lars Ingebrigtsen <larsi@gnus.org>
45031 Add NEWS entry for "number string" change
45033 2016-02-24 Lars Ingebrigtsen <larsi@gnus.org>
45035 Allow using "number strings" as services on non-GNU systems
45037 * src/process.c (string_integer_p): New function.
45038 (Fmake_network_process): Use it to allow connecting to
45039 services specified as "993" even when getaddrbyname isn't
45042 2016-02-24 Michael Albinus <michael.albinus@gmx.de>
45044 Fix problem in tramp.texi
45046 * doc/misc/tramp.texi (File name completion): Do not use
45047 @trampfn{} for IPv6 addresses. Somehow, it results in errors
45048 during PDF creation.
45050 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45052 Make image commands available in image-mode
45054 * lisp/image-mode.el (image-mode-map): Inherit from
45055 `image-map' so that the usual image commands work.
45057 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45059 Move `o' to `O' in shr-map
45061 * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
45062 from `o' to `O' to avoid collisions with `image-map'.
45064 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45066 Make setting the coding system non-blocking
45068 * src/process.c (Fset_process_filter_multibyte): Defer
45069 completing coding system setup in asynchronous processes.
45070 (Fset_process_coding_system): Ditto.
45072 2016-02-23 Gregoire Jadi <daimrod@gmail.com>
45074 Mention `proced-toggle-auto-update' in the proced-mode doc string
45076 * lisp/proced.el (proced-mode): Mention
45077 `proced-toggle-auto-update' (bug#14341).
45079 2016-02-23 Joshua Datko <jbdatko@gmail.com> (tiny change)
45081 Add a fortune-message command
45083 * lisp/play/fortune.el (fortune-message): Add a command to
45084 display fortunes in the echo area (bug#14915).
45086 2016-02-23 Susanne Oberhauser <froh@suse.com> (tiny change)
45088 Add hideshow bindings analogous to outline mode
45090 * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
45091 analogous to outline mode bindings (bug#15324).
45093 2016-02-23 Bastien Guerry <bzg@altern.org>
45095 Allow highlighting things like @math{2^{12}}
45097 * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
45098 Allow highlighting things like @math{2^{12}} (bug#16390).
45100 2016-02-23 Per Bothner <per@bothner.com>
45102 Make `C-{up,down,left,right}' work in term mode
45104 * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
45105 to send the same escape sequence that xterm sends. This makes
45106 backward-word and forward-word work in readline (bug#16746).
45108 2016-02-23 Dima Kogan <dima@secretsauce.net>
45110 Allow ff-find-other-file (etc) to work with indirect clone buffers
45112 * lisp/find-file.el (ff-buffer-file-name): New function to
45113 allow the feature to work with indirect buffers, too
45115 (ff-find-the-other-file): Use it.
45116 (ff-other-file-name): Ditto.
45117 (ff-get-file-name): Ditto.
45119 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45121 Fix error in add-change-log-entry when the entry has no newline
45123 * lisp/vc/add-log.el (add-change-log-entry): The entry in the
45124 ChangeLog may end without a new line starting with blanks.
45126 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45128 Avoid using mm-util functoins in gravatar.el
45130 * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
45132 (gravatar-retrieve-synchronously): Ditto.
45134 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45136 Move low-level library files from the lisp/gnus directory
45138 The files moved from lisp/gnus are:
45140 auth-source.el -> /
45141 compface.el -> /image
45143 flow-fill.el -> /mail
45144 gravatar.el -> /image
45146 html2text.el -> /net
45147 ietf-drums.el -> /mail
45148 mail-parse.el -> /mail
45149 mail-prsvr.el -> /mail
45155 rfc1843.el -> /international
45156 rfc2045.el -> /mail
45157 rfc2047.el -> /mail
45158 rfc2231.el -> /mail
45160 sieve-manage.el -> /net
45161 sieve-mode.el -> /net
45163 starttls.el -> /net
45164 utf7.el -> /international
45167 2016-02-23 Tino Calancha <f92capac@gmail.com>
45169 Allow undoing changes while doing query-replace
45171 * doc/lispref/searching.texi (Search and Replace): Mention
45174 * lisp/replace.el (query-replace-help): Document undo.
45175 (perform-replace): Implement undo while replacing text.
45177 2016-02-23 John F. Trudeau <JFTrudeau@aetna.com> (tiny change)
45179 Highlight assignments in Makefiles more correctly
45181 * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
45182 Highlight assignments preceded by a TAB character correctly
45185 2016-02-23 Fredrik Bergroth <fbergroth@gmail.com> (tiny change)
45187 Use memmove instead of memcpy on overlapping regions
45189 * src/editfns.c (Ftranspose_regions): Regions may overlap, so
45190 use memmove instead of memcpy (bug#19213).
45192 2016-02-23 Paul Eggert <eggert@cs.ucla.edu>
45194 Port to --enable-gcc-warnings sans getaddrinfo_a
45196 * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
45197 to a local unused when getaddrinfo_a is missing.
45198 Resize portbuf to size needed. Do cheap test first.
45199 Move local to block where it’s needed.
45201 2016-02-23 Paul Eggert <eggert@cs.ucla.edu>
45203 Minor cleanups for async DNS etc.
45205 * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
45206 Omit unnecessary parens.
45207 * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
45208 (gnutls_verify_boot):
45209 Use bool for boolean.
45210 (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
45211 * src/process.c (free_dns_request, Fmake_network_process):
45212 Allocate and free async request control block all in one go.
45213 (set_network_socket_coding_system, finish_after_tls_connection)
45214 (connect_network_socket):
45216 (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
45217 (Fmake_network_process): Use list1 for brevity.
45218 (wait_for_socket_fds): 2nd arg is now const ptr.
45219 * src/process.h (struct Lisp_Process.dns_request):
45220 Now struct gaicb *, not struct gaicb **, since there was always
45221 exactly one. All uses changed.
45222 * src/window.c, src/window.h (run_window_configuration_change_hook):
45225 2016-02-23 Carlos Pita <carlosjosepita@gmail.com>
45227 Allow more shell script defun forms
45229 * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
45230 script defun forms, like function name () {...} (bug#19754).
45232 2016-02-23 Martin Rudalics <rudalics@gmx.at>
45234 Fix `window-configuration-change-hook' and `window-size-change-functions'
45236 (1) Run `window-configuration-change-hook' if and only if at least
45237 one window was deleted or created or shows another buffer since
45240 (2) Run `window-size-change-functions' if and only if at least
45241 one window changed its size since last redisplay (in a few cases
45242 `window-size-change-functions' will also run when no window
45245 (3) Provide two functions `window-pixel-height-before-size-change'
45246 and `window-pixel-width-before-size-change' that allow to easily
45247 detect which window changed size.
45249 * src/frame.h (struct frame): New boolean member
45250 window_configuration_changed.
45251 (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
45252 (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
45253 * src/frame.c (adjust_frame_size): Don't run
45254 `window-configuration-change-hook'.
45255 * src/window.h (struct window): New fields
45256 pixel_width_before_size_change and pixel_height_before_size_change.
45257 (WINDOW_INTERNAL_P): New macro.
45258 * src/window.c (Fwindow_pixel_width_before_size_change)
45259 (Fwindow_pixel_height_before_size_change): New functions.
45260 (Fdelete_other_windows_internal, Fwindow_resize_apply)
45261 (resize_frame_windows, Fsplit_window_internal)
45262 (Fdelete_window_internal, grow_mini_window)
45263 (shrink_mini_window, Fresize_mini_window_internal): Don't call
45264 FRAME_WINDOW_SIZES_CHANGED.
45265 (window_size_changed, window_set_before_size_change_sizes)
45266 (run_window_size_change_functions): New functions.
45267 (make_window): Initialize pixel_width_before_size_change and
45268 pixel_height_before_size_change.
45269 (Fdelete_window_internal): Don't call
45270 run_window_configuration_change_hook.
45271 (struct saved_window): Add pixel_height_before_size_change and
45272 pixel_width_before_size_change.
45273 (Fset_window_configuration): Try to identify window configuration
45274 changes correctly so run_window_configuration_change_hook and
45275 run_window_size_change_functions run only if configuration and size
45277 (save_window_save): Set the pixel_height_before_size_change and
45278 pixel_width_before_size_change fields.
45279 (Vwindow_size_change_functions): Move here definition from xdisp.c.
45280 * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
45281 run_window_size_change_functions.
45282 (Vwindow_size_change_functions): Move definition to window.c.
45283 * src/xfns.c (x_set_menu_bar_lines): Don't call
45284 run_window_configuration_change_hook.
45285 * doc/lispref/windows.texi (Window Sizes): Document new
45286 functions `window-pixel-height-before-size-change' and
45287 `window-pixel-width-before-size-change'.
45288 (Window Configurations): Mention that this may trigger
45289 execution of `window-size-change-functions' although no window
45291 (Window Hooks): Update descriptions of `window-size-change-functions'
45292 and `window-configuration-change-hook'.
45294 2016-02-23 Drew Adams <drew.adams@oracle.com>
45296 (ls-lisp-insert-directory): Make -B work
45298 * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
45301 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45303 Fix typo in message-setup-fill-variables
45305 * lisp/gnus/message.el (message-setup-fill-variables): Fix
45306 typo in a recent checkin that used `setq-default' instead of
45307 `setq-local' (bug#22781).
45309 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45311 `message-dont-reply-to-names' can also be a list of regexps
45313 * lisp/gnus/message.el (message-dont-reply-to-names):
45314 `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
45316 2016-02-23 Vaidheeswaran C <vaidheeswaran.chinnaraju@gmail.com>
45318 Make buttons in header lines work
45320 * lisp/help-mode.el (help-button-action): `help-xref-button' in
45321 header line doesn't work (bug#21024).
45323 2016-02-23 Vasilij Schneidermann <v.schneidermann@gmail.com>
45325 Place apples randomly in Snake
45327 * lisp/play/snake.el (snake-score): New variable (bug#21359).
45328 (snake-set-dot): Place the apples randomly.
45330 2016-02-23 Tino Calancha <f92capac@gmail.com>
45332 Allow optional parameter to be nil
45334 * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
45335 optional parameter to be nil (bug#21576).
45337 2016-02-23 Tino Calancha <f92capac@gmail.com>
45339 Completely ignore buffers with no name when copying file names
45341 * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
45342 ignore buffers with no file name. (bug#21577).
45344 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45346 Make spelling of "Eshell" consistent
45348 * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
45349 * lisp/eshell/eshell.el (eshell-command):
45350 Spell it "Eshell" (bug#21678).
45352 2016-02-23 Simen Heggestøyl <simenheg@gmail.com>
45354 Allow pretty lambdas in Scheme mode
45356 * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
45357 `prettify-symbols-alist' from Lisp mode (bug#21679).
45359 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45361 Rename lisp--prettify-symbols-alist
45363 * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
45364 Rename from `lisp--prettify-symbols-alist' since we're going
45365 to use it in Scheme mode, too.
45366 (lisp-mode-variables): Use it.
45368 2016-02-23 Chunyang Xu <xuchunyang56@gmail.com> (tiny change)
45370 Remove spurious newline in package list
45372 * lisp/emacs-lisp/package.el (describe-package-1): Remove
45373 spurious newline (bug#21706).
45375 2016-02-23 Lars Ingebrigtsen <larsi@gnus.org>
45377 Revert "Remove spurious newline in package list"
45379 This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
45381 2016-02-23 Chunyang Xu <xuchunyang56@gmail.com>
45383 Remove spurious newline in package list
45385 * lisp/emacs-lisp/package.el (describe-package-1): Remove
45386 spurious newline (bug#21706).
45388 2016-02-22 Tino Calancha <f92capac@gmail.com> (tiny change)
45390 Keep the position in the process buffer when deleting processes
45392 * lisp/simple.el (process-menu-delete-process): Keep the
45393 position in the buffer after killing a process (bug#21759).
45395 2016-02-22 Lars Ingebrigtsen <larsi@gnus.org>
45397 Require that the buffer that we're trying to patch exist
45399 * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
45400 buffer that we're trying to patch exist (bug#21852).
45402 2016-02-22 Tino Calancha <f92capac@gmail.com> (tiny change)
45404 Require that the buffer that we're trying to patch exist
45406 * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
45407 buffer that we're trying to patch exist (bug#21852).
45409 2016-02-22 Tino Calancha <f92capac@gmail.com> (tiny change)
45411 Be more verbose when changing frame mode in ediff
45413 * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
45414 mode we toggled to (bug#21853).
45416 2016-02-22 Łukasz Stelmach <stlman@poczta.fm>
45418 Encode header strings before printing
45420 * lisp/ps-print.el (ps-generate-header-line): Encode the
45421 header strings to avoid problems with non-ASCII headers
45424 2016-02-22 Michal Nazarewicz <mina86@mina86.com>
45426 Test message-strip-subject-trailing-was
45428 * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
45429 New test (bug#22632).
45431 2016-02-22 Michal Nazarewicz <mina86@mina86.com>
45433 Make use of the `ert-with-function-mocked' macro
45435 * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
45436 * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
45437 `ert-with-function-mocked' instead of implementing the fragile
45438 `unwind-protect' logic openly.
45440 2016-02-22 Michal Nazarewicz <mina86@mina86.com>
45442 message-strip-subject-trailing-was: Refactor
45444 * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
45445 the function replacing sequence of `if' calls with a mixture of `or'
45446 and `and' calls instead. This makes it shorter and containing less
45447 internal state thus easier to follow.
45449 2016-02-22 Michal Nazarewicz <mina86@mina86.com>
45451 ert-with-function-mocked: New macro
45453 * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
45454 allows evaluating code while particular function is replaced with
45455 a mock. The original definition of said function is restored once the
45458 2016-02-22 Lars Ingebrigtsen <larsi@gnus.org>
45460 Move Gnus functions frm rfc1843 to new file gnus-rfc1843
45462 * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
45463 interface functions.
45465 * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
45468 2016-02-22 Lars Ingebrigtsen <larsi@gnus.org>
45470 Don't use mm-util functions in qp.el
45472 * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
45474 (quoted-printable-encode-string): Ditto.
45475 (quoted-printable-encode-region): Ditto.
45477 2016-02-22 Lars Ingebrigtsen <larsi@gnus.org>
45479 Don't require mm-util
45481 * lisp/mail/ietf-drums.el (mm-util): Don't require.
45483 2016-02-22 Lars Ingebrigtsen <larsi@gnus.org>
45485 Remove Gnus functions from auth-source.el
45487 * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
45488 Remove usage of Gnus utility function.
45489 (mm-util, gnus-util): Don't require.
45491 2016-02-22 Lars Ingebrigtsen <larsi@gnus.org>
45493 Allow deleting all non-matching cookies
45495 * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
45496 keeping matching cookies (bug#22720).
45498 2016-02-22 Lars Ingebrigtsen <larsi@gnus.org>
45500 Make (setf (image-property ...)) return VALUE
45502 * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
45504 2016-02-22 John Wiegley <johnw@newartisans.com>
45506 Merge from origin/emacs-25
45508 a9c48d5 Additional fixes for file notification
45509 6bd9d69 Fix documentation of 'global-disable-point-adjustment'
45510 8c22ac9 ; Spelling fix
45511 2975784 Set file modes of pinentry socket for extra safety
45512 2667b3e Clarify GnuPG version compatibility chapter
45513 5e34c36 Revert "Change the default socket location for pinentry"
45514 e19c1c3 Kill off xref--display-history
45515 5698947 Keep the xref buffer visible until the user quits it explicitly
45516 e34fbde Change the default socket location for pinentry
45517 5f89658 Mention how to enable pinentry feature
45518 db51224 Sync with gnulib
45519 aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
45520 2d8b2fd Restore point when writing semantic table to disk
45521 27d3430 Mention pinentry.el in epa manual
45522 5baa001 Fix Bug#22736
45523 7261355 Grammar fix in doc string
45524 d0f3b18 Naming fix for consistency
45525 74ec92d Prefer customized value for GnuPG executable
45526 ea0b604 Fix memory reservation on MS-Windows
45527 c5f72aa Update NextStep readme and add wish list.
45528 6de26a7 Report also result in `file-notify--test-event-handler'
45529 5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
45530 1cb1268 Fix todo-mode item date editing bugs
45531 1e996cf Fix "[:upper:]" for non-ASCII characters
45532 896f993 Allow customizing the article mode cursor behavior
45533 24c1c1d Use pop-to-buffer-same-window in woman.el
45534 2a75f64 New filenotify test for bug#22736
45535 c9bccf7 Report critical battery errors
45536 d675db9 Make eww message toggling message clearer
45537 5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
45538 fa8fd65 ; Improve character-folding entries in NEWS
45539 3722a69 Fix bugs in window resizing code
45540 289d5c6 Fix decoding DOS EOL in a unibyte buffer
45541 2abcb06 Correct c-parse-state cache manipulation error.
45542 14aec91 Take advantage of new GnuPG version check function
45543 e80c2a7 Make GnuPG version check robuster
45544 15a9464 Fix x-load-color-file pointer signedness
45545 132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
45546 78ab6f1 Follow convention for greek letter constants.
45547 106b5bb Add Stefan-Boltzmann constant to calc units table.
45548 b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
45549 5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw. (Bug#22669)
45550 2d40f7d Fix soffice UserInstallation-URL for Windows
45551 b1a3ebe Fix display of <pre> elements
45552 57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
45553 7a0628d ; * admin/make-tarball.txt: Mention cleaning.
45555 2016-02-22 Oleh Krehel <ohwoeowho@gmail.com>
45557 lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
45559 * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
45560 non-existing buffer.
45562 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45564 Mention the further asynchronousity
45566 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45568 Fix async TLS boot problem
45570 * src/process.c (wait_reading_process_output): Verify the boot
45571 of the correct process.
45573 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45575 Clean up forgotten text in manual
45577 * doc/lispref/display.texi (Defining Images): Remove example
45578 forgotten when making previous change.
45580 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45582 Clean up debugging code
45584 * src/process.c (Fmake_network_process): Remove debugging printf.
45585 (wait_for_socket_fds, wait_while_connecting)
45586 (wait_for_tls_negotiation): Remove newlines from messages.
45588 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45590 Fix merge conflicts in network-stream-tests.el
45592 2016-02-21 Paul Eggert <eggert@penguin.cs.ucla.edu>
45594 Port recent filevercmp addition to MS-Windows
45596 Reported by Andy Moreton in:
45597 https://lists.gnu.org/archive/html/emacs-devel/2016-02/msg01302.html
45598 * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
45599 (EXTRA_DIST): Add filevercmp.h.
45601 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45603 add_to_log expects Lisp parameters
45605 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45607 Mention sentinels in conjunction with :nowait t.
45609 * doc/lispref/processes.texi (Network Processes): Mention the
45610 recommended way of using sentinels with :nowait t.
45612 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45614 Mention in the doc strings that process functions may block
45616 (Fprocess_contact, Fprocess_datagram_address)
45617 (Fset_process_datagram_address, Fset_network_process_option)
45618 (Fprocess_send_region, Fprocess_send_string): Mention that the
45619 functions may block.
45620 (Fset_process_coding_system): Ditto.
45622 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45624 Add blocker warnings to the *Messages* buffer
45626 * src/process.c (wait_for_socket_fds): Add warning to the log.
45627 (wait_while_connecting): Ditto.
45628 (wait_for_tls_negotiation): Ditto.
45630 2016-02-21 Lars Ingebrigtsen <larsi@gnus.org>
45632 Rework the image property getter/setters
45634 * doc/lispref/display.texi (Defining Images): Document the
45635 renamed `image-get/set-property' functions.
45637 * lisp/image.el (image--set-property): Rename from
45638 image-set-property.
45639 (image-property): Declare a setf form.
45640 (image-property): Rename from `image-get-property'.
45642 2016-02-21 Paul Eggert <eggert@cs.ucla.edu>
45644 Use Gnulib filevercmp for version comparison
45646 * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
45647 * doc/lispref/strings.texi (Text Comparison):
45648 * etc/NEWS, src/fns.c:
45649 * test/src/fns-tests.el (fns-tests-string-version-lessp):
45650 Rename newly-introduced function to string-version-lessp, by
45651 analogy with strverscmp.
45652 * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
45653 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
45654 * src/fns.c: Include <filevercmp.h>.
45655 (gather_number_from_string): Remove.
45656 (Fstring_version_lessp): Reimplement via filevercmp.
45658 2016-02-20 Lars Ingebrigtsen <larsi@gnus.org>
45660 Add a function to delete URL cookies
45662 * doc/misc/url.texi (Cookies): Document
45663 url-cookie-delete-cookies.
45665 * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
45667 2016-02-20 Lars Ingebrigtsen <larsi@gnus.org>
45669 Avoid integer overflows in string-numeric-lessp
45671 * src/fns.c (Fstring_numeric_lessp): If we have an integer
45672 overflow, compare lexicographically.
45674 2016-02-20 Lars Ingebrigtsen <larsi@gnus.org>
45676 Add the string-numeric-lessp function
45678 * doc/lispref/strings.texi (Text Comparison): Document
45679 `string-numerical-lessp'.
45681 * src/fns.c (Fstring_numeric_lessp): New function.
45682 (gather_number_from_string): Helper function for that function.
45684 * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
45686 2016-02-20 Lars Ingebrigtsen <larsi@gnus.org>
45688 Clarify levels of :nowait t.
45690 * doc/lispref/processes.texi (Network Processes): Mention
45691 levels of asynchronicity.
45693 2016-02-20 Alain Schneble <a.s@realize.ch>
45695 Respect DNS timeouts
45697 * src/process.c (check_for_dns): If the async DNS request
45698 failed and the associated process is still in "connect" state,
45699 deactivate the process and set status to "failed".
45701 2016-02-19 Lars Ingebrigtsen <larsi@gnus.org>
45703 Add a frame around the placeholder image in shr
45705 * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
45708 2016-02-19 Lars Ingebrigtsen <larsi@gnus.org>
45710 Use placeholder images in shr to avoid text moving around
45712 * lisp/net/shr.el (shr-rescale-image): Pass in width/height
45714 (shr-tag-img): Ditto.
45715 (shr-string-number): New function.
45716 (shr-make-placeholder-image): Make placeholder images.
45717 (shr-tag-img): Insert them if we have SVG support.
45719 2016-02-19 Lars Ingebrigtsen <larsi@gnus.org>
45721 Get explicit width/height + scale computations right
45723 * src/image.c (compute_image_size): :scale should also be
45724 taken into account when :width and :height are explicitly names.
45726 2016-02-19 Lars Ingebrigtsen <larsi@gnus.org>
45728 New functions for getting and setting image properties
45730 * doc/lispref/display.texi (Defining Images): Document
45731 image-get/set-property.
45733 * lisp/image.el (image-set-property): New function.
45734 (image-get-property): Ditto.
45736 2016-02-19 Alan Mackenzie <acm@muc.de>
45738 Await the final mouse event in C-h c and C-h k.
45740 * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
45741 event, keep reading further events until a timeout occurs, to ensure we have
45742 the complete mouse event from the user.
45744 2016-02-18 Lars Ingebrigtsen <larsi@gnus.org>
45746 Add a library for creating and manipulating SVG images
45748 * doc/lispref/display.texi (SVG Images): New section.
45750 * lisp/svg.el: New file.
45752 2016-02-18 Lars Ingebrigtsen <larsi@gnus.org>
45754 Fix up tests for async TLS negotiation
45756 2016-02-18 Lars Ingebrigtsen <larsi@gnus.org>
45758 Fix coding system setup
45760 * src/process.c (set_network_socket_coding_system): Pass in
45761 the host/service that's been computed already.
45763 2016-02-18 Michael Albinus <michael.albinus@gmx.de>
45765 Reference `tramp-theme' in GNU ELPA.
45767 * doc/misc/tramp.texi (Frequently Asked Questions):
45768 Reference `tramp-theme' in GNU ELPA.
45770 2016-02-17 Lars Ingebrigtsen <larsi@gnus.org>
45772 Verify the TLS connection asynchronously
45774 * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
45775 function so that we can call it asynchronously.
45776 (Fgnutls_boot): Use it.
45778 * src/process.c (wait_reading_process_output): Verify the TLS
45781 2016-02-16 Simen Heggestøyl <simenheg@gmail.com>
45783 Add column layout module to CSS property list
45785 * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
45786 CSS Multi-column Layout Module.
45788 2016-02-16 Michael Albinus <michael.albinus@gmx.de>
45790 Minor cleanup in CONTRIBUTE and test/README
45792 * CONTRIBUTE: Remove detailed explanation about testing; this
45793 is now in test/README.
45795 * test/README: Don't mention automated/ subdirectory.
45797 2016-02-15 Glenn Morris <rgm@gnu.org>
45799 Provide 'term/name in lisp/term files.
45801 * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
45802 * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
45803 * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
45804 * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
45805 * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
45806 * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
45807 * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
45808 For consistency, provide 'term/name in all files that don't already.
45810 2016-02-15 Lars Ingebrigtsen <larsi@gnus.org>
45812 Deactivate the correct process
45814 * src/process.c (wait_reading_process_output): Deactivate the
45815 correct process on failure.
45817 2016-02-15 Lars Ingebrigtsen <larsi@gnus.org>
45819 Implement asynch TLS negotiation
45821 * src/gnutls.c (gnutls_try_handshake): Factor out into its own
45823 (emacs_gnutls_handshake): Use it.
45824 (emacs_gnutls_read): Just return instead of retrying the handshake.
45826 * src/process.c (finish_after_tls_connection): Factor out
45827 into its own function.
45828 (connect_network_socket): Use it.
45829 (wait_reading_process_output): Retry TLS handshakes.
45830 (wait_reading_process_output): Defer sentinel until TLS completes.
45832 2016-02-15 Lars Ingebrigtsen <larsi@gnus.org>
45834 Simplify the DNS resolution loop a bit
45836 * src/process.c (wait_reading_process_output): Simplify the
45837 DNS resolution loop a bit.
45839 2016-02-15 Alain Schneble <a.s@realize.ch>
45841 Loop over the process list instead of maintaining a separate list
45843 * src/process.c: Remove declaration/definition of dns_processes list.
45844 * src/process.c (wait_reading_process_output): Loop over all processes in
45845 Vprocess_alist instead of dns_processes, to check for completed DNS
45848 2016-02-15 Lars Ingebrigtsen <larsi@gnus.org>
45850 Allow setting the filter masks later
45852 * src/process.c (Fset_process_filter): Don't set the socket
45853 masks here, because we may not have a socket yet.
45854 (set_process_filter_masks): New function.
45855 (connect_network_socket): Set the filter masks here.
45857 2016-02-15 Lars Ingebrigtsen <larsi@gnus.org>
45861 2016-02-15 Lars Ingebrigtsen <larsi@gnus.org>
45863 Ensure we always free DNS resources when deleting a process
45865 * src/process.c (free_dns_request): Factor out into own function.
45866 (Fdelete_process): When deleting a process, free any DNS
45867 structures associated with it.
45868 (check_for_dns): Always free all DNS resources.
45870 2016-02-15 Alain Schneble <a.s@realize.ch>
45872 Don't block in set-process-window-size
45874 * src/process.c (set-process-window-size): Explicitly return Qnil when
45875 called with network processes as set_window_size won't work anyway on
45876 socket fds. As a welcome side effect, this makes the blocking
45877 wait_for_socket_fds call obsolete.
45879 2016-02-15 Lars Ingebrigtsen <larsi@gnus.org>
45881 Do most of the coding system setup earlier
45883 * src/process.c (Fmake_network_process): Set the read/write
45884 coding systems here, so that special bindings work.
45885 (Fmake_network_process): Complete the coding system setup here.
45887 2016-02-15 John Wiegley <johnw@newartisans.com>
45889 Merge from origin/emacs-25
45891 d4b93e1 Minor fixes in global-auto-composition-mode
45892 02b037b Allow arithmetic operators inside C++ template constructs.
45893 44b16f6 Avoid crashes in semi-malformed 'condition-case'
45894 652e5b4 Allow arithmetic operators inside C++ template constructs.
45895 d9ea795 Fix regression with 'recent-keys' and keyboard macros
45896 903603f Fix wording in a doc-view.el comment
45897 cf79616 ; Spelling fixes
45898 f8bf1b3 CONTRIBUTE cleanups and updates
45899 f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
45900 1834ac7 Port to x86 GCC 4.3.1 and earlier
45901 8482949 Fix point movement under 'scroll-conservatively'
45902 c1313b5 Replace colon in file name (not legal on Windows)
45903 f7af26c Fix a typo in edt.texi
45904 8badf95 Make 'mmap_realloc' on MS-Windows more reliable
45905 856cd94 Grep alias `all' shall not match parent directory
45907 2016-02-15 John Wiegley <johnw@newartisans.com>
45909 Merge from origin/emacs-25
45911 dacde7e * etc/AUTHORS: Update the AUTHORS file
45912 478ca5d ; fix changelog entries
45913 2b7d006 ; make change-history-commit
45914 851decb * lisp/dired-aux.el: Require cl-lib. (Bug#22613)
45915 47896c8 ; Improve commentary in insdel.c
45916 53ca1e1 Index tilde characters in names of backup files
45917 d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
45918 b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
45919 28bb214 Announce that the `C-x w' bindings are deprecated
45920 1c98f98 Suppress GNUstep hardening
45921 d82f24b Fix redisplay after a large insertion
45922 85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
45924 e8e3db0 ; Improve merge documentation in CONTRIBUTE
45925 5be9989 * lib-src/make-docfile.c: Include stdarg.h.
45926 c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
45929 2016-02-15 John Wiegley <johnw@newartisans.com>
45931 Merge from origin/emacs-25
45933 f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
45934 afe7d1f Revert "Document EXIF image rotation"
45935 c6f377c Document OS X LANG default
45936 eb4a18c Set locale when run from OS X GUI
45937 456c0a3 make-docfile cleanup for I/O, etc.
45938 25ec995 Memory-management cleanup in make-docfile
45939 02d925e Kevin Gallagher has new email address
45940 4ef153b Improve doc strings of 'forward/backward-word-strictly'
45941 3ad05a0 Describe Makefile test targets in test/README
45943 2016-02-15 John Wiegley <johnw@newartisans.com>
45945 Merge from origin/emacs-25
45947 10b8ed2 Document EXIF image rotation
45948 0f60049 Support integer image rotation and respect EXIF rotations
45949 7dd45b6 Quote table names for postgres listings (sql-mode)
45950 6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
45951 `backward' optional.
45952 ee909aa * lisp/simple.el (next-line-or-history-element): Reset
45953 temporary-goal-column.
45954 0a289d3 Suppress ACL ops if configured with --disable-acl
45955 1a9dbf5 Mention web bugs
45956 fa55da2 Make mm-html-blocked-images default to "" again
45958 2016-02-15 Lars Ingebrigtsen <larsi@gnus.org>
45960 Protect against initial handshake failures
45962 * src/process.c (connect_network_socket): Mark the connection
45963 as failed if the handshake didn't succeed yet. This should be
45966 2016-02-14 Lars Ingebrigtsen <larsi@gnus.org>
45968 Call the network security manager after doing TLS negotiation
45970 * lisp/net/network-stream.el (network-stream-open-tls):
45971 Postpone NSM verification when running async.
45973 * src/process.c (Fset_process_filter): This function doesn't
45975 (connect_network_socket): Set the process status to "run" only
45976 after TLS negotiation.
45977 (wait_for_socket_fds): Take a name parameter for more debugging.
45978 (wait_reading_process_output): Don't change status to "run"
45979 unless TLS negotiation has finished.
45980 (send_process): Wait for the process here instead of
45981 send_process_string.
45982 (connect_network_socket): Call the network security manager.
45984 2016-02-14 Lars Ingebrigtsen <larsi@gnus.org>
45986 Remove some #ifdefs and update documentation
45988 * doc/lispref/processes.texi (Network Processes): Remove
45991 * lisp/net/network-stream.el (open-network-stream): Remove
45994 * src/process.c (Fset_process_filter)
45995 (Fset_process_window_size, Fprocess_contact)
45996 (Fprocess_datagram_address, Fset_process_datagram_address)
45997 (Fset_network_process_option, Fprocess_send_region)
45998 (Fprocess_send_string, Fset_process_coding_system)
45999 (Fset_process_filter_multibyte): Remove the #ifdef
46000 HAVE_GETADDRINFO_A checks.
46001 (Fprocess_send_string): Wait for TLS negotiation.
46002 (wait_for_tls_negotiation): New function.
46003 (send_process): Remove the TLS boot check.
46005 * src/process.c (Fmake_network_process): Ditto.
46007 2016-02-14 Lars Ingebrigtsen <larsi@gnus.org>
46009 Use :nowait t in url-gw
46011 * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
46012 since we're not differentiating.
46014 2016-02-14 Alain Schneble <a.s@realize.ch>
46016 Add blockers to process functions
46018 * src/process.c (set-process-filter, set-process-window-size,
46019 process-contact, process-datagram-address, set-process-datagram-address,
46020 set-network-process-option): Make functions wait (block) on network
46021 process until pending DNS requests have been processed and associated
46022 socket initialized.
46024 * src/process.c (process-send-region, process-send-string,
46025 process-send-eof): Make functions wait (block) while network process is
46028 2016-02-14 Simen Heggestøyl <simenheg@gmail.com>
46030 Add fragmentation module to CSS property list
46032 * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
46033 CSS Fragmentation Module Level 3.
46035 2016-02-14 Nicolas Petton <nicolas@petton.fr>
46037 * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
46039 2016-02-14 Nicolas Petton <nicolas@petton.fr>
46041 New function seq-map-indexed
46043 * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
46044 * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
46046 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46048 * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
46050 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46052 Fix problem with wrong encoding of non-ASCII message bodies
46054 * lisp/gnus/mml.el (mml-generate-mime-1): Disable
46055 multibyteness before encoding the data.
46057 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46059 Remove codepage setup code from mm-util
46061 * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
46062 (mm-codepage-iso-8859-list): Remove.
46063 (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
46064 (mm-setup-codepage-ibm): Remove.
46065 (mm-charset-eval-alist): Remove the code pages from the
46068 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46070 Remove compat code for older Emacsen
46072 * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
46073 XEmacs compat code.
46075 * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
46076 unused compat function.
46077 (gnus-sync-json-plist-p): Ditto.
46079 * lisp/gnus/message.el (message-default-charset): Make obsolete.
46080 (message-info): Remove compat code.
46081 (message-setup-fill-variables): Remove kludge needed earlier
46082 to not overwrite `normal-auto-fill-function'.
46083 (message-split-line): Remove compat code.
46085 * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
46088 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46090 Remove some compat functions from gmm-utils.el
46092 * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
46094 (gmm-image-search-load-path): Remove.
46095 (gmm-image-load-path-for-library): Remove.
46097 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46099 Remove the gmm-lazy and nnmail-lazy compat widgets
46101 * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
46103 * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
46105 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46107 Clean up nnimap-request-move-article slightly
46109 * lisp/gnus/nnheader.el (subr-x): Require.
46111 * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
46114 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46116 Use open-network-stream instead of open-protocol-stream
46118 * lisp/gnus/nnimap.el: Use open-network-stream instead of
46119 open-protocol-stream.
46121 * lisp/gnus/nntp.el: Ditto.
46123 * lisp/gnus/pop3.el: Ditto.
46125 * lisp/net/sieve-manage.el: Ditto.
46127 * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
46129 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46131 Remove compat code that relies on (featurep 'mule)
46133 * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
46136 * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
46137 Remove compat code.
46139 * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
46140 Remove compat code.
46142 * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
46143 Remove compat code.
46144 (mm-w3m-standalone-supports-m17n-p): Ditto.
46146 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46148 Remove compat functions from starttls.el
46150 * lisp/net/starttls.el
46151 (starttls-set-process-query-on-exit-flag): Remove.
46153 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46155 Remove compat functions from smime.el
46157 * lisp/gnus/smime.el (smime-replace-in-string): Remove.
46158 (smime-make-temp-file): Remove.
46160 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46162 Remove compat code from smiley
46164 * lisp/gnus/smiley.el (smiley-style): Remove compat code.
46166 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46168 Remove compat code from rfc2047
46170 * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
46172 (rfc2047-decode-string): Ditto.
46174 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46176 Remove compat function from pop3
46178 * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
46180 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46182 Remove compat code in Gnus backends
46184 * lisp/gnus/nndiary.el (nndiary-error): Remove.
46186 * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
46188 * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
46190 * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
46192 * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
46194 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46196 Remove compat code from some mml files
46198 * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
46199 Remove compat code.
46201 * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
46202 Always use `mail-extract-address-components', since this isn't
46204 (mml-smime-get-dns-cert): Ditto.
46206 * lisp/gnus/mml.el (mml-preview): Remove compat code.
46208 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46210 Remove compat code and compat functions from mm-util.el
46212 * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
46214 (mm-coding-system-priorities)
46215 (mm-mule-charset-to-mime-charset, mm-charset-after)
46216 (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
46217 (mm-detect-coding-region): Define unconditionally.
46218 (mm-detect-mime-charset-region): Ditto.
46219 (mm-coding-system-to-mime-charset): It's 'mime-charset now.
46220 (coding-system-name)
46221 (find-file-coding-system-for-read-from-filename)
46222 (find-operation-coding-system): Remove aliases.
46224 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46226 Remove some compat code from mm-*.el
46228 * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
46230 * lisp/gnus/mm-decode.el (mm-tmp-directory)
46231 (mm-valid-image-format-p): Remove compat code.
46233 * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
46234 "Connection" "Close" workaround for older Emacsen.
46236 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46238 Remove compat code and functions from message.el
46240 * lisp/gnus/message.el (message-send-mail-function): Remove
46242 (message-dont-reply-to-names, message-mode)
46243 (message-setup-fill-variables, message-fill-paragraph)
46244 (message-remove-blank-cited-lines, message-make-from)
46245 (message-forward-rmail-make-body, message-tool-bar-gnome)
46246 (message-tab): Remove compat code.
46247 (message-completion-in-region): Remove.
46248 (message-read-from-minibuffer): Remove compat code.
46250 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46252 Declare rfc1843 instead of autoloading
46254 * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
46255 instead of autoload.
46257 2016-02-13 Eli Zaretskii <eliz@gnu.org>
46259 Avoid signaling an error in 'dired-do-find-regexp-and-replace'
46261 * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
46262 autoloaded correctly. (Bug#22613)
46264 2016-02-13 Eli Zaretskii <eliz@gnu.org>
46266 Fix network-stream-tests.el for MS-Windows
46268 * test/lisp/net/network-stream-tests.el
46269 (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
46270 (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
46272 2016-02-13 Lars Ingebrigtsen <larsi@gnus.org>
46274 Remove some Message compat functions
46276 * lisp/gnus/message.el (message-kill-all-overlays): Define
46278 (message-window-inside-pixel-edges): Remove.
46279 (mail-dont-reply-to): Remove.
46281 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46283 Remove some Gnus compat code
46285 * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
46286 (gnus-mm-display-part): Ditto.
46288 * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
46291 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46293 Sort groups before inserting them into the group buffer
46295 * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
46296 Sort groups before inserting them.
46298 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46300 Make "unseen" tracking work again in Gnus
46302 * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
46303 tracking work again.
46305 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46307 Remove Gnus compat functions defined in gnus.el
46309 * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
46310 (gnus-extent-start-open, gnus-character-to-event)
46311 (gnus-assq-delete-all, gnus-add-text-properties)
46312 (gnus-put-text-property, gnus-key-press-event-p):
46314 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46316 Remove compat code from gnus-uu and win
46318 * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
46321 * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
46323 * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
46325 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46327 Remove several gnus-util compat functions
46329 * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
46330 (gnus-read-shell-command): Remove.
46331 (gnus-match-substitute-replacement): Remove.
46332 (gnus-string-match-p): Remove.
46333 (gnus-string-prefix-p): Remove.
46335 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46337 Remove the gnus-merge alias
46339 * lisp/gnus/gnus-util.el (gnus-merge): Remove.
46341 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46343 Remove the gnus-union alias
46345 * lisp/gnus/gnus-util.el (gnus-union): Remove.
46347 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46349 Remove the gnus-delete-alist alias
46351 * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
46352 (gnus-delete-alist): Remove.
46354 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46356 Remove the gnus-float-time alias
46358 * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
46360 (gnus-float-time): Remove.
46362 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46364 Remove compat code from gnus-srvr, start and sum
46366 * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
46369 * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
46370 Remove compat code.
46372 * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
46373 (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
46375 (gnus-summary-limit-strange-charsets-predicate)
46376 (gnus-summary-show-thread): Remove compat code.
46378 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46380 Remove compat code from gnus-spec.el
46382 * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
46383 (gnus-balloon-face-function): Remove compat code.
46385 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46387 Fix compat change in last check-in
46389 * lisp/gnus/gnus-group.el
46390 (gnus-group-name-charset-group-alist): `find-coding-system'
46391 doesn't exist in Emacs.
46393 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46395 Always use url-queue
46397 * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
46398 Always use url-queue.
46400 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46402 Remove compat functions from gnus-html.el
46404 * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
46406 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46408 Remove compat code from gnus-group.el
46410 * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
46411 (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
46413 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46415 Define gnus-diary-kill-entire-line unconditionally
46417 * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
46418 Define unconditionally.
46420 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46422 Remove compat code from gnus-cache and gnus-bookmark
46424 * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
46426 * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
46427 Remove compat code.
46429 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46431 Remove compat code from gnus-art.el
46433 * lisp/gnus/gnus-art.el (gnus-article-prepare)
46434 (gnus-mime-copy-part, gnus-output-to-file)
46435 (gnus-article-reply-with-original)
46436 (gnus-button-handle-apropos-variable)
46437 (gnus-button-handle-apropos-documentation):
46439 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46441 Remove compat code from gnus-agent.el
46443 * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
46444 Remove compat code.
46446 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46448 Rewrite gmm-labels usage to use cl-labels
46450 * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
46451 (gmm-labels): Remove.
46453 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46455 Remove compat code from canlock.el
46457 * lisp/gnus/canlock.el (defmacro): Remove
46459 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46461 Remove compat code from auth-source
46463 * lisp/gnus/auth-source.el (auth-source-read-char-choice):
46464 Remove compat code.
46466 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46468 Fix gnus-group.el compilation warnings about unprefixed variables
46470 * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
46471 compilation warnings by passing in the dynamic variables as
46472 explicit lexical parameters to `eval'.
46474 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46476 Fix the :tracker slot name
46478 * lisp/gnus/registry.el (registry-lookup-secondary): The
46479 `tracker' slot is called `tracker', not `:tracker'.
46481 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46483 Fix compilation warnings in gnus-art.el
46485 * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
46486 (gnus-article-hide): Avoid compilation warnings.
46488 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46490 Fix compilation warning in gnus-score.el
46492 * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
46495 2016-02-12 Andreas Schwab <schwab@linux-m68k.org>
46497 Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
46499 This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
46501 This makes nnimap groups not be activated.
46503 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46505 Fix encoding problem introduced by previous patch series
46507 * lisp/mail/rfc2047.el: Ditto (bug#22648).
46509 * lisp/mail/rfc2231.el: Fix problem created by the
46510 mm-replace-in-string conversion.
46512 2016-02-12 Lars Ingebrigtsen <larsi@gnus.org>
46514 Revert "Avoid defvarring prefix-less variables"
46516 This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
46518 The defvars are needed if we're doing lexical-binding
46520 2016-02-12 Glenn Morris <rgm@gnu.org>
46522 * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
46525 * test/lisp/url/url-auth-tests.el
46526 (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
46528 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46530 Finish up cl-defmethoding registry,el
46532 * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
46534 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46536 Revert the gnus-replace-in-string change, fix arguments, reapply
46538 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46540 Silence more message.el compilation warnings
46542 * lisp/gnus/message.el (message-generate-headers): Don't use
46543 variable values directly to get the header values, because
46544 that breaks with lexical binding (without unprefixed defvars).
46546 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46548 Fix various compilation warnings in message.el
46550 * lisp/gnus/message.el (message-fix-before-sending): Use
46551 read-multiple-choice instead of gnus-multiple-choice.
46552 (mm-util): Require.
46553 (rfc2047): Require.
46554 (message-remove-blank-cited-lines): Use message instead of
46556 (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
46558 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46560 Silence compilation warning in mm-view
46562 * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
46563 compilation warning.
46565 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46567 Fix epg-related compilation warnings in mml-sec
46569 * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
46572 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46574 rmail-dont-reply-to-names is obsolete
46576 * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
46577 the obsolete `rmail-dont-reply-to-names' variable.
46579 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46581 Partially revert the defmethod->cl-defmethod change in registry.el
46583 * lisp/gnus/registry.el (initialize-instance): Use defmethod,
46584 since cl-defmethod doesn't work with :after.
46585 (initialize-instance): Ditto, but with :before.
46587 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46589 Avoid obsolete function in plstore
46591 * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
46592 instead of the obsolete epg-context-set-armor.
46594 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46596 Use cl-defmethod in registry.el
46598 * lisp/gnus/registry.el: Use cl-defmethod instead of the
46599 obsolete defmethod.
46601 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46603 Make sieve-manage require sasl
46605 * lisp/net/sieve-manage.el: Fix compilation warning by
46608 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46610 Avoid defvarring prefix-less variable
46612 * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
46614 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46616 * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
46618 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46620 Don't use the obsolete char-valid-p function
46622 * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
46623 obsolete char-valid-p function.
46625 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46627 Fix missed translation in a previous commit
46629 * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
46630 translation of mailcap-delete-duplicates.
46632 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46634 Avoid using mm-make-temp-file
46636 * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
46638 * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
46640 * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
46642 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46644 Fix compilation warning in gnus-start
46646 * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
46649 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46651 Avoid the obsoleted defmethod
46653 * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
46656 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46658 Avoid defvarring prefix-less variables
46660 * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
46661 don't need to `defvar' the short variables to allow `eval' to
46664 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46666 nnweb doesn't need unibyte buffers
46668 * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
46669 (nnweb-read-overview, nnweb-request-article)
46670 (nnweb-google-reference): Unibyte buffers are not needed here.
46672 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46674 Encode before sending from nnspool
46676 * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
46677 before sending it to the news server.
46679 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46681 nnrss buffers don't have to be unibyte
46683 * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
46684 to be unibyte just to receive data, I think.
46686 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46688 Don't use mm-with-unibyte-current-buffer in mml2015
46690 * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
46691 mm-with-unibyte-current-buffer.
46693 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46695 Don't use mm-with-unibyte-current in mml1991
46697 * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
46698 mm-with-unibyte-current.
46700 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46702 Don't use mm-with-unibyte-current in mml1991
46704 * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
46705 mm-with-unibyte-current.
46707 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46709 Don't use mm-with-unibyte-buffer in utf7
46711 * lisp/international/utf7.el (utf7-fragment-encode): Don't use
46712 mm-with-unibyte-buffer.
46714 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46716 Remove XEmacs compat code from Gnus helper libraries
46718 * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
46720 * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
46722 * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
46724 * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
46726 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46728 Remove XEmacs compat code from Gnus backends
46730 * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
46731 (mm-inline-image): Rename from mm-inline-image-emacs.
46733 * lisp/gnus/mml.el: Remove XEmacs compat code.
46735 * lisp/gnus/nnheader.el: Remove XEmacs compat code.
46737 * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
46738 XEmacs compat code.
46740 * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
46742 * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
46743 XEmacs compat code.
46745 * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
46747 * lisp/gnus/nnrss.el: Remove XEmacs compat code.
46749 * lisp/gnus/nntp.el: Remove XEmacs compat code.
46751 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46753 Remove XEmacs compat functions from mm-util.el
46755 * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
46756 (mm-decode-coding-string, mm-encode-coding-string)
46757 (mm-decode-coding-region, mm-encode-coding-region): Remove.
46758 (mm-string-to-multibyte): Remove.
46759 (mm-char-or-char-int-p): Remove.
46760 (mm-ucs-to-char): Remove compat versions of the function.
46761 (mm-read-coding-system): Remove.
46762 (mm-coding-system-p): Remove compat code.
46763 (mm-enrich-utf-8-by-mule-ucs): Remove.
46764 (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
46765 (mm-delete-duplicates): Remove.
46766 (mm-multibyte-p): Remove compat versions.
46767 (mm-xemacs-find-mime-charset-1): Remove.
46768 (mm-xemacs-find-mime-charset): Remove.
46769 (mm-make-temp-file): Made obsolete.
46770 (mm-find-buffer-file-coding-system): Remove XEmacs compat.
46772 2016-02-11 Lars Ingebrigtsen <larsi@gnus.org>
46774 Remove Message and mm-decode XEmacs compat code
46776 * lisp/gnus/message.el: Remove XEmacs compat code.
46778 * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
46780 * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
46782 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46784 Remove som XEmacs compat code from message.el
46786 * lisp/gnus/message.el: Remove some XEmacs compat code.
46788 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46790 Remove XEmacs compat code from ietf-drums.el
46792 * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
46795 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46797 Remove XEmacs compat code from gravatar.el
46799 * lisp/gnus/gravatar.el: Remove XEmacs compat code from
46802 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46804 Remove more XEmacs compat code from Gnus
46806 * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
46807 (gnus-timer--function): Remove.
46809 * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
46812 * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
46814 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46816 Remove more XEmacs compat functions from gnus-util.el
46818 * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
46819 (gnus-get-display-table): Remove.
46820 (gnus-format-message): Remove.
46822 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46824 Remove more XEmacs compat functions from Gnus
46826 * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
46827 (gnus-previous-char-property-change): Remove.
46828 (gnus-graphic-display-p): Remove.
46829 (gnus-select-frame-set-input-focus): Remove.
46831 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46833 Remove more XEmacs compat code from gnus-util
46835 * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
46837 (gnus-invisible-p): Remove.
46839 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46841 Remove gnus-make-local-hook
46843 * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
46846 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46848 gnus-replace-in-string -> replace-regexp-in-string
46850 * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
46851 obsolete. Transform all usages of it into
46852 replace-regexp-in-string.
46854 * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
46856 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46858 Remove Gnus XEmacs compat
46860 * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
46861 about code that doesn't work in XEmacs.
46863 * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
46865 * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
46867 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46869 Remove compat functions in gnus-spec.el
46871 * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
46872 (gnus-substring-function): Remove.
46873 (gnus-use-correct-string-widths): Remove.
46874 (gnus-make-format-preserve-properties): Remove.
46875 (gnus-xmas-format): Remove.
46877 * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
46879 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46881 Remove Gnus XEmacs compat functions
46883 * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
46885 * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
46887 * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
46889 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46891 Remove Gnus XEmacs compatibility
46893 * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
46896 * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
46898 * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
46900 * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
46903 * lisp/gnus/gnus-group.el: Remove XEmacs compat.
46905 * lisp/gnus/gnus-html.el: Remove XEmacs compat.
46907 * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
46909 * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
46911 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46913 Don't use image-map if it isn't defined
46915 * lisp/net/shr.el (shr-image-map): Only use image-map as a
46916 parent if it's defined (bug#22614).
46918 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46920 Check for MagickAutoOrientImage
46922 * configure.ac: Check for MagickAutoOrientImage.
46924 * src/image.c (imagemagick_load_image): Don't use
46925 MagickAutoOrientImage unless it's available.
46927 2016-02-10 Lars Ingebrigtsen <larsi@gnus.org>
46929 Document EXIF image rotation
46931 * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
46933 2016-02-10 Dima Kogan <dima@secretsauce.net>
46935 Support integer image rotation and respect EXIF rotations
46937 * src/image.c (imagemagick_load_image): Allow integer rotations in
46938 addition to floating point rotations (bug#22591).
46939 * src/image.c (imagemagick_load_image): Images that have an
46940 orientation given in EXIF and have no explicit :rotation tag are now
46941 pre-rotated. All information such as width/height is reported for the
46944 2016-02-10 Wolfgang Jenkner <wjenkner@inode.at>
46946 * lisp/net/shr.el (image-map): Defvar it. (Bug#22614)
46948 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
46950 * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
46952 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
46954 Remove compat code from gnus-bookmark.el
46956 * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
46957 (gnus-bookmark-remove-properties): Remove.
46959 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
46961 Remove XEmacs compat code from gnus-a*.el
46963 * lisp/gnus/gnus-agent.el: Remove compat code.
46965 * lisp/gnus/gnus-art.el: Remove compat code.
46967 * lisp/gnus/gnus-async.el: Remove compat code.
46969 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
46971 Remove gmm compat functions
46973 * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
46974 (gmm-write-region): Remove.
46975 (gmm-called-interactively-p): Remove.
46977 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
46979 * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
46981 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
46983 Remove compat code from compface.el
46985 * lisp/image/compface.el: Remove XEmacs compat code throughout.
46987 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
46989 Remove the now empty gnus-ems.el and references to it
46991 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
46993 Remove Gnus compat names for mouse bindings
46995 * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
46996 (gnus-down-mouse-2): Remove.
46997 (gnus-down-mouse-3): Remove.
46999 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47001 Drop Gnus compat functions
47003 * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
47005 * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
47007 * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
47009 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47011 Get rid of gnus-ems-redefine
47013 * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
47015 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47017 * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
47019 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47021 Remove Gnus compat code
47023 * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
47024 transitional code from ten years ago.
47026 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47028 Allow interactively scaling past :max-width etc
47030 * lisp/image.el (image--current-scaling)
47031 (image--image-without-parameters): New functions.
47032 (image--change-size): Use them to allow changing the size of a
47033 image even if it has :width/:max-width (etc.) already set.
47035 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47037 * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
47039 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47041 Allow accessing the image commands via shr
47043 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
47044 accessing the image commands.
47046 * lisp/net/shr.el (shr-image-map): New map used for images.
47047 (shr-urlify): Don't overwrite image maps when applying URL maps.
47049 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47051 Use a sparse image keymap
47053 * lisp/image.el (image-map): Use a sparse keymap.
47055 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47057 Put a keymap on images created with insert-image and friends
47059 * lisp/image.el (image-save): New command.
47060 (image-rotate): Ditto.
47061 (image-map): New keymap.
47062 (insert-image): Put the image-map on all images.
47063 (insert-sliced-image): Ditto.
47064 * doc/lispref/display.texi (Showing Images): Document the
47067 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47069 Fix some folding issues in read-multiple-choice
47071 * lisp/subr.el (read-multiple-choice): Fix folding when you
47074 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47076 Fix typo in last checkin
47078 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47080 Remove Gnus compat functions
47082 * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
47083 (gnus-region-active-p, gnus-select-lowest-window)
47084 (gnus-summary-display-table, gnus-max-width-function): Remove
47087 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47089 Move non-compat Gnus functions to gnus-util.el
47091 * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
47092 (gnus-create-image, gnus-image-type-available-p): Move here
47093 from gnus-ems.el, since these aren't compat functions.
47095 2016-02-09 Paul Eggert <eggert@cs.ucla.edu>
47097 Omit valloc decl if redundant
47099 * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
47100 to pacify --enable-gcc-warnings.
47102 2016-02-09 Wolfgang Jenkner <wjenkner@inode.at>
47104 Restore the calloc family.
47106 * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
47107 They were lost in a4817d8 but calloc is still (marginally) used in
47108 code statically liked with emacs, so hybrid_calloc is needed.
47109 Also, in the non-hybrid case, we can't get rid of calloc anyway as
47110 other libraries liked with emacs may need it.
47111 * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
47113 2016-02-09 Lars Ingebrigtsen <larsi@gnus.org>
47115 Remove some Gnus compat functions
47117 * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
47118 (gnus-window-inside-pixel-edges, gnus-set-process-plist)
47119 (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
47121 2016-02-09 Paul Eggert <eggert@cs.ucla.edu>
47127 2016-02-09 Paul Eggert <eggert@cs.ucla.edu>
47129 Merge from origin/emacs-25
47131 4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
47132 cc419fb Don't inloop gnus-uu-mark-thread on the last thread
47133 51c77a2 Display non-ASCII group names better in prompts
47134 f93d669 Default to gpg2 instead of gpg
47136 2016-02-09 Paul Eggert <eggert@cs.ucla.edu>
47138 Merge from origin/emacs-25
47140 9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
47141 16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
47142 3db6adb * lisp/isearch.el (search-default-mode)
47143 4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
47144 c77ffc8 Use monitor's resolution for positioning tooltips
47145 49e5749 Fix file-notify-test on MS-Windows
47146 be1d874 Fix issues found by auditing w32notify code
47147 87ae218 Extend etags Ruby support for accessors
47148 aa35257 Update publicsuffix.txt.
47149 6816bff Ensure that Gnus dribble handling allows removing entries
47150 691feae Be consistent when using encoded strings in nnimap data
47151 3ed423b Display the decoded Gnus group name
47152 5428b5b Use completion-ignore-case instead of defining command
47154 2016-02-09 Paul Eggert <eggert@cs.ucla.edu>
47156 Merge from origin/emacs-25
47158 1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
47159 d333716 ; * etc/NEWS: Expand news entry for scss-mode
47160 c32c16f ; Better document changes in ls-lisp default behavior
47161 dc6eed2 Fix doc string of tls-program
47163 2016-02-09 Paul Eggert <eggert@cs.ucla.edu>
47165 Merge from origin/emacs-25
47167 2c117fc * etc/NEWS: Document new mpc.el features
47168 71a0496 * lisp/custom.el (defface): Revert indentation change. (Bug#22524)
47169 9dfece1 Correctly fontify C++ initializations which "look like" functions.
47170 4485222 Improve newsticker-treeview-selection-face
47171 4236944 Minor fix in tagging Ruby accessors by etags
47172 35fc77d Spelling fixes
47173 3dda110 Remove 'def X' from the example
47175 2016-02-09 Eli Zaretskii <eliz@gnu.org>
47177 Fix network-stream-tests on MS-Windows
47179 * test/lisp/net/network-stream-tests.el (make-local-unix-server):
47180 Skip if local sockets are not supported.
47182 2016-02-09 Michael Albinus <michael.albinus@gmx.de>
47184 * admin/notes/bug-triage: Fix bug priorities. Explain colors in debbugs-gnu.
47186 2016-02-09 Eli Zaretskii <eliz@gnu.org>
47188 Disable 'timer-list'
47190 * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
47193 2016-02-09 Paul Eggert <eggert@cs.ucla.edu>
47195 Avoid aligned_alloc static/extern collision
47197 * src/alloc.c (aligned_alloc): Define to private name when a
47198 static function, to avoid collision with lisp.h extern decl.
47199 Reported by John Yates in:
47200 https://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00439.html
47202 2016-02-08 David Edmondson <dme@dme.org>
47204 src/process.c Correctly convert AF_INET6 addresses
47206 * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
47207 converted to a list of 16 bit quantities by
47208 conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
47209 same scheme rather than expecting a (longer) list of 8 bit
47212 2016-02-08 Michal Nazarewicz <mina86@mina86.com>
47214 Make `message-beginning-of-line' aware of folded headers
47216 * lisp/gnus/message.el (message-beginning-of-header): New function which
47217 moves point to the beginning of a mail header. The function is aware of
47218 folded headers and with non-nil argument looks for the true beginning of
47219 a header while with nil argument moves to the indented text of header's
47221 (message-beginning-of-line): Function is now aware of folded headers and
47222 either moves point to the indention of a header or, in visual-line-mode,
47223 searches for the beginning of the header.
47225 2016-02-08 Michal Nazarewicz <mina86@mina86.com>
47227 Optimise ‘point in message header’ check
47229 * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
47230 regular expression matches with a single bound string match thus
47231 reducing amount of work the function is doing.
47233 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47235 Make the `R' command get the correct relative <img>s
47237 * lisp/net/eww.el (eww-readable): Preserve the base URL so
47238 that image expansions are fetched from the right place (bug#22605).
47240 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47242 Add a mode to list and cancel timers
47244 * doc/lispref/os.texi (Timers): Menton `timer-list'.
47246 * lisp/emacs-lisp/timer-list.el: New file.
47248 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47250 Add new commands to allow changing the size of images
47252 * lisp/image.el (image-increase-size, image-decrease-size):
47254 (image-change-size): New function.
47256 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47258 Allow the image scale to be a floating point number
47260 * src/image.c (compute_image_size): The scale can be a
47261 floating point number.
47263 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47267 * test/lisp/net/network-stream-tests.el
47268 (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
47270 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47272 Use gnutls-serv instead of openssh
47274 * test/lisp/net/network-stream-tests.el (make-tls-server): Use
47275 gnutls-serv instead of openssh.
47277 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47279 Skip TLS tests if we don't have openssl
47281 * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
47282 TLS tests if we don't have openssl and GnuTLS.
47284 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47288 * test/lisp/net/network-stream-tests.el
47289 (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
47291 2016-02-08 Lars Ingebrigtsen <larsi@gnus.org>
47293 Use gnutls-serv instead of openssh
47295 * test/lisp/net/network-stream-tests.el (make-tls-server): Use
47296 gnutls-serv instead of openssh.
47298 2016-02-08 Daniel Colascione <dancol@dancol.org>
47300 Performance improvements for vc-hg
47302 Teach vc-hg how to read some Mercurial internal data structures,
47303 allowing us to avoid the need to run hg status -A, which is very slow
47304 for large repositories. Fall back to running hg if anything looks
47305 funny. vc-hg now puts the _working directory_ revision in the
47306 modeline instead of the file revision, which greatly improves
47307 performance and which allows us to again skip running hg in the case
47308 that we have an active bookmark.
47310 * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
47311 (vc-hg-symbolic-revision-styles)
47312 (vc-hg-use-file-version-for-mode-line-version)
47313 (vc-hg-parse-hg-data-structures): New user preferences
47314 (vc-hg--active-bookmark-internal, vc-hg--run-log)
47315 (vc-hg--symbolic-revision, vc-hg-mode-line-string)
47316 (vc-hg--read-u8, vc-hg--read-u32-be)
47317 (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
47318 (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
47319 (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
47320 (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
47321 (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
47322 (vc-hg--ignore-patterns-valid-p)
47323 (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
47324 (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
47325 (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
47326 (vc-hg-state-fast): New functions.
47327 (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
47328 (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
47329 (vc-hg--dirstate-scan-cache): New internal variables.
47330 * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
47331 before updating modeline.
47333 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47335 Skip TLS tests if we don't have openssl
47337 * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
47338 TLS tests if we don't have openssl and GnuTLS.
47340 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47342 Automatically scale images up on high-density screens
47344 * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
47345 (Defining Images): Mention image-scaling-factor.
47347 * lisp/image.el (image-compute-scaling-factor): New function
47349 (create-image): Use it.
47350 (image-scaling-factor): New variable.
47352 * src/image.c (compute_image_size): Take :scale into account.
47354 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47356 Ensure progress when fetching from the queue
47358 * lisp/url/url-queue.el (url-queue-check-progress): Ensure
47359 that we have progress when fetching queued requests (bug#22576).
47361 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47363 Make mail-extract-address-components return the user name more
47365 * lisp/mail/mail-extr.el (mail-extract-address-components):
47366 Return the name even if it's the same as the mailbox name (if
47367 `mail-extr-ignore-single-names' isn't set) (bug#22594).
47369 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47371 Message no longer warns about unknown top level domains
47373 2016-02-07 Jarno Malmari <jarno@malmari.fi>
47375 Add tests for url-auth
47377 * test/lisp/url/url-auth-tests.el: New file.
47379 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47381 Add a TLS connection test
47383 * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
47384 a TLS connection test.
47386 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47388 Add more network tests
47390 * test/lisp/net/network-stream-tests.el (echo-server-nowait):
47393 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47397 * test/lisp/net/network-stream-tests.el: New suite of network tests.
47399 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47401 Add a TLS connection test
47403 * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
47404 a TLS connection test.
47406 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47408 Add more network tests
47410 * test/lisp/net/network-stream-tests.el (echo-server-nowait):
47413 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47417 * test/lisp/net/network-stream-tests.el: New suite of network tests.
47419 2016-02-07 Rasmus Pank Roulund <rasmus@gmx.us>
47421 Allow various Gnus and Message address variables to be functions
47423 * doc/misc/gnus.texi (To From Newsgroups):
47424 gnus-ignored-from-addresses can be a function.
47426 * doc/misc/message.texi (Wide Reply):
47427 message-dont-reply-to-names can be a function.
47429 * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
47430 message-alternative-emails can be a function.
47432 * lisp/gnus/gnus-notifications.el (gnus-notifications):
47433 message-alternative-emails can be a function (bug#22315).
47435 * lisp/gnus/gnus-sum.el
47436 (gnus-summary-from-or-to-or-newsgroups):
47437 gnus-ignored-from-addresses can be a function (bug#22315).
47439 2016-02-07 Lars Ingebrigtsen <larsi@gnus.org>
47441 Fix typo in Gnus regexp
47443 * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
47444 typo in last change to this regexp (bug#22592).
47446 2016-02-07 Paul Eggert <eggert@cs.ucla.edu>
47448 Port to FreeBSD x86
47450 Reported by Herbert J. Skuhra in:
47451 https://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00336.html
47452 * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
47453 since malloc always returns a multiple of 8 in FreeBSD.
47455 2016-02-07 Alan Mackenzie <acm@muc.de>
47457 On leaving CC Mode, clean up by removing character properties.
47459 * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
47460 all instances of the text properties/extents category, syntax-table,
47461 c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
47463 2016-02-06 Lars Ingebrigtsen <larsi@gnus.org>
47465 message-valid-fqdn-regexp no longer exists
47467 * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
47468 the no-longer-existing message-valid-fqdn-regexp variable.
47470 2016-02-06 Lars Ingebrigtsen <larsi@gnus.org>
47472 Remove message-valid-fqdn-regexp, since it changes too much now
47474 * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
47475 (message-bogus-recipient-p): Don't use it any more.
47476 (message-make-fqdn): Ditto. Suggested by Lars-Johan Liman.
47478 2016-02-06 Paul van der Walt <paul@denknerd.org>
47480 Match "Re :" as a "Re:" prefix
47482 * lisp/gnus/message.el (message-subject-re-regexp): Also match
47483 "Re :" as a "Re:" prefix (commonly used in France).
47485 2016-02-06 Adam Sjøgren <asjo@koldfront.dk>
47487 lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
47489 * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
47491 2016-02-06 David Edmondson <dme@dme.org>
47493 src/process.c Correctly convert AF_INET6 addresses
47495 * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
47496 converted to a list of 16 bit quantities by
47497 conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
47498 same scheme rather than expecting a (longer) list of 8 bit
47501 2016-02-05 Martin Jesper Low Madsen <martin@martinjlowm.dk>
47503 Search for host/port combinations in auth-source on OS X
47505 * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
47506 Search for all host/port (or protocol) combinations for a match in
47509 2016-02-05 Lars Ingebrigtsen <larsi@gnus.org>
47511 Remove nonsensical setting of gnus-newsgroup-unseen
47513 * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
47514 setting of gnus-newsgroup-unseen.
47516 2016-02-05 Lars Ingebrigtsen <larsi@gnus.org>
47518 Use underline on all terminals that support it
47520 * lisp/subr.el (read-multiple-choice): Use
47521 display-supports-face-attributes-p instead of
47522 display-graphic-p to determine whether we can use underlining.
47524 2016-02-05 Lars Ingebrigtsen <larsi@gnus.org>
47526 Make the nsm query say what it did after the user interaction
47528 * lisp/net/nsm.el (nsm-query): Issue a message about
47529 aborting/accepting messages (suggested by N. Jackson)
47532 2016-02-05 Paul Eggert <eggert@cs.ucla.edu>
47534 Omit XLI (init) == 0 optimization in make-vector
47536 * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
47537 == 0) case, as this optimization is probably not worth the hassle.
47538 Just for the record, the test for that case could have been
47539 (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
47540 assuming the typical platform with no padding bits and where
47541 conversion to int omits the most significant bits.
47543 2016-02-05 Paul Eggert <eggert@cs.ucla.edu>
47545 * autogen.sh: Port to dash (Bug#22556).
47547 2016-02-05 Michael Albinus <michael.albinus@gmx.de>
47549 Minor cleanup for Tramp "doas".
47551 * doc/misc/tramp.texi (Inline methods): Add "doas" method.
47553 * etc/NEWS: Add Tramp connection method "doas".
47555 * lisp/net/tramp-sh.el (tramp-methods) <doas>:
47556 Add `tramp-remote-shell-args'.
47558 2016-02-05 Xi Lu <lx@shellcodes.org>
47560 * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add. (Bug#22542)
47562 (tramp-default-user-alist): Add rule for "doas".
47563 (top): Completion function for "doas" is
47564 `tramp-completion-function-alist-su'.
47566 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47568 Restore the window configuration
47570 * lisp/net/nsm.el (nsm-query-user): Restore the window
47571 configuration (bug#22532).
47573 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47575 Use an X popup in read-multiple-choice if running from a mouse command
47577 * lisp/subr.el (read-multiple-choice): Use an X popup if
47578 called from a mouse action (bug#19368).
47580 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47582 Display cursor in echo area when prompting
47584 * lisp/subr.el (read-multiple-choice): Display the cursor in
47585 the echo area when prompting (bug#19368).
47587 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47589 Make NSM prompting clearer
47591 * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
47592 to prompt in a nicer way (bug#19368).
47594 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47596 Underline read-multiple-choice-face
47598 * lisp/faces.el (read-multiple-choice-face): Also underline
47601 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47603 Make url.el use async DNS
47605 * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
47607 * src/process.c (syms_of_process): Add a `dns' subfeature for
47608 make-network-process.
47610 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47612 Only do async DNS if requested with :nowait 'dns
47614 * doc/lispref/processes.texi (Network Processes): Mention the
47615 dns value of :nowait.
47617 * src/process.c (Fmake_network_process): Only do async DNS if
47620 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47622 Add sanity check for checking async DNS
47624 * src/process.c (check_for_dns): Disregard processes that have
47625 already been killed.
47627 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47629 Make the read-multiple-choice prompt a bit prettier
47631 * doc/lispref/commands.texi (Reading One Event): Mention
47632 read-multiple-choice-face.
47634 * lisp/subr.el (read-multiple-choice): Make the prompting a bit
47637 2016-02-04 Paul Eggert <eggert@cs.ucla.edu>
47639 Prefer memcpy and memset to doing it by hand
47641 * src/alloc.c (Fmake_vector):
47642 * src/ccl.c (setup_ccl_program):
47643 Use memset to clear array.
47644 * src/alloc.c (Fvector, Fmake_byte_code):
47645 * src/charset.c (Fdefine_charset_internal):
47646 Use memcpy to copy array.
47648 2016-02-04 Nicolas Petton <nicolas@petton.fr>
47650 Do not ignore redirections of 301, 302 and 307 status codes
47652 The current version of HTTP/1.1 (RFC 7231) no longer requires
47653 confirmation on 301, 302 or 307 status codes, therefore we do not have
47654 to ignore redirects for other requests than GET and HEAD.
47656 * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
47657 and 307 redirects for other requests than GET and HEAD.
47659 2016-02-04 Mark Oteiza <mvoteiza@udel.edu>
47661 * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
47663 2016-02-04 Paul Eggert <eggert@cs.ucla.edu>
47665 Simplify USE_ALIGNED_ALLOC
47667 * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
47668 in the emacs-25 changes. Omit no-longer-needed decl for aligned_alloc.
47670 2016-02-04 Eric Abrahamsen <eric@ericabrahamsen.net>
47672 Honor docstring of gnus-group-get-new-news
47674 * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
47675 is t, but non-numeric, unconditionally consider all groups to need
47678 2016-02-04 Lars Ingebrigtsen <larsi@gnus.org>
47680 New function read-multiple-choice
47682 * doc/lispref/commands.texi (Reading One Event): Document
47683 read-multiple-choice.
47685 * lisp/faces.el (read-multiple-choice-face): New face.
47687 * lisp/subr.el (read-multiple-choice): New function.
47689 2016-02-03 John Wiegley <johnw@newartisans.com>
47691 Merge from origin/emacs-25
47693 ee73997 Make erc work better when encountering unknown prefix chars
47694 b99141d Make erc completion case-insensitive again
47695 66c4620 Make complection in erc use consistent casing
47696 8c562b2 Make /QUIT in erc more robust
47697 d93d2c5 Make tracking faces in Emacs work more reliably
47698 af6ab7e Make shr not bug out on images on non-graphical displays
47699 3311f40 Fix bookmark display widths
47700 d90ab1e Fix typo in eww-make-unique-file-name
47701 7f81825 Make it possible to TAB to input fields
47702 a43a1dc Insert complete alt texts when images are disabled
47703 56ed4e1 Allow eww text fields to grow
47704 66b315c Make erc work when subword-mode is switched on
47705 255b68f Fix IMAP doc example
47706 91557f5 Quoting fixes in doc strings and diagnostics
47707 2c0dc9f Fix warning message in hack-local-variables
47708 504696d Etags: yet another improvement in Ruby tags
47709 8784ebf Fix x-popup-menu on TTYs without a mouse
47710 8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
47712 6191003 Use pop-to-buffer-same-window in eww
47713 fe321fd * autogen.sh: Revert all recent changes.
47714 74ebd4a * make-dist: Updates related to nt/.
47715 737193a * make-dist: Add modules/.
47716 3696bf2 * make-dist: Update for super-special file that can't live in etc/.
47717 a4278e2 Fix failure to compile ns-win.el in parallel builds
47718 860da4d Fix names of tags generated for Ruby accessors
47719 f6213ce Fix file-name recognition in 'etags'
47720 e42e662 Change Ruby file names and extensions recognized by 'etags'
47721 58bfb6a More improvements for Ruby support in 'etags'
47722 c04e911 Add --git-config option to autogen.sh
47723 5713466 Fix editing undo changes in eww fields
47724 51362d6 Allow the user more control of popping up the eww window
47725 ee0fbd8 Make eww-browse-url with new-window parameter work again
47726 9c3142d Clean up eww code slightly
47727 cb035f3 Don't insert nil faces in shr
47728 4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
47729 93f2153 Improve the custom type of some user options.
47730 9f60d7e Mark some risky calendar variables.
47731 1d07dcd Highlight two additional SCSS keywords
47732 ee8b466 Recommend enabling integrity-checking in git
47733 e639e10 Some corrections in Elisp manual
47734 d766ca8 Chatter when autogen.sh changes Git configuration
47735 3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
47736 43cb9f8 Omit unnecessary history from Lisp intro
47737 2fbd1da * etc/HISTORY: Add some more history, plus git tags.
47738 c90e1b4 Improve elisp “Security Considerations” doc
47739 cedd7ca autogen.sh now arranges for git to check hashes
47740 86ce76b ; Fix ChangeLog.2 commit ID.
47741 7b1d2b1 Fix (c & 040) typo in emergency escapes
47742 a8273da Fix display of overlay strings with 'display' and 'box' property
47743 fc48106 Fix imap-starttls-open
47744 cdecbed Fix return value of imap-starttls-open
47745 20c7e34 ; * etc/NEWS: Fix renamed command name
47746 98bdbdb Correct reference to DARWIN_OS preprocessor symbol
47747 b250d29 Spelling fix
47748 b920a0e Spelling fixes
47749 93b144b Pacify GCC on C library without glibc API
47751 2016-02-03 John Wiegley <johnw@newartisans.com>
47753 Merge from origin/emacs-25
47755 ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
47756 priority of non-free Chrome.
47757 0fac75f Improve the custom type of some user options.
47758 2df0e04 Highlight CSS variables with variable name face
47759 3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
47761 2a5233c Mark some user options that can get evalled as risky.
47762 39b166f Disable DebPrint in sys_read on MS-Windows
47763 9fd0189 ;Fix ChangeLog entry
47764 4bb7233 Fix typos in Introduction to Emacs Lisp manual
47766 2016-02-03 Mark Oteiza <mvoteiza@udel.edu>
47768 Add a new command to switch between erc buffers
47770 * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
47771 * etc/NEWS: Mention new command
47772 * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
47773 (eww-mode-map): Add menu item
47774 (eww-switch-to-buffer): New command
47776 2016-02-03 David Edmondson <dme@dme.org>
47778 Make erc work better when encountering unknown prefix chars
47780 * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
47781 instead of erroring out on unknown prefix chars (bug#22380).
47783 2016-02-03 Vasilij Schneidermann <v.schneidermann@gmail.com> (tiny change)
47785 Allow sending empty hidden values in eww
47787 * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
47788 values (bug#22388).
47790 2016-02-03 Andrew Hyatt <ahyatt@gmail.com>
47792 Remove packages obsoleted before Emacs 24.
47794 In accordance with the policy discussed in the emacs-devel list,
47795 packages that have been obsoleted for a full major release cycle are up
47798 This removes almost all packages that are now eligible for deletion,
47799 with the exception of "cl-compat", which seems it is likely to still be
47800 used, and "optional", which offers some functionality that doesn't have
47803 2016-02-03 Paul Eggert <eggert@cs.ucla.edu>
47805 Mention context when resume from emergency escape
47807 That way, if the user has been doing something else for a while,
47808 they are reminded of the situation when restarting Emacs,
47809 and are more likely to understand the two questions.
47810 * doc/emacs/trouble.texi (Emergency Escape): Document this.
47811 * src/keyboard.c (handle_interrupt): Implement this.
47813 2016-02-03 Paul Eggert <eggert@cs.ucla.edu>
47815 Port aligned_alloc decl to Cygwin.
47817 Problem reported by Ken Brown (Bug#22522#38).
47818 * configure.ac (aligned_alloc): Check for decl too.
47819 * src/lisp.h (aligned_alloc): Declare if not already declared.
47821 2016-02-02 Paul Eggert <eggert@cs.ucla.edu>
47823 autogen.sh now configures git only on request
47825 * autogen.sh (do_autoconf, do_git): New vars.
47826 Support new arguments --help, all, autoconf, git.
47827 By default, just do autoconf-related configuration, not git.
47828 Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
47829 If GNU cp is available, use it to backup .git/config before
47830 changing it. When configuring git, chatter about what is being
47831 done, and configure git to check hashes. Avoid some duplicate
47832 file name specification when creating git hooks.
47834 * GNUmakefile (ALL_IF_GIT): New macro.
47835 (configure): Use it.
47836 * INSTALL.REPO: Suggest './autogen.sh all'.
47838 2016-02-02 Lars Ingebrigtsen <larsi@gnus.org>
47840 Doc fixes and refactorings based on comments from Eli Zaretskii
47842 * doc/lispref/processes.texi (Network Processes): Clarify the
47843 meaning of :tls-parameters.
47845 * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
47847 * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
47849 (gnutls-negotiate): Use it.
47850 (open-gnutls-stream): Ditto.
47852 * src/eval.c (vformat_string): Refactor out the printing bits
47856 * src/gnutls.c (boot_error): Mark failed processes with the
47857 real error message.
47859 * src/lisp.h: Declare vformat_string.
47861 2016-02-02 Paul Eggert <eggert@cs.ucla.edu>
47863 Build with C11 if available
47865 * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
47866 * m4/std-gnu11.m4: New file, from gnulib.
47867 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
47869 2016-02-02 Paul Eggert <eggert@cs.ucla.edu>
47873 * doc/misc/texinfo.tex: Copy from gnulib.
47875 2016-02-02 Glenn Morris <rgm@gnu.org>
47877 * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
47880 2016-02-02 Paul Eggert <eggert@cs.ucla.edu>
47882 Port better to platforms lacking aligned_alloc
47884 Problem reported by Ken Brown (Bug#22522).
47885 * src/lisp.h (hybrid_aligned_alloc)
47886 [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
47888 2016-02-02 Paul Eggert <eggert@cs.ucla.edu>
47890 Port malloc.h hygiene fix to LTO
47892 * src/alloc.c (__malloc_initialize_hook):
47893 Make it externally visible (Bug#22522).
47895 2016-02-01 Lars Ingebrigtsen <larsi@gnus.org>
47897 Build fix for --enable-check-lisp-object-type
47899 * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
47902 2016-02-01 Glenn Morris <rgm@gnu.org>
47904 Make find-change-log prefer a VCS root, if no ChangeLog exists.
47906 * lisp/vc/add-log.el (change-log-directory-files): New option.
47907 (find-change-log): Respect change-log-directory-files.
47908 * doc/emacs/maintaining.texi (Change Log Commands):
47909 Mention change-log-directory-files.
47911 2016-02-01 Lars Ingebrigtsen <larsi@gnus.org>
47913 Boot parameter check fix
47915 * src/process.c (send_process): Fix test for boot parameters noted
47918 2016-02-01 Paul Eggert <eggert@cs.ucla.edu>
47920 Double static heap size.
47922 * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
47923 small on FreeBSD (Bug#22086).
47925 2016-02-01 Michael Albinus <michael.albinus@gmx.de>
47929 * lisp/net/tramp.el (tramp-file-name-handler):
47930 * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
47931 Use `tramp-drop-volume-letter'. (Bug#20821)
47933 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47937 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47939 Return the correct server port number
47941 * src/process.c (connect_network_socket): Return the correct
47942 server port number.
47944 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47946 Fix autoconf test for getaddrinfo_a
47948 * configure.ac: Make the test for getaddrinfo_a work.
47950 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47952 Better async error reporting
47954 * src/process.c (connect_network_socket): Mark failed processes
47955 with a better error message.
47956 (check_for_dns): Ditto.
47958 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47960 Clarify :tls-parameters.
47962 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47964 Always boot TLS if given parameters
47966 * src/process.c (connect_network_socket): If we have the TLS
47967 parameters, then boot the socket.
47969 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47971 Add documentation for :tls-parameters
47973 * doc/lispref/processes.texi (Network Processes): Mention
47976 * src/process.c (Fmake_network_process): Document the
47977 :tls-parameters parameter.
47979 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47981 Build fix for glibc systems.
47983 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
47985 Make network connections work again on non-glibc systems
47987 * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
47988 keywords in directly so that they can be used when doing
47989 synchronous DNS on non-synchronous connections.
47991 * lisp/net/network-stream.el (open-network-stream): Allow
47992 passing in the TLS parameters directly.
47994 * src/process.c (conv_numerical_to_lisp): New function to convert
47995 numerical addresses to Lisp.
47996 (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
47997 paths so that they work again.
47998 (syms_of_process): Build fix for non-glibc systems.
48000 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
48004 * src/process.c (Fmake_network_process): Build fix for systems
48005 without local sockets.
48007 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
48009 Use XCAR/XCDR instead of Fcar etc
48011 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
48013 Fix GC problem in async TLS connection
48015 * src/process.h: All Lisp_Object slots have to come first,
48016 otherwise they won't be protected from gc.
48018 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
48020 Further TLS async work
48022 * src/gnutls.c (boot_error): New function to either signal an
48023 error or return an error code.
48024 (Fgnutls_boot): Don't signal errors when running asynchronously.
48026 * src/process.h (pset_status): Move here from process.c to be
48027 able to use from gnutls.c.
48029 * src/process.c (connect_network_socket): Do the TLS boot here
48030 when running asynchronously.
48031 (wait_reading_process_output): Rework the dns_processes
48032 handling for more safety.
48034 2016-01-31 Lars Ingebrigtsen <larsi@gnus.org>
48038 * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
48040 2016-01-31 Dave Barker <kzar@kzar.co.uk>
48042 Add ability to give rcirc servers an alias name
48044 * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
48045 customization option.
48046 (rcirc, rcirc-connect): Take server alias into account.
48048 2016-01-31 Paul Eggert <eggert@cs.ucla.edu>
48050 Port new hybrid malloc to FreeBSD
48052 Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
48053 * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
48054 (__morecore) [HYBRID_MALLOC]: Define in this case too.
48056 2016-01-31 Wolfgang Jenkner <wjenkner@inode.at>
48058 * configure.ac: Stop using mmap for buffers for FreeBSD.
48060 2016-01-31 Michael Albinus <michael.albinus@gmx.de>
48062 Merge changes from Tramp repository
48064 * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
48065 No EXTRA_OPTS needed.
48067 * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
48068 branch, especially for @trampfn{}.
48069 (Top): Move @ifnottex down.
48070 (History): XEmacs support has been removed.
48071 (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
48072 (Auto-save and Backup): Use both syntax versions.
48073 (File name Syntax): Remark on IPv6 adresses is valid for
48074 unified syntax only.
48076 * doc/misc/trampver.texi: Do not set emacsgvfs flag.
48078 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48082 2016-01-30 Glenn Morris <rgm@gnu.org>
48084 * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
48086 2016-01-30 Matthew Carter <m@ahungry.com>
48088 Quote table names for postgres listings (sql-mode)
48090 * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
48091 unquoted table names to the completion list.
48093 2016-01-30 Glenn Morris <rgm@gnu.org>
48095 Change Smerge "Mine" and "Other" for "Upper" and "Lower. (Bug#20878)
48097 * lisp/vc/smerge-mode.el (smerge-diff-switches)
48098 (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
48099 (smerge-upper, smerge-upper-face, smerge-keep-upper)
48100 (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
48101 smerge-keep-mine, smerge-diff-base-mine. Update all uses.
48102 (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
48103 (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
48104 (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
48105 smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
48107 (smerge-basic-map): Add "l" and "u" bindings.
48108 (smerge-mode-menu): Update menu bindings for renaming.
48109 (smerge-font-lock-keywords): Update face names.
48110 (smerge-match-names): Update names.
48111 (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
48112 (smerge-match-conflict, smerge-ediff): Rename local variables.
48113 (smerge-makeup-conflict): Relabel markers.
48114 (smerge-parsep-re): Use renamed variables.
48116 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48118 Port recent my_edata change to MS-Windows
48120 * src/lastfile.c (my_edata): Also define if WINDOWSNT.
48122 2016-01-30 Lars Ingebrigtsen <larsi@gnus.org>
48124 Rework the mechanisms for async GnuTLS connections
48126 * lisp/net/gnutls.el (open-gnutls-stream): Compute the
48127 gnutls-boot parameters and pass them to the process object.
48128 (gnutls-negotiate): New parameter :return-keywords that won't
48129 connect to anything, just compute the keywords.
48131 * lisp/url/url-http.el (url-http): Revert async TLS sentinel
48132 hack, which is no longer necessary.
48134 * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
48135 gnutls-mark-process.
48137 * src/process.c (connect_network_socket): If we're connecting to
48138 an asynchronous TLS socket, complete the GnuTLS boot sequence here.
48140 * src/process.h: New parameter gnutls_async_parameters.
48142 2016-01-30 Lars Ingebrigtsen <larsi@gnus.org>
48144 Fix segfault from double free
48146 * src/process.c (check_for_dns): Protect against double free
48149 2016-01-30 Lars Ingebrigtsen <larsi@gnus.org>
48153 2016-01-30 Lars Ingebrigtsen <larsi@gnus.org>
48155 Implement asynchronous GnuTLS connections
48157 * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
48158 the nowait parameter.
48160 * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
48161 connections with the new nowait parameter.
48163 * lisp/net/network-stream.el (network-stream-open-tls): Pass
48164 on :nowait to open-gnutls-stream.
48166 * lisp/url/url-http.el (url-http): Don't overwrite the
48167 sentinel created by open-gnutls-stream.
48169 * src/gnutls.c (Fgnutls_mark_process): New function.
48171 * src/process.c (send_process): Don't write to GnuTLS sockets that
48172 haven't been initialised yed.
48174 * src/process.h: New slot gnutls_wait_p.
48176 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48178 Tell Automake the new lib/Makefile.am is OK
48180 * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
48182 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48184 Make it easy to override preferred-branch test
48186 * Makefile.in (preferred-branch-is-current):
48187 Rename from emacs-25-branch-is-current. All uses changed.
48188 (PREFERRED_BRANCH): New macro.
48190 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48192 Shrink static heap a bit
48194 * src/sheap.h: Include lisp.h, for Lisp_Object.
48195 (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
48196 Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
48197 conservative than the old value.
48200 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48202 Fix extern symbols defined and not used
48204 * src/alloc.c: Always include <signal.h>.
48205 (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
48206 Do not define; unused.
48207 * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
48208 * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
48209 to avoid collision with glibc. Now static. All uses changed.
48210 * src/lastfile.c (my_edata): Define only if
48211 ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
48212 WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
48215 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48217 Build lib/e-*.o only on platforms that need it
48219 * configure.ac (hybrid malloc): Simplify configuration.
48220 (SHEAP_OBJ): Remove; no longer needed.
48221 (HYBRID_MALLOC): New var. Subst it.
48222 (HYBRID_MALLOC_LIB): New Automake conditional.
48223 * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
48225 (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
48226 (MOSTLYCLEANFILES): Add libegnu.a.
48227 * src/Makefile.in (SHEAP_OBJ): Remove.
48228 (HYBRID_MALLOC): New macro.
48229 (base_obj): Use it to conditionally add sheap.o.
48230 (LIBEGNU_ARCHIVE): New macro.
48231 ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
48232 All uses of the latter replaced by the former.
48233 * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
48234 Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
48235 * src/gmalloc.c: Update comment.
48236 * src/lisp.h (aligned_alloc)
48237 [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
48241 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48243 Include <malloc.h> when advisable
48245 This should help insulate us better from future glibc changes.
48246 It is good hygiene to include .h files for APIs that Emacs uses.
48247 Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
48248 * configure.ac: Check for malloc.h.
48249 * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
48250 not on DOUG_LEA_MALLOC.
48251 * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
48252 Remove decl (now in lisp.h).
48253 * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
48254 [emacs]: Include lisp.h.
48255 [HAVE_MALLOC_H]: Include <malloc.h>.
48256 (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
48257 (__after_morecore_hook, __malloc_initialize_hook, __morecore)
48258 (__default_morecore):
48259 [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
48260 (calloc): Make it clear that the macro should not be used.
48261 Remove unused decl.
48262 (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
48263 (__morecore, __default_morecore, __after_morecore_hook)
48264 (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
48265 (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
48266 Remove later decls.
48267 (gmalloc_hook, gfree_hook, grealloc_hook):
48268 Rename from __malloc_hook, __free_hook, __realloc_hook to
48269 avoid type collision with glibc <malloc.h>. All uses changed.
48271 (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
48273 (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
48274 (__malloc_initialize_hook, __after_morecore_hook):
48275 Declare with types compatible with glibc.
48276 (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
48277 Remove. All uses removed.
48278 * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
48279 * src/ralloc.c, src/vm-limit.c:
48280 Simplify includes and include <malloc.h> if available.
48282 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48284 * src/alloc.c: Include "sheap.h".
48286 (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
48287 Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
48288 * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
48289 Declare unconditionally.
48290 * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
48291 (unexec): Don’t set or clear bss_sbrk_did_unexec;
48292 the caller now does this.
48295 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48297 Pacify --enable-gcc-warnings when HYBRID_MALLOC
48299 * src/buffer.c (init_buffer):
48300 * src/emacs.c (main):
48301 * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
48302 Use emacs_get_current_dir_name, not get_current_dir_name.
48303 * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
48304 (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
48305 * src/emacs.c: Include "sheap.h".
48306 (report_sheap_usage): Remove decl.
48307 (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
48308 Don't assume ptrdiff_t can be printed as int.
48309 * src/gmalloc.c [HYBRID_MALLOC]:
48310 Include "sheap.h" rather than declaring its contents by hand.
48311 (get_current_dir_name, gget_current_dir_name)
48312 (hybrid_get_current_dir_name): Remove.
48313 (emacs_abort): Remove duplicate decl.
48314 (aligned_alloc): Undef, like malloc etc.
48315 (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
48316 Make it a bit more efficient.
48317 (malloc_find_object_address): Remove unused decl.
48318 (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
48319 (mstats, memory_warnings): Declare only if GC_MCHECK.
48320 * src/lisp.h (emacs_get_current_dir_name):
48321 New decl, replacing get_current_dir_name.
48322 * src/sheap.c: Include sheap.h first.
48323 (STATIC_HEAP_SIZE): Remove; now in sheap.h.
48324 (debug_sheap): Now static.
48325 (bss_sbrk_buffer_end): Remove; no longer used.
48326 (bss_sbrk_ptr): Now static and private.
48327 (bss_sbrk_did_unexec): Now bool.
48328 (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
48329 (bss_sbrk): Don't treat request_size 0 as special, since the code
48330 works without this being a special case.
48331 Avoid overflow if request size exceeds INT_MAX.
48332 (report_sheap_usage): Remove; now done in emacs.c.
48333 * src/sheap.h: New file.
48334 * src/sysdep.c (get_current_dir_name): Remove macro.
48336 (emacs_get_current_dir_name): Rename function from
48337 get_current_dir_name. Handle HYBRID_MALLOC here;
48341 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48343 Report static heap usage on non-Cygwin, too
48345 * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
48346 * src/unexcw.c (unexec): ... instead of here, since sheap can be used
48347 on platforms other than Cygwin (Bug#22086).
48349 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48351 Pacify GCC on extern decls
48353 * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
48354 to pacify recent GCC (Bug#22086).
48356 2016-01-30 Wolfgang Jenkner <wjenkner@inode.at>
48358 Add musl patch to support HYBRID_MALLOC on elf systems
48360 * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
48361 (__default_morecore): Here, in particular.
48362 * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
48363 New variable SHEAP_OBJ.
48364 * src/Makefile.in: Use it.
48367 2016-01-30 Rich Felker <dalias@libc.org> (tiny change)
48369 unexelf.c hook to support HYBRID_MALLOC on ELF
48371 * src/unexelf.c (unexec) [HYBRID_MALLOC]:
48372 Define bss_sbrk_did_unexec (Bug#22086).
48374 2016-01-30 Wolfgang Jenkner <wjenkner@inode.at>
48376 Link temacs with gnulib compiled with -Demacs
48378 This is done to support HYBRID_MALLOC, since some static variables
48379 (e.g., last_environ in putenv.c) hold pointers to memory malloced
48380 before dumping (Bug#22086).
48381 * lib/Makefile.am: Add incantation to install libegnu.a.
48382 * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
48383 (temacs$(EXEEXT)): Use it.
48385 2016-01-30 Wolfgang Jenkner <wjenkner@inode.at>
48387 Internal linkage for gmalloc etc. if HYBRID_MALLOC
48389 This avoids clashes with symbols if the after-dump malloc is
48390 derived from Doug Lea's implementation (Bug#22086).
48392 * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
48393 Move declarations up. For HYBRID_MALLOC, turn all `extern'
48394 declarations below to `static' ones.
48395 (aligned_alloc): Declare for !MSDOS as well.
48396 (heapsize, _fraghead): Move resp. copy declaration downwards.
48397 For HYBRID_MALLOC, conditionalize out the other definitions,
48398 since the previous `static' declarations double as tentative
48399 definitions, anyway.
48400 (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
48401 (__realloc_hook, __memalign_hook): Conditionalize out.
48402 (cfree, memalign, valloc): Ditto.
48404 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48412 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48414 Merge from origin/emacs-25
48416 3f481ad Rename xref-query-replace to xref-query-replace-in-results
48417 62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
48418 2111e0e Comment out next-error-function integration in xref
48419 4e11ad3 Correct a use of "which" in intro.texi
48420 a1865bc Distinguish the two meanings of Java's keyword "default". Fixes bug #22358.
48421 76045f7 Don't operate on menu bar of nonexistent frame
48422 c32f3bc Unbreak the GNUstep build.
48424 2016-01-30 Paul Eggert <eggert@cs.ucla.edu>
48430 2016-01-30 Andreas Schwab <schwab@linux-m68k.org>
48432 Re-enable checks in member, memql, delete to complain about non-lists
48434 * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
48436 2016-01-30 Lars Ingebrigtsen <larsi@gnus.org>
48438 Clean up compilation warnings
48440 2016-01-30 Lars Ingebrigtsen <larsi@gnus.org>
48442 Make async resolution more efficient
48444 * src/process.c (wait_reading_process_output): Use a list of
48445 process objects instead of looping through an array to check
48446 for name resolution. This should be much faster.
48448 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48450 More async memory leaks
48452 * src/process.c (check_for_dns): Free even more allocated async stuff.
48454 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48456 Compilation for for systems with getaddrinfo_a
48458 * src/process.c (Fmake_network_process): Make stuff work again on
48459 systems with getaddrinfo_a.
48461 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48463 Save correct server data
48465 * src/process.c (connect_network_socket): Save the correct contact
48468 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48470 Compilation for for non-GNU systems
48472 * src/process.c (Fmake_network_process): Make compilation work
48473 again on hosts that don't have getaddrinfo_a.
48475 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48477 Avoid memory leaks in async DNS
48479 * src/process.c (check_for_dns): Free async DNS resources after
48482 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48484 * src/process.c (check_for_dns): Free the result data.
48486 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48488 Fix server connections
48490 * src/process.c (Fmake_network_process): Make creating server
48491 listening ports work again.
48493 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48495 Further make_network_process clean up
48497 * src/process.c (Fmake_network_process): Remove setting of unused
48500 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48502 Clean up GETADDRINFO usage in make-network-process
48504 * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
48507 2016-01-29 Lars Ingebrigtsen <larsi@gnus.org>
48509 Implement asynchronous name resolution
48511 * src/process.c (Fmake_network_process): Do asynchronous DNS
48512 lookups if we have getaddrinfo_a and the user requests :nowait.
48513 (check_for_dns): New function.
48514 (wait_reading_process_output): Check for pending name
48515 resolution in the idle loop.
48517 * src/process.h: Add structure for async DNS.
48519 2016-01-28 Glenn Morris <rgm@gnu.org>
48521 Remove some useless-use-of eval.
48523 * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
48524 * lisp/gnus/nnrss.el (xml): Simply require it.
48525 (xml-rpc-method-call): Use declare-function.
48527 2016-01-28 Lars Ingebrigtsen <larsi@gnus.org>
48531 * src/process.c (connect_network_socket): Free previous sockaddr
48532 before allocating a new one.
48534 2016-01-28 Lars Ingebrigtsen <larsi@gnus.org>
48536 Return IP addresses in the correct order
48538 * src/process.c (Fmake_network_process): Return the IP addresses
48539 in the same order as getaddrinfo does.
48540 (set_network_socket_coding_system): Clean up the code slightly.
48542 2016-01-28 Lars Ingebrigtsen <larsi@gnus.org>
48544 Add checks for getaddrinfo_a
48546 * configure.ac: Detect getaddrinfo_a.
48548 2016-01-28 Lars Ingebrigtsen <larsi@gnus.org>
48550 Refactor make_network_process
48552 * src/process.c (set_network_socket_coding_system)
48553 (connect_network_socket): Refactor out of
48554 make_network_process to allow calling connect_network_socket
48556 (Fmake_network_process): Do nothing but parsing the parameters
48557 and name resolution, leaving the connection to
48558 connect_network_socket.
48560 2016-01-28 Glenn Morris <rgm@gnu.org>
48562 * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
48563 Warn if defcustom has no type. (Bug#16276)
48565 2016-01-27 Glenn Morris <rgm@gnu.org>
48567 * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
48569 2016-01-25 Stefan Monnier <monnier@iro.umontreal.ca>
48571 (rng-c-fix-escaped-newlines): Use subst-char-in-string
48573 * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
48574 Use subst-char-in-string.
48576 2016-01-25 Stefan Monnier <monnier@iro.umontreal.ca>
48578 * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
48580 (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
48581 (sgml-calculate-indent): Use it.
48583 2016-01-25 Stefan Monnier <monnier@iro.umontreal.ca>
48585 * lisp/org: Fix some compiler warnings
48587 * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
48588 (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
48589 (*this*): Declare as dyn-bound.
48590 (org-babel-expand-src-block, org-babel-load-in-session)
48591 (org-babel-switch-to-session-with-code, org-babel-get-rownames):
48593 (org-babel-combine-header-arg-lists): Remove unused var `args'.
48594 (org-babel-find-named-block): Remove unused var `msg'.
48596 * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
48597 Declare as dyn-bound.
48598 (org-edit-src-code): Remove unused var `lfmt'.
48599 (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
48601 2016-01-25 Stefan Monnier <monnier@iro.umontreal.ca>
48603 * lisp/font-lock.el: Use #' to quote function symbols
48605 2016-01-23 Michael Albinus <michael.albinus@gmx.de>
48607 Improve user name completion in Tramp
48609 * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
48610 Call also "getent passwd" or "getent group", if possible.
48611 (tramp-parse-putty): Cache the result.
48613 2016-01-22 Michael Albinus <michael.albinus@gmx.de>
48615 * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
48617 2016-01-20 Glenn Morris <rgm@gnu.org>
48619 Remove handling of non-string time-stamp formats, obsolete for 20 years.
48621 * lisp/time-stamp.el (time-stamp-format): Doc fix.
48622 (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
48623 (time-stamp-string): Ignore non-string formats.
48625 2016-01-20 Eli Zaretskii <eliz@gnu.org>
48627 Anoter fix for problematic merge from emacs-25
48629 * src/w32fns.c (globals_of_w32fns): Move initialization of
48630 resetstkoflw to a non-Cygwin part.
48632 2016-01-20 Michael Albinus <michael.albinus@gmx.de>
48634 * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
48636 2016-01-20 Eli Zaretskii <eliz@gnu.org>
48638 Fix MS-Windows build broken by a botched merge from emacs-25
48640 * src/w32.c (w32_crypto_hprov): New static variable.
48641 (globals_of_w32): Initialize w32_crypto_hprov.
48642 (w32_init_crypt_random, w32_init_random): New functions.
48643 Include wincrypt.h.
48644 * src/w32.h (w32_init_random): Add prototype.
48646 2016-01-19 Vincent Belaïche <vincentb1@users.sourceforge.net>
48648 Correct a whole bunch of bugs coming with renamed cell relocation.
48650 * lisp/ses.el (ses-localvars): rename variable
48651 `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
48652 and adjust the comment about it.
48653 (ses-plist-delq): new defun.
48654 (ses--ses-buffer-list): new defvar.
48655 (ses--unbind-cell-name): new defun.
48656 (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
48657 (ses-relocate-formula): Undo change of
48658 2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
48659 preventing relocation for named cell --- now doing this is delegated
48660 to function `ses-relocate-symbol'.
48661 (ses-relocate-range): In docstring, undo change of
48662 2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
48663 lower case as it is not a variable.
48664 (ses-relocate-all): Cell name relocation : 1) check that cell is a
48665 renamed cell by testing `ses-cell' property to :ses-named, rather than
48666 comparing name to corresponding standard name. Set rowcol of renamed
48667 cell into the hashmap --- `ses-cell' property must not be used for
48668 that as the same name can be used for different locations in different
48669 SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
48670 `local-variable-p' to check if cell name is already in use in this
48671 sheet or needs initialisation.
48672 (ses-relocate-all): Cell value relocation : 1) like for name
48673 relocation use the `ses-cell' property rather than comparing actual
48674 name to corresponding standard name. 2) Correct bug introduced in
48675 2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
48676 made the other way round than the intention --- ie value relocation
48677 was disabled for standard cell, not for renamed cell as was the
48679 (ses-relocate-all): Add loop for unbinding deleted renamed cells
48681 (ses-killbuffer-hook): new defun.
48682 (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
48683 kill buffer hook, plus pushing current buffer if new in list.
48684 (ses-delete-row, ses-delete-column): Collect deleted renamed cells
48685 into `ses--in-killing-named-cell-list'.
48686 (ses-rename-cell): Remove update of variable
48687 `ses--renamed-cell-symb-list', this variable is renamed to
48688 `ses--in-killing-named-cell-list', and its setting is done in
48689 functions `ses-delete-row' and , `ses-delete-column' now.
48690 (ses-rename-cell): Change correction of
48691 2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
48692 computation of the range over which `cursor-intangible' property was
48693 to be updated. This correction was ok for non spilling cells, but not
48694 for cells spilling over following blank cells. Simply use
48695 `next-single-property-change' rather than computing the end column
48696 from column widths.
48698 2016-01-18 John Wiegley <johnw@newartisans.com>
48702 2016-01-18 John Wiegley <johnw@newartisans.com>
48704 Merge from origin/emacs-25
48706 3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
48707 6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
48708 2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
48709 71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
48710 f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
48711 86e4513 Fix incompatbilities with MS-Windows 2000 and older
48712 4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
48713 15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
48714 39afa42 Fix tests for active region in hideif.el
48715 05df666 Fix interactive specs in some hideif.el commands
48717 2016-01-18 John Wiegley <johnw@newartisans.com>
48721 2016-01-18 Paul Eggert <eggert@cs.ucla.edu>
48723 Avoid stdio in SIGINT handler
48725 * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
48726 * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
48727 * lib/ignore-value.h: New file, from gnulib.
48728 * src/keyboard.c: Include it.
48729 (write_stdout, read_stdin): New functions.
48730 (handle_interrupt): Use them instead of printf and getchar,
48731 and avoid fflush when handling signals.
48733 2016-01-18 Jens Lechtenboerger <jens.lechtenboerger@fsfe.org>
48735 Refactor mml-smime.el, mml1991.el, mml2015.el
48737 (Maybe this is the last merge from Gnus git to Emacs git)
48739 Cf. discussion on ding mailing list, messages in
48740 <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
48741 Common code from the three files mml-smime.el, mml1991.el, and
48742 mml2015.el is moved to mml-sec.el. Auxiliary functions are added
48745 The code is supported by test cases with necessary test keys.
48747 Documentation in message.texi is updated.
48749 * doc/misc/message.texi (Security, Using S/MIME):
48750 Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
48751 (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
48752 (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
48754 * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
48757 * lisp/gnus/mml-sec.el: Require gnus-util and epg.
48758 (epa--select-keys): Autoload.
48759 (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
48760 (mml-secure-openpgp-signers): New user option;
48761 make mml1991-signers and mml2015-signers obsolete aliases to it.
48762 (mml-secure-smime-signers): New user option;
48763 make mml-smime-signers an obsolete alias to it.
48764 (mml-secure-openpgp-encrypt-to-self): New user option;
48765 make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
48767 (mml-secure-smime-encrypt-to-self): New user option;
48768 make mml-smime-encrypt-to-self an obsolete alias to it.
48769 (mml-secure-openpgp-sign-with-sender): New user option;
48770 make mml2015-sign-with-sender an obsolete alias to it.
48771 (mml-secure-smime-sign-with-sender): New user option;
48772 make mml-smime-sign-with-sender an obsolete alias to it.
48773 (mml-secure-openpgp-always-trust): New user option;
48774 make mml2015-always-trust an obsolete alias to it.
48775 (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
48777 (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
48778 (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
48779 (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
48780 (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
48781 (mml-secure-passphrase-callback, mml-secure-check-user-id)
48782 (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
48783 (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
48784 (mml-secure-fingerprint, mml-secure-filter-keys)
48785 (mml-secure-normalize-cust-name, mml-secure-select-keys)
48786 (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
48787 (mml-secure-self-recipients, mml-secure-recipients)
48788 (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
48790 * lisp/gnus/mml-smime.el: Require epg;
48791 refactor declaration and autoloading of epg functions.
48792 (mml-smime-use): Doc fix.
48793 (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
48795 (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
48796 Use format instead of gnus-format-message.
48797 (mml-smime-epg-secret-key-id-list): Remove variable.
48798 (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
48799 (mml-smime-epg-find-usable-secret-key): Remove functions.
48800 (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
48802 * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
48803 (mml1991-passphrase-cache-expiry): Obsolete.
48804 (mml1991-epg-secret-key-id-list): Remove variable.
48805 (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
48806 (mml1991-epg-find-usable-secret-key): Remove functions.
48807 (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
48809 * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
48810 (mml2015-passphrase-cache-expiry): Obsolete.
48811 (mml2015-epg-secret-key-id-list): Remove variable.
48812 (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
48813 (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
48814 (mml2015-epg-find-usable-secret-key): Remove functions.
48815 (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
48816 (mml2015-epg-encrypt): Refactor.
48818 2016-01-18 Paul Eggert <eggert@cs.ucla.edu>
48822 This mostly just updates copyright dates of gnulib files.
48823 It also updates to the latest version of texinfo.tex.
48825 2016-01-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
48827 Move variables to inner loop, preparing for Mac port merge
48829 * src/keyboard.c (command_loop_1): Move variables `cmd',
48830 `keybuf', and `i' to inner loop.
48832 2016-01-17 Bill Wohler <wohler@newt.com>
48834 * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
48836 2016-01-16 Stefan Monnier <monnier@iro.umontreal.ca>
48838 * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
48841 * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
48843 2016-01-16 Stefan Monnier <monnier@iro.umontreal.ca>
48845 lisp/nxml: Use syntax-tables for comments
48847 * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
48848 (nxml-mode): Set syntax-ppss-table.
48849 Use sgml-syntax-propertize-function for syntax-propertize-function.
48850 Let font-lock highlight strings and comments.
48851 (nxml-degrade): Don't touch "nxml-inside" property any more.
48852 (nxml-after-change, nxml-after-change1): Remove functions.
48853 (comment): Don't set fontify rule any more.
48854 (nxml-fontify-attribute): Don't highlight the value any more.
48855 (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
48856 (nxml-comment-delimiter, nxml-comment-content): Remove faces.
48858 * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
48859 (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
48860 (nxml-clear-inside, nxml-set-inside): Remove.
48861 (nxml-scan-after-change): Remove function.
48862 (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
48863 (nxml-ensure-scan-up-to-date): Use syntax-propertize.
48864 (nxml-move-outside-backwards):
48865 * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
48866 nxml-inside-start behavior.
48868 * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
48869 (nxml-debug-clear-inside): Remove macros.
48871 * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
48872 (xmltok-scan-after-comment-open): Simplify.
48874 2016-01-16 Stefan Monnier <monnier@iro.umontreal.ca>
48876 * lisp/progmodes/elisp-mode.el
48877 (elisp--font-lock-flush-elisp-buffers): Fix comment
48879 2016-01-16 Stefan Monnier <monnier@iro.umontreal.ca>
48881 * lisp/nxml: Use standard completion; it also works for company-mode
48883 * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
48884 (nxml-completion-at-point-function): Remove.
48885 (nxml-mode): Don't set completion-at-point-functions.
48886 * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
48887 (rng-completion-at-point): Rename from rng-complete and mark it
48888 non-interactive. It is now to be used as completion-at-point-function.
48889 (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
48890 (rng-complete-attribute-value): Don't perform completion, but return
48891 completion data instead.
48892 (rng-complete-qname-function, rng-generate-qname-list): Add a few
48893 arguments, previously passed via dynamic coping.
48894 (rng-strings-to-completion-table): Rename from
48895 rng-strings-to-completion-alist. Don't return an alist. Don't both
48896 sorting and uniquifying.
48898 * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
48899 (rng-completion-exact-p, rng-quote-string): Delete functions.
48901 * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
48902 (rng-missing-attributes-message, rng-missing-element-message)
48903 (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
48904 calling rng-quote-string everywhere.
48906 2016-01-16 Stefan Monnier <monnier@iro.umontreal.ca>
48908 Use sgml-electric-tag-pair-mode also in nxml-mode
48910 * lisp/nxml/rng-nxml.el: Require sgml-mode.
48911 (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
48912 (rng-complete-qname-function): Use complete-with-action.
48914 * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
48915 Let-bind forward-sexp-function, since nxml-mode binds it to
48916 something incompatible.
48918 * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
48920 2016-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
48922 * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
48925 * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
48926 marker on the "sole --" rather than on the comment opener.
48928 2016-01-15 Sam Steingold <sds@gnu.org>
48930 replace `tramp-compat-split-string' (removed) with `split-string'
48932 (python-shell-tramp-refresh-process-environment)
48933 (python-shell-calculate-pythonpath): use `split-string'
48934 instead of defunct `tramp-compat-split-string'
48936 2016-01-15 Stefan Monnier <monnier@iro.umontreal.ca>
48938 Update nXML to use Emacs's Unicode support, and lexical-binding
48940 * etc/nxml/*.el: Remove obsolete char-name files.
48941 * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
48943 * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
48944 * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
48945 * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
48946 (nxml-target-section-pos, nxml-depth-in-target-section)
48947 (nxml-outline-state-transform-alist)
48948 (nxml-outline-display-section-tag-function): Move decl before first use.
48949 * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
48950 (nxml-char-name-alist, nxml-char-name-table)
48951 (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
48952 (nxml-enable-char-name-set, nxml-disable-char-name-set)
48953 (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
48954 (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
48955 (nxml-insert-named-char): Use read-char-by-name instead.
48956 (nxml-char-ref-display-extra): Use get-char-code-property.
48957 * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
48959 * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
48961 2016-01-15 Michael Albinus <michael.albinus@gmx.de>
48963 Add "sg" method to Tramp
48965 * doc/misc/tramp.texi (Inline methods): Add "sg" method.
48966 (Customizing Completion): Add function `tramp-parse-etc-group'.
48968 * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add. (Bug#22329)
48969 (tramp-completion-function-alist-sg): New defconst.
48970 (top): Completion function for "sg" is
48971 `tramp-completion-function-alist-sg'.
48973 * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
48974 (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
48976 2016-01-14 Michael Albinus <michael.albinus@gmx.de>
48978 Remove XEmacs compatibility in Tramp
48980 * doc/misc/tramp.texi: Replace flags by their hard coded name.
48981 Remove unused flags and the enclosed alternative text for XEmacs.
48983 * doc/misc/trampver.texi: Use "Tramp" CamelCase. Rename "emacs"
48984 and "xemacs" flags to "unified" and "separate". Remove flags
48985 "emacsgw", "emacsname", "emacsdir", "ftppackagename",
48986 "emacsothername", "emacsotherdir" and "emacsotherfilename".
48988 * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
48990 * lisp/net/tramp.el (bkup-backup-directory-info)
48991 (directory-sep-char, ls-lisp-use-insert-directory-program)
48992 (outline-regexp, tramp-backup-directory-alist)
48993 (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
48994 (tramp-file-name-regexp-unified)
48995 (tramp-file-name-regexp-separate)
48996 (tramp-completion-file-name-regexp-unified)
48997 (tramp-completion-file-name-regexp-separate, tramp-chunksize)
48998 (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
48999 (tramp-debug-message, tramp-progress-reporter-update)
49000 (with-tramp-progress-reporter)
49001 (tramp-rfn-eshadow-setup-minibuffer)
49002 (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
49003 (tramp-rfn-eshadow-update-overlay)
49004 (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
49005 (tramp-file-name-for-operation)
49006 (tramp-completion-file-name-handler)
49007 (tramp-autoload-file-name-handler, tramp-completion-mode-p)
49008 (tramp-handle-directory-files)
49009 (tramp-handle-directory-files-and-attributes)
49010 (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
49011 (tramp-handle-insert-file-contents, tramp-handle-load)
49012 (tramp-handle-shell-command)
49013 (tramp-handle-verify-visited-file-modtime)
49014 (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
49015 (tramp-check-for-regexp, tramp-wait-for-regexp)
49016 (tramp-send-string, tramp-mode-string-to-int)
49017 (tramp-get-local-gid, tramp-check-cached-permissions)
49018 (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
49019 (auto-save-file-name-transforms)
49020 (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
49021 (tramp-clear-passwd, tramp-time-diff):
49022 * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
49023 (directory-sep-char, tramp-adb-file-name-handler-alist)
49024 (tramp-adb-parse-device-names)
49025 (tramp-adb-handle-expand-file-name)
49026 (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
49027 (tramp-adb-handle-file-local-copy)
49028 (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
49029 (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
49030 (tramp-adb-handle-shell-command)
49031 (tramp-adb-handle-start-file-process, tramp-adb-get-device)
49032 (tramp-adb-maybe-open-connection):
49033 * lisp/net/tramp-cache.el (tramp-persistency-file-name)
49034 (tramp-cache-print):
49035 * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
49036 (tramp-bug, tramp-reporter-dump-variable)
49037 (tramp-load-report-modules, tramp-append-tramp-buffers):
49038 * lisp/net/tramp-compat.el (tramp-compat-funcall)
49039 (tramp-advice-file-expand-wildcards)
49040 (tramp-compat-temporary-file-directory)
49041 (tramp-compat-make-temp-file, tramp-compat-copy-file)
49042 (tramp-compat-delete-directory, )
49043 (tramp-compat-process-running-p):
49044 * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
49045 (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
49046 * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
49047 (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
49048 (tramp-gvfs-handle-file-local-copy)
49049 (tramp-gvfs-handle-file-name-all-completions)
49050 (tramp-gvfs-handle-file-notify-add-watch)
49051 (tramp-gvfs-monitor-file-process-filter)
49052 (tramp-gvfs-handle-file-readable-p)
49053 (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
49054 (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
49055 (tramp-gvfs-maybe-open-connection)
49056 (tramp-gvfs-parse-device-names):
49057 * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
49058 (tramp-gw-open-connection, tramp-gw-open-network-stream):
49059 * lisp/net/tramp-sh.el (directory-sep-char)
49060 (tramp-sh-file-name-handler-alist)
49061 (tramp-sh-handle-file-truename)
49062 (tramp-sh-handle-set-visited-file-modtime)
49063 (tramp-sh-handle-verify-visited-file-modtime)
49064 (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
49065 (tramp-sh-handle-file-acl)
49066 (tramp-sh-handle-file-name-all-completions)
49067 (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
49068 (tramp-do-copy-or-rename-file-directly)
49069 (tramp-do-copy-or-rename-file-out-of-band)
49070 (dired-compress-file-suffixes, dired-remove-file)
49071 (tramp-sh-handle-dired-compress-file)
49072 (tramp-sh-handle-insert-directory)
49073 (tramp-sh-handle-expand-file-name)
49074 (tramp-sh-handle-start-file-process)
49075 (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
49076 (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
49077 (tramp-sh-handle-file-notify-add-watch)
49078 (tramp-sh-gvfs-monitor-dir-process-filter)
49079 (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
49080 (tramp-find-executable)
49081 (tramp-open-connection-setup-interactive-shell)
49082 (tramp-find-inline-encoding, tramp-compute-multi-hops)
49083 (tramp-maybe-open-connection, tramp-convert-file-attributes)
49084 (tramp-get-remote-path, tramp-get-remote-touch):
49085 * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
49086 (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
49087 (tramp-smb-handle-delete-directory)
49088 (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
49089 (tramp-smb-handle-make-directory-internal)
49090 (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
49091 (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
49092 (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
49093 (tramp-smb-get-cifs-capabilities)
49094 (tramp-smb-maybe-open-connection):
49095 * lisp/net/trampver.el (tramp-repository-get-version):
49096 Remove XEmacs compat code.
49098 * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
49099 (reporter-dump-variable): Declare functions.
49101 * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
49102 (tramp-advice-minibuffer-electric-separator)
49103 (tramp-advice-minibuffer-electric-tilde)
49104 (tramp-handle-unhandled-file-name-directory):
49105 * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
49106 (tramp-compat-font-lock-add-keywords)
49107 (tramp-compat-load, tramp-compat-number-sequence)
49108 (tramp-compat-split-string, tramp-compat-delete-dups):
49109 * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
49112 * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
49115 2016-01-14 K. Handa <handa@gnu.org>
49117 fix previous change of src/ftfont.c (ftfont_shape_by_flt)
49119 * src/ftfont.c (ftfont_shape_by_flt): Fix previous change. Access the
49120 second glyph only when there are enough glyphs.
49122 2016-01-13 Glenn Morris <rgm@gnu.org>
49124 * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
49126 or its hook, to move point. (Bug#22348)
49128 2016-01-12 Michael Albinus <michael.albinus@gmx.de>
49130 Merge missing commit from emacs-25 branch
49132 * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
49134 (check-expensive, check-doit): New targets.
49136 * Makefile.in (check-expensive): New target.
49138 * test/lisp/autorevert-tests.el
49139 (auto-revert-test01-auto-revert-several-files):
49140 * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
49141 (file-notify-test06-many-events):
49142 * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
49143 (tramp-test27-start-file-process, tramp-test28-shell-command)
49144 (tramp-test29-vc-registered)
49145 (tramp-test31-special-characters-with-stat)
49146 (tramp-test31-special-characters-with-perl)
49147 (tramp-test31-special-characters-with-ls)
49148 (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
49149 (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
49150 (tramp-test35-unload): Tag the tests as :expensive-test.
49152 2016-01-11 John Wiegley <johnw@newartisans.com>
49154 Merge from origin/emacs-25
49156 1f6898d test/automated/vc-hg.el: Support out-of-tree build
49157 3adb56e Minor change in tramp-tests.el
49158 2b535ba ; * etc/NEWS: Update the js.el entry.
49159 76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
49160 b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
49161 36b9539 Avoid an infloop when we run out of memory
49162 2006752 Avoid unnecessary failures of auto-saving after fatal error
49163 eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
49164 552694a Revert attempt to use 'noexcept' in typedef
49165 6ad0d39 Update documentation of 'indirect-function'
49166 c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
49167 303141a Update documentation for obsoleting 'syntax-begin-function'
49168 4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
49169 e667bbb Document new features if Eshell
49170 9c4e4e0 ; * etc/NEWS: Update EUDC entries.
49171 1089dc9 Handle too long commands in Tramp
49172 684eb58 * .gitattributes: *.cur and *.pif are binary files too.
49173 d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
49174 bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
49175 09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
49176 cca0f93 ; Account for spaces before the filename
49177 c71e1e8 Use short date for 'hg annotate', and output the author
49178 f50027b Spelling fix
49179 c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
49180 cc140bc Document user-level functions in project.el
49181 f8208b6 Document the user-level features of the Xref package
49182 b131fb8 * loading.texi: Add `define-type' entry for load-history
49183 db3c2a8 Improve doc strings and prompts in xref.el
49184 f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
49185 90fd798 Fix coding system for Tramp on OS X.
49186 e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
49187 9dfcbf0 Update 'load-history' docs
49188 207e191 Fix (error ...) error
49189 457738f Correctly analyze brace arguments in templated C++ function declarations.
49190 d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
49191 2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
49192 1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
49193 8be046f Respect fontification region calculated by major mode. Fixes bug #22316.
49194 4b37cba Improve documentation of Delete Selection mode
49195 a034dd3 Fix two project-find-file issues
49196 30abf29 Clarify doc string of 'dired-current-directory'
49197 e990bb2 Use the face of preceding text for displaying the ellipsis
49198 5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
49199 eeb710a ; * lisp/startup.el: Sentences end with two spaces.
49200 428b3de * admin/admin.el (set-version): Also handle the NEWS file.
49201 648de81 ; Add NEWS entry for project.el
49202 671862f apropos-library: Skip obvious duplicates; don't error on generics
49203 51668a5 ; Grammar fix
49204 ed41d11 Add project-find-file and project-or-external-find-file
49205 056da45 ; Improve commentary in 'setup_for_ellipsis'
49206 269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
49208 2016-01-11 John Wiegley <johnw@newartisans.com>
49210 Merge from origin/emacs-25
49212 ce4a052 Add defvar-local to lisp-imenu-generic-expression
49213 a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
49214 76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
49215 1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
49216 b6b47af Properly encode/decode base64Binary data in SOAP
49217 c632466 Obey coding-system-for-write when writing stdout/stderr in batch
49218 2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
49219 Update the URI of MELPA and marmalade-repo.
49220 Reported by CHENG Goa <chenggao@royau.me> in
49221 https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
49222 d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
49223 5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
49224 7380990 Remove function wrongly on AWK Mode value of context
49225 fontification hook.
49226 d400753 * src/buffer.c: Stick with ASCII in doc string.
49227 221240c Reword transient-mark-mode doc string
49228 977d3ea Update doc string of 'selective-display'
49229 229c3fa Make C++ buffers writeable when writing their initial text
49231 f5c762c Additional changes for "make check-expensive"
49232 1729cf3 ; * admin/MAINTAINERS: Remove myself.
49233 33219d3 Apply text properties for <, > in new after-change function
49236 2016-01-11 John Wiegley <johnw@newartisans.com>
49238 Merge from origin/emacs-25
49240 9fb185a shr-tag-video bug fix
49241 6300655 Minor fixes in tramp-tests.el
49242 50575b1 Ensure redisplay when 'truncate-lines' is set
49243 0d9e80d Fix a doc string of 'transient-mark-mode'
49244 0000ae5 MS-Windows followup to latest gnulib update
49245 4bc5e02 Spelling fix
49246 f1093f7 Do secure signed Bcc handling
49248 2016-01-11 John Wiegley <johnw@newartisans.com>
49250 Merge from origin/emacs-25
49252 861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
49253 46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
49254 71ea138 * lisp/align.el (align): Simplify a lambda
49255 5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
49256 1f680db Fix compilation next-error in buffers with selective-display
49257 d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
49258 1da116f Add SHA1 warnings for high network security settings
49259 e48bacd ; * etc/NEWS: Typo fix.
49261 2016-01-11 John Wiegley <johnw@newartisans.com>
49263 Merge from origin/emacs-25
49265 43662a2 ; Clarify that xref is still experimental
49266 0a6e6ca ; * admin/release-process: Remove some obsolete records.
49267 c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
49268 8637f3d (semantic-symref-derive-find-filepatterns): Return a list
49269 0a7ad07 ; Re-arrange xref-related entries in NEWS.
49270 fe903ef Fix xref-find-references on MS-Windows
49271 55a28d8 ; Fixed visual bell artifact problem on NextStep.
49272 d064034 Document new features of tildify-mode
49273 964bea7 Document new features of Whitespace mode
49274 cd68f47 Improve documentation of new Hide-IfDef features
49275 723b8bf Fix regression in font-locking cl-assert and cl-check-type
49277 2016-01-11 John Wiegley <johnw@newartisans.com>
49279 Merge from origin/emacs-25
49281 ef33bc7 Spelling and grammar fixes
49282 9c3dbab Fix copyright years by hand
49283 0e96320 Update copyright year to 2016
49285 2016-01-11 John Wiegley <johnw@newartisans.com>
49287 Merge from origin/emacs-25
49289 9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
49290 526d80c Port chart.el methods to cl-generic.
49291 410bb69 Add nt/INSTALL.W64 build instructions
49292 8f5b524 Add new input method 'programmer-dvorak'
49293 6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
49294 bb83bb1 Fix EWW rendering of long RTL lines
49295 b1a8509 fix bug#21054
49296 ce5ad12 Clean up cairo printing code
49298 2016-01-11 John Wiegley <johnw@newartisans.com>
49300 Merge from origin/emacs-25
49302 6ee327d Add handle_user_signal_hook
49303 47580e0 Avoid writing to purespace
49304 0588be7 Remove unused variable
49305 89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
49306 3b95e9c Use posix_openpt instead of openpty on Darwin
49307 86312ff Document support for ':documentation' in Lisp mode
49308 c930e75b Document new features of TeX mode
49309 7c83d84 Clarify docs of hscroll in RTL text
49310 4c8f8db Fix rendering of HTML pages that use character composition
49311 a8d37ca Avoid some compiler warnings in w32.c
49312 ce106f3de Undo ill-advised change
49313 be0bba4 Unbreak completion in python-mode buffers
49315 2016-01-08 Andrew Hyatt <ahyatt@gmail.com>
49317 Adding example replies to bug-triage.
49319 * admin/notes/bug-triage: Added example replies. Also, as requested,
49320 making the process notes into more of a checklist.
49322 2016-01-08 Andrew Hyatt <ahyatt@gmail.com>
49324 Rename the notes/admin/triage file to bug-triage.
49326 * CONTRIBUTE: Change reference to the triage file name.
49327 * admin/notes/triage: Rename file to admin/notes/bug-triage.
49329 2016-01-08 K. Handa <handa@gnu.org>
49331 Fix outdated comments.
49333 2016-01-06 Glenn Morris <rgm@gnu.org>
49335 Allow creation of loaddefs files without timestamps.
49337 * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
49338 (autoload-generate-file-autoloads, update-directory-autoloads):
49339 If autoload-timestamps is nil, write "t" instead of file timestamp.
49340 (autoload-find-destination, update-directory-autoloads):
49341 If timestamp is "t", use the modtime of the output file instead.
49343 2016-01-06 Glenn Morris <rgm@gnu.org>
49347 * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
49348 * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
49349 (calendar-iso-from-absolute):
49350 * lisp/calendar/cal-tex.el (cal-tex-comment):
49351 * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
49353 2016-01-06 Glenn Morris <rgm@gnu.org>
49355 Build tweaks related to tags files.
49357 * lib-src/Makefile.in (tagsfiles): New variable.
49358 (TAGS): Also depend on the source files. Use our own etags program.
49359 * lisp/Makefile.in (ETAGS): Add EXEEXT.
49360 (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
49362 (tagsfiles): New, replacing lisptagsfiles1 etc.
49363 Remove irrelevant source files here rather than in the TAGS rule.
49364 (${ETAGS}): New rule.
49365 (TAGS): Also depend on the etags executable.
49366 * lwlib/Makefile.in (EXEEXT): New, set by configure.
49367 (ETAGS): Add EXEEXT.
49368 (${ETAGS}): New rule.
49369 (ctagsfiles): Use "wildcard".
49370 (TAGS): Also depend on the etags executable.
49371 * nt/Makefile.in (ETAGS, tagsfiles): New variables.
49372 (${ETAGS}): New rule.
49373 (TAGS): Fix dependencies.
49374 * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
49375 (ETAGS): New variable, replacing $TAGS. Use our own etags program.
49376 Remove "-t" argument.
49377 (${ETAGS}): New rule.
49378 (tagsfiles): New variable.
49379 (TAGS): New rule, with proper dependencies.
49380 * src/Makefile.in (ETAGS): Add EXEEXT. Add a build rule.
49381 (ctagsfiles1, ctagsfiles2): Use "wildcard".
49382 (ctagsfiles3): Remove.
49383 (TAGS): Depend on etags.
49384 (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
49385 directories decide if updates are needed.
49387 2016-01-06 Glenn Morris <rgm@gnu.org>
49389 * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
49391 2016-01-06 Glenn Morris <rgm@gnu.org>
49393 * test/lisp/emacs-lisp/package-tests.el
49395 (package-test-macro-compilation): Fixup branch merge.
49397 2016-01-05 Eli Zaretskii <eliz@gnu.org>
49399 Fix fallout from merging emacs-25 branch in test/
49401 * .gitignore: Update for the new place of biditest.txt.
49402 * test/automated/: Directory removed. All files moved to their
49404 * test/etags/: Directory removed. All files moved to their proper
49406 * test/automated/url-parse-tests.el: File removed; it was an exact
49407 copy of the same file in test/lisp/url/.
49408 * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
49410 2016-01-04 Paul Eggert <eggert@cs.ucla.edu>
49414 2016-01-04 Daniel Colascione <dancol@dancol.org>
49416 Let users disable unsafe signal handling code
49418 * src/keyboard.c (syms_of_keyboard): New user variables
49419 `attempt-stack-overflow-recovery' and
49420 `attempt-orderly-shutdown-on-fatal-signal'.
49421 * src/sysdep.c (stack_overflow): Check
49422 `attempt-stack-overflow-recovery'.
49423 * src/emacs.c (terminate_due_to_signal): Check
49424 `attempt-orderly-shutdown-on-fatal-signal'.
49426 2016-01-03 Michael Albinus <michael.albinus@gmx.de>
49428 * configure.ac: Add error message for gfile on Nextstep.
49430 2016-01-02 John Wiegley <johnw@newartisans.com>
49432 Merge branch 'emacs-25-merge'
49434 2016-01-02 Vincent Belaïche <vincentb1@users.sourceforge.net>
49436 Align textually on fix done for emacs-25 branch for bug#21054
49438 * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
49439 and useless `(if t ...)' in order to align textually on fix done for
49440 emacs-25 branch for bug#21054.
49442 2016-01-01 K. Handa <handa@gnu.org>
49444 support rendering of wider range of combinging characters by ftfont backend
49446 * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
49447 supports rendering of combining characters, call
49448 font-shape-gstring.
49450 * src/font.c (Ffont_get): Handle `combining-capability' property.
49451 (syms_of_font): New symbol ":combining-capability'.
49453 * src/font.h (struct font_driver): New member combining_capability.
49455 * src/ftfont.c: Include "category.h".
49456 (ftfont_driver): Initialize combining_capability to
49457 ftfont_combining_capability.
49458 (ftfont_shape_by_flt): If OTF is null, try to find a suitable
49460 (ftfont_combining_capability): New function.
49462 2016-01-01 Andrew Hyatt <ahyatt@gmail.com>
49464 Add notes on bug triage procedure
49466 * CONTRIBUTE: In section on the issue tracker, point to new triage file.
49467 * admin/notes/triage: New file explaining triage procedure.
49469 2015-12-30 Vincent Belaïche <vincentb1@users.sourceforge.net>
49471 Correct ses-rename-cell cursor-intangible text prop updating.
49473 There were two problems:
49475 - First ses-rename-cell has to work when called non interactively
49476 (with non-nil CELL argument), so in this case the start pos of
49477 put-text-property cannot be plainly (point), you need a
49478 ses-goto-print call before
49480 - Second, the range itself was computed erronously, only the first
49481 char was affected instead of the full cell width. This was not
49482 noticeable prior to changes (Deprecate `intangible' and
49483 `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
49485 * lisp/ses.el (ses-rename-cell): Correct computation of position range
49486 to which the 'cursor-intangible text property has to be set to cell
49489 2015-12-30 Vincent Belaïche <vincentb1@users.sourceforge.net>
49491 Don't fake empty cells value by "" when printing with a lambda.
49493 When using a lambda expression printer function the user should be
49494 free to format differently a really empty cell, ie. containing nil,
49495 from a cell containing an empty string "".
49497 * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
49498 `value' in the case of a lambda expression printer function.
49500 * doc/misc/ses.texi (Printer functions): Add example and
49501 description about lambda expression printer function handling all
49502 the possible values, including unexpected ones.
49504 2015-12-30 Vincent Belaïche <vincentb1@users.sourceforge.net>
49506 Quick temporary hack to fix curcell refreshing.
49508 The problem was caused by change: 2015-04-13 Deprecate `intangible'
49509 and `point-entered' properties. The problem is that this change has
49510 removed the (setq ses--curcell t) setting in the ses-command-hook
49513 * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
49514 a condition to call function `ses-set-curcell'. Comment this as a quick
49515 temporary hack to make it work, as I don't know yet whether a definite
49516 correction would be to make the ses-set-curcell at every ses-check-curcell,
49517 or to revert to the previous approach, ie marking ses--curcell as out-of-date
49518 at every potentially cursor motion command.
49520 2015-12-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
49522 Restrictive URL checking tweaks
49524 * lisp/net/eww.el (eww): Check whether the domain is
49525 restrictive instead of the string
49526 (http://македонија.icom.museum is restrictive even if each
49527 part is from a different script).
49529 2015-12-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
49531 New function `puny-highly-restrictive-domain-p'
49533 * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
49534 (puny-highly-restrictive-domain-p): New function.
49536 2015-12-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
49538 eww build fix (require puny)
49540 2015-12-30 Lars Magne Ingebrigtsen <larsi@gnus.org>
49542 Transform non-restrictive domains to punycode for display
49544 * lisp/net/eww.el (eww): Check whether the domain is Highly
49545 Restrictive in the Unicode IDNA sense.
49547 2015-12-29 John Wiegley <johnw@newartisans.com>
49549 Merge emacs-25 into master (using imerge)
49551 2015-12-29 Lars Ingebrigtsen <larsi@gnus.org>
49553 Further Unicode restrictive fixups
49555 * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
49556 identifier characters from table 3.
49558 2015-12-29 Lars Ingebrigtsen <larsi@gnus.org>
49560 Add a new function to say whether a string is restrictive
49562 * lisp/net/puny.el (puny-highly-restrictive-p): New function.
49564 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49566 Mention the new puny.el library
49568 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49570 IDNA-related fixes for the URL library
49572 * lisp/url/url-http.el (url-http-create-request): IDNA-encode
49575 * lisp/url/url-util.el (url-encode-url): Don't hex-encode
49576 domain names, but leave them as UTF-8, so that they can be
49577 IDNA-encoded later when contacting the host.
49579 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49581 IDNA-encode all domain names in `open-network-stream'
49583 * lisp/net/network-stream.el (open-network-stream)
49584 (network-stream-open-plain, network-stream-open-starttls):
49585 IDNA-encode all domain names, if needed.
49587 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49589 Fix puny-encoding all-non-ASCII domains
49591 * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
49594 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49596 shr link traversal fixup
49598 * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
49600 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49602 Reconnect erc even on server errors
49604 * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
49605 reconnect even if a server error has occurred (bug#18527).
49607 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49609 Fix punycode short circuit logic
49611 * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
49613 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49617 * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
49619 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49621 Add IDNA domain encode/decode functions
49623 * lisp/net/puny.el (puny-decode-domain): New function.
49624 (puny-encode-domain): Ditto.
49625 (puny-decode-digit): Fix digit decoding error.
49627 2015-12-28 Lars Ingebrigtsen <larsi@gnus.org>
49629 Rename idna.el to puny.el
49631 * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
49632 the external idna.el library.
49634 2015-12-27 Katsumi Yamaoka <yamaoka@jpl.org>
49636 lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
49638 * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
49639 Don't use split-string with 4th arg for old Emacsen compatibility.
49641 2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
49643 * lisp/net/idna.el (idna-decode-string-internal): Implement
49646 2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
49648 Further IDNA tweaks
49650 (idna-encode-string): Make idna-encode-string safe for
49653 2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
49655 Clean up the code slightly
49657 2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
49659 Added basic idna encoding support
49661 * lisp/net/idna.el: New file.
49663 2015-12-27 Vivek Dasmohapatra <vivek@etla.org>
49665 Disconnection fixes for erc
49667 * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
49668 reconnect if the user has disconnected explicitly (bug#4589).
49670 2015-12-27 Thomas Riccardi <riccardi.thomas@gmail.com> (tiny change)
49672 Further erc asynch fixes
49674 * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
49675 erc-server-connect to return even if the connection is not
49676 ready. Then erc-open and erc-server-reconnect do the
49679 2015-12-27 Vivek Dasmohapatra <vivek@etla.org>
49681 Make erc connect asynchronously
49683 * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
49684 reconnect asynchronously.
49686 * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
49688 2015-12-27 David Edmondson <dme@dme.org>
49690 Proxy error in erc with multiple clients
49692 * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
49693 generated when multiple IRC clients talk to a single IRC proxy
49696 2015-12-27 Jens Lechtenboerger <jens.lechtenboerger@fsfe.org>
49698 Fix mml-sec build warnings
49700 * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
49703 2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
49705 (eww-setup-buffer): Restore left-to-right defaults
49707 * eww.el (eww-setup-buffer): Restore left-to-right defaults.
49709 2015-12-27 Lars Ingebrigtsen <larsi@gnus.org>
49711 * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
49713 2015-12-27 Jens Lechtenboerger <jens.lechtenboerger@fsfe.org>
49715 Identify unsafe combinations of Bcc and encryption
49717 * lisp/gnus/gnus-util.el (gnus-subsetp): New function
49718 * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
49719 * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
49721 2015-12-26 Lars Ingebrigtsen <larsi@gnus.org>
49723 * shr.el (shr-descend): Allow using lambdas in external functions.
49725 2015-12-25 Stefan Monnier <monnier@iro.umontreal.ca>
49727 * admin/gitmerge.el: Tweaks that seemed necessary
49729 * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
49730 (gitmerge-maybe-resume): Provide explicit empty commit message.
49732 2015-12-25 Łukasz Stelmach <stlman@poczta.fm> (tiny change)
49734 Use a different port for TLS erc
49736 * lisp/erc/erc.el (erc-default-port-tls): New variable
49738 * lisp/erc/erc.el (erc-tls): Use it.
49740 2015-12-25 Alain Schneble <a.s@realize.ch>
49742 Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
49744 * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
49745 * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
49746 * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
49747 information in URL-struct.
49748 * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
49749 path and query into nil path and query, respectively.
49750 * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
49751 empty path into an absolute ("/") path.
49752 * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
49753 fragment-only URIs. Do not just return them unchanged.
49754 * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
49755 reference URI should not drop the last segment.
49757 2015-12-25 Alain Schneble <a.s@realize.ch>
49759 Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
49761 * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
49762 * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
49763 * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
49764 information in URL-struct.
49765 * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
49766 path and query into nil path and query, respectively.
49767 * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
49768 empty path into an absolute ("/") path.
49769 * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
49770 fragment-only URIs. Do not just return them unchanged.
49771 * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
49772 reference URI should not drop the last segment.
49774 2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
49776 Let url use default file modes when copying files
49778 * lisp/url/url-handlers.el (url-copy-file): Use default file
49779 modes when copying files (bug#11400).
49781 2015-12-25 Devon Sean McCullough <Emacs-Hacker2012@jovi.net>
49783 Doc fix for url-http
49785 * lisp/url/url-http.el (url-http): Document better return values
49786 (bug#13187) (tiny change)
49788 2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
49790 * eww.el (eww-display-html): Support <button> tags (bug#20485).
49792 2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
49794 Made ffap-url-p a defun instead of a defsubst
49796 * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
49797 since there doesn't seem to be much of a reason for it to be a
49798 defsubst (bug#18203).
49800 2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
49802 Add a command to view files in the browser to dired
49804 * lisp/dired.el (dired-mode-map): Add the `W' command
49807 2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
49809 Allow http://user:pass@foo/ URLs again
49811 * lisp/url/url-auth.el (url-basic-auth): Allow explicit
49812 user/passwords in URLs (bug#19046).
49814 2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
49816 * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
49818 2015-12-25 Samer Masterson <samer@samertm.com>
49820 Autoload url-insert-buffer-contents
49822 * lisp/url/url-handlers.el: Add autoload cookie so that
49823 `package-list-packages' doesn't bug out (bug#21927) (tiny change)
49825 2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
49827 Allow toggling colors in eww
49829 * doc/misc/eww.texi (Basics): Mention "C".
49831 * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
49833 * lisp/net/shr.el (shr-use-colors): New variable.
49834 (shr-colorize-region): Use it.
49836 2015-12-25 Lars Ingebrigtsen <larsi@gnus.org>
49838 Follow meta refresh tags in eww
49840 * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
49842 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49844 More eww file name coding fixes
49846 * eww.el (eww-decode-url-file-name): Use the base coding
49847 system to check for encodability.
49849 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49851 Always save eww history
49853 * eww.el (eww-setup-buffer): Always save history, even when
49854 called from outside the eww buffer (bug#19638).
49856 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49858 Default web pages to right-to-left
49860 * eww.el (eww-mode): Most web pages are left-to-right, so make
49861 that the default (bug#19801).
49863 * shr.el (shr-tag-html): Respect "dir" attributes
49864 (left-to-right, right-to-left).
49866 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49868 Make toggling checkboxes work again
49870 * eww.el (eww-update-field): Make toggling checkboxes work
49873 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49875 Don't store cookies with empty names
49877 * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
49878 cookies with empty names (bug#21936).
49880 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49882 Stop rendering HTML before specdlr exhaustion
49886 * shr.el (shr-descend): Stop rendering before we run out of
49887 specpdl room (bug#22117).
49889 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49891 Use cl-reduce, not reduce.
49893 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49895 Allow several <tbody> tags in shr
49897 * shr.el (shr-table-body): New function to find the real body
49899 (shr-tag-table): Use it to render several <tbody> tags in a
49902 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49904 Make prettier unique file names in eww
49906 (eww-make-unique-file-name): Make unique file names by making
49907 files like foo(2).jpg instead of foo(1)(2).jpg.
49909 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49911 Decode hex-encoded URLs before using them as file names
49913 * eww.el (eww-decode-url-file-name): New function.
49914 (eww-download-callback): Use it to decode file names before
49917 2015-12-24 Ashish SHUKLA <ashish.is@lostca.se>
49919 Add FreeBSD cert bundle
49921 * doc/misc/emacs-gnutls.texi (Help For Users): Document
49924 * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
49926 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49928 Allow overriding shr functions from eww
49930 * eww.el (eww-display-html): Allow overriding elements in
49931 `shr-external-rendering-functions'.
49933 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49935 Ignore invalid SVG images
49937 * shr.el (shr-tag-svg): Ignore SVG images that have no width
49938 or height, because these can't be displayed by ImageMagick,
49941 2015-12-24 Lars Ingebrigtsen <larsi@gnus.org>
49943 shr table rendering fix
49945 * shr.el (shr-tag-table): Allow rendering body-less tables
49948 2015-12-22 Sam Steingold <sds@gnu.org>
49950 clipboard should still work even if interprogram-* is disabled
49952 (clipboard-yank): When `interprogram-cut-function' is nil,
49953 bind it to `gui-selection-value' - the default value.
49954 (clipboard-kill-region, clipboard-kill-ring-save): When
49955 `interprogram-paste-function' is nil, bind it to `gui-select-text' -
49958 2015-12-18 Phillip Lord <phillip.lord@russet.org.uk>
49960 Fix bootstrap issue with dired-loaddefs
49962 * lisp/dired.el: Autoloads for secondary files loaded optionally.
49964 2015-12-17 Phillip Lord <phillip.lord@russet.org.uk>
49966 dired generate autoloads to non-versioned file.
49968 * lisp/dired.el: Remove autoloads.
49969 * lisp/Makefile.in: Add dired to autogenel.
49970 * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
49971 * test/lisp/dired-tests.el: Add new test.
49973 2015-12-17 Phillip Lord <phillip.lord@russet.org.uk>
49975 eieio generate autoloads to non-versioned file.
49977 * lisp/Makefile.in: eieio-loaddefs add to autogenel.
49978 * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
49980 * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
49981 lisp/emacs-lisp/eieio-opt.el: Update file local.
49982 * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
49984 2015-12-17 Phillip Lord <phillip.lord@russet.org.uk>
49986 htmlfontify generate autoload to non-versioned file.
49988 * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
49989 * lisp/hfy-cmap.el: Update file local.
49990 * lisp/htmlfontify.el: Remove autoloads, add require.
49991 * test/lisp/htmlfontify-tests.el: Test autoload functionality.
49993 2015-12-17 Phillip Lord <phillip.lord@russet.org.uk>
49995 ibuffer generate autoloads to non-versioned file.
49997 * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
49998 * lisp/ibuf-ext.el: Update file local.
49999 * lisp/ibuffer.el: Remove autoloads and add a require.
50000 * test/lisp/ibuffer-tests.el: Test that autoload is working.
50002 2015-12-17 Phillip Lord <phillip.lord@russet.org.uk>
50004 rmail generate autoloads to non-versioned file.
50006 * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
50007 * lisp/mail/rmail.el: Remove autoloads, add require.
50008 * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
50009 * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
50010 * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
50011 * lisp/mail/undigest.el: Update file-local.
50012 * test/lisp/mail/rmail-tests.el:
50014 2015-12-17 Phillip Lord <phillip.lord@russet.org.uk>
50016 Add autoload-force target.
50018 * lisp/Makefile.in (autoload-force): New target.
50020 2015-12-17 Phillip Lord <phillip.lord@russet.org.uk>
50022 ps-print generate autoloads to non versioned file.
50024 * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
50025 * lisp/ps-print.el: Remove autoloads.
50026 * lisp/ps-mule.el: Update file-local.
50027 * test/lisp/ps-print-tests.el: Test autoload functionality.
50029 2015-12-17 Phillip Lord <phillip.lord@russet.org.uk>
50031 reftex generate autoloads to non versioned file.
50033 * lisp/Makefile.in: Add reftex-loaddefs to autogen files
50034 * lisp/textmodes/reftex.el: Remove autoloads.
50035 * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
50036 * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
50037 * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
50038 * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
50039 * lisp/textmodes/reftex-toc.el: Update autoload file-local.
50040 * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
50043 2015-12-07 Stefan Monnier <monnier@iro.umontreal.ca>
50045 * lisp/calculator.el (calculator-define-key): Undo last change
50047 Make map argument mandatory instead (bug#22106).
50048 (calculator-add-operators): Pass the argument that's not optional any more.
50050 2015-12-03 Glenn Morris <rgm@gnu.org>
50052 * Makefile.in: Avoid duplication.
50054 (have-tests): New rule.
50055 (check, check-maybe): Use it.
50057 2015-12-02 Phillip Lord <phillip.lord@russet.org.uk>
50059 make check unconditional, check-maybe top-level.
50061 * Makefile.in: Add check-maybe target.
50062 * test/Makefile.in: Restore unconditional behaviour to make check.
50064 2015-12-01 Phillip Lord <phillip.lord@russet.org.uk>
50066 Tests now support out-of-source-build.
50068 * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
50069 about current working directory.
50071 2015-12-01 Artur Malabarba <bruce.connor.am@gmail.com>
50073 * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
50075 2015-11-30 Phillip Lord <phillip.lord@russet.org.uk>
50077 Improve documentation and clean up.
50079 * test/Makefile.in: Improve documentation, use EMACS variable
50080 correctly, and clean up makefile rules.
50082 2015-11-30 Phillip Lord <phillip.lord@russet.org.uk>
50084 Update file headers for name change.
50086 * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
50088 2015-11-30 Phillip Lord <phillip.lord@russet.org.uk>
50090 Test files renamed to new scheme.
50092 * (finalizer-tests.el): Now renamed alloc-tests.el
50093 * (zlib-tests.el): Now renamed decompress-tests.el.
50095 2015-11-30 Phillip Lord <phillip.lord@russet.org.uk>
50097 Tests now depend on source files
50099 * test/Makefile.in: Include dependences from tests to source files.
50100 * test/make-test-deps.emacs-lisp: New file
50101 * .gitignore: Ignore generated make include file
50103 2015-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
50105 * lisp/progmodes/which-func.el: Improve disabling the mode
50107 Use lexical-binding.
50108 (which-func-modes, which-func-non-auto-modes, which-func-maxout)
50109 (which-func, which-func-format): Remove redundant :group arg.
50110 (which-func-try-to-enable): New function.
50111 (which-func-ff-hook, which-function-mode): Use it.
50112 (mode-line-misc-info): Add ourselves here instead of in bindings.el.
50113 * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
50115 2015-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
50117 * lisp/calculator.el (calculator-define-key): Silence warning
50119 ...about unknown calculator-mode-map.
50121 2015-11-29 Eli Barzilay <eli@barzilay.org>
50123 * lisp/calculator.el: more improvements and bugfixes.
50125 - Mark `calculator-paste-decimals' as obsolete. (It wasn't having an
50128 - Simplify `calculator-number-to-string' by throwing most of the work
50129 onto `number-to-string', leaving just some tweaks for decimal inputs.
50130 This leads to some minor changes, for example, pasting "1x1" in hex
50131 mode would warn that "x" is ignored and result in "11" (and it wasn't
50132 done in decimal mode), whereas now it just ignores everything from the
50133 "x" and on and result in a "1" just like in decimal input mode. Also,
50134 overflows are left for `number-to-string' to deal with.
50136 - `calculator-paste' is very simple as a result.
50138 - Extend the simplified `calculator-paste': with a prefix argument it
50139 pastes a string as if the characters were entered. This can be used
50140 to reduce expressions, but note that it's a simple literal operation,
50141 so precedence can be messed, a number can be paster while entering a
50142 number, spaces and newlines matter, etc.
50144 - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
50147 - Fix a bug in `calculator-put-value': avoid grouping in the display
50148 that is used to construct `calculator-curnum'. This would trigger
50149 when pasting or getting a value from a register in some radix mode
50150 with a large enough value. Another fix: make the output radix equal
50151 the input one, otherwise numbers could be converted twice.
50153 2015-11-29 Eli Barzilay <eli@barzilay.org>
50155 * lisp/calculator.el: Re-do key bindings.
50157 Use a helper function that arranges a parent keymap that binds alternate
50158 case keys so if some letter key is unbound and it's un/shifted version
50159 is, it will get used. This makes the global-map trickery unnecessary.
50161 Also switch to passing strings that name keys through `kbd'.
50163 2015-11-29 Eli Barzilay <eli@barzilay.org>
50165 * lisp/calculator.el: improve radix modes
50167 Fix prompt for some input radix with decimal output (eg, "BD" instead of
50168 the incorrect "B="); also, some minor docstring tweaks for these.
50170 2015-11-29 Eli Barzilay <eli@barzilay.org>
50172 * lisp/calculator.el: better reading of register names
50174 Use `register-read-with-preview' with a dynamically bound
50175 `register-alist' and a proper preview function to read register names.
50177 2015-11-29 Eli Barzilay <eli@barzilay.org>
50179 * lisp/calculator.el: General improvements
50181 Use things like `when', `unless', and `push'.
50183 Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
50186 2015-11-28 Michael Albinus <michael.albinus@gmx.de>
50188 Fix a problem with gfilenotify in filenotify-tests.el
50190 * test/lisp/filenotify-tests.el
50191 (file-notify--test-expected-events): Remove.
50192 (file-notify--test-cleanup): Do not set that variable.
50193 (file-notify--test-with-events): EVENTS can also be a list of lists.
50194 (file-notify-test02-events, file-notify-test04-file-validity):
50195 Adapt expected result.
50197 2015-11-28 Eli Zaretskii <eliz@gnu.org>
50199 * .gitignore: Adjust to changes in 'test' directory structure.
50201 2015-11-28 Eli Zaretskii <eliz@gnu.org>
50203 Fix test/manual/etags/Makefile
50205 * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
50206 changes in 'test' directory structure.
50208 2015-11-27 Phillip Lord <phillip.lord@russet.org.uk>
50210 Exclude resource dirs from search for tests.
50212 * test/Makefile.in: Test file locations are now found with find
50213 rather than using finds native functions.
50215 2015-11-27 Phillip Lord <phillip.lord@russet.org.uk>
50217 Add test targets without directory names.
50219 * (test/Makefile.in): Extend test_template to add two targets for each
50222 2015-11-27 Artur Malabarba <bruce.connor.am@gmail.com>
50224 * lisp/emacs-lisp/package.el: Require url-handlers
50226 2015-11-27 Phillip Lord <phillip.lord@russet.org.uk>
50228 Move elisp-mode-tests to new function names.
50230 * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
50231 find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
50233 2015-11-27 Juanma Barranquero <lekktu@gmail.com>
50235 * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
50237 2015-11-26 Phillip Lord <phillip.lord@russet.org.uk>
50239 Merge branch 'feature/standard-test-location'
50241 2015-11-25 Stefan Monnier <monnier@iro.umontreal.ca>
50243 * lisp/emacs-lisp/eieio.el: Add some default implementations
50245 (standard-class): Mark it obsolete.
50246 (slot-missing): Give it a default implementation.
50247 (destructor): Simplify and mark it obsolete.
50248 (object-print): Give it a default implementation.
50249 (eieio-change-class): Rename from change-class.
50250 (change-class): Redefine as obsolete alias.
50252 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50254 Mention kqueue in NEWS
50256 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50258 Merge from scratch/kqueue
50260 bec57a4 Some final fixes in file notification before merging with master
50261 0247489 Rework file notifications, kqueue has problems with directory monitors
50262 5154781 Continie with pending events
50263 6b490c0 Improve loops in file-notify-test06-many-events
50264 c8e266f Handle more complex rename operation in kqueue
50265 5044bdf New test with a larger number of events.
50266 65ba5a9 Further fixes for kqueue.
50267 13f3508 Code cleanup of kqueue.c
50268 99aa855 Doc changes for kqueue
50269 8deebe1 Finish implementation in kqueue.c
50270 90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
50271 e95b309 More work on kqueue
50272 41d9bd0 Implement directory events
50273 c571fc1 Build fixes for kqueue support.
50274 e0a68f2 Continue kqueue implementation
50275 7543d1c Work on kqueue
50276 e3354e2 Add kqueue support
50277 c6457ce Minor fix to comment indentation and typo in last commit
50278 b92307f linum-mode plays more nicely with other margin-setting extensions
50279 58e6235 * lisp/image-mode.el: Support encrypted file
50280 9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
50281 47f83b6 ; ChangeLog.2 fixes
50282 7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
50283 5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
50284 353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
50285 70f1fda ; Auto-commit of ChangeLog files.
50286 ae0653b * CONTRIBUTE: Remove information about feature freeze.
50287 9459456 Merge branch 'release-process-lowercase'
50288 9a4aa0f Document the release process
50289 f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
50290 dcd5877 gitmerge: Fix git log command
50291 2ac79ae gitmerge: Try to detect cherry-picks
50292 5f7a2a9 Increment Emacs version on master branch
50293 ed2e7e2 Mention CONTRIBUTE in README
50294 9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
50295 138ad3d ; Fix warnings
50296 7126e9a ; Update xref-etags-mode for the latest change
50297 246d660 Use generic dispatch for xref backends
50298 31f6e93 Support rectangular regions for more commands
50299 f103a27 Handle multiple matches on the same line; add highlighting
50300 fe973fc Replace xref-match-bounds with xref-match-length
50301 92a5010 Merge from gnulib
50302 04ac097 Spruce up ftfont.c memory allocation
50303 4c4b520 Port recent XCB changes to 64-bit ‘long int’
50304 4f0ce9c * src/undo.c (run_undoable_change): Now static.
50305 695a6f9 Remove support for ':timeout' from w32 tray notifications
50306 a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
50307 2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
50308 66b9f7b * src/undo.c: Small fixes for previous change
50309 2fac30e Add a few more variables to redisplay--variables
50310 04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
50311 e221d32 Fix point positioning after transposing with negative arg
50312 35f5afb Fix last change in shr.el
50313 508e77b Fix last change
50314 d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
50315 805a39b Remove intern calls and XXX comments from Fx_export_frames
50316 9463abf shr: don't invoke unbound function (Bug#21895)
50317 6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
50318 0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
50319 39dbd1c : Tests for undo-auto functionality.
50320 20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
50321 44dfa86 The heuristic that Emacs uses to add an `undo-boundary' has been reworked, as it interacts poorly with functions on `post-command-hook' or `after-change-functions'.
50322 d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
50323 c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
50324 1e363a8 Enable sorting of JSON object keys when encoding
50325 9dd7da9 * test/automated/keymap-tests.el: New test file
50326 aa17de9 Speed up x_real_pos_and_offsets using XCB
50327 a838c83 Enable use of XCB for checking window manager state
50328 c7f2b6a Detect XCB and save a connection handle
50329 e1c27db Reduce some data dependencies between X calls
50330 25e32bd Use color cache for creating bitmap
50331 851be0f Add "^" to the interactive specs of `dired-next/previous-line'
50332 055ca3a Sync with soap-client repository, version 3.0.2
50333 e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
50334 952395d * lisp/obarray.el: Fix shadowed variables
50335 436d330 Avoid error in submitting a form with EWW
50336 e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
50337 51d840a Rename seq-p and map-p to seqp and mapp
50338 23036ba Rename obarray-p to obarrayp
50339 20aea42 Rename obarray-foreach to obarray-map
50340 a3b2101 New file with obarray functions.
50341 9d43941 Implement tray notifications for MS-Windows
50343 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50345 Some final fixes in file notification before merging with master
50347 * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
50348 (file-notify-callback): Improve check for `stopped' event. Call
50349 `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
50350 (file-notify-add-watch): In case FILE is not a directory, call the
50351 file monitor for the kqueue backend. Otherwise, call the
50352 directory monitor for the upper directory.
50354 * src/inotify.c (inotifyevent_to_event): Extract file name from
50355 watch_object if the event doesn't provide it.
50356 (Finotify_add_watch): Add file name to watch_object.
50358 * test/automated/file-notify-tests.el (file-notify--test-timeout):
50359 Use different timeouts for different libraries.
50360 (file-notify--test-with-events): Suppress lock files. Flush
50361 outstanding events before running the body.
50362 (file-notify-test02-events, file-notify-test04-file-validity): Do
50363 not skip cygwin tests. Add additional test for file creation.
50364 Adapt expected result for different backends.
50365 (file-notify-test03-autorevert): Some of the tests don't work for
50367 (file-notify-test06-many-events): Rename into both directions.
50369 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50371 Rework file notifications, kqueue has problems with directory monitors
50373 * lisp/filenotify.el (file-notify-add-watch): Call the native
50374 add-watch function on the file, not on the dir.
50376 * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
50377 about already deleted entries.
50379 * test/automated/auto-revert-tests.el
50380 (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
50381 since this deletes the target file first.
50383 * test/automated/file-notify-tests.el (file-notify--test-event-test):
50384 Make stronger checks.
50385 (file-notify-test01-add-watch, file-notify-test02-events)
50386 (file-notify-test04-file-validity, file-notify-test05-dir-validity):
50387 Rewrite in order to call file monitors but directory monitors.
50388 (file-notify-test06-many-events): Ler rename work in both directions.
50390 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50392 Continie with pending events
50394 * src/kqueue.c (pending_events): Remove global variable.
50395 (kqueue_compare_dir_list): Create `write' event for not used
50397 (globals_of_kqueue): Remove initialization of pending_events.
50399 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50401 Improve loops in file-notify-test06-many-events
50403 * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50404 Use `read-event' pauses for the `write-file' loops; otherwise
50405 events are lost in inotify and gfilenotify cases.
50407 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50409 Handle more complex rename operation in kqueue
50411 * src/kqueue.c (pending_events): New variable.
50412 (kqueue_compare_dir_list): Handle more complex rename operation.
50413 (globals_of_kqueue): Initialize pending_events.
50415 * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50416 Adapt expected events in the `rename-file' case.
50417 (file-notify-test06-many-events-remote): Declare.
50419 2015-11-25 Wolfgang Jenkner <wjenkner@inode.at>
50421 New test with a larger number of events.
50423 * test/automated/file-notify-tests.el (file-notify--test-with-events):
50424 Make timeout heuristically depend on the number of events.
50426 (file-notify-test06-many-events): Use it for new test.
50428 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50430 Further fixes for kqueue.
50432 * lisp/filenotify.el (file-notify-callback): Raise also event if
50433 directory name matches.
50434 (file-notify-add-watch): Add `create' to the flags for `kqueue'.
50436 * src/kqueue.c (kqueue_generate_event): Use watch_object as
50437 argument instead of ident. Remove callback argument. Adapt
50438 callees. Check actions whether they are monitored flags.
50440 * test/automated/file-notify-tests.el (file-notify--test-library):
50442 (file-notify-test00-availability, file-notify-test02-events)
50443 (file-notify-test04-file-validity)
50444 (file-notify-test05-dir-validity): Use it.
50445 (file-notify-test02-events, file-notify-test04-file-validity): Add
50446 `read-event' calls between different file actions, in order to
50447 give the backends a chance to rais an event. Needed especially
50448 for kqueue. In case of deleting a directory, there are two
50451 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50453 Code cleanup of kqueue.c
50455 * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
50456 (kqueue_compare_dir_list): Do not loop when calling
50457 directory_files_internal. Remove checks for "." and "..", this is
50458 done in kqueue_directory_listing now.
50459 (Fkqueue_add_watch): Check for proper emacs_open flags.
50461 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50463 Doc changes for kqueue
50465 * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
50466 Fix some glitches in the example.
50468 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50470 Finish implementation in kqueue.c
50472 * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
50473 Simplify access to list.
50474 (kqueue_compare_dir_list): Simplify access to list. Raise
50475 `delete' event if directory does not exist any longer. Otherwise,
50476 wait until directory contents has changed. Fix error in check.
50478 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50480 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
50482 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50484 More work on kqueue
50486 * lisp/filenotify.el (file-notify-callback): Handle also the
50487 `rename' event from kqueue.
50488 (file-notify-add-watch): Do not register an entry twice.
50490 * src/kqueue.c (kqueue_directory_listing): New function.
50491 (kqueue_generate_event): New argument FILE1. Adapt callees.
50492 (kqueue_compare_dir_list): Rewrite in order to make it more robust.
50494 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50496 Implement directory events
50498 * lisp/filenotify.el (file-notify-handle-event)
50499 (file-notify-callback): Remove traces.
50501 * src/kqueue.c: Include <sys/time.h>.
50502 (kqueue_generate_event, kqueue_compare_dir_list): New functions.
50503 (kqueue_callback): Use them. Call kevent() with a zero timeout.
50504 (Fkqueue_add_watch): Adapt docstring. Support directory events.
50505 Compute initial directory listing. Close file descriptor in case
50507 (syms_of_kqueue): Declare Qcreate.
50509 2015-11-25 Wolfgang Jenkner <wjenkner@inode.at>
50511 Build fixes for kqueue support.
50513 * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
50516 * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
50519 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50521 Continue kqueue implementation
50523 * lisp/filenotify.el (file-notify-handle-event)
50524 (file-notify-callback): Enable trace messages.
50526 * src/kqueue.c: Include also <sys/types.h>.
50527 (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
50528 (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
50529 (syms_of_kqueue): Add them.
50531 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50535 * lisp/filenotify.el (file-notify--library)
50536 (file-notify-descriptors, file-notify-callback)
50537 (file-notify-add-watch, file-notify-rm-watch)
50538 (file-notify-valid-p): Add kqueue support.
50540 * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
50542 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50546 * configure.ac (--with-file-notification): Add kqueue.
50547 (top): Remove special test for "${HAVE_NS}" and
50548 ${with_file_notification}, this is handled inside gfilenotify
50549 tests. Add kqueue tests. Use NOTIFY_CFLAGS and NOTIFY_LIBS
50550 instead of library specific variables.
50552 * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
50554 * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
50556 * src/kqueue.c: New file.
50558 * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
50560 2015-11-25 Michael Albinus <michael.albinus@gmx.de>
50562 Some final fixes in file notification before merging with master
50564 * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
50565 (file-notify-callback): Improve check for `stopped' event. Call
50566 `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
50567 (file-notify-add-watch): In case FILE is not a directory, call the
50568 file monitor for the kqueue backend. Otherwise, call the
50569 directory monitor for the upper directory.
50571 * src/inotify.c (inotifyevent_to_event): Extract file name from
50572 watch_object if the event doesn't provide it.
50573 (Finotify_add_watch): Add file name to watch_object.
50575 * test/automated/file-notify-tests.el (file-notify--test-timeout):
50576 Use different timeouts for different libraries.
50577 (file-notify--test-with-events): Suppress lock files. Flush
50578 outstanding events before running the body.
50579 (file-notify-test02-events, file-notify-test04-file-validity): Do
50580 not skip cygwin tests. Add additional test for file creation.
50581 Adapt expected result for different backends.
50582 (file-notify-test03-autorevert): Some of the tests don't work for
50584 (file-notify-test06-many-events): Rename into both directions.
50586 2015-11-24 Phillip Lord <phillip.lord@russet.org.uk>
50588 Update elisp-mode-tests for changed file location.
50590 * test/lisp/progmodes/elisp-mode-tests.el:
50592 2015-11-24 Phillip Lord <phillip.lord@russet.org.uk>
50594 Exclude manual tests from Makefile
50596 * test/Makefile.in:
50598 2015-11-24 Phillip Lord <phillip.lord@russet.org.uk>
50600 Move package test files to new directory.
50602 * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
50603 * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
50605 2015-11-24 Phillip Lord <phillip.lord@russet.org.uk>
50607 Restore delete Makefiles and fix .gitignore.
50609 * .gitignore: Update Makefiles to changed locations
50610 * test/lisp/progmodes/flymake-resources/Makefile,
50611 test/manual/etags/Makefile,
50612 test/manual/etags/make-src/Makefile,
50613 test/manual/indent/Makefile: Restored and moved to new location.
50615 2015-11-24 Phillip Lord <phillip.lord@russet.org.uk>
50617 Test infrastructure: updates after directory move
50619 * (test/Makefile.in): Support directories several levels deep.
50620 * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
50621 * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
50623 2015-11-24 Phillip Lord <phillip.lord@russet.org.uk>
50625 Rename all test files to reflect source layout.
50627 * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
50628 test directory moves.
50629 * test/file-organisation.org: New file.
50630 * test/automated/Makefile.in:
50631 * test/automated/data/decompress/foo.gz:
50632 * test/automated/data/epg/pubkey.asc:
50633 * test/automated/data/epg/seckey.asc:
50634 * test/automated/data/files-bug18141.el.gz:
50635 * test/automated/data/flymake/test.c:
50636 * test/automated/data/flymake/test.pl:
50637 * test/automated/data/package/archive-contents:
50638 * test/automated/data/package/key.pub:
50639 * test/automated/data/package/key.sec:
50640 * test/automated/data/package/multi-file-0.2.3.tar:
50641 * test/automated/data/package/multi-file-readme.txt:
50642 * test/automated/data/package/newer-versions/archive-contents:
50643 * test/automated/data/package/newer-versions/new-pkg-1.0.el:
50644 * test/automated/data/package/newer-versions/simple-single-1.4.el:
50645 * test/automated/data/package/package-test-server.py:
50646 * test/automated/data/package/signed/archive-contents:
50647 * test/automated/data/package/signed/archive-contents.sig:
50648 * test/automated/data/package/signed/signed-bad-1.0.el:
50649 * test/automated/data/package/signed/signed-bad-1.0.el.sig:
50650 * test/automated/data/package/signed/signed-good-1.0.el:
50651 * test/automated/data/package/signed/signed-good-1.0.el.sig:
50652 * test/automated/data/package/simple-depend-1.0.el:
50653 * test/automated/data/package/simple-single-1.3.el:
50654 * test/automated/data/package/simple-single-readme.txt:
50655 * test/automated/data/package/simple-two-depend-1.1.el:
50656 * test/automated/abbrev-tests.el:
50657 * test/automated/auto-revert-tests.el:
50658 * test/automated/calc-tests.el:
50659 * test/automated/icalendar-tests.el:
50660 * test/automated/character-fold-tests.el:
50661 * test/automated/comint-testsuite.el:
50662 * test/automated/descr-text-test.el:
50663 * test/automated/electric-tests.el:
50664 * test/automated/cl-generic-tests.el:
50665 * test/automated/cl-lib-tests.el:
50666 * test/automated/eieio-test-methodinvoke.el:
50667 * test/automated/eieio-test-persist.el:
50668 * test/automated/eieio-tests.el:
50669 * test/automated/ert-tests.el:
50670 * test/automated/ert-x-tests.el:
50671 * test/automated/generator-tests.el:
50672 * test/automated/let-alist.el:
50673 * test/automated/map-tests.el:
50674 * test/automated/advice-tests.el:
50675 * test/automated/package-test.el:
50676 * test/automated/pcase-tests.el:
50677 * test/automated/regexp-tests.el:
50678 * test/automated/seq-tests.el:
50679 * test/automated/subr-x-tests.el:
50680 * test/automated/tabulated-list-test.el:
50681 * test/automated/thunk-tests.el:
50682 * test/automated/timer-tests.el:
50683 * test/automated/epg-tests.el:
50684 * test/automated/eshell.el:
50685 * test/automated/faces-tests.el:
50686 * test/automated/file-notify-tests.el:
50687 * test/automated/auth-source-tests.el:
50688 * test/automated/gnus-tests.el:
50689 * test/automated/message-mode-tests.el:
50690 * test/automated/help-fns.el:
50691 * test/automated/imenu-test.el:
50692 * test/automated/info-xref.el:
50693 * test/automated/mule-util.el:
50694 * test/automated/isearch-tests.el:
50695 * test/automated/json-tests.el:
50696 * test/automated/bytecomp-tests.el:
50697 * test/automated/coding-tests.el:
50698 * test/automated/core-elisp-tests.el:
50699 * test/automated/decoder-tests.el:
50700 * test/automated/files.el:
50701 * test/automated/font-parse-tests.el:
50702 * test/automated/lexbind-tests.el:
50703 * test/automated/occur-tests.el:
50704 * test/automated/process-tests.el:
50705 * test/automated/syntax-tests.el:
50706 * test/automated/textprop-tests.el:
50707 * test/automated/undo-tests.el:
50708 * test/automated/man-tests.el:
50709 * test/automated/completion-tests.el:
50710 * test/automated/dbus-tests.el:
50711 * test/automated/newsticker-tests.el:
50712 * test/automated/sasl-scram-rfc-tests.el:
50713 * test/automated/tramp-tests.el:
50714 * test/automated/obarray-tests.el:
50715 * test/automated/compile-tests.el:
50716 * test/automated/elisp-mode-tests.el:
50717 * test/automated/f90.el:
50718 * test/automated/flymake-tests.el:
50719 * test/automated/python-tests.el:
50720 * test/automated/ruby-mode-tests.el:
50721 * test/automated/subword-tests.el:
50722 * test/automated/replace-tests.el:
50723 * test/automated/simple-test.el:
50724 * test/automated/sort-tests.el:
50725 * test/automated/subr-tests.el:
50726 * test/automated/reftex-tests.el:
50727 * test/automated/sgml-mode-tests.el:
50728 * test/automated/tildify-tests.el:
50729 * test/automated/thingatpt.el:
50730 * test/automated/url-future-tests.el:
50731 * test/automated/url-util-tests.el:
50732 * test/automated/add-log-tests.el:
50733 * test/automated/vc-bzr.el:
50734 * test/automated/vc-tests.el:
50735 * test/automated/xml-parse-tests.el:
50736 * test/BidiCharacterTest.txt:
50737 * test/biditest.el:
50738 * test/cedet/cedet-utests.el:
50739 * test/cedet/ede-tests.el:
50740 * test/cedet/semantic-ia-utest.el:
50741 * test/cedet/semantic-tests.el:
50742 * test/cedet/semantic-utest-c.el:
50743 * test/cedet/semantic-utest.el:
50744 * test/cedet/srecode-tests.el:
50745 * test/cedet/tests/test.c:
50746 * test/cedet/tests/test.el:
50747 * test/cedet/tests/test.make:
50748 * test/cedet/tests/testdoublens.cpp:
50749 * test/cedet/tests/testdoublens.hpp:
50750 * test/cedet/tests/testfriends.cpp:
50751 * test/cedet/tests/testjavacomp.java:
50752 * test/cedet/tests/testnsp.cpp:
50753 * test/cedet/tests/testpolymorph.cpp:
50754 * test/cedet/tests/testspp.c:
50755 * test/cedet/tests/testsppcomplete.c:
50756 * test/cedet/tests/testsppreplace.c:
50757 * test/cedet/tests/testsppreplaced.c:
50758 * test/cedet/tests/testsubclass.cpp:
50759 * test/cedet/tests/testsubclass.hh:
50760 * test/cedet/tests/testtypedefs.cpp:
50761 * test/cedet/tests/testvarnames.c:
50762 * test/etags/CTAGS.good:
50763 * test/etags/ETAGS.good_1:
50764 * test/etags/ETAGS.good_2:
50765 * test/etags/ETAGS.good_3:
50766 * test/etags/ETAGS.good_4:
50767 * test/etags/ETAGS.good_5:
50768 * test/etags/ETAGS.good_6:
50769 * test/etags/a-src/empty.zz:
50770 * test/etags/a-src/empty.zz.gz:
50771 * test/etags/ada-src/2ataspri.adb:
50772 * test/etags/ada-src/2ataspri.ads:
50773 * test/etags/ada-src/etags-test-for.ada:
50774 * test/etags/ada-src/waroquiers.ada:
50775 * test/etags/c-src/a/b/b.c:
50776 * test/etags/c-src/abbrev.c:
50777 * test/etags/c-src/c.c:
50778 * test/etags/c-src/dostorture.c:
50779 * test/etags/c-src/emacs/src/gmalloc.c:
50780 * test/etags/c-src/emacs/src/keyboard.c:
50781 * test/etags/c-src/emacs/src/lisp.h:
50782 * test/etags/c-src/emacs/src/regex.h:
50783 * test/etags/c-src/etags.c:
50784 * test/etags/c-src/exit.c:
50785 * test/etags/c-src/exit.strange_suffix:
50786 * test/etags/c-src/fail.c:
50787 * test/etags/c-src/getopt.h:
50788 * test/etags/c-src/h.h:
50789 * test/etags/c-src/machsyscalls.c:
50790 * test/etags/c-src/machsyscalls.h:
50791 * test/etags/c-src/sysdep.h:
50792 * test/etags/c-src/tab.c:
50793 * test/etags/c-src/torture.c:
50794 * test/etags/cp-src/MDiagArray2.h:
50795 * test/etags/cp-src/Range.h:
50796 * test/etags/cp-src/burton.cpp:
50797 * test/etags/cp-src/c.C:
50798 * test/etags/cp-src/clheir.cpp.gz:
50799 * test/etags/cp-src/clheir.hpp:
50800 * test/etags/cp-src/conway.cpp:
50801 * test/etags/cp-src/conway.hpp:
50802 * test/etags/cp-src/fail.C:
50803 * test/etags/cp-src/functions.cpp:
50804 * test/etags/cp-src/screen.cpp:
50805 * test/etags/cp-src/screen.hpp:
50806 * test/etags/cp-src/x.cc:
50807 * test/etags/el-src/TAGTEST.EL:
50808 * test/etags/el-src/emacs/lisp/progmodes/etags.el:
50809 * test/etags/erl-src/gs_dialog.erl:
50810 * test/etags/f-src/entry.for:
50811 * test/etags/f-src/entry.strange.gz:
50812 * test/etags/f-src/entry.strange_suffix:
50813 * test/etags/forth-src/test-forth.fth:
50814 * test/etags/html-src/algrthms.html:
50815 * test/etags/html-src/index.shtml:
50816 * test/etags/html-src/software.html:
50817 * test/etags/html-src/softwarelibero.html:
50818 * test/etags/lua-src/allegro.lua:
50819 * test/etags/objc-src/PackInsp.h:
50820 * test/etags/objc-src/PackInsp.m:
50821 * test/etags/objc-src/Subprocess.h:
50822 * test/etags/objc-src/Subprocess.m:
50823 * test/etags/objcpp-src/SimpleCalc.H:
50824 * test/etags/objcpp-src/SimpleCalc.M:
50825 * test/etags/pas-src/common.pas:
50826 * test/etags/perl-src/htlmify-cystic:
50827 * test/etags/perl-src/kai-test.pl:
50828 * test/etags/perl-src/yagrip.pl:
50829 * test/etags/php-src/lce_functions.php:
50830 * test/etags/php-src/ptest.php:
50831 * test/etags/php-src/sendmail.php:
50832 * test/etags/prol-src/natded.prolog:
50833 * test/etags/prol-src/ordsets.prolog:
50834 * test/etags/ps-src/rfc1245.ps:
50835 * test/etags/pyt-src/server.py:
50836 * test/etags/tex-src/gzip.texi:
50837 * test/etags/tex-src/nonewline.tex:
50838 * test/etags/tex-src/testenv.tex:
50839 * test/etags/tex-src/texinfo.tex:
50840 * test/etags/y-src/atest.y:
50841 * test/etags/y-src/cccp.c:
50842 * test/etags/y-src/cccp.y:
50843 * test/etags/y-src/parse.c:
50844 * test/etags/y-src/parse.y:
50845 * test/indent/css-mode.css:
50846 * test/indent/js-indent-init-dynamic.js:
50847 * test/indent/js-indent-init-t.js:
50848 * test/indent/js-jsx.js:
50849 * test/indent/js.js:
50850 * test/indent/latex-mode.tex:
50851 * test/indent/modula2.mod:
50852 * test/indent/nxml.xml:
50853 * test/indent/octave.m:
50854 * test/indent/pascal.pas:
50855 * test/indent/perl.perl:
50856 * test/indent/prolog.prolog:
50857 * test/indent/ps-mode.ps:
50858 * test/indent/ruby.rb:
50859 * test/indent/scheme.scm:
50860 * test/indent/scss-mode.scss:
50861 * test/indent/sgml-mode-attribute.html:
50862 * test/indent/shell.rc:
50863 * test/indent/shell.sh:
50864 * test/redisplay-testsuite.el:
50866 * test/automated/buffer-tests.el:
50867 * test/automated/cmds-tests.el:
50868 * test/automated/data-tests.el:
50869 * test/automated/finalizer-tests.el:
50870 * test/automated/fns-tests.el:
50871 * test/automated/inotify-test.el:
50872 * test/automated/keymap-tests.el:
50873 * test/automated/print-tests.el:
50874 * test/automated/libxml-tests.el:
50875 * test/automated/zlib-tests.el: Files Moved.
50877 2015-11-21 Wilson Snyder <wsnyder@wsnyder.org>
50879 verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
50881 * lisp/progmodes/verilog-mode.el
50882 (verilog-save-font-no-change-functions): Commentary and fix
50883 pre-Emacs 21 behavior.
50885 2015-11-20 Michael Albinus <michael.albinus@gmx.de>
50887 Rework file notifications, kqueue has problems with directory monitors
50889 * lisp/filenotify.el (file-notify-add-watch): Call the native
50890 add-watch function on the file, not on the dir.
50892 * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
50893 about already deleted entries.
50895 * test/automated/auto-revert-tests.el
50896 (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
50897 since this deletes the target file first.
50899 * test/automated/file-notify-tests.el (file-notify--test-event-test):
50900 Make stronger checks.
50901 (file-notify-test01-add-watch, file-notify-test02-events)
50902 (file-notify-test04-file-validity, file-notify-test05-dir-validity):
50903 Rewrite in order to call file monitors but directory monitors.
50904 (file-notify-test06-many-events): Ler rename work in both directions.
50906 2015-11-19 Przemysław Wojnowski <esperanto@cumego.com>
50908 Use obarray functions from obarray.
50910 * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
50911 abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
50912 clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
50913 delegate to obarray.el functions.
50914 * lisp/loadup.el: load obarray before abbrev
50915 * test/automated/abbrev-tests.el: new tests
50917 2015-11-19 Michael Albinus <michael.albinus@gmx.de>
50919 Continie with pending events
50921 * src/kqueue.c (pending_events): Remove global variable.
50922 (kqueue_compare_dir_list): Create `write' event for not used
50924 (globals_of_kqueue): Remove initialization of pending_events.
50926 2015-11-19 Michael Albinus <michael.albinus@gmx.de>
50928 Improve loops in file-notify-test06-many-events
50930 * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50931 Use `read-event' pauses for the `write-file' loops; otherwise
50932 events are lost in inotify and gfilenotify cases.
50934 2015-11-19 Michael Albinus <michael.albinus@gmx.de>
50936 Handle more complex rename operation in kqueue
50938 * src/kqueue.c (pending_events): New variable.
50939 (kqueue_compare_dir_list): Handle more complex rename operation.
50940 (globals_of_kqueue): Initialize pending_events.
50942 * test/automated/file-notify-tests.el (file-notify-test06-many-events):
50943 Adapt expected events in the `rename-file' case.
50944 (file-notify-test06-many-events-remote): Declare.
50946 2015-11-18 Christian Schwarzgruber <c.schwarzgruber.cs@gmail.com> (tiny change)
50948 epa.el: Add option to replace original text
50950 * lisp/epa.el (epa-replace-original-text): New user option.
50953 2015-11-18 Mark Oteiza <mvoteiza@udel.edu>
50955 Add interactive seek command.
50957 * lisp/mpc.el (mpc-cmd-seekcur): New function.
50958 (mpc-seek-current): New command.
50959 (mpc-mode-menu): Add entry for mpc-seek-current
50960 (mpc-mode-map): Bind mpc-seek-current to "g"
50962 2015-11-18 Mark Oteiza <mvoteiza@udel.edu>
50964 Fix issue where a new tempfile was created every refresh
50966 * lisp/mpc.el (mpc-format): Leave dir as relative path
50968 2015-11-18 Wolfgang Jenkner <wjenkner@inode.at>
50970 New test with a larger number of events.
50972 * test/automated/file-notify-tests.el (file-notify--test-with-events):
50973 Make timeout heuristically depend on the number of events.
50975 (file-notify-test06-many-events): Use it for new test.
50977 2015-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
50979 * lisp/progmodes/cc-defs.el: Use with-silent-modifications
50981 (c-save-buffer-state): Use with-silent-modifications when available.
50982 (c--macroexpand-all): Check macroexpand-all directly rather than
50985 2015-11-18 Stefan Monnier <monnier@iro.umontreal.ca>
50987 * lisp/loadup.el: Set max-lisp-eval-depth here
50989 * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
50990 (BYTE_COMPILE_FLAGS): Adjust accordingly.
50992 2015-11-18 Michael Albinus <michael.albinus@gmx.de>
50994 Further fixes for kqueue.
50996 * lisp/filenotify.el (file-notify-callback): Raise also event if
50997 directory name matches.
50998 (file-notify-add-watch): Add `create' to the flags for `kqueue'.
51000 * src/kqueue.c (kqueue_generate_event): Use watch_object as
51001 argument instead of ident. Remove callback argument. Adapt
51002 callees. Check actions whether they are monitored flags.
51004 * test/automated/file-notify-tests.el (file-notify--test-library):
51006 (file-notify-test00-availability, file-notify-test02-events)
51007 (file-notify-test04-file-validity)
51008 (file-notify-test05-dir-validity): Use it.
51009 (file-notify-test02-events, file-notify-test04-file-validity): Add
51010 `read-event' calls between different file actions, in order to
51011 give the backends a chance to rais an event. Needed especially
51012 for kqueue. In case of deleting a directory, there are two
51015 2015-11-17 João Távora <joaotavora@gmail.com>
51017 Minor fix to comment indentation and typo in last commit
51019 * lisp/linum.el (linum-update-window): Fix comment indentation and
51022 2015-11-17 João Távora <joaotavora@gmail.com>
51024 linum-mode plays more nicely with other margin-setting extensions
51026 linum.el will only modify the left margin if it needs to, and will
51027 only reset the it back to 0 if it guesses that no-one has touched that
51028 margin in the meantime.
51030 As such, this is a more of a workaround than an actual fix, but fixes
51031 the problems described in bug#20674 regarding the interaction with
51032 modes such as darkroom-mode and olivetti-mode.
51034 A similar fix was commited to nlinum.el in ELPA.git's
51035 e7f5f549fbfb740b911fb7f33b42381ecece56d8
51037 * lisp/linum.el (linum-delete-overlays): Restore margins more
51039 (linum-update-window): Set margins more criteriously.
51041 2015-11-17 Michael Albinus <michael.albinus@gmx.de>
51043 Code cleanup of kqueue.c
51045 * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
51046 (kqueue_compare_dir_list): Do not loop when calling
51047 directory_files_internal. Remove checks for "." and "..", this is
51048 done in kqueue_directory_listing now.
51049 (Fkqueue_add_watch): Check for proper emacs_open flags.
51051 2015-11-16 Daiki Ueno <ueno@gnu.org>
51053 * lisp/image-mode.el: Support encrypted file
51055 (image-toggle-display-image): Read content from the buffer instead
51056 of the file, if the buffer holds a decrypted data. (Bug#21870)
51058 2015-11-16 Michael Albinus <michael.albinus@gmx.de>
51060 Doc changes for kqueue
51062 * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
51063 Fix some glitches in the example.
51065 2015-11-16 Michael Albinus <michael.albinus@gmx.de>
51067 Finish implementation in kqueue.c
51069 * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
51070 Simplify access to list.
51071 (kqueue_compare_dir_list): Simplify access to list. Raise
51072 `delete' event if directory does not exist any longer. Otherwise,
51073 wait until directory contents has changed. Fix error in check.
51075 2015-11-15 Michael Albinus <michael.albinus@gmx.de>
51077 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
51079 2015-11-15 Juanma Barranquero <lekktu@gmail.com>
51081 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
51083 2015-11-15 Artur Malabarba <bruce.connor.am@gmail.com>
51085 * lisp/emacs-lisp/package.el: Fix a decoding issue
51087 (package--with-response-buffer): Use `url-insert-buffer-contents'.
51088 The previous code had some issues with decoding. Refactoring that
51089 function allows us to use the decoding from url-handlers while still
51090 treating both sync and async requests the same.
51092 * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
51093 `url-insert-buffer-contents'.
51094 (url-insert-buffer-contents): New function
51096 2015-11-15 Artur Malabarba <bruce.connor.am@gmail.com>
51098 * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
51100 (package--with-work-buffer-async): Reimplement as
51101 `package--with-response-buffer'.
51102 (package--with-work-buffer): Mark obsolete.
51103 (package--with-response-buffer): New macro. This is a more self
51104 contained and less contrived version of
51105 `package--with-work-buffer-async'. It uses keyword arguments,
51106 doesn't have async on the name, doesn't fallback on
51107 `package--with-work-buffer', and has _much_ simpler error
51110 (package--check-signature, package--download-one-archive)
51111 (package-install-from-archive, describe-package-1): Use it.
51113 (package--download-and-read-archives): Let
51114 `package--download-one-archive' take care of calling
51115 `package--update-downloads-in-progress'.
51117 2015-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
51119 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
51121 (verilog-save-buffer-state): Use with-silent-modifications when available.
51122 (verilog-save-font-no-change-functions): Don't bind
51123 before/after-change-functions if it's not needed.
51125 2015-11-15 Michael Albinus <michael.albinus@gmx.de>
51127 More work on kqueue
51129 * lisp/filenotify.el (file-notify-callback): Handle also the
51130 `rename' event from kqueue.
51131 (file-notify-add-watch): Do not register an entry twice.
51133 * src/kqueue.c (kqueue_directory_listing): New function.
51134 (kqueue_generate_event): New argument FILE1. Adapt callees.
51135 (kqueue_compare_dir_list): Rewrite in order to make it more robust.
51137 2015-11-14 Xue Fuqiao <xfq.free@gmail.com>
51139 * CONTRIBUTE: Remove information about feature freeze.
51141 Merge branch 'release-process-lowercase'
51143 2015-11-14 Xue Fuqiao <xfq.free@gmail.com>
51145 Document the release process
51147 * admin/notes/versioning: Add information about RC releases.
51148 * admin/release-process: Document the release process.
51149 * admin/authors.el (authors-ignored-files):
51150 * admin/README: Change FOR-RELEASE to release-process.
51152 * admin/notes/bugtracker: Don't mention FOR-RELEASE.
51154 2015-11-14 Xue Fuqiao <xfq.free@gmail.com>
51156 * admin/release-process: Rename from admin/FOR-RELEASE.
51158 2015-11-14 David Engster <deng@randomsample.de>
51160 gitmerge: Fix git log command
51162 * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
51163 only want commits from the branch that is to be merged.
51164 (gitmerge-setup-log-buffer): Use the same symmetric range as in
51165 `gitmerge-missing'.
51167 2015-11-14 David Engster <deng@randomsample.de>
51169 gitmerge: Try to detect cherry-picks
51171 * admin/gitmerge.el (gitmerge-default-branch): Change to
51173 (gitmerge-missing): Use symmetric difference ('...') between
51174 branch and master so that cherry-picks can be detected.
51176 2015-11-14 Michael Albinus <michael.albinus@gmx.de>
51178 Implement directory events
51180 * lisp/filenotify.el (file-notify-handle-event)
51181 (file-notify-callback): Remove traces.
51183 * src/kqueue.c: Include <sys/time.h>.
51184 (kqueue_generate_event, kqueue_compare_dir_list): New functions.
51185 (kqueue_callback): Use them. Call kevent() with a zero timeout.
51186 (Fkqueue_add_watch): Adapt docstring. Support directory events.
51187 Compute initial directory listing. Close file descriptor in case
51189 (syms_of_kqueue): Declare Qcreate.
51191 2015-11-14 Eli Zaretskii <eliz@gnu.org>
51193 Increment Emacs version on master branch
51195 * lisp/cus-edit.el (customize-changed-options-previous-release):
51196 Increase previous version to 24.5.
51199 * msdos/sed2v2.inp: Bump version to 25.1.50.
51201 2015-11-13 Xue Fuqiao <xfq.free@gmail.com>
51203 Mention CONTRIBUTE in README
51205 Mention CONTRIBUTE in README, since it was moved from etc/ to root.
51206 * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
51207 * README: Mention CONTRIBUTE.
51209 2015-11-13 Wilson Snyder <wsnyder@wsnyder.org>
51211 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
51213 * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
51214 (verilog-modi-cache-results, verilog-save-buffer-state)
51215 (verilog-save-font-no-change-functions): When internally suppressing change
51216 functions, use `inhibit-modification-hooks' and call
51217 `after-change-funtions' to more nicely work with user hooks. Reported by
51220 (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
51221 Create `verilog-delete-auto-buffer' to avoid double-calling
51222 fontification hooks.
51224 (verilog-restore-buffer-modified-p, verilog-auto)
51225 (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
51226 set-buffer-modified-p. Reported by Stefan Monnier.
51228 (verilog-diff-auto, verilog-diff-buffers-p)
51229 (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
51231 (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
51232 AUTOINST with unpacked dimensional parameters, bug981. Reported by
51233 by Amol Nagapurkar.
51235 (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
51236 properties inside internal structures. No functional change
51239 2015-11-11 Wolfgang Jenkner <wjenkner@inode.at>
51241 Build fixes for kqueue support.
51243 * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
51246 * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
51249 2015-11-11 Michael Albinus <michael.albinus@gmx.de>
51251 Continue kqueue implementation
51253 * lisp/filenotify.el (file-notify-handle-event)
51254 (file-notify-callback): Enable trace messages.
51256 * src/kqueue.c: Include also <sys/types.h>.
51257 (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
51258 (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
51259 (syms_of_kqueue): Add them.
51261 2015-11-11 Michael Albinus <michael.albinus@gmx.de>
51265 * lisp/filenotify.el (file-notify--library)
51266 (file-notify-descriptors, file-notify-callback)
51267 (file-notify-add-watch, file-notify-rm-watch)
51268 (file-notify-valid-p): Add kqueue support.
51270 * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
51272 2015-11-11 Michael Albinus <michael.albinus@gmx.de>
51276 * configure.ac (--with-file-notification): Add kqueue.
51277 (top): Remove special test for "${HAVE_NS}" and
51278 ${with_file_notification}, this is handled inside gfilenotify
51279 tests. Add kqueue tests. Use NOTIFY_CFLAGS and NOTIFY_LIBS
51280 instead of library specific variables.
51282 * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
51284 * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
51286 * src/kqueue.c: New file.
51288 * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
51290 This file records repository revisions from
51291 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
51292 commit e8a7c41b4e2dc9df18038d2931ed883946a2bb50 (inclusive).
51293 See ChangeLog.1 for earlier changes.
51295 ;; Local Variables:
51299 Copyright (C) 2015-2017 Free Software Foundation, Inc.
51301 This file is part of GNU Emacs.
51303 GNU Emacs is free software: you can redistribute it and/or modify
51304 it under the terms of the GNU General Public License as published by
51305 the Free Software Foundation, either version 3 of the License, or
51306 (at your option) any later version.
51308 GNU Emacs is distributed in the hope that it will be useful,
51309 but WITHOUT ANY WARRANTY; without even the implied warranty of
51310 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
51311 GNU General Public License for more details.
51313 You should have received a copy of the GNU General Public License
51314 along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.