1. 24 Dec, 2016 7 commits
    • Hong Xu's avatar
      Fix timezone detection of parse-iso8601-time-string · 25c9cb77
      Hong Xu authored
      * parse-time.el (parse-iso8601-time-string): Fix timezone
      parsing.  Add a doc string.  (Bug#25086)
      * editfns.c (Fdecode-time): Doc fix.
      * emacs-mime.texi (time-date): Add an example for
      * parse-time-tests.el (parse-time-tests): Add tests for
    • Paul Eggert's avatar
      Simplify exec_byte_code via moving decls etc. · e36a3882
      Paul Eggert authored
      * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
      initializers into decls, and by omitting some unnecessary changes
      to ‘top’.
    • Paul Eggert's avatar
      Remove interpreter’s byte stack · a815e5f1
      Paul Eggert authored
      This improves performance overall on my benchmark on x86-64,
      since the interpreted program-counter resides in a machine
      register rather than in RAM.
      * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
      is no longer a byte stack to decode.
      * src/bytecode.c (struct byte_stack, byte_stack_list)
      (relocate_byte_stack): Remove.  All uses removed.
      (FETCH): Simplify now that pc is now local (typically, in a
      register) and no longer needs to be relocated.
      (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
      (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
      (exec_byte_code): Allocate a copy of the function’s bytecode,
      so that there is no problem if GC moves it.
      * src/lisp.h (struct handler): Remove byte_stack member.
      All uses removed.
      * src/thread.c (unmark_threads): Remove.  All uses removed.
      * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
      All uses removed.  m_stack_bottom is now the first non-Lisp field.
    • Paul Eggert's avatar
      BYTE_CODE_SAFE typo fix · a43cfb1a
      Paul Eggert authored
      * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
      not on whether it is defined.
    • Paul Eggert's avatar
      BYTE_CODE_SAFE cleanups · 078d2d37
      Paul Eggert authored
      * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
      (struct byte_stack) [BYTE_MAINTAIN_TOP]:
      Remove unused members ‘top’ and ‘bottom’.
      (exec_byte_code): Nest inside { } to avoid GCC warning about
      jumping over declaration when compiled with -DBYTE_CODE_SAFE.
    • Thien-Thi Nguyen's avatar
      last-chance: new utility lib for dangling deterrence · 9227b5ce
      Thien-Thi Nguyen authored
      * admin/last-chance.el: New file.
    • Paul Eggert's avatar
      Use max_align_t instead of void * · e2767bd0
      Paul Eggert authored
      * src/thread.c (run_thread): Don’t assume void * is aligned enough.
  2. 23 Dec, 2016 5 commits
  3. 22 Dec, 2016 5 commits
    • Paul Eggert's avatar
      ; Spelling fixes · 73349822
      Paul Eggert authored
    • Paul Eggert's avatar
      Pacify --enable-gcc-warnings · b10bd719
      Paul Eggert authored
      * src/charset.c (load_charset_map):
      * src/coding.c (decode_coding_object):
      * src/frame.c (make_frame):
      * src/window.c (Frecenter):
      Mark locals with UNINIT to silence false alarms from
      Check and assume that values are nonnull.  This pacifies
      -Wmaybe-uninitialized in Fmake_variable_buffer_local and
    • Eli Zaretskii's avatar
      Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS · 5fcc777f
      Eli Zaretskii authored
      * src/thread.c (primary_thread_p): New function.
      * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
      meant for thread objects allocated dynamically.
      * src/thread.h (primary_thread_p): Add prototype.
    • Tino Calancha's avatar
    • Noam Postavsky's avatar
      Use completion-at-point in verilog-mode · de067109
      Noam Postavsky authored
      There were some functions in verilog-mode that implemented in-buffer
      completion, but this needlessly duplicates completion-at-point
      functionality, and the popup window management had problems
      (see Bug #23842).  We need to keep them for backwards compatibility with
      older emacs versions, but use completion-at-point if available.
      * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
      obsolete if completion-cycle-threshold is available.
      (verilog-mode-map, verilog-menu): Bind completion-at-point and
      completion-help-at-point in preference to verilog-complete-word and
      verilog-show-completions, respectively.
      (verilog-mode): Add verilog-completion-at-point to
      (verilog-completion-at-point): New function.
      (verilog-show-completions, verilog-complete-word): Use it to avoid code
  4. 21 Dec, 2016 6 commits
    • Reuben Thomas's avatar
      Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries · acd65a7d
      Reuben Thomas authored
      * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
      override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
      retain their hardwired values, and all other dictionaries are given
      sensible defaults.
    • Stefan Monnier's avatar
    • Eli Zaretskii's avatar
      Fix aborts in GC under GC_CHECK_MARKED_OBJECTS · 0a5b6e28
      Eli Zaretskii authored
      * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
      for thread objects.  They are marked via the all_threads list, and
      therefore don't need to be inserted into the red-black tree, so
      mem_find will never find them.  Reported by Daniel Colascione
      <dancol@dancol.org> in
    • Stefan Monnier's avatar
      * src/data.c (Fmake_variable_frame_local): Remove · a6063ffe
      Stefan Monnier authored
      * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
      * src/data.c (swap_in_symval_forwarding, set_internal)
      (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
      (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
      Don't pay attention to ->frame_local any more.
      (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
      * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
      of make-variable-frame-local.
      * lisp/help-fns.el (describe-variable): Don't handle the now impossible
      frame-local case.
      * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
      * src/frame.c (store_frame_param):
      * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
      * src/widget.c (first_frame_p): Remove, unused.
    • Paul Eggert's avatar
      Port dumping better to WSL · cf6ce9a1
      Paul Eggert authored
      Problem reported by Angelo Graziosi in:
      * src/sysdep.c (disable_address_randomization):
      Detect buggy platforms where 'personality' always returns 0.
    • Michael Albinus's avatar
      Remove gateway methods in Tramp · 8661313e
      Michael Albinus authored
      * doc/misc/tramp.texi (Top, Configuration): Remove section
      `Gateway methods', insert section `Firewalls' in menu.
      (History): Gateways are removed now.
      (Gateway methods): Remove section.
      (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
      (Firewalls): New section.
      * etc/NEWS: Gateway methods in Tramp have been removed.
      * lisp/net/tramp.el (tramp-methods): Adapt docstring.
      (tramp-file-name-port, tramp-accept-process-output): Simplify.
      * lisp/net/tramp-gw.el: Remove.
      * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
      (tramp-gw-socks-method): Remove declarations.
      (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
      Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
      (tramp-compute-multi-hops, tramp-maybe-open-connection):
      Remove gateway support.
      * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
      Remove gateway tests.
  5. 20 Dec, 2016 6 commits
    • Mark Oteiza's avatar
      ; Revert "Recognize graphicsmagick in image-dired" · 221d3a97
      Mark Oteiza authored
      This reverts commit 5c266405.
      There are too many annoying differences between GM and IM to make this
      default behavior.
    • Tino Calancha's avatar
      files-test-read-file-in-: Delete temporary dir on exit · 15817f4e
      Tino Calancha authored
      * test/lisp/files-tests.el (files-test-read-file-in-~):
      Create subdir inside dir.
    • Christopher Genovese's avatar
      ibuffer: New filters and commands · 35aaa6b6
      Christopher Genovese authored
      Add several new filters and improve documentation.
      See discussion on:
      * lisp/ibuf-ext.el: Add paragraph to file commentary.
      (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
      (ibuffer-filter-groups): Update doc string.
      (ibuffer-unary-operand): Add new function that transparently
      handles 'not' formats for compound filters.
      (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
      (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
      (ibuffer-decompose-filter): Handle 'and' as well,
      and handle 'not' consistently with other uses.
      (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
      (ibuffer--or-and-filter): New defun.
      (ibuffer-or-filter, ibuffer-and-filter): Use it.
      (ibuffer-format-qualifier): Handle 'and' filters as well.
      (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
      (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
      (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
      Add new pre-defined filters.
      (ibuffer-filter-chosen-by-completion): Add new interactive command
      for easily choosing a filter from the descriptions.
      * lisp/ibuffer.el (ibuffer-mode-map):
      Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
      ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
      ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
      respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
      'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
      'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
      and '/ DEL' respectively.
      * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
      skip specification.
      Add menu entries for the new filters.
      (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
      ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
      ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
      ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
      ibuffer-decompose-filter, ibuffer-and-filter
      ibuffer-or-filter): Add new tests; they are skipped unless
      ibuf-ext is loaded.
      ; * etc/NEWS: Add entries for new user-facing features.
    • Mark Oteiza's avatar
      Update NEWS · f8072cd5
      Mark Oteiza authored
      * etc/NEWS (Image-Dired): New section.
    • Mark Oteiza's avatar
      Recognize graphicsmagick in image-dired · 5c266405
      Mark Oteiza authored
      * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
      (image-dired-cmd-rotate-thumbnail-options): Account for existence of
      gm(1) executable.
    • Mark Oteiza's avatar
      Implement asynchronous thumbnail generation in image-dired · 36b9973d
      Mark Oteiza authored
      Additionally, all FOO-options defcustoms that were in fact shell command
      strings have been converted to argument lists.  Another method for
      shrinking PNG thumbs with optipng(1) has been added.
      * lisp/image-dired.el: Remove TODO item in commentary.
      (image-dired-cmd-read-exif-data-options): Convert to argument lists.
      (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
      Change string type to file.
      (image-dired-cmd-create-standard-thumbnail-command): Remove.
      (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
      New defcustoms.
      (image-dired-queue, image-dired-queue-active-jobs):
      (image-dired-queue-active-limit): New variables.
      (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
      (image-dired-optipng-thumb): New functions.
      (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
      Use start-process instead of call-process.  Set file modes.  Trigger
      PNG file optimization in process sentinel.
      (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
      (image-dired-create-thumbs): Don't expect call-process return value.
      (image-dired-display-image, image-dired-rotate-thumbnail): Use
      start-process instead of call-process.
      (image-dired-rotate-original, image-dired-set-exif-data):
      (image-dired-get-exif-data): Adapt to arguments being an arg list.
  6. 19 Dec, 2016 5 commits
    • Andreas Schwab's avatar
      Protect change of window's buffer in vertical-motion against unwinds (bug#25209) · 85aebc12
      Andreas Schwab authored
      * indent.c (restore_window_buffer): New function.
      (Fvertical_motion): Use it to restore window's buffer.
    • Glenn Morris's avatar
      Improve default load-path for uninstalled CANNOT_DUMP builds · 504e3846
      Glenn Morris authored
      * src/lread.c (load_path_default) [CANNOT_DUMP]:
      Use build load-path if we seem to be running uninstalled.  (Bug#24974)
      I think this became an issue several years ago when we stopped
      using EMACSLOADPATH in the Makefiles; however this change should
      improve the CANNOT_DUMP uninstalled case in general.
    • Eli Zaretskii's avatar
      Fix crashes upon C-g on Posix TTY frames · fe3188b1
      Eli Zaretskii authored
      * src/thread.h (struct thread_state): New member not_holding_lock.
      (maybe_reacquire_global_lock): Add prototype.
      * src/thread.c: Include syssignal.h.
      (maybe_reacquire_global_lock): New function.
      (really_call_select): Set the not_holding_lock member of the
      thread state before releasing the lock, and rest it after
      re-acquiring the lock when the select function returns.  Block
      SIGINT while doing this to make sure we are not interrupted on TTY
      * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
      * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
      Add prototypes.
      * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
      maybe_reacquire_global_lock.  (Bug#25178)
    • Sam Steingold's avatar
      avoid Eager macro-expansion failure: (void-function string-to-list) · 657bcaf5
      Sam Steingold authored
      * loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
        in "mule-util", so we have to load "mule-util" before "ucs-normalize",
        otherwise I get "Eager macro-expansion failure" on "make bootstrap"
    • Michael Albinus's avatar
      Fix Bug#24980 · 516b4c38
      Michael Albinus authored
      * lisp/ido.el (ido-add-virtual-buffers-to-list):
      Suppress Tramp invocation.  (Bug#24980)
  7. 18 Dec, 2016 5 commits
  8. 17 Dec, 2016 1 commit