Commits on Jul 24, 2016
  1. @eggert

    ‘signal’ no longer returns

    Although for decades ‘signal’ has been documented to not return,
    a corner case in the Lisp debugger causes ‘signal’ to return.
    Remove the corner case and adjust Emacs internals accordingly.
    An alternative would be to document the corner case, but this
    would complicate the Lisp API unnecessarily.  (Bug#24047)
    * src/eval.c (signal_or_quit): New function, with most of the
    old contents of Fsignal.
    (quit): New function, which uses signal_or_quit and which
    might return.  All keyboard-based callers of Fsignal (Qquit,
    Qnil) changed to use this new function instead.
    (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
    changed.
    (xsignal): Move to lisp.h.
    * src/lisp.h (xsignal): Now an inline function, as it's now
    just an alias for Fsignal.
    eggert committed Jul 24, 2016
  2. @eggert

    Require libgnutls unless --with-gnutls=no

    * configure.ac: Report an error if the gnutls library is missing,
    unless --with-gnutls=no is specified.
    eggert committed Jul 24, 2016
Commits on Jul 23, 2016
  1. Fontify C++ parameter packs.

    This fixes debbugs #23610.
    
    * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
    c-lang-defconsts/defvars.
    (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
    
    * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
    Alan Mackenzie committed Jul 23, 2016
  2. Java Mode: Handle strings as case labels correctly.

    This fixes debbugs #23901.
    
    * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
    Java value.
    Alan Mackenzie committed Jul 23, 2016
Commits on Jul 22, 2016
  1. @kaushalmodi @monnier

    Avoid repeated warnings while restoring desktop

    * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
    when files are being opened during desktop restore.
    kaushalmodi committed with monnier Jul 22, 2016
  2. Fix compilation warning in the MinGW build

    * nt/inc/ms-w32.h: Include stdint.h.
    (_execvp, execve): Provide prototypes.
    
    * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
    it is now in nt/inc/ms-w32.h.
    * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
    mismatch.
    (sys_ctime): Remove, not used.
    Eli Zaretskii committed Jul 22, 2016
  3. @larsmagne

    Move read-multiple-choice to subr-x.el

    * lisp/faces.el (read-multiple-choice-face): Fix doc string.
    
    * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
    from subr.el.
    
    * lisp/gnus/message.el (subr-x): Ditto.
    
    * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
    
    read-multiple-choice doesn't need to be in the dumped Emacs, so move
    it to a less central file.
    larsmagne committed Jul 22, 2016
  4. @calancha

    Update define-ibuffer-op doc string

    * lisp/ibuf-macs.el (define-ibuffer-op):
    Mention that BODY is evaluated with 'buf' bound to the actual
    marked buffer being processed.
    calancha committed Jul 22, 2016
  5. @calancha

    Update define-ibuffer-op doc string

    * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
    instead of refer the reader to the source code.
    Document arg BODY.
    calancha committed Jul 22, 2016
  6. @calancha

    Fix shell-command[-on-region] doc strings

    * lisp/simple.el (shell-command, shell-command-on-region):
    Drop the sentence saying that the command may delete the buffer
    '*Shell Command Output*': the command never delete such
    buffer (Bug#23936).
    calancha committed Jul 22, 2016
Commits on Jul 21, 2016
  1. @holomorph

    ;Revert ";Partially revert 2649105"

    This reverts commit b765164.
    holomorph committed Jul 21, 2016
  2. @holomorph

    ;Partially revert 2649105

    * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
    setq-local to modify prettify-symbols-compose-predicate.
    holomorph committed Jul 21, 2016
  3. @monnier

    * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE

    (struct byte_stack): Re-add `bottom'.
    (exec_byte_code): Initialize it.
    monnier committed Jul 21, 2016
  4. @calancha

    Ibuffer: Use default output buffer for shell commands

    * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
    '*Shell Command Output*', as command 'shell-command-file'.
    calancha committed Jul 21, 2016
  5. @calancha

    Fix failing test

    * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
    Enable Font Lock mode in order to initialize
    'char-property-alias-alist' (Bug#23954).
    calancha committed Jul 21, 2016
  6. @eggert

    Fix use-after-close in connect_network_socket

    * src/process.c (connect_network_socket): Don’t use
    external_sock_fd after closing it.  Problem found by Coverity Scan.
    eggert committed Jul 21, 2016
  7. @yamaoka

    * lisp/net/shr.el (shr-fill-line):

    Preserve text properties in folded lines (bug#24034).
    yamaoka committed Jul 21, 2016
Commits on Jul 20, 2016
  1. @eggert

    Fix lifetime bug in tzlookup

    * src/editfns.c (tzlookup): Fix storage lifetime bug when
    INTEGERP (zone) && settz.  Problem found by Coverity Scan.
    eggert committed Jul 20, 2016
  2. @larsmagne

    Fix shr.el/image build problem

    Fixes: bug#24035
    
    * lisp/net/shr.el: Require image, since some builds seem to
    break without it (bug#24035).
    larsmagne committed Jul 20, 2016
  3. @tzz

    Bring the Gnus Cloud package into working order.

    * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
    
    * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
    simplify non-file data.
    (gnus-cloud-storage-method): New defcustom to support nil, Base64,
    Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
    EPG if that's available, Base64+gzip otherwise.
    (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
    interactive, defaults to enabled.
    (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
    (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
    "Version".
    (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
    (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
    storage methods as per gnus-cloud-storage-method.
    (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
    (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
    entries.
    (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
    file and data handlers.
    (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
    entries.
    (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
    be more careful.
    (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
    (gnus-cloud-file-covered-p, gnus-cloud-all-files)
    (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
    (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
    (gnus-cloud-prune-old-chunks): Fix indentation.
    (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
    timestamp.
    (gnus-cloud-file-new-p): Use it.
    (gnus-cloud-upload-all-data): Add interactive convenience function to
    upload all data.
    (gnus-cloud-upload-data): Make interactive; collect files and newsrc
    data separately; refresh Gnus Cloud group after insert.
    (gnus-cloud-download-all-data): Add interactive convenience function to
    download all data.
    (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
    marker and different storage methods.
    (gnus-cloud-host-server-p): New function to check if a server is the
    Gnus Cloud host.
    (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
    (gnus-cloud-host-acceptable-method-p): New function so
    other code can check if a server method can host the Gnus cloud.
    (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
    (gnus-cloud-method): Make this a defcustom and note how to set it.
    
    * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
    keybindings under the `~' prefix.
    
    * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
    (gnus-server-cloud, gnus-server-cloud-host)
    (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
    (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
    synchronized servers and synchronization host server toggling (`i' and
    `I') and visual display.
    (gnus-server-toggle-cloud-method-server): Use
    gnus-cloud-host-acceptable-method-p.
    (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
    set the gnus-cloud-method. Ask the user if it's OK to upload the data
    right now.
    
    * doc/misc/gnus.texi: Document Gnus Cloud package.
    tzz committed Jul 11, 2016
  4. @eggert

    Remove CHECK_FRAME_FONT cruft from bytecode.c

    * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
    Remove some old ‘#if 0’ code.
    eggert committed Jul 13, 2016
  5. @eggert

    Work around GCC bug 54561 in a better way

    The new approach is less selective, but also less intrusive on C code.
    * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
    * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
    eggert committed Jul 20, 2016
  6. @eggert

    Fix port to glibc 2.24 (pre-release) + ppc64

    * src/callproc.c (child_setup): Use emacs_exec_file
    so that ASLR is enabled in the child process.
    * src/emacs.c: Move some personality details into sys/sysdep.c.
    Do not include <sys/personality.h>.
    (main): Disable ASLR earlier, so that we don’t chdir twice.
    * src/lisp.h (disable_address_randomization): New decl.
    * src/sysdep.c (disable_address_randomization)
    [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
    here from emacs.c.
    (emacs_exec_file): New function.
    eggert committed Jul 20, 2016
Commits on Jul 19, 2016
  1. @alanthird

    Prevent bar cursor overwriting next glyph (bug#16856)

    * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
    before setting final size.
    alanthird committed Jul 17, 2016
  2. @eggert

    ; Spelling fix

    eggert committed Jul 19, 2016
  3. Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil

    * src/insdel.c (adjust_markers_bytepos): New function.
    * src/lisp.h (adjust_markers_bytepos): Add prototype.
    * src/insdel.c (replace_range, replace_range_2):
    * src/editfns.c (Ftranspose_regions): Call
    adjust_markers_bytepos.  (Bug#5131)
    
    * test/src/editfns-tests.el (transpose-test-reverse-word)
    (transpose-test-get-byte-positions): New functions.
    (transpose-ascii-regions-test)
    (transpose-nonascii-regions-test-1)
    (transpose-nonascii-regions-test-2): New tests.
    Eli Zaretskii committed Jul 19, 2016
  4. @yamaoka

    Make gif animation work (bug#24004)

    * lisp/image.el (image-animate-timeout): Fix the logic that tests if
    an animation is too big (bug#24004).
    yamaoka committed Jul 19, 2016
  5. @monnier

    * lisp/simple.el (undo-amalgamate-change-group): New function

    * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
    (viper-set-complex-command-for-undo): Save current state with
    prepare-change-group.
    * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
    (viper-buffer-undo-list-mark): Remove.
    monnier committed Jul 18, 2016
Commits on Jul 18, 2016
  1. Keep w32 environment settings internal only

    * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
    set_initial_environment call.  This prevents Emacs' modifications to the
    environment from contaminating Vprocess_environment and
    Vinitial_environment (Bug #10980).
    * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
    environment in as a fallback to Vprocess_environment.
    * test/src/callproc-tests.el (initial-environment-preserved): New Test.
    Noam Postavsky committed Jun 29, 2016
  2. @NicolasPetton

    Better documentation for cl-reduce (bug#24014)

    * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
    NicolasPetton committed Jul 18, 2016
Commits on Jul 17, 2016
  1. @dgutov

    ; Revert "Replace eldoc-documentation-function with a hook"

    This reverts commit 5811404.
    
    It doesn't have the consensus, as evidenced by
    http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00138.html
    dgutov committed Jul 18, 2016
  2. @dgutov

    ; Revert "Use eldoc-documentation-functions"

    This reverts commit 001d88b.
    
    It doesn't have the consensus, as evidenced by
    http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00138.html
    dgutov committed Jul 18, 2016
  3. @alanthird

    Remove separate pool for popup dialogs (bug#23856)

    * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
    autorelease pool and Popdown_data struct.
    alanthird committed Jun 29, 2016
  4. @holomorph

    Use eldoc-documentation-functions

    * lisp/hexl.el (hexl-mode):
    * lisp/ielm.el (inferior-emacs-lisp-mode):
    * lisp/progmodes/cfengine.el (cfengine3-mode):
    * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
    * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
    * lisp/progmodes/python.el (python-mode):
    * lisp/simple.el (read--expression): Add buffer-locally to hook
    eldoc-documentation-functions.
    holomorph committed Jul 17, 2016
Commits on Jul 16, 2016
  1. Optimize ucs-normalize.el compilation

    * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
    (quick-check-list-to-regexp): Use regexp-opt-charset instead of
    regexp-opt.
    * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
    temp buffer for the whole loop.
    Noam Postavsky committed Jul 15, 2016