1. 27 Dec, 2016 8 commits
  2. 26 Dec, 2016 1 commit
  3. 25 Dec, 2016 7 commits
    • Michihito Shigemura's avatar
      Add zshrc and zshenv detection to sh-mode (bug#25217) · a8a24b5b
      Michihito Shigemura authored
      * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
      
      Copyright-paperwork-exempt: yes
      a8a24b5b
    • Paul Eggert's avatar
      Fix typo in lisp.h reordering patch · e135b8c7
      Paul Eggert authored
      * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
      Reported by Eli Zaretskii (Bug#25128#19).
      e135b8c7
    • Paul Eggert's avatar
      regex.h now includes sys/types.h · 615cec1d
      Paul Eggert authored
      * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
      Do not include sys/types.h; no longer needed.
      * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
      glibc regex.h does, and POSIX has blessed this since 2008.
      615cec1d
    • Paul Eggert's avatar
      Reorder lisp.h to declare types before using them · f5b9c1e5
      Paul Eggert authored
      This puts basic functions for types to be after the corresponding
      type definitions.  This is a more-common programming style in C,
      and will make it easier to port Emacs to gcc
      -fcheck-pointer-bounds, since the functions now have access to the
      corresponding types' sizes.  This patch does not change the code;
      it just moves declarations and definitions and removes
      no-longer-needed forward declarations (Bug#25128).
      * src/buffer.c, src/data.c, src/image.c:
      Include process.h, for PROCESSP.
      * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
      * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
      * src/termhooks.h (TERMINALP, XTERMINAL):
      * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
      * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
      (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
      Move here from lisp.h.
      * src/intervals.h: Include buffer.h, for BUFFERP.
      Include lisp.h, for Lisp_Object.
      * src/lisp.h: Reorder declarations and definitions as described
      above.  Move thread includes to be later, so that they can use the
      reordered definitions.  Move some symbols to other headers (noted
      elsewhere).  Remove forward decls that are no longer needed.
      * src/thread.h: Include systhread.h here, not in lisp.h,
      since lisp.h itself does not need systhread.h.
      f5b9c1e5
    • Dima Kogan's avatar
      diff-mode auto-refines only after a successful motion · e5ef59b8
      Dima Kogan authored
      Prior to this patch (if enabled) auto-refinement would kick in after all
      hunk navigation commands, even if the motion failed.  This would result
      in a situation where the hunk navigation would signal an error and beep,
      but yet still accomplish potentially useful work, by auto-refining.
      This patch moves the auto-refinement code to only run when a motion was
      successful
      
      * lisp/vc/diff-mode.el (diff--internal-hunk-next,
        diff--internal-hunk-prev): Removed auto-refinement-triggering code
      * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
        auto-refinement-triggering code
      e5ef59b8
    • Dima Kogan's avatar
      diff-mode is able to better handle file headers · 6b6abe0d
      Dima Kogan authored
      This fixes a regression introduced in
      
        http://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
      
      This bug was filed in
      
        https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
      
      Patches generated from a VCS such as git contain a patch message at the
      start, and diff-mode is now once-again able to properly able to ignore
      this message when issuing navigation commands around the message.
      
      * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
        thoroughly ignore the header when looking for a beginning of file
        diffs.
      6b6abe0d
    • Paul Eggert's avatar
      Use libpng-config --ldflags, not --libs · 2dae6362
      Paul Eggert authored
      Problem reported by James K. Lowden (Bug#25268).
      * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
      2dae6362
  4. 24 Dec, 2016 9 commits
    • Noam Postavsky's avatar
      Remove redundant `save-match-data' in whitespace.el · da52e939
      Noam Postavsky authored
      * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
      (whitespace-report-region): Remove redundant `save-match-data' calls.
      da52e939
    • Noam Postavsky's avatar
      Fix whitespace eob cleanup · cf5417f0
      Noam Postavsky authored
      * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
      of empty lines at end of buffer.
      * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
      (whitespace-tests--cleanup-string): New helper function for tests.
      cf5417f0
    • 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-iso8601-time-string.
      * parse-time-tests.el (parse-time-tests): Add tests for
      parse-iso8601-time-string.
      25c9cb77
    • 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’.
      e36a3882
    • 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.
      a815e5f1
    • 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.
      a43cfb1a
    • 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.
      078d2d37
    • Thien-Thi Nguyen's avatar
      last-chance: new utility lib for dangling deterrence · 9227b5ce
      Thien-Thi Nguyen authored
      * admin/last-chance.el: New file.
      9227b5ce
    • 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.
      e2767bd0
  5. 23 Dec, 2016 5 commits
  6. 22 Dec, 2016 5 commits
    • Paul Eggert's avatar
      ; Spelling fixes · 73349822
      Paul Eggert authored
      73349822
    • 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
      -Wmaybe-uninitialized.
      * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
      (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
      Check and assume that values are nonnull.  This pacifies
      -Wmaybe-uninitialized in Fmake_variable_buffer_local and
      Fmake_local_variable.
      b10bd719
    • 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.
      5fcc777f
    • 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
      completion-at-point-functions.
      (verilog-completion-at-point): New function.
      (verilog-show-completions, verilog-complete-word): Use it to avoid code
      duplication.
      de067109
  7. 21 Dec, 2016 5 commits