1. 19 Jun, 2013 4 commits
    • Juanma Barranquero's avatar
      Fix typos in ChangeLogs. · 4f405069
      Juanma Barranquero authored
      4f405069
    • Juanma Barranquero's avatar
      src/sound.c: Silence some warnings. · 983aeb9a
      Juanma Barranquero authored
      (string_default): Move to !WINDOWSNT section.
      (Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning.
      983aeb9a
    • Paul Eggert's avatar
      * sound.c: Integer cleanups. · bbc51b15
      Paul Eggert authored
      Remove unnecessary forward decls.
      (struct sound_device): The 'file' member is now a Lisp_Object, not
      a char *, so that we needn't invoke alloca on a huge size.
      (Fplay_sound_internal): Adjust to this.
      (string_default): New function.
      (vox_open, vox_init, alsa_open, alsa_configure, alsa_init):
      Use it to adjust to the struct sound_device change.
      (parse_sound, wav_init, au_init, alsa_init): Use bool for booleans.
      (be2hs) [0]: Remove.
      bbc51b15
    • Paul Eggert's avatar
      * syntax.c (skip_chars): Don't use uninitialized storage · 178ba3e6
      Paul Eggert authored
      when searching a multibyte buffer for characters that are not in a
      unibyte string that contains non-ASCII characters.
      178ba3e6
  2. 18 Jun, 2013 6 commits
  3. 17 Jun, 2013 6 commits
    • Paul Eggert's avatar
      * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t. · ec6ecaad
      Paul Eggert authored
      Needed if HAVE_NTGUI.  Reported by Juanma Barranquero.
      ec6ecaad
    • Paul Eggert's avatar
    • Eli Zaretskii's avatar
    • Eli Zaretskii's avatar
      Possible fix for bug #14630, which continues bug #14062. · ca463325
      Eli Zaretskii authored
       src/w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
       unless we know that the window w's frame is a frame object.
      ca463325
    • Lars Magne Ingebrigtsen's avatar
      Implement new function `add-face-text-property' · 708e05f6
      Lars Magne Ingebrigtsen authored
      * doc/lispref/text.texi (Changing Properties): Document `add-face-text-property'.
      
      * src/textprop.c (property_set_type): New enum.
      (add_properties): Allow appending/prepending text properties.
      (add_text_properties_1): Factored out of Fadd_text_properties.
      (Fadd_text_properties): Moved all the code into
      add_text_properties_1.
      (Fadd_face_text_property): New function that calls
      add_text_properties_1.
      708e05f6
    • Paul Eggert's avatar
      Use functions, not macros, for XINT etc. · 84575e67
      Paul Eggert authored
      In lisp.h, prefer functions to function-like macros, and
      constants to object-like macros, when either will do.  This:
       . simplifies use, as there's no more need to worry about
         arguments' side effects being evaluated multiple times.
       . makes the code easier to debug on some platforms.
      However, when using gcc -O0, keep using function-like macros
      for a few critical operations, for performance reasons.
      This sort of thing isn't needed with gcc -Og, but -Og
      is a GCC 4.8 feature and isn't widely-enough available yet.
      Also, move functions from lisp.h to individual modules when possible.
      From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>.
      * alloc.c (XFLOAT_INIT, set_symbol_name):
      * buffer.c (CHECK_OVERLAY):
      * chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii)
      (set_char_table_parent):
      * coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR):
      * data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD)
      (XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found)
      (blv_value, set_blv_value, set_blv_where, set_blv_defcell)
      (set_blv_valcell):
      * emacs.c (setlocale) [!HAVE_SETLOCALE]:
      * eval.c (specpdl_symbol, specpdl_old_value, specpdl_where)
      (specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs)
      (backtrace_args, backtrace_debug_on_exit):
      * floatfns.c (CHECK_FLOAT):
      * fns.c (CHECK_HASH_TABLE, CHECK_LIST_END)
      (set_hash_key_and_value, set_hash_next, set_hash_next_slot)
      (set_hash_hash, set_hash_hash_slot, set_hash_index)
      (set_hash_index_slot):
      * keymap.c (CHECK_VECTOR_OR_CHAR_TABLE):
      * marker.c (CHECK_MARKER):
      * textprop.c (CHECK_STRING_OR_BUFFER):
      * window.c (CHECK_WINDOW_CONFIGURATION):
      Move here from lisp.h, and make these functions static rather than
      extern inline.
      * buffer.c (Qoverlayp):
      * data.c (Qsubrp):
      * fns.c (Qhash_table_p):
      * window.c (Qwindow_configuration_p):
      Now static.
      * lisp.h: Remove the abovementioned defns and decls.
      
      * configure.ac (WARN_CFLAGS): Remove -Wbad-function-cast,
      as it generates bogus warnings about reasonable casts of calls.
      * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]:
      Remove enum lsb_bits; no longer needed.
      (allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue.
      * buffer.c (Qoverlap):
      * data.c (Qsubrp):
      * fns.c (Qhash_table_p):
      Now extern, so lisp.h can use these symbols.
      * dispextern.h: Include character.h, for MAX_CHAR etc.
      (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
      (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
      (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
      (GLYPH_CODE_P): Move here from lisp.h.
      (GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
      (GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros.
      (GLYPH_MODE_LINE_FACE): Now enums, not macros.
      * eval.c (Fautoload): Cast XUNTAG output to intptr_t, since
      XUNTAG now returns void *.
      * lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS)
      (lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE)
      (lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP)
      (lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP)
      (lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P)
      (lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP)
      (lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH)
      (lisp_h_XPNTR, lisp_h_XSYMBOL):
      New macros, renamed from their sans-lisp_h_ counterparts.
      (XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL)
      (CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP)
      (MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP)
      (VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL):
      If compiling via GCC without optimization, define these as macros
      in addition to inline functions.
      To disable this, compile with -DINLINING=0.
      (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros.
      (check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise.
      (make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but
      hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that.
      (INTMASK, VALMASK): Now macros, since static values cannot be
      accessed from extern inline functions.
      (VALMASK): Also a constant, for benefit of old GDB.
      (LISP_INT_TAG_P): Remove; no longer needed as the only caller
      is INTEGERP, which can fold it in.
      (XLI, XIL, XHASH, XTYPE,XINT, XFASTINT, XUINT)
      (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL)
      (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE)
      (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE)
      (CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR)
      (CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET)
      (SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF)
      (ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF)
      (CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS)
      (SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS)
      (SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P)
      (SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P)
      (XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE)
      (HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE)
      (XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE)
      (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD)
      (XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP)
      (RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP)
      (INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP)
      (MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP)
      (BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP)
      (PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP)
      (TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P)
      (SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP)
      (CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING)
      (CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
      (CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY)
      (CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW)
      (CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR)
      (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT)
      (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY)
      (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR)
      (CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH)
      Now functions.
      (check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function.
      (LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed.
      (VALMASK): Define in one place rather than in two, merging the
      USE_LSB_TAG parts; this is simpler.
      (aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM)
      (max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P):
      Move up, to avoid use before definition.
      Also include "globals.h" earlier, for the same reason.
      (make_natnum): New function.
      (XUNTAG): Now returns void *, not intptr_t, as this means fewer casts.
      (union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP)
      (CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP)
      (KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP)
      (PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP)
      (VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set)
      (char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p)
      (Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp)
      (Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp)
      (Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument)
      (initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp)
      (Qwindow_configuration_p, Qimage): New forward declarations.
      (XSETFASTINT): Simplify by rewriting in terms of make_natnum.
      (STRING_COPYIN): Remove; unused.
      (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ...
      (xcar_addr, xcdr_addr): New functions.  All uses changed.
      (IEEE_FLOATING_POINT): Now a constant, not a macro.
      (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
      (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
      (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
      (GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use.
      (TYPE_RANGED_INTEGERP): Simplify.
      (Qsubrp, Qhash_table_p, Qoverlayp): New extern decls.
      (setlocale, fixup_locale, synchronize_system_messages_locale)
      (synchronize_system_time_locale) [!HAVE_SETLOCALE]:
      Now empty functions, not macros.
      (functionp): Return bool, not int.
      * window.c (Qwindow_configuration_p): Now extern,
      so window.h can use it.
      * window.h (Qwindowp): Move decl back to lisp.h.
      84575e67
  4. 15 Jun, 2013 2 commits
  5. 13 Jun, 2013 2 commits
  6. 12 Jun, 2013 1 commit
  7. 11 Jun, 2013 2 commits
  8. 10 Jun, 2013 2 commits
  9. 09 Jun, 2013 2 commits
  10. 08 Jun, 2013 3 commits
    • Eli Zaretskii's avatar
      Fix bug #14575 with window-specific overlays with display props. · 5bf97bfc
      Eli Zaretskii authored
       src/bidi.c (bidi_fetch_char): Accept additional argument, the window
       being displayed, and pass it to compute_display_string_pos.
       (bidi_level_of_next_char, bidi_resolve_explicit_1)
       (bidi_paragraph_init): All callers changed.
       src/xdisp.c (init_from_display_pos, init_iterator)
       (handle_single_display_spec, next_overlay_string)
       (get_overlay_strings_1, reseat_1, reseat_to_string)
       (push_prefix_prop, Fcurrent_bidi_paragraph_direction): Set
       bidi_it.w member from it->w.
       (compute_display_string_pos): Accept additional argument, the
       window being displayed, and pass it to Fget_char_property.
       src/dispextern.h (struct bidi_it): New member w, the window being
       displayed.
       (compute_display_string_pos): Adjust prototype.
      5bf97bfc
    • Jan Djärv's avatar
      Fix compilation issues for GNUStep and GLIB conflicts. · b33f93ee
      Jan Djärv authored
      * configure.ac (HAVE_GLIB): Only set XGSELOBJ if HAVE_NS = no.
      (with_file_notification): Don't set to gfile if with_ns = yes.
      
      * src/process.c (wait_reading_process_output): Check for NS before GLIB.
      GLIB may be linked in due to rsvg, but ns_select must be called.
      
      * src/xgselect.c (xg_select): Remove call to window_system_available
      and g_main_context_pending at the top, so Gdk events (i.e. file
      notify) are processed when Emacs is started with -nw.
      
      * src/xgselect.c: Remove unneeded include xterm.h
      b33f93ee
    • Jan Djärv's avatar
      * xgselect.c (xg_select): Remove call to window_system_available · 5de0e011
      Jan Djärv authored
      and g_main_context_pending at the top, so Gdk events (i.e. file
      notify) are processed when Emacs is started with -nw.
      5de0e011
  11. 07 Jun, 2013 3 commits
    • Eli Zaretskii's avatar
      Fix "make TAGS" on MS-Windows. · a822acff
      Eli Zaretskii authored
       lisp/Makefile.in (TAGS TAGS-LISP): Pass the (long) list of *.el files
       through xargs, to avoid failure due to MS-Windows limitations on
       command-line length.
      
       src/Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files.
       (ctagsfiles3): New variable, includes only *.m files.
       (TAGS): Use an explicit language name in the regular expressions,
       to avoid transformation of '/SOMETHING' by MSYS to
       'c:\MSYS\SOMETHING'.
      a822acff
    • Richard Copley's avatar
      Fix bug #14513 with --enable-locallisppath not working on MS-Windows. · 6c0a9ed1
      Richard Copley authored
       Makefile.in (msys_to_w32): Modify to support d:\foo file names.
       (msys_lisppath_to_w32, msys_prefix_subst, msys_sed_sh_escape): New
       variables.
       (epaths-force-w32): Use them.
      
       epaths.nt (PATH_SITELOADSEARCH): Fix commentary.
      
       epaths.in: Fix commentary to PATH_SITELOADSEARCH.
      6c0a9ed1
    • Juanma Barranquero's avatar
      Fix typos. · a0eb10b3
      Juanma Barranquero authored
      a0eb10b3
  12. 06 Jun, 2013 2 commits
    • Eli Zaretskii's avatar
      Improve the fix for bug #14558. · 9ef6111b
      Eli Zaretskii authored
       src/xdisp.c (note_mouse_highlight): When mouse-highlight is off,
       still need to set the mouse pointer shape and activate help-echo.
      9ef6111b
    • 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
  13. 05 Jun, 2013 5 commits
    • Eli Zaretskii's avatar
      Fix bug #14558 with turning off mouse-highlight during highlight. · 817ebfcf
      Eli Zaretskii authored
       src/xdisp.c (handle_tool_bar_click): When mouse-highlight is off,
       don't insist on being invoked on a highlighted tool-bar button.
       Avoids losing tool-bar functionality when mouse-highlight is nil.
       (note_tool_bar_highlight, note_mode_line_or_margin_highlight):
       Don't highlight when mouse-highlight is nil.
       (note_mouse_highlight): When mouse-highlight is nil, don't return
       right away; instead, run tool-bar and mode-line highlight
       subroutine, clear any existing highlight, and revert the mouse
       pointer to its default shape.
      817ebfcf
    • Stefan Monnier's avatar
      * lisp/simple.el: Move all the prog-mode code to prog-mode.el. · 55577e7c
      Stefan Monnier authored
      * lisp/progmodes/prog-mode.el: New file.
      * lisp/loadup.el:
      * src/lisp.mk (lisp): Add prog-mode.el.
      55577e7c
    • Paul Eggert's avatar
      Chain glib's SIGCHLD handler from Emacs's (Bug#14474). · f019a684
      Paul Eggert authored
      * process.c (dummy_handler): New function.
      (lib_child_handler): New static var.
      (handle_child_signal): Invoke it.
      (catch_child_signal): If a library has set up a signal handler,
      save it into lib_child_handler.
      (init_process_emacs): If using glib and not on Windows, tickle glib's
      child-handling code so that it initializes its private SIGCHLD handler.
      * syssignal.h (SA_SIGINFO): Default to 0.
      * xterm.c (x_term_init): Remove D-bus hack that I installed on May
      31; it should no longer be needed now.
      f019a684
    • Michael Albinus's avatar
      * emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify. · 90db8702
      Michael Albinus authored
      * gfilenotify.c (globals_of_gfilenotify): New function.
      (syms_of_gfilenotify): Move global initialization there.
      
      * lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype.
      90db8702
    • Stefan Monnier's avatar
      * src/keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings): · bfa3acd6
      Stefan Monnier authored
      * src/keyboard.c (menu_bar_items, tool_bar_items):
      * src/doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does
      not override local keymaps any more.
      bfa3acd6