1. 05 Jan, 2015 2 commits
    • 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
    • Stefan Monnier's avatar
      * lisp/minibuffer.el (completion-category-defaults): Default to nil. · d2cf05d1
      Stefan Monnier authored
      (completion-category-defaults): New var.
      Set unicode-name to use substring completion.
      d2cf05d1
  2. 04 Jan, 2015 16 commits
    • Dmitry Gutov's avatar
      Add mouse interaction to xref · c477f207
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--button-map): New variable.
      (xref--mouse-2): New command.
      (xref--insert-xrefs): Add `mouse-face' and `keymap' properties to
      the inserted references.
      c477f207
    • Paul Eggert's avatar
      'temacs -nw' should not call missing functions · bf90e9ac
      Paul Eggert authored
      Without this patch, "temacs -nw" fails with the diagnostic
      "emacs: Symbol's function definition is void: frame-windows-min-size"
      and messes up the tty's state.
      * lib-src/make-docfile.c (write_globals):
      Declare Fframe_windows_min_size with ATTRIBUTE_CONST, too.  Sort.
      * src/frame.c (Fframe_windows_min_size): New placeholder function.
      (syms_of_frame): Define it.
      * src/window.c (Fwindow__sanitize_window_sizes): New placeholder.
      (syms_of_window): Define it.
      bf90e9ac
    • Paul Eggert's avatar
      * INSTALL: Mention 'make WERROR_CFLAGS='. · cde73794
      Paul Eggert authored
      cde73794
    • Paul Eggert's avatar
      * doc/lispref/files.texi: Fix xref typo. · 1ac42bca
      Paul Eggert authored
      1ac42bca
    • Glenn Morris's avatar
      # ChangeLog fixes · e82fc62b
      Glenn Morris authored
      e82fc62b
    • Paul Eggert's avatar
      Clarify 'make info' · fec9b792
      Paul Eggert authored
      * Makefile.in (info): Use GNU make conditional rather than
      an '@' rule with a shell conditional, so that the builder can
      see the submake.
      fec9b792
    • Paul Eggert's avatar
      Less 'make' chatter for oldXMenu · 35127c36
      Paul Eggert authored
      * Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1)
      (AM_V_at, am__v_at_, am__v_at_0, am__v_at_1): New macros.
      (libXMenu11.a): Use them.
      35127c36
    • Paul Eggert's avatar
      Less 'make' chatter for lwlib · 4d12b554
      Paul Eggert authored
      * Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0, am__v_GEN_1)
      (AM_V_at, am__v_at_, am__v_at_0, am__v_at_1): New macros.
      (liblw.a): Use them.
      4d12b554
    • Paul Eggert's avatar
      Less 'make' chatter for lisp dir · ccb2d938
      Paul Eggert authored
      * lisp/Makefile.in (THEFILE): Define to be 'no-such-file' by default,
      to make it clearer that the caller must specify it.
      (compile-onefile): Remove, replacing by ...
      ($(THEFILE)c): ... new rule.  This lets us use AM_V_GEN here.
      ($(THEFILE)c, .el.elc, $(MH_E_DIR)/mh-loaddefs.el)
      ($(TRAMP_DIR)/tramp-loaddefs.el, $(CAL_DIR)/cal-loaddefs.el)
      ($(CAL_DIR)/diary-loaddefs.el, $(CAL_DIR)/hol-loaddefs.el):
      Use AM_V_GEN to lessen 'make' chatter.
      (.el.elc): Omit duplicate comment.
      * src/Makefile.in (%.elc): Adjust to compile-onefile change in
      ../lisp/Makefile.in.
      ccb2d938
    • Paul Eggert's avatar
      Less 'make' chatter for lib-src · 0d85a0c0
      Paul Eggert authored
      * Makefile.in (blessmail): Less 'make' chatter here.
      0d85a0c0
    • Paul Eggert's avatar
      Less 'make' chatter for leim · c895d02c
      Paul Eggert authored
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
      (am__v_at_1): New macros, from src/Makefile.in.
      (${leimdir}/quail/%.el, misc_convert, ${leimdir}/leim-list.el)
      (${leimdir}/ja-dic/ja-dic.el): Use them.
      c895d02c
    • Paul Eggert's avatar
      Less 'make' chatter for admin/grammars · 4e235829
      Paul Eggert authored
      * grammars/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN)
      (am__v_GEN_, am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_)
      (am__v_at_0, am__v_at_1): New macros, from src/Makefile.in.
      (${bovinedir}/%-by.el, ${bovinedir}/scm-by.el)
      (${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el)
      (${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el): Use them.
      4e235829
    • Paul Eggert's avatar
      Less 'make' chatter for VCSWITNESS · ed51b8df
      Paul Eggert authored
      * Makefile.in (dirstate, VCSWITNESS): New macros.
      (src): Use them to lessen 'make' chatter.
      ed51b8df
    • Paul Eggert's avatar
      Less 'make' chatter in batch mode · cd2d58c1
      Paul Eggert authored
      * admin/unidata/unidata-gen.el (unidata-gen-files):
      * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
      * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
      * lisp/files.el (save-buffer, basic-save-buffer):
      * lisp/international/quail.el (quail-update-leim-list-file):
      Don't output messages like "Generating ..." in batch mode.
      cd2d58c1
    • Paul Eggert's avatar
      batch write-region no longer says "Wrote FOO" · d20f82e6
      Paul Eggert authored
      This cuts down on 'make' chatter a bit.
      * doc/lispref/files.texi (Writing to Files):
      * etc/NEWS: Document this.
      * src/fileio.c (Fwrite_region):
      Don't output "Wrote /whatever/foo.elc" if noninteractive.
      d20f82e6
    • Dmitry Gutov's avatar
      Unbreak `mouse-action' property in text buttons · d9400748
      Dmitry Gutov authored
      * lisp/button.el (push-button): Fix regression from 2012-12-06.
      d9400748
  3. 03 Jan, 2015 5 commits
    • Paul Eggert's avatar
      Revert previous change to produce_composite_glyph · 5395106b
      Paul Eggert authored
      * term.c (produce_composite_glyph): Revert previous change (Bug#19496).
      5395106b
    • Dmitry Gutov's avatar
      Only show "Back" when the marker stack is non-empty · 8bef7b6a
      Dmitry Gutov authored
      * lisp/menu-bar.el (menu-bar-goto-menu): Use it.
      
      * lisp/progmodes/xref.el (xref-marker-stack-empty-p): New function.
      8bef7b6a
    • Dmitry Gutov's avatar
      Don't remap `next-line' and `previous-line' in xref keymap · 54962365
      Dmitry Gutov authored
      * lisp/progmodes/xref.el (xref--window-configuration): New variable.
      (xref-show-location-at-point): New command.
      (xref--restore-window-configuration): New function.
      (xref-next-line, xref-prev-line): Delegate to
      `xref-show-location-at-point'.
      (xref--location-at-point): Don't signal the error.
      (xref-goto-xref): Do that here instead.
      (xref--xref-buffer-mode): Add `xref--restore-window-configuration'
      to `pre-command-hook'.
      (xref--xref-buffer-mode-map): Don't remap `next-line' and
      `previous-line'.  Additionally bind `xref-next-line' and
      `xref-prev-line' to `n' and `p' respectively.  Bind
      `xref-show-location-at-point' to `C-o'.
      54962365
    • Paul Eggert's avatar
      Pacify gcc -Wparentheses · c6e9f783
      Paul Eggert authored
      * frame.c (x_set_frame_parameters): Add parens (Bug#19428).
      c6e9f783
    • Martin Rudalics's avatar
      Two fixes for setting up sizes of a new frame (Bug#19428). · 8c38c2b7
      Martin Rudalics authored
      * frame.c (x_set_frame_parameters): Call Fset_frame_size only if
      f->can_x_set_window_size is true.
      * xterm.c (x_set_window_size_1): Call change_frame_size with
      text sizes instead of pixel sizes (Bug#19428).
      8c38c2b7
  4. 02 Jan, 2015 3 commits
    • Glenn Morris's avatar
      ChangeLog fixes · 11ee7d8b
      Glenn Morris authored
      11ee7d8b
    • Glenn Morris's avatar
      Auto-commit of loaddefs files. · d0ca1148
      Glenn Morris authored
      d0ca1148
    • Paul Eggert's avatar
      Less 'make' chatter for unidata · 1cde56de
      Paul Eggert authored
      * unidata/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
      New macros, from ../src/Makefile.in.
      (${top_srcdir}/src/macuvs.h, %.elc, unidata.txt)
      (${unidir}/charprop.el, unifiles): Use them.
      (PHONY_EXTRAS): New macro.
      (.PHONY, ${unidir}/charprop.el): Use it.
      (FORCE): Remove; all uses replaced by PHONY_EXTRAS manipulation.
      (${unidir}/charprop.el, extraclean):
      Use 'make' conditionals rather than shell.
      1cde56de
  5. 01 Jan, 2015 9 commits
  6. 31 Dec, 2014 5 commits
    • Paul Eggert's avatar
      Less 'make' chatter for doc and lisp · 7e3507cf
      Paul Eggert authored
      [doc/emacs/ChangeLog]
      Less 'make' chatter for Emacs doc
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
      (ENVADD, $(buildinfodir)/emacs.info, emacs.html):
      Use them.
      [doc/lispintro/ChangeLog]
      Less 'make' chatter for Emacs doc
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
      (ENVADD, $(buildinfodir)/eintr.info, emacs-lisp-intro.html):
      Use them.
      [doc/lispref/ChangeLog]
      Less 'make' chatter for Emacs doc
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
      (ENVADD, $(buildinfodir)/elisp.info, elisp.html):
      Use them.
      [doc/misc/ChangeLog]
      Less 'make' chatter for Emacs doc
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../../src/Makefile.in.
      (ENVADD, $(buildinfodir)/%.info, %.html, ${buildinfodir}/ccmode.info)
      (${buildinfodir}/efaq%.info, efaq%.html):
      Use them.
      [lisp/ChangeLog]
      Less 'make' chatter in lisp directory
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1): New macros, from ../src/Makefile.in.
      (custom-deps, finder-data, autoloads, update-subdirs): Use them.
      7e3507cf
    • Paul Eggert's avatar
      Less 'make' chatter at top level · 5d6b3708
      Paul Eggert authored
      * Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_GEN, am__v_GEN_)
      (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
      (am__v_at_1): New macros, copied from src/Makefile.in.
      ($(srcdir)/src/config.in, ${srcdir}/info/dir):
      Be less chatty when not verbose.
      ($(srcdir)/src/stamp-h.in): Simplify with '$@'.
      5d6b3708
    • Paul Eggert's avatar
      * autogen.sh: Port better to non-GNU 'cp'. · 93796bae
      Paul Eggert authored
      Problem reported by Han Boetes.
      93796bae
    • Filipp Gunbin's avatar
      Use prefix argument in `info-display-manual' · f588156c
      Filipp Gunbin authored
      * lisp/info.el (info-display-manual): Limit the completion alternatives
      to currently visited manuals if prefix argument is non-nil.
      f588156c
    • Paul Eggert's avatar
      Simplify setfattr use by assuming GNU make · 25346768
      Paul Eggert authored
      * Makefile.in (PAXCTL_if_present, SETFATTR_if_present): New macros.
      (emacs$(EXEEXT), temacs$(EXEEXT), bootstrap-emacs$(EXEEXT)): Use them.
      Simplify by using GNU make rather than shell conditionals,
      by using ln -f rather than rm -f followed by ln,
      and by preferring $@ to spelling out the destination.
      25346768