1. 16 Jul, 2013 5 commits
    • Jan Djärv's avatar
      Stop cursor blink after blink-cursor-blinks (10), stop timers when not blinking. · 18c26d81
      Jan Djärv authored
      * etc/NEWS: Document blink-cursor-blinks and blink timers stopped.
      
      * lisp/frame.el (blink-cursor-blinks): New defcustom.
      (blink-cursor-blinks-done): New defvar.
      (blink-cursor-start): Set blink-cursor-blinks-done to 1.
      (blink-cursor-timer-function): Check if number of blinks has been
      done on X and NS.
      (blink-cursor-suspend, blink-cursor-check): New defuns.
      
      * src/frame.c (Fhandle_focus_in, Fhandle_focus_out): New functions.
      (Fhandle_switch_frame): Call Fhandle_focus_in.
      (syms_of_frame): defsubr handle-focus-in/out.
      
      * src/keyboard.c (Qfocus_in, Qfocus_out): New static objects.
      (make_lispy_focus_in, make_lispy_focus_out): Declare and define.
      (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no
      switch frame event is made.  Check ! NILP (event->arg) if X11 (moved
      from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11
      and there is a focused frame.
      (head_table): Add focus-in and focus-out.
      (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map,
      bind to handle-focus-in/out.
      
      * src/nsterm.m (windowDidResignKey): If this is the focused frame, generate
      FOCUS_OUT_EVENT.
      
      * src/termhooks.h (enum event_kind): Add FOCUS_OUT_EVENT.
      
      * src/xterm.c (x_focus_changed): Always generate FOCUS_IN_EVENT.
      Set event->arg to Qt if switch-event shall be generated.
      Generate FOCUS_OUT_EVENT for FocusOut if this is the focused frame.
      18c26d81
    • Paul Eggert's avatar
      Fix porting bug to older POSIXish platforms. · c7ddc792
      Paul Eggert authored
      * sysdep.c (emacs_pipe): New function, that implements
      pipe2 (fd, O_CLOEXEC) even on hosts that lack O_CLOEXEC.
      This should port better to CentOS 5 and to Mac OS X 10.6.
      All calls to pipe2 changed.
      
      Fixes: debbugs:14862
      c7ddc792
    • Xue Fuqiao's avatar
      Fix the introduction of `set-frame-selected-window''s arguments. · e6c005c5
      Xue Fuqiao authored
      * doc/lispref/windows.texi (Selecting Windows): Fix the introduction of `set-frame-selected-window''s arguments.
      e6c005c5
    • Paul Eggert's avatar
      Prefer list1 (X) to Fcons (X, Qnil) when building lists. · 6c6f1994
      Paul Eggert authored
      This makes the code easier to read and the executable a bit smaller.
      Do not replace all calls to Fcons that happen to create lists,
      just calls that are intended to create lists.  For example, when
      creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil))
      rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil).
      Similarly for list2 through list5.
      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
      * bytecode.c (exec_byte_code):
      * callint.c (quotify_arg, Fcall_interactively):
      * callproc.c (Fcall_process, create_temp_file):
      * charset.c (load_charset_map_from_file)
      (Fdefine_charset_internal, init_charset):
      * coding.c (get_translation_table, detect_coding_system)
      (Fcheck_coding_systems_region)
      (Fset_terminal_coding_system_internal)
      (Fdefine_coding_system_internal, Fdefine_coding_system_alias):
      * composite.c (update_compositions, Ffind_composition_internal):
      * dired.c (directory_files_internal, file_name_completion)
      (Fsystem_users):
      * dispnew.c (Fopen_termscript, bitch_at_user, init_display):
      * doc.c (Fsnarf_documentation):
      * editfns.c (Fmessage_box):
      * emacs.c (main):
      * eval.c (do_debug_on_call, signal_error, maybe_call_debugger)
      (Feval, eval_sub, Ffuncall, apply_lambda):
      * fileio.c (make_temp_name, Fcopy_file, Faccess_file)
      (Fset_file_selinux_context, Fset_file_acl, Fset_file_modes)
      (Fset_file_times, Finsert_file_contents)
      (Fchoose_write_coding_system, Fwrite_region):
      * fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns):
      * font.c (font_registry_charsets, font_parse_fcname)
      (font_prepare_cache, font_update_drivers, Flist_fonts):
      * fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset):
      * frame.c (make_frame, Fmake_terminal_frame)
      (x_set_frame_parameters, x_report_frame_params)
      (x_default_parameter, Fx_parse_geometry):
      * ftfont.c (syms_of_ftfont):
      * image.c (gif_load):
      * keyboard.c (command_loop_1):
      * keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1)
      (Fcopy_keymap, append_key, Fcurrent_active_maps)
      (Fminor_mode_key_binding, accessible_keymaps_1)
      (Faccessible_keymaps, Fwhere_is_internal):
      * lread.c (read_emacs_mule_char):
      * menu.c (find_and_return_menu_selection):
      * minibuf.c (get_minibuffer):
      * nsfns.m (Fns_perform_service):
      * nsfont.m (ns_script_to_charset):
      * nsmenu.m (ns_popup_dialog):
      * nsselect.m (ns_get_local_selection, ns_string_from_pasteboard)
      (Fx_own_selection_internal):
      * nsterm.m (append2):
      * print.c (Fredirect_debugging_output)
      (print_prune_string_charset):
      * process.c (Fdelete_process, Fprocess_contact)
      (Fformat_network_address, set_socket_option)
      (read_and_dispose_of_process_output, write_queue_push)
      (send_process, exec_sentinel):
      * sound.c (Fplay_sound_internal):
      * textprop.c (validate_plist, add_properties)
      (Fput_text_property, Fadd_face_text_property)
      (copy_text_properties, text_property_list, syms_of_textprop):
      * unexaix.c (report_error):
      * unexcoff.c (report_error):
      * unexsol.c (unexec):
      * xdisp.c (redisplay_tool_bar, store_mode_line_string)
      (Fformat_mode_line, syms_of_xdisp):
      * xfaces.c (set_font_frame_param)
      (Finternal_lisp_face_attribute_values)
      (Finternal_merge_in_global_face, syms_of_xfaces):
      * xfns.c (x_default_scroll_bar_color_parameter)
      (x_default_font_parameter, x_create_tip_frame):
      * xfont.c (xfont_supported_scripts):
      * xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show)
      (menu_help_callback, xmenu_show):
      * xml.c (make_dom):
      * xterm.c (set_wm_state):
      Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list,
      and similarly for list2 through list5.
      6c6f1994
    • Paul Eggert's avatar
      Spelling fixes for "does not exists". · 8abee653
      Paul Eggert authored
      8abee653
  2. 15 Jul, 2013 5 commits
    • Glenn Morris's avatar
    • Paul Eggert's avatar
      * callproc.c (Fcall_process_region): Fix minor race and tune. · bafe80ce
      Paul Eggert authored
      (create_temp_file): New function, with the temp-file-creation part
      of the old Fcall_process_region.  Use Fcopy_sequence to create the
      temp file name, rather than alloca + build_string, for simplicity.
      Don't bother to block input around the temp file creation;
      shouldn't be needed.  Simplify use of mktemp.  Use
      record_unwind_protect immediately after creating the temp file;
      this closes an unlikely race where the temp file was not removed.
      Use memcpy rather than an open-coded loop.
      (Fcall_process_region): Use the new function.  If the input is
      empty, redirect from /dev/null rather than from a newly created
      empty temp file; this avoids unnecessary file system traffic.
      bafe80ce
    • Paul Eggert's avatar
      * shell.el (explicit-bash-args): Remove obsolete hack for Bash 1.x. · 0463c1ef
      Paul Eggert authored
      The hack didn't work outside English locales anyway.
      0463c1ef
    • Juanma Barranquero's avatar
    • Juanma Barranquero's avatar
      lisp/desktop.el (desktop-restore-frames): Change default to t. · b958c0ad
      Juanma Barranquero authored
      (desktop-restore-in-current-display): Now offer more options.
      (desktop-restoring-reuses-frames): New customization option.
      (desktop--saved-states): Doc fix.
      (desktop-filter-parameters-alist): New variable, renamed and expanded from
      desktop--excluded-frame-parameters.
      (desktop--target-display): New variable.
      (desktop-switch-to-gui-p, desktop-switch-to-tty-p, desktop--filter-tty*)
      (desktop--filter-*-color, desktop--filter-minibuffer)
      (desktop--filter-restore-desktop-parm, desktop--filter-save-desktop-parm)
      (desktop-restore-in-original-display-p): New functions.
      (desktop--filter-frame-parms): Use new desktop-filter-parameters-alist.
      (desktop--save-minibuffer-frames): New function, inspired by a similar
      function from Martin Rudalics.
      (desktop--save-frames): Call it; play nice with desktop-globals-to-save.
      (desktop--restore-in-this-display-p): Remove.
      (desktop--find-frame): Rename from desktop--find-frame-in-display and add
      predicate argument.
      (desktop--make-full-frame): Remove, integrated into desktop--make-frame.
      (desktop--reuse-list): New variable.
      (desktop--select-frame, desktop--make-frame, desktop--sort-states):
      New functions.
      (desktop--restore-frames): Add support for "minibuffer-special" frames.
      b958c0ad
  3. 14 Jul, 2013 4 commits
  4. 13 Jul, 2013 14 commits
  5. 12 Jul, 2013 12 commits