1. 28 Dec, 2017 1 commit
  2. 14 Dec, 2017 1 commit
  3. 26 Nov, 2017 2 commits
    • Eli Zaretskii's avatar
      Improve documentation of "constant" symbols · 16358d4f
      Eli Zaretskii authored
      * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
      <font-width-table>:
      * src/data.c (syms_of_data) <most-positive-fixnum>
      <most-negative-fixnum>:
      * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
      Mention in the doc strings that these variables are read-only.
      
      * doc/lispref/variables.texi (Creating Buffer-Local): Document
      that making a constant variable buffer-local signals an error.
      * doc/lispref/variables.texi (Constant Variables):
      * doc/lispref/errors.texi (Standard Errors): More accurate and
      up-to-date documentation of which symbols cannot be assigned
      values.
      16358d4f
    • Paul Eggert's avatar
      Work around GCC bug 80776 on Fedora 27 x86 · 265cee55
      Paul Eggert authored
      * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
      20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
      using XINT rather than XFASTINT and by adding an eassume.  This
      works around GCC bug 80776.
      265cee55
  4. 22 Nov, 2017 1 commit
  5. 13 Nov, 2017 1 commit
    • Paul Eggert's avatar
      Use alignas to fix GCALIGN-related bugs · b1573a97
      Paul Eggert authored
      Use alignas and unions to specify alignments of objects needing
      addresses that are at least a multiple of GCALIGNMENT.  Using
      these standard C facilities should be safer than relying on ad hoc
      and poorly-understood features like GCC’s __attribute__
      ((aligned (N))), the root cause for recent porting bugs like
      Bug#29040.  The alignas macro was standardized by C11 and Gnulib
      supports alignas for pre-C11 platforms.  I have tested this on Sun
      Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
      more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
      x86-64 and x86).
      * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
      just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
      now properly aligned.  All uses changed.
      * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
      member; this is simpler and safer than casting a pointer that
      might not be aligned properly.
      (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
      Lisp_Symbol is aligned properly.  All uses replaced with struct
      Lisp_Symbol.
      * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
      it can cause the natural alignment to be ignored.  All uses
      replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
      described below.
      (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
      Change definition from ‘struct TAG { MEMBERS };’ to
      ‘struct TAG { union { struct { MEMBERS } s; char alignas
      (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
      to have an alignment that at least max (GCALIGNMENT, N) where N is
      its old alignment.  All uses like ‘PTR->MEMBER’ changed to
      ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
      anyway.  Verify that the resulting ‘struct TAG’ is properly
      aligned for Emacs.
      (union vectorlike_header): New member ‘gcaligned’ to guarantee
      that this type, and its containing types like ‘struct Lisp_Subr’,
      ‘struct buffer’ and ‘struct thread_state’, are all properly
      aligned for Emacs.
      (struct Lisp_String): New union member ‘next’, for the benefit
      of NEXT_FREE_LISP_STRING.
      (union Aligned_Cons, union Aligned_String): Remove.  All uses
      replaced by struct Lisp_Cons and struct Lisp_String, since they
      are now properly aligned.
      (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
      assume struct Lisp_Cons and struct Lisp_String are properly
      aligned.
      b1573a97
  6. 09 Nov, 2017 1 commit
    • Paul Eggert's avatar
      Use GCALIGNED properly for GCC · 9e59de94
      Paul Eggert authored
      Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
      immediately follow the ‘struct’ keyword when aligning a structure.
      The attribute silently does not work if it follows a tag after the
      ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
      fix a SIGSEGV problem reported by John Mastro (Bug#29183).
      * lib-src/make-docfile.c (close_emacs_globals):
      * src/buffer.c (buffer_defaults, buffer_local_symbols):
      * src/lisp.h (DEFUN):
      * src/thread.c (main_thread):
      Put 'GCALIGNED' immediately after 'struct'.
      9e59de94
  7. 02 Nov, 2017 1 commit
    • Paul Eggert's avatar
      Fix alignment portability problems · 6b08ad52
      Paul Eggert authored
      Do not assume that the natural alignment of Lisp objects is a
      multiple of GCALIGNMENT.  This improves on the portability of the
      recent fix for Bug#29040.
      * lib-src/make-docfile.c (close_emacs_globals):
      * src/buffer.c (buffer_defaults, buffer_local_symbols):
      * src/lisp.h (DEFUN):
      * src/thread.c (main_thread):
      Use GCALIGNED, not alignas (GCALIGNMENT).
      * src/alloc.c (COMMON_MULTIPLE):
      Move back here from lisp.h, since it is no longer used elsewhere.
      * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
      worry about MSVC.  Omit no-longer-needed consistency check.
      * src/thread.c (THREAD_ALIGNMENT): Remove.
      6b08ad52
  8. 31 Oct, 2017 1 commit
    • Charles A. Roelli's avatar
      ; Doc fixes · 460fe4a1
      Charles A. Roelli authored
      * lisp/progmodes/xref.el (xref-file-location)
      (xref-backend-apropos):
      * etc/NEWS (Lisp Changes in Emacs 26.1):
      * doc/emacs/msdos.texi (Windows Keyboard):
      * lisp/vc/vc.el (vc-print-branch-log):
      * src/buffer.c (word-wrap): Doc additions and fixes.
      460fe4a1
  9. 15 Oct, 2017 1 commit
    • Eli Zaretskii's avatar
      Avoid compilation warnings in optimized builds · 325dfdae
      Eli Zaretskii authored
      * src/process.c (Fmake_network_process):
      * src/image.c (xbm_scan, gif_load):
      * src/fileio.c (Frename_file):
      * src/data.c (Fmake_local_variable):
      * src/buffer.c (fix_start_end_in_overlays):
      * lib-src/etags.c (process_file_name): Mark variables with UNINIT
      to avoid compiler warnings in optimized builds.
      325dfdae
  10. 10 Oct, 2017 1 commit
  11. 16 Sep, 2017 1 commit
  12. 13 Sep, 2017 1 commit
    • Paul Eggert's avatar
      Prefer HTTPS to FTP and HTTP in documentation · bc511a64
      Paul Eggert authored
      Most of this change is to boilerplate commentary such as license URLs.
      This change was prompted by ftp://ftp.gnu.org's going-away party,
      planned for November.  Change these FTP URLs to https://ftp.gnu.org
      instead.  Make similar changes for URLs to other organizations moving
      away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
      fsf.org when this works, as this will further help defend against
      man-in-the-middle attacks (for this part I omitted the MS-DOS and
      MS-Windows sources and the test tarballs to keep the workload down).
      HTTPS is not fully working to lists.gnu.org so I left those URLs alone
      for now.
      bc511a64
  13. 09 Sep, 2017 2 commits
    • Paul Eggert's avatar
      Improve --enable-gcc-warnings for MinGW64 · d6312354
      Paul Eggert authored
      This partially reverts my 2016-05-30 patch.  Apparently MinGW64
      still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
      does not.  Also, pacify tparam.c, which isn’t used on Fedora.
      * lib-src/etags.c (process_file_name, TeX_commands):
      * src/buffer.c (fix_overlays_before):
      * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
      (cons_to_signed):
      * src/editfns.c (Ftranslate_region_internal):
      Prefer UNINIT to some stray value, as this simplifies
      code-reading later.
      * src/eval.c (CACHEABLE): New macro.
      (internal_lisp_condition_case): Use it.
      * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
      d6312354
    • Eli Zaretskii's avatar
      Fix compilation warnings in MinGW64 build using GCC 7 · 2b84c166
      Eli Zaretskii authored
      Reported by Richard Copley <rcopley@gmail.com>.
      * src/w32heap.c (init_heap): Declare enable_lfh only for
      mingw.org's MinGW build.
      
      * src/w32console.c (w32con_write_glyphs):
      * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
      mismatches of data type vs format spec.
      
      * src/w32fns.c (compute_tip_xy):
      * src/w32proc.c (stop_timer_thread):
      * src/w32notify.c (remove_watch):
      * src/eval.c (internal_lisp_condition_case):
      * src/editfns.c (Ftranslate_region_internal):
      * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
      (cons_to_signed):
      * src/buffer.c (fix_overlays_before): Initialize variables to
      avoid compiler warnings.
      
      * lib-src/etags.c (TeX_commands, process_file_name): Initialize
      variables to avoid compilation warnings.
      2b84c166
  14. 12 Aug, 2017 1 commit
    • Paul Eggert's avatar
      Improve make-temp-file performance on local files · a6ad98ad
      Paul Eggert authored
      For the motivation behind this patch, please see Bug#28023 and:
      http://emacshorrors.com/posts/make-temp-name.html
      Although, given the recent changes to Tramp, the related security
      problem in make-temp-file is already fixed, make-temp-file still has
      several unnecessary system calls.  In the typical case on GNU/Linux,
      this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
      getpid, unlink, umask) by 2 (open, close).
      * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
      that Emacs is using it directly.
      * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
      no longer needed.
      * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
      * lisp/files.el (files--make-magic-temp-file): Rename from
      make-temp-file.
      (make-temp-file): Use make-temp-file-internal for
      non-magic file names.
      * src/fileio.c: Include tempname.h.
      (make_temp_name_tbl, make_temp_name_count)
      (make_temp_name_count_initialized_p, make_temp_name): Remove.
      (Fmake_temp_file_internal): New function.
      (Fmake_temp_name): Use it.
      * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
      instead of make_temp_name.
      a6ad98ad
  15. 05 Aug, 2017 1 commit
    • Eli Zaretskii's avatar
      Fix a bug in 'generate-new-buffer-name' · 885c5126
      Eli Zaretskii authored
      * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
      nil before calling string-equal, since the latter will compare
      "nil and 'nil' as equal.  (Bug#27966)
      
      * test/src/buffer-tests.el
      (test-generate-new-buffer-name-bug27966): New test.
      885c5126
  16. 17 Jul, 2017 1 commit
    • Eli Zaretskii's avatar
      Allow user control on what starts and ends a paragraph for bidi · d7f7fef1
      Eli Zaretskii authored
      * src/buffer.h (struct buffer): New members
      bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
      * src/buffer.c (bset_bidi_paragraph_start_re)
      (bset_bidi_paragraph_separate_re): New setters/
      (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
      bidi-paragraph-separate-re.
      (init_buffer_once): Init the values of bidi-paragraph-start-re and
      bidi-paragraph-separate-re.
      (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
      New per-buffer variables.
      * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
      Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
      (bidi_move_to_visually_next): Handle correctly the case when the
      separator matches an empty string.  (Bug#27526)
      
      * doc/emacs/mule.texi (Bidirectional Editing):
      * doc/lispref/display.texi (Bidirectional Display): Document
      bidi-paragraph-start-re and bidi-paragraph-separate-re.
      
      * etc/NEWS: Mention bidi-paragraph-start-re and
      bidi-paragraph-separate-re.
      d7f7fef1
  17. 11 Jul, 2017 1 commit
    • NicolasPetton's avatar
      Add an optional testfn parameter to assoc · 0bece6c6
      NicolasPetton authored
      * src/fns.c (assoc): New optional testfn parameter used for comparison
      when provided.
      * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
      'testfn' parameter.
      * src/buffer.c:
      * src/coding.c:
      * src/dbusbind.c:
      * src/font.c:
      * src/fontset.c:
      * src/gfilenotify.c:
      * src/image.c:
      * src/keymap.c:
      * src/process.c:
      * src/w32fns.c:
      * src/w32font.c:
      * src/w32notify.c:
      * src/w32term.c:
      * src/xdisp.c:
      * src/xfont.c: Add a third argument to Fassoc calls.
      * etc/NEWS:
      * doc/lispref/lists.texi: Document the new 'testfn' parameter.
      0bece6c6
  18. 25 Jun, 2017 1 commit
    • Eli Zaretskii's avatar
      Allow to disable display of line numbers beyond EOB · 5d1025e7
      Eli Zaretskii authored
      * src/buffer.c (disable_line_numbers_overlay_at_eob): New
      function.
      * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
      * src/xdisp.c (should_produce_line_number): When at ZV, call
      disable_line_numbers_overlay_at_eob to determine whether line
      numbers should be displayed beyond ZV.
      5d1025e7
  19. 10 May, 2017 1 commit
    • Perry E. Metzger's avatar
      Implement 1-based column numbering in mode line · 7df07779
      Perry E. Metzger authored
      * src/xdisp.c (decode_mode_spec): Implement the %C construct.
      
      * lisp/bindings.el (column-number-indicator-zero-based): New
      defcustom.
      (mode-line-position): Use %C when
      column-number-indicator-zero-based is nil.
      
      * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
      * src/buffer.c (syms_of_buffer) <mode-line-format>:
      * doc/lispref/modes.texi (%-Constructs):
      * doc/lispref/frames.texi (Frame Titles): Document the %C
      construct.
      
      * doc/emacs/display.texi (Optional Mode Line): Document
      'column-number-indicator-zero-based'.
      
      * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
      %C construct.
      7df07779
  20. 31 Mar, 2017 1 commit
  21. 26 Jan, 2017 1 commit
    • Paul Eggert's avatar
      Replace QUIT with maybe_quit · b3a3ed52
      Paul Eggert authored
      There’s no longer need to have QUIT stand for a slug of C statements.
      Use the more-obvious function-call syntax instead.
      Also, use true and false when setting immediate_quit.
      These changes should not affect the generated machine code.
      * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
      b3a3ed52
  22. 16 Jan, 2017 1 commit
    • Eli Zaretskii's avatar
      ; Spelling fixes · 5569e644
      Eli Zaretskii authored
      * src/buffer.c (delete_all_overlays, Fkill_buffer): Fix typos in
      comments.
      5569e644
  23. 01 Jan, 2017 1 commit
  24. 25 Dec, 2016 1 commit
    • 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
  25. 12 Dec, 2016 1 commit
    • Eli Zaretskii's avatar
      Fix point motion in cloned buffers · a416e1d6
      Eli Zaretskii authored
      * src/thread.c (post_acquire_global_lock): Call
      set_buffer_internal_2 instead of tricking set_buffer_internal_1
      into resetting the current buffer even if it didn't change.  This
      avoids bug#25165, caused by failing to record the modified values
      of point and mark, because current_buffer was set to NULL.  Also,
      don't bother re-setting the buffer if there was no thread switch,
      as that just wastes cycles.
      * src/buffer.c (set_buffer_internal_2): New function, with most of
      the body of set_buffer_internal_1, but without the test for B
      being identical to the current buffer.
      (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
      identical to the current buffer.
      * src/buffer.h (set_buffer_internal_2): Add prototype.
      
      * test/src/thread-tests.el (thread-sticky-point): New test.
      a416e1d6
  26. 03 Dec, 2016 1 commit
    • Noam Postavsky's avatar
      Add lisp watchpoints · 22721316
      Noam Postavsky authored
      This allows calling a function whenever a symbol-value is changed.
      
      * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
      (SYMBOL_TRAPPED_WRITE_P): New function/macro.
      (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
      (enum symbol_trapped_write): New enumeration.
      (struct Lisp_Symbol): Rename field constant to trapped_write.
      (make_symbol_constant): New function.
      
      * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
      (set_symbol_trapped_write, restore_symbol_trapped_write):
      (harmonize_variable_watchers, notify_variable_watchers): New functions.
      
      * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
      symbols.
      (set_internal): Change bool argument BIND to 3-value enum and call
      `notify_variable_watchers' for trapped symbols.
      
      * src/data.c (syms_of_data):
      * src/data.c (syms_of_data):
      * src/font.c (syms_of_font):
      * src/lread.c (intern_sym, init_obarray):
      * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
      
      * src/alloc.c (init_symbol):
      * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
      * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
      (Fmake_variable_frame_local):
      * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
      trapped_write instead of constant.
      (Ffuncall): Move subr calling code into separate function.
      (funcall_subr): New function.
      22721316
  27. 08 Nov, 2016 1 commit
    • Mark Oteiza's avatar
      Remove obsolete default-FOO variables · 73d47d22
      Mark Oteiza authored
      * etc/NEWS: Indicate the removed variables.
      * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
      * lisp/subr.el (default-mode-line-format, default-header-line-format):
      (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
      (default-truncate-lines, default-left-margin, default-tab-width):
      (default-case-fold-search, default-left-margin-width):
      (default-right-margin-width, default-left-fringe-width):
      (default-right-fringe-width, default-fringes-outside-margins):
      (default-scroll-bar-width, default-vertical-scroll-bar):
      (default-indicate-empty-lines, default-indicate-buffer-boundaries):
      (default-fringe-indicator-alist, default-fringe-cursor-alist):
      (default-scroll-up-aggressively, default-scroll-down-aggressively):
      (default-fill-column, default-cursor-type):
      (default-cursor-in-non-selected-windows):
      (default-buffer-file-coding-system, default-major-mode):
      (default-enable-multibyte-characters): Remove obsolete declarations.
      * src/buffer.c (default-mode-line-format, default-header-line-format):
      (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
      (default-truncate-lines, default-left-margin, default-tab-width):
      (default-case-fold-search, default-left-margin-width):
      (default-right-margin-width, default-left-fringe-width):
      (default-right-fringe-width, default-fringes-outside-margins):
      (default-scroll-bar-width, default-vertical-scroll-bar):
      (default-indicate-empty-lines, default-indicate-buffer-boundaries):
      (default-fringe-indicator-alist, default-fringe-cursor-alist):
      (default-scroll-up-aggressively, default-scroll-down-aggressively):
      (default-fill-column, default-cursor-type):
      (default-cursor-in-non-selected-windows):
      (default-buffer-file-coding-system, default-major-mode):
      (default-enable-multibyte-characters): Remove.
      * src/fileio.c (choose_write_coding_system): Fix comment.
      * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
      73d47d22
  28. 30 Sep, 2016 1 commit
    • Paul Eggert's avatar
      Limit <config.h>’s includes · f4eb8900
      Paul Eggert authored
      This follows up on recent problems with the fact that config.h
      includes stdlib.h etc.; some files need to include stdlib.h later.
      config.h generally should limit itself to includes that are
      universally safe; outside of MS-Windows, only stdbool.h makes
      the cut among the files currently included.  So, move the
      other includes to just the files that need them (Bug#24506).
      * configure.ac (config_opsysfile): Remove, as this generic hook
      is no longer needed.
      * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
      * src/w32proc.c (_GNU_SOURCE):
      Remove, as it’s OK for config.h to do this now.
      * src/conf_post.h: Include <ms-w32.h>, instead of the generic
      config_opsysfile, for simplicity as this old way of configuring is
      now done only for the MS-Windows port.  Do not include <ms-w32.h>
      if DEFER_MS_W32_H, for the benefit of the few files that want its
      effects later.  Do not include <alloca.h>, <string.h>, or
      <stdlib.h>.  Other files modified to include these headers as
      needed,...
      f4eb8900
  29. 15 Jul, 2016 1 commit
  30. 24 Jun, 2016 1 commit
  31. 12 Jun, 2016 1 commit
    • Paul Eggert's avatar
      emacs_strerror cleanups · 5932ffcd
      Paul Eggert authored
      * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
      no longer needed, now that emacs_strerror is declared by lisp.h.
      * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
      * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
      to lisp.h.
      * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
      convert result string; this is now the caller’s responsibility,
      as some need conversion and others don’t.
      * src/fileio.c (report_file_errno, report_file_notify_error):
      Use emacs_strerror rather than rolling it ourselves.
      * src/lisp.h (emacs_strerror): Move decl here from coding.h.
      * src/lread.c (dir_warning): Just call emacs_strerror rather than
      both strerror and emacs_strerror.  Convert its result from
      locale-coding-system, since it no longer does that conversion.
      * src/sound.c (sound_perror):
      * src/sysdep.c (emacs_perror, str_collate):
      Use emacs_strerror, not strerror.
      5932ffcd
  32. 08 Jun, 2016 1 commit
  33. 30 May, 2016 1 commit
    • Paul Eggert's avatar
      Omit IF_LINT code that no longer seems needed · 237244bb
      Paul Eggert authored
      Nowadays GCC is smarter, or the Emacs code has mutated, or both,
      and now is as good a time as any to remove uses of IF_LINT that
      now seem to be unnecessary.
      * lib-src/emacsclient.c (set_local_socket):
      * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
      * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
      * src/casefiddle.c (casify_region):
      * src/charset.c (load_charset_map):
      * src/coding.c (decode_coding_object, encode_coding_object):
      * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
      (cons_to_unsigned, cons_to_signed):
      * src/frame.c (make_frame, x_set_frame_parameters):
      * src/keyboard.c (read_event_from_main_queue):
      * src/regex.c (regex_compile):
      * src/syntax.c (back_comment):
      * src/window.c (Frecenter):
      * src/xfaces.c (Fx_list_fonts):
      Remove IF_LINT that no longer seems necessary.
      * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
      * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
      a pragma dance to pacify GCC -Wclobbered.
      * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
      
      * src/xterm.c (x_connection_closed): Now _Noreturn, which should
      mean we do not need IF_LINT any more.
      (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
      at the end, to forestall warnings from older compilers.
      237244bb
  34. 01 May, 2016 2 commits
  35. 30 Apr, 2016 2 commits
    • Paul Eggert's avatar
      Fix generate-new-buffer-name increment typo · 4b488a29
      Paul Eggert authored
      Problem reported by Chaitanya Koparkar (Bug#23394).
      * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
      generating a new buffer.  This fixes a typo I introduced in
      2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
      4b488a29
    • Lars Ingebrigtsen's avatar
      cursor-type doc fix · 77c5f455
      Lars Ingebrigtsen authored
      * src/buffer.c (syms_of_buffer): Mention that cursor-type's
      WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
      77c5f455
  36. 05 Apr, 2016 1 commit
    • Paul Eggert's avatar
      Prefer AUTO_STRING_WITH_LEN to make_formatted_string · b4c7869e
      Paul Eggert authored
      * src/buffer.c (Fgenerate_new_buffer_name):
      * src/filelock.c (get_boot_time):
      * src/minibuf.c (get_minibuffer):
      * src/process.c (make_process):
      * src/xdisp.c (ensure_echo_area_buffers):
      Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
      when either will do.
      b4c7869e