New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mid-July rollup #227

merged 1,329 commits into from Jul 15, 2017


None yet

birkenfeld commented Jul 14, 2017

No description provided.

Eli-Zaretskii and others added some commits Jun 17, 2017

Improve documentation of replace-buffer-contents
* etc/NEWS (replace-buffer-contents): Fix formatting.

* src/editfns.c (Freplace_buffer_contents): Doc fix.
emacs-module.h: Create emacs_env_26
This was part of the original design of the module
API (,
but I didn't take it into account when adding the should_quit

Instead of duplicating the environment fields or using the C
preprocessor, use configure to build emacs-module.h.

* Expand emacs-module.h template.
Merge from gnulib
This (and my previous patch) incorporate:
2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
2017-06-15 gettext-h: Update comment
* lib/diffseq.h: Copy from gnulib.
Fix emacs-module.h cleaning
* src/ (clean): Do not remove
(bootstrap-clean): Remove emacs-module.h.
Don't try to eval local variables in Gnus article
* lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
Add current-line in simple.el
* lisp/simple.el (current-line): New function.
* test/list/simple-tests.el: Add tests for current-line.
Don't put deleted packages in the trash (bug#14967)
* lisp/emacs-lisp/package.el (package-delete):
Don't pay attention to delete-by-moving-to-trash.

; * etc/NEWS: Mention this.
Avoid a custom-variable-type error (bug#27363)
* lisp/cus-edit.el (custom-variable-type):
Avoid an error due to plist-put becoming stricter of late. try to check for tool being present but broken
* (get_version): Check return status of "--version".
(check_version): Try to distinguish between a missing tool
and a broken one.  (Bug#27288)
kill-matching-buffers to optionally not confirm
* lisp/files.el (kill-matching-buffers):
Add option to not confirm killing.  (Bug#27286)
; * lisp/eshell/em-basic.el: Fix commentary.
This file has never provided any such "version" command.
Bind enable-local-variables to nil globally (fix dbe3e41)
* lisp/gnus/mm-view.el (mm-display-inline-fontify):
Bind enable-local-variables to nil globally instead of making it
buffer-local; remove let-bind of local-enable-local-variables.
cf. <> in the emacs-devel list.
Delete old Date header in a simple way
* lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
when searching the old Date header boundary in order to delete it.
Simplify version checking
* (get_version): Simplify and make more reliable
by using expr rather than echo | sed.  Check exit status of program.
Run program in subshell in case it cannot be executed.
(check_version): Check exit status of command rather than its output.
Check return status of get_version.
Fix crash when built by GNU Gold linker on x86
Problem reported by Andrés Musetti (Bug#27248).
* src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
(emacsFrameClass): Now a function (which initializes the
superclass) instead of a variable.  All uses changed.
Remove `:options' from `css-electric-keys'
* lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
since it just duplicates the default value.
Mark prolog indent variables as safe (bug#27369)
* lisp/progmodes/prolog.el (prolog-indent-width)
(prolog-left-indent-regexp, prolog-paren-indent-p)
(prolog-paren-indent): Add :safe property.
Keep order of completion candidates (Bug#25995, Bug#24676)
* lisp/minibuffer.el (completion-pcm--filename-try-filter)
(completion-pcm--all-completions): Use nreverse to undo the reversing
caused by using push in the loop.
Make gnus-article-date-user work
* lisp/gnus/gnus-art.el (article-date-ut):
Work for unfolded multi-line Date header.
Refactor; add header name if it is missing in user-defined date line.
(article-date-user): Fix name of date type.
Fix temacs hybrid_malloc core dump
Without this patch, ./temacs would dump core sometimes on Fedora
25 x86-64.  The problem was that the hybrid allocator assumed that
all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
assumption is not true on Fedora, because the standard memory
allocator calls gdefault_morecore, which means its blocks are
interleaved with our blocks.  Usually the code happened to work,
because our data structures agreed with the glibc data structures,
but this was merely luck due to a shared pedigree, and as glibc
mutates our luck has run out.
Remove; no longer needed.
(BLOCK): Use unsigned division, as that does the right thing near zero.
(register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
Big blocks now have type -1, not 0, as 0 now means the block is
not ours.
(morecore_nolock): Omit now-unnecessary casts to size_t.
(allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
(hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
avoid calling the wrong free or realloc function in some cases.
Remove malloc_find_address relic
* src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
Omit unnecessary initialization.
Limit insert-file-contents to MAX_ALLOCA
* src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
MAX_ALLOCA bytes in a single stack array.
Limit bidi_find_bracket_pairs to MAX_ALLOCA
* src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
Shrink it to allow for the two struct bidi_it objects in
the same frame.
(PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
(bidi_find_bracket_pairs): Use compile-time check instead of runtime.

Eli-Zaretskii and others added some commits Jul 11, 2017

Use fixed-pitch font for display-line-numbers
* lisp/faces.el (line-number): Use a fixed-pitch font by default,
even if the default face uses a variable-pitch font.  Reported by
James Cloos <>.
Avoid assertion violations in close_infile_unwind
* src/lread.c (close_infile_unwind): A temporary band-aid solution
for bug#27642: allow 'infile' be NULL.
Martin Rudalics
Minor tweaks of new line number display variables
* src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
(Vdisplay_line_number_width): Rename to
(maybe_produce_line_number): Comply with above rename.
* lisp/cus-start.el (standard):
* lisp/frame.el (top-level):
* etc/NEWS: Comply with renaming of
`display-line-number-width' to `display-line-numbers-width'.
Alan Mackenzie
CC Mode: create and use c-set-keymap-parent.
* lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.

* lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
(c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
Make prog-mode-map the parent of c-mode-base-map. Fixes bug #26658.
* lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
c-mode-base-map if possible.
Alan Mackenzie
Fix some bugs in c-defun-name. This fixes bug #25623.
* lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
Vincent Belaïche
Add tests for SES, and fix one more cell renaming bug.
* lisp/ses.el (ses-relocate-all): In case of insertion, do not
relocate value for named cells as they keep the same symbol.
(ses-rename-cell): Set new cell name symbol to cell value --- do not
rely on recalculating.  Push cells with updated data --- cell name,
cell reference list, or cell formula --- to deferred write list.

* test/lisp/ses-tests.el: New file, with 7 tests for SES.
Alan Mackenzie
C++ Mode. Fix anomaly occurring when a ">" is deleted then reinserted.
This fontification anomaly happened because after deleting the ">",
c-forward-<>-arglist parses the preceding identifier as a putative type but
stores it in c-found-types before it becomes clear it is not an unambiguous
type.  c-forward-<>-arglist fails, leaving the spurious type id in
c-found-types.  Fix this by "binding" c-found-types "to itself" in
c-forward-<>-arglist, and restoring the original value when that function call

* lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
(c-forward-<>-arglist): Record the original value of c-found-types at the
beginning of the function, and restore it at the end on failure.

* lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
Merge from gnulib
This incorporates:
2017-07-13 Improve cross-compilation guesses for native Windows
2017-07-11 More systematic m4 quoting and indentation
2017-07-10 Make sure $host and $host_os are defined when used
2017-07-03 stdioext: Port to OpenVMS
2017-06-24 xalloc-oversized: port to icc
* doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
* lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
* m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
* m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
Copy from Gnulib.
Revert "Use fixed-pitch font for display-line-numbers"
This reverts commit d014a5e.
* lisp/faces.el (line-number): Don't use a fixed-pitch font, by
popular demand.  For relevant discussions, see

@birkenfeld birkenfeld force-pushed the rollup-july branch from d8e1f04 to 4f155c1 Jul 14, 2017

This was referenced Jul 14, 2017

@birkenfeld birkenfeld force-pushed the rollup-july branch from 740df3e to f554d6d Jul 14, 2017

@birkenfeld birkenfeld requested a review from Wilfred Jul 14, 2017


This comment has been minimized.


birkenfeld commented Jul 14, 2017

tramp tests on OSX are failing again... I don't remember what we did about that last time...

@birkenfeld birkenfeld force-pushed the rollup-july branch from 0cc29ae to 040ca8f Jul 14, 2017


Wilfred approved these changes Jul 15, 2017 edited

Looks great to me! Thanks for doing this, I saw there was a fiddly conflict that needed resolving.

I know we dropped DOS support in #140, but DOS_NT is used on Windows too, so your preprocessor changes look sensible to me.

@Wilfred Wilfred merged commit 0c22af3 into master Jul 15, 2017

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
continuous-integration/travis-ci/push The Travis CI build passed

@Wilfred Wilfred deleted the rollup-july branch Jul 15, 2017


This comment has been minimized.


birkenfeld commented Jul 15, 2017

Thanks for merging. To be honest, I'm not very happy about the complete DOS support removal, because it makes the upstream<->remacs diff very noisy. I'd just have removed support from anything ported to Rust, and error out once while configuring.

Similarly, the removal of the ChangeLog files is a bit unfortunate since they generate a merge conflict on every rollup (which might be prudent to do more often).


This comment has been minimized.


Wilfred commented Jul 15, 2017

Oh, good points.

At least with the ChangeLog files it's straightforward to resolve the conflicts (just remove them). It didn't occur to me about the pain with DOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment