1. 23 Apr, 2019 1 commit
    • Paul Eggert's avatar
      Remove some unnecessary #ifdef directives · 51595f53
      Paul Eggert authored
      These directives are in files that are compiled only if the
      symbols are defined.
      * src/gfilenotify.c: Remove unnecessary ‘#ifdef HAVE_GFILENOTIFY’.
      * src/inotify.c: Remove unnecessary ‘#ifdef HAVE_INOTIFY’.
      * src/kqueue.c: Remove unnecessary ‘#ifdef HAVE_KQUEUE’.
      51595f53
  2. 04 Mar, 2019 1 commit
  3. 01 Jan, 2019 1 commit
  4. 13 Aug, 2018 1 commit
    • Paul Eggert's avatar
      Fix check for unsafe watch descriptor · 76101698
      Paul Eggert authored
      * src/lisp.h (make_pointer_integer_unsafe): New function.
      (make_pointer_integer): Use it.
      * src/gfilenotify.c (dir_monitor_callback): Omit redundant eassert.
      (Fgfile_add_watch): Signal an error instead of failing an
      assertion if the pointer does not work.
      76101698
  5. 08 Aug, 2018 1 commit
    • Tom Tromey's avatar
      More macro renamings for bignum · d1ec3a0a
      Tom Tromey authored
      * src/alloc.c, src/bidi.c, src/buffer.c, src/buffer.h, src/bytecode.c,
      src/callint.c, src/callproc.c, src/casefiddle.c, src/casetab.c,
      src/category.c, src/ccl.c, src/character.c, src/character.h,
      src/charset.c, src/charset.h, src/chartab.c, src/cmds.c, src/coding.c,
      src/composite.c, src/composite.h, src/data.c, src/dbusbind.c,
      src/decompress.c, src/dired.c, src/dispextern.h, src/dispnew.c,
      src/disptab.h, src/doc.c, src/dosfns.c, src/editfns.c,
      src/emacs-module.c, src/emacs.c, src/eval.c, src/fileio.c,
      src/floatfns.c, src/fns.c, src/font.c, src/font.h, src/fontset.c,
      src/frame.c, src/frame.h, src/fringe.c, src/ftcrfont.c, src/ftfont.c,
      src/gfilenotify.c, src/gnutls.c, src/gtkutil.c, src/image.c,
      src/indent.c, src/insdel.c, src/intervals.c, src/json.c,
      src/keyboard.c, src/keymap.c, src/kqueue.c, src/lcms.c, src/lisp.h,
      src/lread.c, src/macros.c, src/marker.c, src/menu.c, src/minibuf.c,
      src/msdos.c, src/print.c, src/process.c, src/profiler.c, src/search.c,
      src/sound.c, src/syntax.c, src/syntax.h, src/sysdep.c, src/term.c,
      src/termhooks.h, src/textprop.c, src/undo.c, src/w32.c,
      src/w32console.c, src/w32fns.c, src/w32font.c, src/w32inevt.c,
      src/w32proc.c, src/w32select.c, src/w32term.c, src/w32term.h,
      src/w32uniscribe.c, src/window.c, src/xdisp.c, src/xfaces.c,
      src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c, src/xml.c,
      src/xrdb.c, src/xselect.c, src/xsettings.c, src/xterm.c, src/xwidget.c
      Rename XINT->XFIXNUM, XFASTINT->XFIXNAT, XUINT->XUFIXNUM.
      d1ec3a0a
  6. 13 Jul, 2018 1 commit
    • Tom Tromey's avatar
      Rename integerp->fixnum, etc, in preparation for bignums · 42fe787b
      Tom Tromey authored
      * src/json.c, src/keyboard.c, src/keyboard.h, src/keymap.c,
      src/kqueue.c, src/lcms.c, src/lisp.h, src/lread.c, src/macros.c,
      src/marker.c, src/menu.c, src/minibuf.c, src/msdos.c, src/print.c,
      src/process.c, src/profiler.c, src/search.c, src/sound.c,
      src/syntax.c, src/sysdep.c, src/term.c, src/terminal.c,
      src/textprop.c, src/undo.c, src/w16select.c, src/w32.c,
      src/w32console.c, src/w32cygwinx.c, src/w32fns.c, src/w32font.c,
      src/w32inevt.c, src/w32proc.c, src/w32select.c, src/w32term.c,
      src/w32uniscribe.c, src/widget.c, src/window.c, src/xdisp.c,
      src/xfaces.c, src/xfns.c, src/xfont.c, src/xftfont.c, src/xmenu.c,
      src/xrdb.c, src/xselect.c, src/xterm.c, src/xwidget.c: Rename
      INTEGERP->FIXNUM, make_number->make_fixnum, CHECK_NUMBER->CHECK_FIXNUM,
      make_natnum->make_fixed_natum, NUMBERP->FIXED_OR_FLOATP,
      NATNUMP->FIXNATP, CHECK_NATNUM->CHECK_FIXNAT.
      42fe787b
  7. 01 Jan, 2018 1 commit
  8. 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
  9. 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
  10. 22 Jan, 2017 1 commit
    • Paul Eggert's avatar
      Improve uses of CHECK_LIST etc. · 0a49f158
      Paul Eggert authored
      * src/eval.c (FletX): Report an error for invalid constructs like
      ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
      (lambda_arity): Use plain CHECK_CONS.
      * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
      (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
      concat does that for us.
      (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
      Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
      runtime check out of the loop.
      (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
      (Fassq, Fassoc, Frassq, Frassoc):
      Simplify and use CHECK_LIST_END instead of CAR.
      (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
      (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
      * src/fontset.c (Fnew_fontset):
      * src/frame.c (Fmodify_frame_parameters):
      Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
      more-complete check.
      * src/gfilenotify.c (Fgfile_add_watch):
      Omit unnecessary CHECK_LIST, since Fmember does that for us.
      * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
      Remove; no longer used.
      (CHECK_LIST_END): New inline function.
      0a49f158
  11. 01 Jan, 2017 2 commits
  12. 31 Dec, 2016 1 commit
  13. 30 Dec, 2016 1 commit
  14. 29 Dec, 2016 1 commit
    • Michael Albinus's avatar
      Improve filenotify-tests.el · b9cacf04
      Michael Albinus authored
      * src/inotify.c (Finotify_valid_p):
      * src/kqueue.c (Fkqueue_valid_p):
      * src/w32notify.c (Fw32notify_valid_p):
      * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
      (Fgfile_monitor_name): New defun.
      (syms_of_gfilenotify): Declare Sgfile_monitor_name.
      
      * test/lisp/filenotify-tests.el	(file-notify--test-read-event):
      New defun, derived from `file-notify--test-read-event-timeout'.
      Replace all calls of `read-event' by this.
      (file-notify--test-timeout): Fix docstring.
      (file-notify--test-monitor): New defun.
      (file-notify--deftest-remote): Do not bind
      `file-notify--test-read-event-timeout' anymore.
      (file-notify-test00-availability): Print also monitor, if existent.
      (file-notify--test-with-events): Add an additional
      `file-notify--test-read-event' call, in order to get it work
      after `file-notify-add-watch'.  Remove special timeout for cygwin.
      (file-notify-test02-events): Make a better check for cygwin.
      (file-notify-test06-many-events): Improve event list for cygwin.
      (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
      b9cacf04
  15. 06 Nov, 2016 1 commit
    • Paul Eggert's avatar
      Prefer comments /* like this */ in C code · 84c53436
      Paul Eggert authored
      Emacs C code assumes C99 features, but has long used traditional
      comments /* like this */ instead of C99-style comments // like this.
      Stick with traditional comments for now, partly for style, partly as
      it may be safer with compilers that are not fully in C99 mode.
      84c53436
  16. 10 Mar, 2016 1 commit
    • Paul Eggert's avatar
      Rework C source files to avoid ^( · 7352c6c6
      Paul Eggert authored
      Work around Bug#22884 by rewording comments and strings to avoid ‘(’
      at the start of a line unless it starts a function.  This change
      is a short-term hack; in the longer run we plan to fix cc-mode’s
      performance for C files that have ‘(’ at the start of a line in a
      comment or string.
      7352c6c6
  17. 01 Jan, 2016 1 commit
  18. 03 Nov, 2015 1 commit
  19. 21 Oct, 2015 1 commit
    • Paul Eggert's avatar
      Include-file cleanup for src directory · 63cfb75f
      Paul Eggert authored
      Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
      In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
      but does not include it directly.  As a general rule, a source
      file should include foo.h if it needs the interfaces that foo.h
      defines.
      * src/alloc.c: Don’t include process.h.  Include dispextern.h,
      systime.h.
      * src/atimer.c: Don’t include blockinput.h.
      * src/buffer.c: Include coding.h, systime.h.  Don’t include
      keyboard.h, coding.h.
      * src/callint.c: Don’t include commands.h, keymap.h.
      * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
      systty.h, termhooks.h.
      * src/casetab.c: Don’t include character.h.
      * src/category.c: Don’t include charset.h, keymap.h.
      * src/ccl.h: Don’t include character.h.
      * src/character.c: Don’t include charset.h.
      * src/charset.c: Don’t include disptab.h.
      * src/chartab.c: Don’t include ccl.h.
      * src/cm.c: Don’t include frame.h, termhooks.h.
      * src/cmds.c: Don’t include window.h, dispextern.h.
      * src/coding.c: Don’t include window.h, frame.h.
      * src/composite.c: Include composite.h.  Don’t include window.h,
      font.h.
      * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
      * src/dbusbind.c: Don’t include frame.h.
      * src/decompress.c: Don’t include character.h.
      * src/dired.c: Don’t include character.h, commands.h, charset.h.
      * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
      process.h, timespec.h.  Include systime.h.
      * src/doc.c: Include coding.h.  Don’t include keyboard.h.
      * src/editfns.c: Include composite.h.  Don’t include frame.h.
      * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
      commands.h, systty.h..
      * src/fileio.c: Don’t include intervals.h, dispextern.h.
      Include composite.h.
      * src/filelock.c: Don’t include character.h, systime.h.
      * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
      keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
      * src/font.c: Include termhooks.h.
      * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
      struct composition_it, struct face, struct glyph_string.
      * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
      intervals.h, window.h, termhooks.h.
      * src/frame.c: Don’t include character.h, commands.h, font.h.
      * src/frame.h: Don’t include dispextern.h.
      * src/fringe.c: Don’t include character.h.
      * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
      character.h, charset.h, fontset.h.
      * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
      fontset.h.
      * src/ftxfont.c: Don’t include dispextern.h, character.h,
      charset.h, fontset.h.
      * src/gfilenotify.c: Don’t include frame.h, process.h.
      * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
      Don’t include syssignal.h, buffer.h, charset.h, font.h.
      * src/gtkutil.h: Don’t include frame.h.
      * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
      Don’t include character.h.
      * src/indent.c: Don’t include keyboard.h, termchar.h.
      * src/inotify.c: Don’t include character.h, frame.h.
      * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
      * src/intervals.c: Don’t include character.h, keyboard.h.
      * src/intervals.h: Don’t include dispextern.h, composite.h.
      * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
      Include coding.h.
      * src/keyboard.h: Don’t incldue systime.h.
      * src/keymap.c: Don’t include charset.h, frame.h.
      * src/lread.c: Include dispextern.h and systime.h.
      Don’t include frame.h.  Include systime.h.
      * src/macros.c: Don’t include commands.h, character.h, buffer.h.
      * src/menu.c: Include character.h, coding.h.  Don’t include
      dispextern.h.
      * src/menu.h: Don’t include systime.h.
      * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
      intervals.h, termhooks.h.
      * src/print.c: Include coding.h.  Don’t include keyboard.h,
      window.h, dispextern.h, termchar.h, termhooks.h, font.h.
      Add forward decl of struct terminal.
      * src/process.c: Don’t include termhooks.h, commands.h,
      dispextern.h, composite.h.
      * src/region-cache.c: Don’t include character.h.
      * src/scroll.c: Don’t include keyboard.h, window.h.
      * src/search.c: Don’t include category.h, commands.h.
      * src/sound.c: Don’t include dispextern.h.
      * src/syntax.c: Don’t include command.h, keymap.h.
      * src/sysdep.c: Don’t include window.h, dispextern.h.
      * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
      * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
      * src/terminal.c: Include character.h.
      Don’t include charset.h, coding.h.
      * src/textprop.c: Don’t include character.h.
      * src/undo.c: Don’t include character.h, commands.h, window.h.
      * src/unexsol.c: Don’t include character.h, charset.h.
      * src/widget.c: Include widget.h.  Don’t include keyboard.h,
      window.h, dispextern.h, blockinput.h, character.h, font.h.
      * src/widgetprv.h: Don’t include widget.h.
      * src/window.c: Don’t include character.h, menu.h, intervals.h.
      * src/xdisp.c: Include composite.h, systime.h.  Don’t include
      macros.h, process.h.
      * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
      intervals.h.
      * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
      epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
      * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
      * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
      * src/xgselect.c: Don’t include timespec.h, frame.h.
      Include systime.h.
      * src/xgselect.h: Don’t include time.h.
      Use a forward decl to struct timespec instead.
      * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
      dispextern.h.  Include systime.h.
      * src/xml.c: Don’t include character.h.
      * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
      * src/xselect.c: Don’t include dispextern.h, character.h,
      buffer.h, process.h.
      * src/xsmfns.c: Don’t include systime.h, sysselect.h.
      * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
      intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
      63cfb75f
  20. 27 Sep, 2015 1 commit
  21. 24 Sep, 2015 1 commit
  22. 23 Sep, 2015 1 commit
    • Michael Albinus's avatar
      Continue gfilenotify.c implementation of missing parts · cad8aef3
      Michael Albinus authored
      * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
      `gfile-add-watch' call.
      (file-notify-rm-watch): Modify `file-notify-descriptors' only
      after calling the low level functions.
      
      * src/gfilenotify.c (dir_monitor_callback): Check, whether
      event_type is expected.
      (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
      (Fgfile_rm_watch): Fix typo.
      (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
      cad8aef3
  23. 22 Sep, 2015 1 commit
    • Michael Albinus's avatar
      Implement gfile-valid-p · 170ed29b
      Michael Albinus authored
      * lisp/filenotify.el (file-notify-callback): Fix typo.
      (gfile-valid-p): Remove defalias.
      
      * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
      the file or directory to be watched is deleted.
      (Fgfile_add_watch): Make watch_object a triple.
      (Fgfile_rm_watch): Check, whether watch is cancelled already.
      (Fgfile_valid_p): New defun.
      (syms_of_gfilenotify): Declare Sgfile_valid_p.
      170ed29b
  24. 21 Aug, 2015 2 commits
    • Michael Albinus's avatar
      * src/gfilenotify.c (Fgfile_add_watch): · 21c2b4ac
      Michael Albinus authored
      Handle errors from g_file_monitor.
      21c2b4ac
    • Paul Eggert's avatar
      Don't quote symbols 'like-this' in docstrings etc. · 760701eb
      Paul Eggert authored
      * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
      * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
      * lisp/allout.el (allout-add-resumptions, allout-mode):
      * lisp/calculator.el (calculator-operators):
      * lisp/cedet/data-debug.el (dd-propertize):
      * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
      * lisp/cedet/semantic/analyze/debug.el:
      (semantic-analyzer-debug-global-miss-text):
      * lisp/cedet/semantic/lex-spp.el:
      (semantic-lex-spp-replace-or-symbol-or-keyword):
      * lisp/cedet/semantic/symref.el:
      (semantic-symref-cleanup-recent-buffers-fcn):
      * lisp/cedet/semantic/tag.el (semantic-tag-class):
      * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
      * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
      * lisp/gnus/pop3.el (pop3-authentication-scheme):
      * lisp/help-fns.el (describe-function-orig-buffer):
      * lisp/imenu.el (imenu--history-list):
      * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
      (feedmail-display-full-frame, feedmail-deduce-bcc-where)
      (feedmail-queue-default-file-slug)
      (feedmail-queue-buffer-file-name):
      * lisp/net/mairix.el (mairix-searches-mode-map):
      * lisp/net/newst-backend.el (newsticker-retrieval-method)
      (newsticker-auto-mark-filter-list):
      * lisp/obsolete/vi.el (vi-mode):
      * lisp/progmodes/cc-engine.el (c-literal-type):
      * lisp/progmodes/cpp.el (cpp-face):
      * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
      * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
      * lisp/progmodes/pascal.el (pascal-auto-lineup):
      * lisp/progmodes/prog-mode.el (prog-widen):
      * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
      (verilog-auto-lineup, verilog-auto-reset-widths)
      (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
      * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
      (flyspell-maybe-correct-doubling):
      * lisp/textmodes/table.el (table-justify, table-justify-cell)
      (table-justify-row, table-justify-column, table-insert-sequence)
      (table--justify-cell-contents):
      * lisp/url/url-auth.el (url-get-authentication):
      * lisp/window.el (display-buffer-record-window):
      * lisp/xml.el (xml-parse-file, xml-parse-region):
      * src/gfilenotify.c (Fgfile_add_watch):
      Don't quote symbols with apostrophes in doc strings.
      Use asymmetric quotes instead.
      * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
      Likewise for symbol in diagnostic.
      * lisp/image.el (image-extension-data):
      * lisp/register.el (frame-configuration-to-register):
      * src/buffer.c (syms_of_buffer):
      Remove bogus apostrophes after symbols.
      * lisp/thumbs.el (thumbs-conversion-program):
      Quote Lisp string values using double-quotes, not apostrophes.
      760701eb
  25. 31 May, 2015 1 commit
    • Paul Eggert's avatar
      Remove unused DEFSYMs · 0c2a3cf6
      Paul Eggert authored
      Remove DEFSYMs that aren't used at the C level.  Also:
      * src/decompress.c (Qzlib_dll):
      * src/font.c (Qunicode_sip):
      * src/frame.c (Qtip_frame):
      * src/ftfont.c (Qserif):
      * src/gnutls.c (Qgnutls_dll):
      * src/xml.c (Qlibxml2_dll):
      Move from here ...
      * src/w32fns.c (syms_of_w32fns): ... to here,
      as these are used only on MS-Windows.
      0c2a3cf6
  26. 09 Jan, 2015 1 commit
    • Paul Eggert's avatar
      Refactor pointer-to-integer conversion · d1f848ff
      Paul Eggert authored
      * gfilenotify.c (monitor_to_lisp, lisp_to_monitor):
      Rename and move to lisp.h.  All uses changed.
      * lisp.h (XINTPTR, make_pointer_integer): New inline functions,
      which are renamed from gfilenotify.c's lisp_to_monitor and
      monitor_to_lisp, and with more-generic void * signatures.
      d1f848ff
  27. 08 Jan, 2015 2 commits
  28. 05 Jan, 2015 1 commit
    • Paul Eggert's avatar
      Compute C decls for DEFSYMs automatically · 58f2d6ef
      Paul Eggert authored
      Fixes Bug#15880.
      This patch also makes Q constants (e.g., Qnil) constant addresses
      from the C point of view.
      * make-docfile.c: Revamp to generate table of symbols, too.
      Include <stdbool.h>.
      (xstrdup): New function.
      (main): Don't process the same file twice.
      (SYMBOL): New constant in enum global_type.
      (struct symbol): Turn 'value' member into a union, either v.value
      for int or v.svalue for string.  All uses changed.
      (add_global): New arg svalue, which overrides value, so that globals
      can have a string value.
      (close_emacs_global): New arg num_symbols; all uses changed.
      Output lispsym decl.
      (write_globals): Output symbol globals too.  Output more
      ATTRIBUTE_CONST, now that Qnil etc. are C constants.
      Output defsym_name table.
      (scan_c_file): Move most of guts into ...
      (scan_c_stream): ... new function.  Scan for DEFSYMs and
      record symbols found.  Don't read past EOF if file doesn't
      end in newline.
      * alloc.c, bidi.c, buffer.c, bytecode.c, callint.c, casefiddle:
      * casetab.c, category.c, ccl.c, charset.c, chartab.c, cmds.c, coding.c:
      * composite.c, data.c, dbusbind.c, decompress.c, dired.c, dispnew.c:
      * doc.c, editfns.c, emacs.c, eval.c, fileio.c, fns.c, font.c, fontset.c:
      * frame.c, fringe.c, ftfont.c, ftxfont.c, gfilenotify.c, gnutls.c:
      * image.c, inotify.c, insdel.c, keyboard.c, keymap.c, lread.c:
      * macfont.m, macros.c, minibuf.c, nsfns.m, nsfont.m, nsimage.m:
      * nsmenu.m, nsselect.m, nsterm.m, print.c, process.c, profiler.c:
      * search.c, sound.c, syntax.c, term.c, terminal.c, textprop.c, undo.c:
      * window.c, xdisp.c, xfaces.c, xfns.c, xftfont.c, xmenu.c, xml.c:
      * xselect.c, xsettings.c, xterm.c:
      Remove Q vars that represent symbols (e.g., Qnil, Qt, Qemacs).
      These names are now defined automatically by make-docfile.
      * alloc.c (init_symbol): New function.
      (Fmake_symbol): Use it.
      (c_symbol_p): New function.
      (valid_lisp_object_p, purecopy): Use it.
      * alloc.c (marked_pinned_symbols):
      Use make_lisp_symbol instead of make_lisp_ptr.
      (garbage_collect_1): Mark lispsym symbols.
      (CHECK_ALLOCATED_AND_LIVE_SYMBOL): New macro.
      (mark_object): Use it.
      (sweep_symbols): Sweep lispsym symbols.
      (symbol_uses_obj): New function.
      (which_symbols): Use it.  Work for lispsym symbols, too.
      (init_alloc_once): Initialize Vpurify_flag here; no need to wait,
      since Qt's address is already known now.
      (syms_of_alloc): Add lispsym count to symbols_consed.
      * buffer.c (init_buffer_once): Compare to Qnil, not to make_number (0),
      when testing whether storage is all bits zero.
      * dispextern (struct image_type):
      * font.c (font_property_table):
      * frame.c (struct frame_parm_table, frame_parms):
      * keyboard.c (scroll_bar_parts, struct event_head):
      * xdisp.c (struct props):
      Use XSYMBOL_INIT (Qfoo) and struct Lisp_Symbol * rather than &Qfoo and
      Lisp_Object *, since Qfoo is no longer an object whose address can be
      taken.  All uses changed.
      * eval.c (run_hook): New function.  Most uses of Frun_hooks changed to
      use it, so that they no longer need to take the address of a Lisp sym.
      (syms_of_eval): Don't use DEFSYM on Vrun_hooks, as it's a variable.
      * frame.c (syms_of_frame): Add defsyms for the frame_parms table.
      * keyboard.c (syms_of_keyboard): Don't DEFSYM Qmenu_bar here.
      DEFSYM Qdeactivate_mark before the corresponding var.
      * keymap.c (syms_of_keymap): Use DEFSYM for Qmenu_bar and Qmode_line
      instead of interning their symbols; this avoids duplicates.
      (LISP_INITIALLY, TAG_PTR)
      (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END, XSYMBOL_INIT):
      New macros.
      (LISP_INITIALLY_ZERO): Use it.
      (enum symbol_interned, enum symbol_redirect, struct Lisp_Symbol)
      (EXFUN, DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_*):
      Move decls up, to avoid forward uses.  Include globals.h earlier, too.
      (make_lisp_symbol): New function.
      (XSETSYMBOL): Use it.
      (DEFSYM): Now just a placeholder for make-docfile.
      * lread.c (DEFINE_SYMBOLS): Define, for globals.h.
      (intern_sym): New function, with body taken from old intern_driver.
      (intern_driver): Use it.  Last arg is now Lisp integer, not ptrdiff_t.
      All uses changed.
      (define_symbol): New function.
      (init_obarray): Define the C symbols taken from lispsym.
      Use plain DEFSYM for Qt and Qnil.
      * syntax.c (init_syntax_once): No need to worry about
      Qchar_table_extra_slots.
      58f2d6ef
  29. 01 Jan, 2015 2 commits
  30. 01 Jan, 2014 1 commit
  31. 07 Sep, 2013 1 commit
    • Paul Eggert's avatar
      Port --without-x --enable-gcc-warnings to Fedora 19. · 4b73fc73
      Paul Eggert authored
      * configure.ac (WERROR_CFLAGS): Omit redundant use of
      -Wmissing-field-initializers, -Wswitch, -Wtype-limits,
      -Wunused-parameter.  If there is no window system, also omit
      -Wsuggest-attribute=const and -Wsuggest-attribute=noreturn; this
      is needed for Fedora 19.
      * src/gfilenotify.c (globals_of_gfilenotify):
      Call g_type_init only if using an older glib version that needs it.
      4b73fc73
  32. 16 Jul, 2013 2 commits
  33. 04 Jul, 2013 1 commit
    • Michael Albinus's avatar
      * fileio.c (Qfile_notify_error): New error symbol. · 86dfb7a8
      Michael Albinus authored
      * gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch):
      * inotify.c (inotify_callback, symbol_to_inotifymask)
      (Finotify_add_watch, Finotify_rm_watch): Use it.
      (inotifyevent_to_event): Exchange order of cookie and file name.
      (Finotify_add_watch): Adapt docstring.
      
      * lisp.h (Qfile_notify_error): Declare.
      86dfb7a8
  34. 06 Jun, 2013 1 commit
    • Paul Eggert's avatar
      A few porting etc. fixes for the new file monitor code. · 7d300d64
      Paul Eggert authored
      See the thread containing
      <http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>.
      * gfilenotify.c (dir_monitor_callback, Fgfile_add_watch)
      (Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer.
      (dir_monitor_callback, Fgfile_rm_watch):
      Use assq_no_quit instead of Fassoc, for speed.
      (dir_monitor_callback, Fgfile_rm_watch):
      eassert that the monitor is a fixnum.
      (dir_monitor_callback): No need for CDR_SAFE.
      Simplify building of lisp with alternative tails.
      (Fgfile_add_watch, Fgfile_rm_watch):
      Do not assume glib functions set errno reliably on failure.
      (Fgfile_add_watch): Check that the monitor survives the XIL trick,
      and signal an error otherwise.
      (Fgfile_rm_watch): Prefer CONSP to !NILP.
      Use Fdelq instead of Fdelete, for speed.
      7d300d64
  35. 05 Jun, 2013 1 commit