summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Omit valloc decl if redundantPaul Eggert2016-02-091-4/+7
| | | | | * src/gmalloc.c (valloc): Omit decl if malloc.h is included, to pacify --enable-gcc-warnings.
* Restore the calloc family.Wolfgang Jenkner2016-02-092-3/+13
| | | | | | | | | * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions. They were lost in a4817d8 but calloc is still (marginally) used in code statically liked with emacs, so hybrid_calloc is needed. Also, in the non-hybrid case, we can't get rid of calloc anyway as other libraries liked with emacs may need it. * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
* -Paul Eggert2016-02-092-10/+28
|\
| * Minor alignas cleanupPaul Eggert2016-02-091-4/+0
| | | | | | | | | | * src/lisp.h (alignas): Remove now-redundant #ifdef that was left over from the old way of doing things, before Bug#20862 was fixed.
| * Add lmalloc commentary and tweak lalignedPaul Eggert2016-02-091-3/+11
| | | | | | | | | | * src/alloc.c (laligned): Help compiler in a tiny way by putting the more-commonly-failing disjunct first.
| * Increase success rate of fallback lmallocPaul Eggert2016-02-081-4/+18
| | | | | | | | | | | | * src/alloc.c (lmalloc, lrealloc): Reallocate with (typically) larger and larger sizes, to increase the probability that the allocator will return a Lisp-aligned pointer.
* | -Paul Eggert2016-02-092-24/+66
|\|
| * Port to FreeBSD 11-CURRENT i386Paul Eggert2016-02-082-23/+66
| | | | | | | | | | | | | | | | | | | | | | | | Problem reported by Herbert J. Skuhra in: http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00354.html Instead of trying * src/alloc.c (lmalloc, lrealloc, laligned): New functions. (xmalloc, xzalloc, xrealloc, lisp_malloc): Use them. (__alignof__) [!__GNUC__ && !__alignof__]: New macro. (MALLOC_IS_GC_ALIGNED): New macro. * src/lisp.h (NONPOINTER_BITS): Remove. All uses removed. No longer needed now that alloc.c uses lmalloc and lrealloc.
| * src/process.c Correctly convert AF_INET6 addressesDavid Edmondson2016-02-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are converted to a list of 16 bit quantities by conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the same scheme rather than expecting a (longer) list of 8 bit quantities. Backport: (cherry picked from commit 55ce3c30d617c38eb086d5ad4ffbd881c20c559c)
* | Merge from origin/emacs-25Paul Eggert2016-02-093-14/+53
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic 16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu 3db6adb * lisp/isearch.el (search-default-mode) 4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode c77ffc8 Use monitor's resolution for positioning tooltips 49e5749 Fix file-notify-test on MS-Windows be1d874 Fix issues found by auditing w32notify code 87ae218 Extend etags Ruby support for accessors aa35257 Update publicsuffix.txt. 6816bff Ensure that Gnus dribble handling allows removing entries 691feae Be consistent when using encoded strings in nnimap data 3ed423b Display the decoded Gnus group name 5428b5b Use completion-ignore-case instead of defining command
| * Use monitor's resolution for positioning tooltipsOscar Fuentes2016-02-061-12/+49
| | | | | | | | | | | | * src/xfns.c (compute_tip_xy): Use the resolution of the monitor where the mouse pointer is to avoid placing the tooltip over the border of the monitor on multi-head displays. Fixes bug#22549.
| * Fix issues found by auditing w32notify codeEli Zaretskii2016-02-062-2/+4
| | | | | | | | | | | | | | * src/w32inevt.c (handle_file_notifications): Count the number of events to be returned. * src/w32notify.c (send_notifications): Don't copy to the file notification buffer more than it can hold. (Bug#22534)
| * Fix problems caused by new implementation of sub-word modeEli Zaretskii2016-02-051-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (forward-word-strictly, backward-word-strictly): New functions. (word-move-empty-char-table): New variable. * etc/NEWS: Mention 'forward-word-strictly' and 'backward-word-strictly'. * doc/lispref/positions.texi (Word Motion): Document 'find-word-boundary-function-table', 'forward-word-strictly', and 'backward-word-strictly'. (Bug#22560) * src/syntax.c (syms_of_syntax) <find-word-boundary-function-table>: Doc fix. * lisp/wdired.el (wdired-xcase-word): * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name) (texinfo-copy-section-title, texinfo-start-menu-description) (texinfo-copy-menu-title, texinfo-specific-section-type) (texinfo-insert-node-lines, texinfo-copy-next-section-title): * lisp/textmodes/texinfo.el (texinfo-clone-environment) (texinfo-insert-@end): * lisp/textmodes/texinfmt.el (texinfo-format-scan) (texinfo-anchor, texinfo-multitable-widths) (texinfo-multitable-item): * lisp/textmodes/tex-mode.el (latex-env-before-change): * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify): * lisp/skeleton.el (skeleton-insert): * lisp/simple.el (count-words): * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit) (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1) (vhdl-update-sensitivity-list, vhdl-template-block) (vhdl-template-break, vhdl-template-case, vhdl-template-default) (vhdl-template-default-indent, vhdl-template-for-loop) (vhdl-template-if-then-use, vhdl-template-bare-loop) (vhdl-template-nature, vhdl-template-procedural) (vhdl-template-process, vhdl-template-selected-signal-asst) (vhdl-template-type, vhdl-template-variable) (vhdl-template-while-loop, vhdl-beginning-of-block) (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func): * lisp/progmodes/verilog-mode.el (verilog-backward-sexp) (verilog-forward-sexp, verilog-beg-of-statement) (verilog-set-auto-endcomments, verilog-backward-token) (verilog-do-indent): * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax) (vera-indent-block-closing): * lisp/progmodes/simula.el (simula-context) (simula-backward-up-level, simula-forward-down-level) (simula-previous-statement, simula-next-statement) (simula-skip-comment-backward, simula-calculate-indent) (simula-find-if, simula-electric-keyword): * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p): * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p) (ruby-smie--forward-token, ruby-smie--backward-token) (ruby-singleton-class-p, ruby-calculate-indent) (ruby-forward-sexp, ruby-backward-sexp): * lisp/progmodes/ps-mode.el (ps-run-goto-error): * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function) (perl-syntax-propertize-special-constructs) (perl-backward-to-start-of-continued-exp): * lisp/progmodes/pascal.el (pascal-indent-declaration): * lisp/progmodes/octave.el (octave-function-file-p): * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax): * lisp/progmodes/js.el (js--forward-function-decl): * lisp/progmodes/idlwave.el (idlwave-show-begin-check) (idlwave-beginning-of-block, idlwave-end-of-block) (idlwave-block-jump-out, idlwave-determine-class): * lisp/progmodes/icon.el (icon-is-continuation-line) (icon-backward-to-start-of-continued-exp, end-of-icon-defun): * lisp/progmodes/hideif.el (hide-ifdef-define): * lisp/progmodes/f90.el (f90-change-keywords): * lisp/progmodes/cperl-mode.el (cperl-electric-pod) (cperl-linefeed, cperl-electric-terminator) (cperl-find-pods-heres, cperl-fix-line-spacing) (cperl-invert-if-unless): * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): * lisp/progmodes/cc-align.el (c-lineup-java-inher): * lisp/progmodes/ada-mode.el (ada-compile-goto-error) (ada-adjust-case-skeleton, ada-create-case-exception) (ada-create-case-exception-substring) (ada-case-read-exceptions-from-file, ada-after-keyword-p) (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end) (ada-get-indent-if, ada-get-indent-block-start) (ada-get-indent-loop, ada-get-indent-type) (ada-search-prev-end-stmt, ada-check-defun-name) (ada-goto-decl-start, ada-goto-matching-start) (ada-goto-matching-end, ada-looking-at-semi-or) (ada-looking-at-semi-private, ada-in-paramlist-p) (ada-search-ignore-complex-boolean, ada-move-to-start) (ada-move-to-end, ada-which-function, ada-gen-treat-proc): * lisp/net/quickurl.el (quickurl-grab-url): * lisp/mail/sendmail.el (mail-do-fcc): * lisp/mail/rmail.el (rmail-resend): * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias): * lisp/mail/mail-extr.el (mail-extract-address-components): * lisp/json.el (json-read-keyword): * lisp/files.el (insert-directory): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/completion.el (symbol-under-point, symbol-before-point) (symbol-before-point-for-complete, next-cdabbrev) (add-completions-from-c-buffer): * lisp/cedet/semantic/texi.el (semantic-up-context) (semantic-beginning-of-context): * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables): use 'forward-word-strictly' and 'backward-word-strictly' instead of 'forward-word' and 'backward-word'.
* | Avoid aligned_alloc static/extern collisionPaul Eggert2016-02-091-0/+1
| | | | | | | | | | | | | | * src/alloc.c (aligned_alloc): Define to private name when a static function, to avoid collision with lisp.h extern decl. Reported by John Yates in: http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00439.html
* | Allow the image scale to be a floating point numberLars Ingebrigtsen2016-02-091-1/+1
| | | | | | | | | | * src/image.c (compute_image_size): The scale can be a floating point number.
* | Automatically scale images up on high-density screensLars Ingebrigtsen2016-02-081-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/display.texi (ImageMagick Images): Mention :scale. (Defining Images): Mention image-scaling-factor. * lisp/image.el (image-compute-scaling-factor): New function (bug#22172). (create-image): Use it. (image-scaling-factor): New variable. * src/image.c (compute_image_size): Take :scale into account.
* | Port to FreeBSD x86Paul Eggert2016-02-071-2/+3
| | | | | | | | | | | | | | Reported by Herbert J. Skuhra in: http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00336.html * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too, since malloc always returns a multiple of 8 in FreeBSD.
* | src/process.c Correctly convert AF_INET6 addressesDavid Edmondson2016-02-071-1/+1
| | | | | | | | | | | | | | | | * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are converted to a list of 16 bit quantities by conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the same scheme rather than expecting a (longer) list of 8 bit quantities.
* | Omit XLI (init) == 0 optimization in make-vectorPaul Eggert2016-02-051-7/+2
| | | | | | | | | | | | | | | | | | * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init) == 0) case, as this optimization is probably not worth the hassle. Just for the record, the test for that case could have been (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!), assuming the typical platform with no padding bits and where conversion to int omits the most significant bits.
* | Prefer memcpy and memset to doing it by handPaul Eggert2016-02-043-29/+17
| | | | | | | | | | | | | | | | | | * src/alloc.c (Fmake_vector): * src/ccl.c (setup_ccl_program): Use memset to clear array. * src/alloc.c (Fvector, Fmake_byte_code): * src/charset.c (Fdefine_charset_internal): Use memcpy to copy array.
* | Simplify USE_ALIGNED_ALLOCPaul Eggert2016-02-041-14/+5
| | | | | | | | | | * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged in the emacs-25 changes. Omit no-longer-needed decl for aligned_alloc.
* | Merge from origin/emacs-25John Wiegley2016-02-037-13/+37
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ee73997 Make erc work better when encountering unknown prefix chars b99141d Make erc completion case-insensitive again 66c4620 Make complection in erc use consistent casing 8c562b2 Make /QUIT in erc more robust d93d2c5 Make tracking faces in Emacs work more reliably af6ab7e Make shr not bug out on images on non-graphical displays 3311f40 Fix bookmark display widths d90ab1e Fix typo in eww-make-unique-file-name 7f81825 Make it possible to TAB to input fields a43a1dc Insert complete alt texts when images are disabled 56ed4e1 Allow eww text fields to grow 66b315c Make erc work when subword-mode is switched on 255b68f Fix IMAP doc example 91557f5 Quoting fixes in doc strings and diagnostics 2c0dc9f Fix warning message in hack-local-variables 504696d Etags: yet another improvement in Ruby tags 8784ebf Fix x-popup-menu on TTYs without a mouse 8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the pcase macro 6191003 Use pop-to-buffer-same-window in eww fe321fd * autogen.sh: Revert all recent changes. 74ebd4a * make-dist: Updates related to nt/. 737193a * make-dist: Add modules/. 3696bf2 * make-dist: Update for super-special file that can't live in etc/. a4278e2 Fix failure to compile ns-win.el in parallel builds 860da4d Fix names of tags generated for Ruby accessors f6213ce Fix file-name recognition in 'etags' e42e662 Change Ruby file names and extensions recognized by 'etags' 58bfb6a More improvements for Ruby support in 'etags' c04e911 Add --git-config option to autogen.sh 5713466 Fix editing undo changes in eww fields 51362d6 Allow the user more control of popping up the eww window ee0fbd8 Make eww-browse-url with new-window parameter work again 9c3142d Clean up eww code slightly cb035f3 Don't insert nil faces in shr 4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary. 93f2153 Improve the custom type of some user options. 9f60d7e Mark some risky calendar variables. 1d07dcd Highlight two additional SCSS keywords ee8b466 Recommend enabling integrity-checking in git e639e10 Some corrections in Elisp manual d766ca8 Chatter when autogen.sh changes Git configuration 3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399) 43cb9f8 Omit unnecessary history from Lisp intro 2fbd1da * etc/HISTORY: Add some more history, plus git tags. c90e1b4 Improve elisp “Security Considerations” doc cedd7ca autogen.sh now arranges for git to check hashes 86ce76b ; Fix ChangeLog.2 commit ID. 7b1d2b1 Fix (c & 040) typo in emergency escapes a8273da Fix display of overlay strings with 'display' and 'box' property fc48106 Fix imap-starttls-open cdecbed Fix return value of imap-starttls-open 20c7e34 ; * etc/NEWS: Fix renamed command name 98bdbdb Correct reference to DARWIN_OS preprocessor symbol b250d29 Spelling fix b920a0e Spelling fixes 93b144b Pacify GCC on C library without glibc API
| * Fix x-popup-menu on TTYs without a mouseEli Zaretskii2016-02-031-0/+3
| | | | | | | | | | * src/menu.c (Fx_popup_menu): Be sure to initialize 'x' and 'y' for the TTY case without a mouse. (Bug#22538)
| * Fix failure to compile ns-win.el in parallel buildsEli Zaretskii2016-02-021-0/+5
| | | | | | | | | | | | * src/Makefile.in ($(lispsource)/term/ns-win.elc): Add order-only dependency on $(lispsource)/international/charprop.el. (Bug#22501)
| * Some corrections in Elisp manualMartin Rudalics2016-02-011-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/buffers.texi (Read Only Buffers): Describe optional argument POSITION. * doc/lispref/debugging.texi (Error Debugging): `debug-on-signal' is an option. * doc/lispref/display.texi (Refresh Screen): Describe optional argument FRAME of `redraw-frame'. (Attribute Functions): Describe optional argument CHARACTER of `face-font'. (Defining Images): `image-load-path' is an option. (Beeping): `ring-bell-function' is an option. * doc/lispref/frames.texi (Size and Position): The PIXELWISE argument of `set-frame-size' is optional. (Raising and Lowering): The TERMINAL argument of `tty-top-frame' is optional. * doc/lispref/keymaps.texi (Controlling Active Maps): Fix doc of `set-transient-map'. * doc/lispref/minibuf.texi (Text from Minibuffer): `read-regexp-defaults-function' is an option. (Minibuffer Contents): `delete-minibuffer-contents' is a command. * doc/lispref/modes.texi (Mode Line Variables): `mode-line-position' and `mode-line-modes' are variables, not options. * doc/lispref/strings.texi (Creating Strings): The START argument of `substring' is optional. * doc/lispref/text.texi (Buffer Contents): Describe optional argument NO-PROPERTIES of `thing-at-point'. (User-Level Deletion): Both arguments of `delete-trailing-whitespace' are optional. (Margins): Use @key{RET} instead of @kbd{RET}. * doc/lispref/windows.texi (Display Action Functions): Write non-@code{nil} instead of non-nil. (Choosing Window Options): The WINDOW arg of `split-window-sensibly' is optional. (Choosing Window Options): Write non-@code{nil} instead of non-nil. (Window Start and End): Both args of `window-group-end' are optional. * src/buffer.c (Fbarf_if_buffer_read_only): Rename argument POS to POSITION to keep consisteny with doc-string.
| * Fix (c & 040) typo in emergency escapesPaul Eggert2016-01-311-2/+2
| | | | | | | | | | | | | | * src/keyboard.c (handle_interrupt): Fix recently-introduced typo (040 should have been ~040) that silently suppressed auto-saves after emergency escapes. Redo comparison to avoid similar problems.
| * Fix display of overlay strings with 'display' and 'box' propertyEli Zaretskii2016-01-311-2/+11
| | | | | | | | | | | | * src/xdisp.c (get_next_display_element): Take the box face from display stack level that comes from a buffer, not an overlay string. (Bug#22499)
| * Correct reference to DARWIN_OS preprocessor symbolJohn Wiegley2016-01-301-1/+1
| | | | | | | | | | * src/alloc.c: Correct a preprocessor reference to DARWIN_OS, which may not be defined.
| * Spelling fixPaul Eggert2016-01-301-1/+1
| |
| * Pacify GCC on C library without glibc APIPaul Eggert2016-01-301-3/+6
| | | | | | | | | | | | | | | | | | | | Without this change, with --enable-gcc-warnings GCC would complain “error: redundant redeclaration of ‘aligned_alloc’”. * configure.ac: Simplify aligned_alloc testing. * src/alloc.c (aligned_alloc): Don’t use if DARWIN_OS, since the simplified configure.ac no longer checks for that. Don’t declare if HAVE_ALIGNED_ALLOC. Correct misspelling of HAVE_ALIGNED_ALLOC in ifdef.
* | Merge from origin/emacs-25John Wiegley2016-02-031-1/+11
|\| | | | | | | | | | | | | | | | | | | | | | | | | ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower priority of non-free Chrome. 0fac75f Improve the custom type of some user options. 2df0e04 Highlight CSS variables with variable name face 3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not user-serviceable. 2a5233c Mark some user options that can get evalled as risky. 39b166f Disable DebPrint in sys_read on MS-Windows 9fd0189 ;Fix ChangeLog entry 4bb7233 Fix typos in Introduction to Emacs Lisp manual
| * Disable DebPrint in sys_read on MS-WindowsEli Zaretskii2016-01-301-1/+11
| | | | | | | | | | * src/w32.c (sys_read): Disable a debugging print that is normal when non-blocking reads are retried.
* | Mention context when resume from emergency escapePaul Eggert2016-02-031-0/+3
| | | | | | | | | | | | | | | | That way, if the user has been doing something else for a while, they are reminded of the situation when restarting Emacs, and are more likely to understand the two questions. * doc/emacs/trouble.texi (Emergency Escape): Document this. * src/keyboard.c (handle_interrupt): Implement this.
* | ; Fix last aligned_alloc declaration changeKen Brown2016-02-031-1/+1
| |
* | Port aligned_alloc decl to Cygwin.Paul Eggert2016-02-031-3/+2
| | | | | | | | | | | | Problem reported by Ken Brown (Bug#22522#38). * configure.ac (aligned_alloc): Check for decl too. * src/lisp.h (aligned_alloc): Declare if not already declared.
* | Port better to platforms lacking aligned_allocPaul Eggert2016-02-021-1/+4
| | | | | | | | | | | | Problem reported by Ken Brown (Bug#22522). * src/lisp.h (hybrid_aligned_alloc) [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
* | Port malloc.h hygiene fix to LTOPaul Eggert2016-02-021-1/+3
| | | | | | | | | | * src/alloc.c (__malloc_initialize_hook): Make it externally visible (Bug#22522).
* | Double static heap size.Paul Eggert2016-02-011-2/+2
| | | | | | | | | | * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too small on FreeBSD (Bug#22086).
* | Port new hybrid malloc to FreeBSDPaul Eggert2016-01-311-4/+7
| | | | | | | | | | | | Problem reported by Wolfgang Jenkner in: http://bugs.gnu.org/22086#118 * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook) (__morecore) [HYBRID_MALLOC]: Define in this case too.
* | Spelling fixesPaul Eggert2016-01-301-3/+3
| |
* | Port recent my_edata change to MS-WindowsPaul Eggert2016-01-301-2/+2
| | | | | | | | * src/lastfile.c (my_edata): Also define if WINDOWSNT.
* | Shrink static heap a bitPaul Eggert2016-01-301-5/+5
| | | | | | | | | | | | | | | | * src/sheap.h: Include lisp.h, for Lisp_Object. (STATIC_HEAP_SIZE): Now an enum constant, not a macro. Make it 2 MiB * sizeof (Lisp_Object), which is a bit more conservative than the old value. (Bug#22086)
* | Fix extern symbols defined and not usedPaul Eggert2016-01-305-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | * src/alloc.c: Always include <signal.h>. (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]: Do not define; unused. * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static. * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore, to avoid collision with glibc. Now static. All uses changed. * src/lastfile.c (my_edata): Define only if ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS). (Bug#22086)
* | Build lib/e-*.o only on platforms that need itPaul Eggert2016-01-304-21/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (hybrid malloc): Simplify configuration. (SHEAP_OBJ): Remove; no longer needed. (HYBRID_MALLOC): New var. Subst it. (HYBRID_MALLOC_LIB): New Automake conditional. * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if HYBRID_MALLOC_LIB. (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed. (MOSTLYCLEANFILES): Add libegnu.a. * src/Makefile.in (SHEAP_OBJ): Remove. (HYBRID_MALLOC): New macro. (base_obj): Use it to conditionally add sheap.o. (LIBEGNU_ARCHIVE): New macro. ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a. All uses of the latter replaced by the former. * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration. Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC. * src/gmalloc.c: Update comment. * src/lisp.h (aligned_alloc) [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]: New decl. (Bug#22086)
* | Include <malloc.h> when advisablePaul Eggert2016-01-307-118/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should help insulate us better from future glibc changes. It is good hygiene to include .h files for APIs that Emacs uses. Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086). * configure.ac: Check for malloc.h. * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H, not on DOUG_LEA_MALLOC. * src/emacs.c, src/gmalloc.c (malloc_enable_thread): Remove decl (now in lisp.h). * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t. [emacs]: Include lisp.h. [HAVE_MALLOC_H]: Include <malloc.h>. (__MALLOC_HOOK_VOLATILE): New macro, if not already defined. (__after_morecore_hook, __malloc_initialize_hook, __morecore) (__default_morecore): [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>. (calloc): Make it clear that the macro should not be used. Remove unused decl. (malloc_info): New macro, to avoid clash with glibc <malloc.h>. (__morecore, __default_morecore, __after_morecore_hook) (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook) (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings): Remove later decls. (gmalloc_hook, gfree_hook, grealloc_hook): Rename from __malloc_hook, __free_hook, __realloc_hook to avoid type collision with glibc <malloc.h>. All uses changed. (gmalloc_hook): (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]: Now static. (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC]. (__malloc_initialize_hook, __after_morecore_hook): Declare with types compatible with glibc. (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]: Remove. All uses removed. * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls. * src/ralloc.c, src/vm-limit.c: Simplify includes and include <malloc.h> if available.
* | * src/alloc.c: Include "sheap.h".Paul Eggert2016-01-304-29/+25
| | | | | | | | | | | | | | | | | | | | | | (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]: Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin. * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]: Declare unconditionally. * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl. (unexec): Don’t set or clear bss_sbrk_did_unexec; the caller now does this. (Bug#22086)
* | Pacify --enable-gcc-warnings when HYBRID_MALLOCPaul Eggert2016-01-309-120/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/buffer.c (init_buffer): * src/emacs.c (main): * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize): Use emacs_get_current_dir_name, not get_current_dir_name. * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro. (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove. * src/emacs.c: Include "sheap.h". (report_sheap_usage): Remove decl. (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly. Don't assume ptrdiff_t can be printed as int. * src/gmalloc.c [HYBRID_MALLOC]: Include "sheap.h" rather than declaring its contents by hand. (get_current_dir_name, gget_current_dir_name) (hybrid_get_current_dir_name): Remove. (emacs_abort): Remove duplicate decl. (aligned_alloc): Undef, like malloc etc. (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro. Make it a bit more efficient. (malloc_find_object_address): Remove unused decl. (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats) (mstats, memory_warnings): Declare only if GC_MCHECK. * src/lisp.h (emacs_get_current_dir_name): New decl, replacing get_current_dir_name. * src/sheap.c: Include sheap.h first. (STATIC_HEAP_SIZE): Remove; now in sheap.h. (debug_sheap): Now static. (bss_sbrk_buffer_end): Remove; no longer used. (bss_sbrk_ptr): Now static and private. (bss_sbrk_did_unexec): Now bool. (BLOCKSIZE): Remove, to avoid GCC warning about its not being used. (bss_sbrk): Don't treat request_size 0 as special, since the code works without this being a special case. Avoid overflow if request size exceeds INT_MAX. (report_sheap_usage): Remove; now done in emacs.c. * src/sheap.h: New file. * src/sysdep.c (get_current_dir_name): Remove macro. Include "sheap.h". (emacs_get_current_dir_name): Rename function from get_current_dir_name. Handle HYBRID_MALLOC here; this is simpler. (Bug#22086)
* | Report static heap usage on non-Cygwin, tooPaul Eggert2016-01-302-4/+5
| | | | | | | | | | | | * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ... * src/unexcw.c (unexec): ... instead of here, since sheap can be used on platforms other than Cygwin (Bug#22086).
* | Pacify GCC on extern declsPaul Eggert2016-01-301-1/+4
| | | | | | | | | | * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level to pacify recent GCC (Bug#22086).
* | Add musl patch to support HYBRID_MALLOC on elf systemsWolfgang Jenkner2016-01-302-3/+7
| | | | | | | | | | | | | | | | | | * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case. (__default_morecore): Here, in particular. * configure.ac: Define HYBRID_MALLOC when unexelf.o is used. New variable SHEAP_OBJ. * src/Makefile.in: Use it. (Bug#22086)