1. 28 Feb, 2015 2 commits
    • Martin Rudalics's avatar
      Set can_x_set_window_size and after_make_frame in terminal frames (Bug#19962) · 5dd2272e
      Martin Rudalics authored
      * frame.c (make_initial_frame, Fmake_terminal_frame): Set
      can_x_set_window_size and after_make_frame. (Bug#19962).
      5dd2272e
    • Eli Zaretskii's avatar
      Improve [:alpha:] and [:alnum:] for multibyte characters (Bug#19878) · 1a50945f
      Eli Zaretskii authored
       src/character.c (alphabeticp, decimalnump): New functions.
       src/character.h (alphabeticp, decimalnump): Add prototypes.
       src/regex.c (ISALNUM, ISALPHA): Check Unicode character properties
       for multibyte characters by calling alphabeticp and decimalnump.
       (BIT_ALPHA, BIT_ALNUM): New bit masks.
       (re_wctype_to_bit): Return them when the class is RECC_ALPHA or
       RECC_ALNUM.
       (re_match_2_internal): Call ISALPHA and ISALNUM when appropriate.
      
       doc/lispref/searching.texi (Char Classes): Update the documentation of
       [:alpha:] and [:alnum:].
      
       etc/NEWS: Mention the changes in [:alpha:] and [:alnum:].
      1a50945f
  2. 27 Feb, 2015 2 commits
    • Jan D's avatar
      Adjust offset and border calculations for X. · 05379435
      Jan D authored
      * xfns.c (x_real_pos_and_offsets): Take outer_border as arg also.
      Initialize all args.  Get outer_border from window attributes.
      Fix typo for top_offset_y.
      (x_real_positions): Adjust for new arg to x_real_pos_and_offsets.
      (Fx_frame_geometry): Get outer_border also.  Use attrs.width/height.
      
      * xmenu.c (x_menu_show): Adjust for new arg to x_real_pos_and_offsets.
      
      * xterm.h (x_real_pos_and_offsets): Take outer_border as arg also.
      05379435
    • Mark Laws's avatar
      Support daemon mode on MS-Windows (bug#19688) · 805fe507
      Mark Laws authored
       src/emacs.c <w32_daemon_event> [WINDOWSNT]: New global var.
       (main) [WINDOWSNT]: Initialize it to NULL.  Create the event to
       signal clients we are ready for connections.
       (Fdaemon_initialized): Use DAEMON_RUNNING.
       [WINDOWSNT]: MS-Windows specific code to signal clients we are
       ready for connections.
       src/lisp.h (DAEMON_RUNNING): New macro, encapsulates Posix and
       MS-Windows conditions for running in daemon mode.
       src/minibuf.c (read_minibuf): Use DAEMON_RUNNING.
       src/keyboard.c (kbd_buffer_get_event): Use DAEMON_RUNNING.
       src/dispnew.c (init_display) [WINDOWSNT]: Initialize frames/terminal
       even in daemon mode.
      
       nt/inc/ms-w32.h (W32_DAEMON_EVENT): New macro.
      
       lib-src/emacsclient.c (decode_options) [WINDOWSNT]: Don't reject empty
       arguments for --alternate-editor.
       (print_help_and_exit) [WINDOWSNT]: Don't refrain from advertising
       empty arguments for --alternate-editor.
       (start_daemon_and_retry_set_socket) [WINDOWSNT]: MS-Windows
       specific code to start Emacs in daemon mode and wait for it to be
       ready for client connections.
      
       lisp/server.el (server-process-filter): Force GUI frames on
       MS-Windows in daemon mode, even if a TTY frame was requested.
       lisp/frameset.el (frameset-keep-original-display-p): Don't assume
       windows-nt cannot be in daemon mode.
       lisp/frame.el (window-system-for-display): Don't assume windows-nt
       cannot be in daemon mode.
      805fe507
  3. 26 Feb, 2015 2 commits
  4. 25 Feb, 2015 2 commits
    • Jan D's avatar
      Redo the whole window offsets and coordinate translation for X. · 719fd933
      Jan D authored
      * frame.h (struct frame): Remove x_pixels_diff, y_pixels_diff.
      
      * w32fns.c (x_real_positions): Remove setting of x_pixels_diff,
      y_pixels_diff.
      
      * xfns.c (x_real_pos_and_offsets): New function, basically the code
      from x_real_positions.
      (x_real_positions): Call x_real_pos_and_offsets.
      (x_relative_mouse_position): Use XTranslateCoordinates instead of
      OUTER_TO_INNER_DIFF macros.
      (Fx_frame_geometry): Get offsets with x_real_pos_and_offsets,
      border from window attributes.  Adjust tool bar and menu widths.
      
      * xmenu.c (create_and_show_popup_menu): Use XTranslateCoordinates
      instead of OUTER_TO_INNER_DIFF macros.
      
      * xterm.h (struct x_output): Remove x_pixels_outer_diff,
      y_pixels_outer_diff, FRAME_OUTER_TO_INNER_DIFF_X,
      FRAME_OUTER_TO_INNER_DIFF_Y. Declare x_real_pos_and_offsets.
      719fd933
    • Paul Eggert's avatar
      Backtrace after malloc arena is corrupted · b74db634
      Paul Eggert authored
      Without this change, if the malloc arena is corrupted and then
      'backtrace' is called, the backtrace can crash because 'backtrace'
      calls 'malloc'.  For more, please see:
      https://sourceware.org/ml/libc-alpha/2015-02/msg00678.html
      * emacs.c (main): Initialize tables used by 'backtrace'.
      * sysdep.c (emacs_backtrace): Document the newly used part of the API.
      b74db634
  5. 22 Feb, 2015 2 commits
    • Jan D's avatar
      Implement x-frame-geometry for NS. · 9f5a24a6
      Jan D authored
      * src/nsfns.m (Fx_frame_geometry): New function.
      (syms_of_nsfns): Defsubr Sx_frame_geometry.
      9f5a24a6
    • Paul Eggert's avatar
      Spelling fixes · 14b4e657
      Paul Eggert authored
      * lisp/cedet/semantic/doc.el (semantic-documentation-comment-preceding-tag):
      Rename from semantic-documentation-comment-preceeding-tag.  All
      uses changed.  Leave an obsolete alias behind.
      * src/lisp.h (DEFINE_NON_NIL_Q_SYMBOL_MACROS):
      Rename from DEFINE_NONNIL_Q_SYMBOL_MACROS.  All uses changed.
      14b4e657
  6. 21 Feb, 2015 2 commits
    • Eli Zaretskii's avatar
      Prefer 'Qfoo' to 'intern ("foo")' in w32 source files · 9074a684
      Eli Zaretskii authored
       src/w32term.c (queue_notifications):
       src/w32inevt.c (handle_file_notifications):
       src/w32font.c (w32_enumfont_pattern_entity): Prefer 'Qfoo' to
       'intern ("foo")'.
      9074a684
    • Paul Eggert's avatar
      Prefer 'Qfoo' to 'intern ("foo")' · 3ebf0630
      Paul Eggert authored
      * buffer.c (syms_of_buffer):
      * bytecode.c (exec_byte_code):
      * callint.c (Fcall_interactively):
      * callproc.c (create_temp_file):
      * charset.c (define_charset_internal):
      * coding.c (syms_of_coding):
      * editfns.c (syms_of_editfns):
      * emacs.c (main):
      * fns.c (syms_of_fns):
      * frame.c (delete_frame, Fframe_parameters):
      * keyboard.c (syms_of_keyboard):
      * keymap.c (syms_of_keymap):
      * minibuf.c (read_minibuf, syms_of_minibuf):
      * nsfns.m (ns_cursor_type_to_lisp):
      * textprop.c (syms_of_textprop):
      * xdisp.c (Fformat_mode_line, syms_of_xdisp):
      * xfns.c (x_create_tip_frame, Fx_select_font):
      * xml.c (parse_region):
      Prefer constants like 'Qfoo' to calls like 'intern ("foo")'.
      * buffer.c (syms_of_buffer): OK to do (put 'erase-buffer 'disabled
      t) here now ...
      (keys_of_buffer): ... instead of here.
      * ftfont.c (syms_of_ftfont): Move DEFSYM of Qmono from here ...
      * xfns.c (syms_of_xfns): ... to here, since ftfont.c is more
      optional than xfns.c.
      3ebf0630
  7. 20 Feb, 2015 2 commits
    • Jan Djärv's avatar
      Avoid endless loop when handling fatal signal. · 51d475a8
      Jan Djärv authored
      * src/emacs.c (terminate_due_to_signal): Move totally_unblock_input after
      setting fatal_error_in_progress, so gobble_input and *read_socket are
      not read if there are pending_signals.
      51d475a8
    • Paul Eggert's avatar
      Simplify binary I/O configuration · 3bbf5170
      Paul Eggert authored
      * lib-src/etags.c: Include <sysstdio.h> rather than <stdio.h>.
      (process_file_name, analyze_regex): Use FOPEN_BINARY rather than
      hard-coded "b".
      * src/lread.c (Fload): Prefer FOPEN_TEXT and FOPEN_BINARY to
      #ifdef DOS_NT.
      * src/sysstdio.h: Add copyright notice.  Include <fcntl.h>.
      (FOPEN_BINARY, FOPEN_TEXT): New macros.
      * src/xfaces.c (Fx_load_color_file): Use FOPEN_TEXT, since POSIX
      doesn't guarantee that "t" will work.
      3bbf5170
  8. 19 Feb, 2015 2 commits
  9. 18 Feb, 2015 3 commits
  10. 14 Feb, 2015 2 commits
  11. 13 Feb, 2015 1 commit
    • Paul Eggert's avatar
      Better support for future plugins · 65563fd7
      Paul Eggert authored
      See the thread containing:
      http://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00720.html
      * lib-src/make-docfile.c (write_globals): Generate code that #defines
      Qxxx macros other than Qnil only if DEFINE_NONNIL_Q_SYMBOL_MACROS.
      Qnil is safe to define even in plugins, since it must be zero for
      other reasons.
      * src/lisp.h (DEFINE_LISP_SYMBOL): New macro, replacing and simplifying
      DEFINE_LISP_SYMBOL_BEGIN / DEFINE_LISP_SYMBOL_END.  All uses changed.
      (DEFINE_NONNIL_Q_SYMBOL_MACROS): New macro, defaulting to true.
      65563fd7
  12. 11 Feb, 2015 1 commit
    • Martin Rudalics's avatar
      Improve toggling fullscreen state of frames. · 02138cb0
      Martin Rudalics authored
      * frame.el (toggle-frame-maximized, toggle-frame-fullscreen):
      Rename frame parameter `maximized' to `fullscreen-restore'.
      Restore fullwidth/-height after fullboth state.  Update
      doc-strings.
      * w32term.c (w32_read_socket): In SIZE_MAXIMIZED and
      SIZE_RESTORED cases correctly handle `maximized' value for the
      `fullscreen' parameter.  Don't use the 'maximized' parameter any
      more.
      (w32fullscreen_hook): Include menu bar height when calculating
      new text height in FULLSCREEN_BOTH case.
      * xterm.c (do_ewmh_fullscreen): Handle transition from
      FULLSCREEN_BOTH to FULLSCREEN_MAXIMIZED when
      x_frame_normalize_before_maximize is set.
      * frames.texi (Size Parameters): Update description of
      fullscreen frame parameter.
      02138cb0
  13. 10 Feb, 2015 1 commit
    • Paul Eggert's avatar
      Use bool for boolean in xdisp.c · f0ed1d63
      Paul Eggert authored
      * dispextern.h (display_prop_intangible_p, resize_mini_window)
      (pixel_to_glyph_coords, mark_window_display_accurate)
      (compute_display_string_pos, handle_tool_bar_click)
      (x_intersect_rectangles, clear_mouse_face, display_tty_menu_item):
      * lisp.h (setup_echo_area_for_printing, message_with_string)
      (pos_visible_p): Use bool for boolean.
      * xdisp.c: Use bool, true, false intstead of int, 1, 0.
      Remove unnecessary forward decls.
      (trace_move) [DEBUG_TRACE_MOVE]: Now static.
      (CHECK_IT, CHECK_WINDOW_END):
      Now an inline function that is always defined.
      (check_it) [0]:
      (check_window_end) [oGLYPH_DEBUG && ENABLE_CHECKING]:
      Remove; no longer needed.
      (handle_stop): Prefer (X && !Y) to (X ? !Y : 0).
      (get_overlay_strings): Omit unnecessary casts.
      (forward_to_next_line_start):
      (Ftool_bar_height):
      Prefer !BOOL to (BOOL ? 0 : 1).
      (next_element_function): New typedef.
      (get_next_element): Use it.  Now const.
      (IT_POS_VALID_AFTER_MOVE_P): Prefer !X || Y==0 to (X ? Y==0 : 1).
      (vmessage): Now ATTRIBUTE_FORMAT_PRINTF (1, 0), to pacify GCC 4.9.2
      (display_echo_area): Prefer BOOLEXPR to BOOLEXPR ? 1 : 0.
      (tool_bar_item_info): Simplify.
      (invisible_prop): Rename from invisible_p, since it doesn't
      return bool.  All callers changed.
      (x_produce_glyphs): Simplify.
      f0ed1d63
  14. 09 Feb, 2015 9 commits
  15. 08 Feb, 2015 3 commits
    • Paul Eggert's avatar
      Minor tweaks to frame_size_history_add · 61320cc9
      Paul Eggert authored
      * frame.c (frame_size_history_add): Don't assume length fits in 'int'.
      Prefer XCAR and XCDR to Fcar and Fcdr when the arg is a cons.
      (Fframe_after_make_frame): Simplify.
      * gtkutil.c: Remove commented-out code.
      * xfns.c (Fx_create_frame): Fix indenting.
      61320cc9
    • Eli Zaretskii's avatar
      Fix a thinko in frame-parameter (Bug#19802) · dd2aa937
      Eli Zaretskii authored
       src/frame.c (Fframe_parameter): Don't replace a non-nil value of
       foreground-color or background-color parameters with a nil value.
      dd2aa937
    • Stefan Monnier's avatar
      * src/data.c (Findirect_function): Don't signal an error · 60f8214e
      Stefan Monnier authored
      * src/data.c (Findirect_function): Like `symbol-function', don't signal an
      error for void functions any more.
      * lisp/subr.el (indirect-function): Change advertised calling convention.
      60f8214e
  16. 07 Feb, 2015 2 commits
    • Martin Rudalics's avatar
      Try to improve handling of fullwidth/-height frames. · d1655783
      Martin Rudalics authored
      * frame.el (frame-notice-user-settings): Update
      `frame-size-history'.
      (make-frame): Update `frame-size-history'.  Call
      `frame-after-make-frame'.
      * faces.el (face-set-after-frame-default): Remove call to
      frame-can-run-window-configuration-change-hook.
      * frame.c (frame_size_history_add): New function.
      (frame_inhibit_resize): Consider frame_inhibit_implied_resize
      only after frame's after_make_frame slot is true.  Inhibit
      resizing fullwidth-/height frames in one direction only.  Update
      frame_size_history.
      (adjust_frame_size): Call frame_size_history_add.
      (make_frame): Initalize after_make_frame slot.
      (Fmake_terminal_frame): Adjust adjust_frame_size call.
      (Fcan_run_window_configuration_change_hook): Rename to
      Fframe_after_make_frame.  Set after_make_frame slot.  Return
      second argument.
      (x_set_frame_parameters): Postpone handling fullscreen parameter
      until after width and height parameters have been set.  Apply
      width and height changes only if can_x_set_window_size is true.
      Update frame_size_history.
      (Qadjust_frame_size_1, Qadjust_frame_size_2)
      (Qadjust_frame_size_3, QEmacsFrameResize, Qframe_inhibit_resize)
      (Qx_set_fullscreen, Qx_check_fullscreen, Qx_set_window_size_1)
      (Qxg_frame_resized, Qxg_frame_set_char_size_1)
      (Qxg_frame_set_char_size_2, Qxg_frame_set_char_size_3)
      (Qxg_change_toolbar_position, Qx_net_wm_state)
      (Qx_handle_net_wm_state, Qtb_size_cb, Qupdate_frame_tool_bar)
      (Qfree_frame_tool_bar): New symbol for updating
      frame_size_history.
      (Qtip_frame, Qterminal_frame): New symbols.
      (Vframe_adjust_size_history): Rename to frame_size_history.
      * frame.h (struct frame): Rename
      can_run_window_configuration_change_hook slot to
      after_make_frame.
      (frame_size_history_add): Extern.
      * gtkutil.c (xg_frame_resized): Call frame_size_history_add.
      Don't set FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT here.
      (xg_frame_set_char_size): Try to preserve the status of
      fullwidth/-height frames.  Call frame_size_history_add.
      (tb_size_cb, update_frame_tool_bar, free_frame_tool_bar)
      (xg_change_toolbar_position): Call frame_size_history_add.
      * w32fns.c (x_change_tool_bar_height): Handle frame's fullscreen
      status.
      (Fx_create_frame): Process fullscreen parameter after frame has
      been resized.
      (x_create_tip_frame): Pass Qtip_frame to adjust_frame_size.
      (Fx_frame_geometry): Don't pollute pure storage.
      * w32term.c (w32_read_socket): For WM_WINDOWPOSCHANGED,
      WM_ACTIVATE and WM_ACTIVATEAPP set frame's visibility before
      calling w32fullscreen_hook.  For WM_DISPLAYCHANGE call
      w32fullscreen_hook immediately.
      (x_fullscreen_adjust, x_check_fullscreen): Remove.
      (w32fullscreen_hook): Call change_frame_size just as with a
      "normal" frame resize operation.  Call do_pending_window_change.
      (x_set_window_size): Try to handle fullwidth and fullheight more
      accurately.  Don't rely on w32_enable_frame_resize_hack.
      (w32_enable_frame_resize_hack): Remove variable.
      * widget.c (EmacsFrameResize): Remove dead code.  Call
      frame_size_history_add
      * window.c (run_window_configuration_change_hook): Check
      f->after_make_frame instead of
      f->can_run_window_configuration_change_hook.
      * xfns.c (x_change_tool_bar_height): Handle frame's fullscreen status.
      (Fx_create_frame): Process fullscreen parameter after frame has
      been resized.
      (Fx_frame_geometry): Don't pollute pure storage.
      * xterm.c (x_net_wm_state, x_handle_net_wm_state): Call
      frame_size_history_add.
      (do_ewmh_fullscreen): Handle x_frame_normalize_before_maximize.
      (x_check_fullscreen): Count in menubar when calling
      XResizeWindow.  Wait for ConfigureNotify event.  Call
      frame_size_history_add.
      (x_set_window_size_1): Remove PIXELWISE argument.  Try to handle
      changing a fullheight frame's width or a fullwidth frame's
      height.  Call frame_size_history_add.
      (x_set_window_size): Simplify xg_frame_set_char_size and
      x_set_window_size_1 calls.
      (x_frame_normalize_before_maximize): New variable.
      d1655783
    • Paul Eggert's avatar
      Remove no-longer-used cursor_in_echo_area code · cf498e5b
      Paul Eggert authored
      * dispnew.c (set_window_cursor_after_update, update_frame_1):
      Remove checks for negative cursor_in_echo_area, since this var is
      a boolean, and has been a boolean for some time.  Simplify.
      * dispnew.c (init_display):
      * xdisp.c (message3_nolog, vmessage): Use bool for boolean.
      cf498e5b
  17. 05 Feb, 2015 2 commits
    • Stefan Monnier's avatar
      Add (:documentation <form>) for dynamically-generated docstrings · ad5a7c86
      Stefan Monnier authored
      * lisp/emacs-lisp/bytecomp.el:
      (byte-compile-initial-macro-environment): Use macroexp-progn.
      (byte-compile-cl-warn): Don't silence use of cl-macroexpand-all.
      (byte-compile-file-form-defvar-function): Rename from
      byte-compile-file-form-define-abbrev-table.
      (defvaralias, byte-compile-file-form-custom-declare-variable): Use it.
      (byte-compile): Use byte-compile-top-level rather than
      byte-compile-lambda so we can compile non-values.
      (byte-compile-form): Add warnings for failed uses of lexical vars via
      quoted symbols.
      (byte-compile-unfold-bcf): Improve message for failed inlining.
      (byte-compile-make-closure): Handle new format of internal-make-closure
      for dynamically-generated docstrings.
      
      * lisp/emacs-lisp/cconv.el (cconv--convert-function):
      Add `docstring' argument.
      (cconv-convert): Use it to handle the new (:documentation ...) form.
      (cconv-analyze-form): Handle the new (:documentation ...) form.
      
      * src/eval.c (Ffunction): Handle the new (:documentation ...) form.
      (syms_of_eval): Declare `:documentation'.
      ad5a7c86
    • Martin Rudalics's avatar
      Remove recently added BUFFER arg of `window-text-pixel-size'. · 49aa3a12
      Martin Rudalics authored
      * xdisp.c (Fwindow_text_pixel_size): Remove optional BUFFER
      argument added on 2015-02-01.
      * display.texi (Size of Displayed Text): Remove description of
      optional argument BUFFER of `window-text-pixel-size'.
      49aa3a12