1. 02 Oct, 2012 6 commits
    • Eli Zaretskii's avatar
      Fix compilation warnings in the MS-Windows build. · d8ab37a8
      Eli Zaretskii authored
       src/w32proc.c (sys_wait): Declare 'signame' 'const char *', to be
       consistent with the change in return value of 'safe_strsignal'.
      
       nt/preprep.c (RVA_TO_PTR): Cast the result to 'void *', to avoid
       compiler warnings when using the value.
      d8ab37a8
    • Paul Eggert's avatar
      Prefer plain 'static' to 'static inline'. · 0a99eee1
      Paul Eggert authored
      * bidi.c (bidi_get_type, bidi_check_type, bidi_get_category)
      (bidi_set_sor_type, bidi_push_embedding_level)
      (bidi_pop_embedding_level, bidi_remember_char, bidi_copy_it)
      (bidi_cache_reset, bidi_cache_shrink, bidi_cache_fetch_state)
      (bidi_cache_search, bidi_cache_ensure_space)
      (bidi_cache_iterator_state, bidi_cache_find)
      (bidi_peek_at_next_level, bidi_set_paragraph_end)
      (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
      (bidi_explicit_dir_char, bidi_resolve_neutral_1):
      Now 'static', not 'static inline'.
      
      Fixes: debbugs:12541
      0a99eee1
    • Paul Eggert's avatar
      Count overruns when profiling; change units to ns. · b3ecad33
      Paul Eggert authored
      * lisp/profiler.el (profiler-sampling-interval): Change units
      from ms to ns, multiplying the default by 1000000 so that
      it remains 1 ms.
      (profiler-report-cpu-line-format): Give enough room for
      the maximum counters on 64-bit hosts.
      (profiler-report-render-calltree-1): Call them "CPU samples",
      not "Time (ms)", since they are not milliseconds now (and
      never really were).
      * src/profiler.c (handle_profiler_signal): Count sampling intervals, not ms.
      Give extra weight to samples after overruns, to attempt to count
      the time more accurately.
      (setup_cpu_timer): Change sampling interval units from ms to ns, since
      the underlying primitives nominally do ns.
      (Fprofiler_cpu_start): Document the change.  Mention that
      the sampling intervals are only approximate.
      b3ecad33
    • Stefan Monnier's avatar
      * src/buffer.c (Fmake_overlay): Fix last change. · 64edc777
      Stefan Monnier authored
      (fix_start_end_in_overlays): Remove redundant recentering.
      64edc777
    • Stefan Monnier's avatar
      Misc minor simplifications in C code. · 090cf9db
      Stefan Monnier authored
      * src/buffer.c (Fset_buffer_multibyte): Signal an error instead of widening.
      (Fmake_overlay): Remove redundant tests.
      * src/coding.h (ENCODE_FILE, DECODE_FILE, DECODE_SYSTEM): Remove special
      case for the special 0 coding-system.
      * src/frame.c (Fmake_terminal_frame): Prefer safer CONSP over !NILP.
      090cf9db
    • Juanma Barranquero's avatar
  2. 01 Oct, 2012 12 commits
    • Paul Eggert's avatar
      Fix a malloc race condition involving strsignal. · aa1ba90e
      Paul Eggert authored
      A signal can arrive in the middle of a malloc, and Emacs's signal
      handler can invoke strsignal, which can invoke malloc, which is
      not portable.  This race condition bug makes Emacs hang on GNU/Linux.
      Fix it by altering the signal handler so that it does not invoke
      strsignal.
      * emacs.c (shut_down_emacs): Use safe_strsignal, not strsignal.
      * process.c (status_message): Use const pointer, in case strsignal
      is #defined to safe_strsignal.
      * sysdep.c (sys_siglist, init_signals): Always define and
      initialize a substitute sys_siglist if the system does not define
      one, even if HAVE_STRSIGNAL.
      (safe_strsignal): Rename from strsignal.  Always define,
      using sys_siglist.  Return a const pointer.
      * syssignal.h (safe_strsignal): New decl.
      (strsignal) [!HAVE_STRSIGNAL]: Define in terms of safe_strsignal.
      aa1ba90e
    • Eli Zaretskii's avatar
      Fix high CPU usage in profiling on MS-Windows. · ace917bd
      Eli Zaretskii authored
       src/w32proc.c (timer_loop): Fix code that waits for timer
       expiration, to avoid high CPU usage.
      ace917bd
    • Stefan Monnier's avatar
      * src/fns.c (check_hash_table, get_key_arg, maybe_resize_hash_table) · 9eb71b9c
      Stefan Monnier authored
      (sweep_weak_table): Remove redundant prototypes.
      9eb71b9c
    • Fabrice Popineau's avatar
      Fix minor compilation problem with MSVC. · b3317662
      Fabrice Popineau authored
       src/emacs.c: Move the inclusion of TERM_HEADER after including
       windows.h on WINDOWSNT.  This avoids compilation problems with
       MSVC.
      b3317662
    • Eli Zaretskii's avatar
      Clean up the Windows x64 changes. · 2d7d1608
      Eli Zaretskii authored
       nt/preprep.c (RVA_TO_PTR): Use 'unsigned char *' instead of
       'void *', for pointer arithmetics.
       (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET): Enclose all
       macro arguments in parentheses.
      
       src/unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET)
       (RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses.
       (RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *',
       as the previous version used 'void *'.
       src/ralloc.c (ROUNDUP): Fix last change.
       (MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type
       'size_t'.
      
      Fixes: debbugs:12544
      2d7d1608
    • Eli Zaretskii's avatar
      Improve 'alarm' implementation on MS-Windows. · 4cdfbb89
      Eli Zaretskii authored
       src/w32proc.c (alarm) [HAVE_SETITIMER]: Be more conformant to the expected
       return results.
       [!HAVE_SETITIMER]: Behave as the previous version that didn't
       support timers.
      4cdfbb89
    • Eli Zaretskii's avatar
      Fix termination sequence on Windows wrt interval timers. · f0e5f225
      Eli Zaretskii authored
       src/w32proc.c <disable_itimers>: New static flag.
       (init_timers): Initialize it to zero, after creating the critical
       sections used by the timer threads.
       (term_timers): Set to 1 before deleting the critical sections.
       (getitimer, setitimer): If disable_itimers is non-zero, return an
       error indication without doing anything.  Reported by Fabrice
       Popineau <fabrice.popineau@supelec.fr> as part of bug#12544.
      f0e5f225
    • Paul Eggert's avatar
    • Paul Eggert's avatar
      Prefer plain 'static' to 'static inline'. · b0ab8123
      Paul Eggert authored
      With static functions, modern compilers inline pretty well by
      themselves; advice from programmers often hurts as much as it helps.
      On my host (x86-64, Fedora 17, GCC 4.7.2, default 'configure'),
      this change shrinks the text size of the Emacs executable by 1.1%
      without affecting CPU significantly in my benchmark.
      * alloc.c (mem_find, live_string_p, live_cons_p, live_symbol_p)
      (live_float_p, live_misc_p, live_vector_p, live_buffer_p)
      (mark_maybe_object, mark_maybe_pointer, bounded_number):
      * buffer.c (bset_abbrev_mode, bset_abbrev_table)
      (bset_auto_fill_function, bset_auto_save_file_format)
      (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
      (bset_bidi_display_reordering, bset_buffer_file_coding_system)
      (bset_cache_long_line_scans, bset_case_fold_search)
      (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
      (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
      (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
      (bset_fringe_indicator_alist, bset_fringes_outside_margins)
      (bset_header_line_format, bset_indicate_buffer_boundaries)
      (bset_indicate_empty_lines, bset_invisibility_spec)
      (bset_left_fringe_width, bset_major_mode, bset_mark)
      (bset_minor_modes, bset_mode_line_format, bset_mode_name)
      (bset_name, bset_overwrite_mode, bset_pt_marker)
      (bset_right_fringe_width, bset_save_length)
      (bset_scroll_bar_width, bset_scroll_down_aggressively)
      (bset_scroll_up_aggressively, bset_selective_display)
      (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
      (bset_word_wrap, bset_zv_marker, set_buffer_overlays_before)
      (set_buffer_overlays_after):
      * category.c (bset_category_table):
      * charset.c (read_hex):
      * coding.c (produce_composition, produce_charset)
      (handle_composition_annotation, handle_charset_annotation)
      (char_encodable_p):
      * dispnew.c (swap_glyph_pointers, copy_row_except_pointers)
      (assign_row, set_frame_matrix_frame, make_current)
      (add_row_entry):
      * eval.c (set_specpdl_symbol, set_specpdl_old_value):
      * fns.c (maybe_resize_hash_table):
      * frame.c (fset_buffer_predicate, fset_minibuffer_window):
      * gmalloc.c (register_heapinfo):
      * image.c (lookup_image_type):
      * intervals.c (set_interval_object, set_interval_left)
      (set_interval_right, copy_interval_parent, rotate_right)
      (rotate_left, balance_possible_root_interval):
      * keyboard.c (kset_echo_string, kset_kbd_queue)
      (kset_keyboard_translate_table, kset_last_prefix_arg)
      (kset_last_repeatable_command, kset_local_function_key_map)
      (kset_overriding_terminal_local_map, kset_real_last_command)
      (kset_system_key_syms, clear_event, set_prop):
      * lread.c (digit_to_number):
      * marker.c (attach_marker, live_buffer, set_marker_internal):
      * nsterm.m (ns_compute_glyph_string_overhangs):
      * process.c (pset_buffer, pset_command)
      (pset_decode_coding_system, pset_decoding_buf)
      (pset_encode_coding_system, pset_encoding_buf, pset_filter)
      (pset_log, pset_mark, pset_name, pset_plist, pset_sentinel)
      (pset_status, pset_tty_name, pset_type, pset_write_queue):
      * syntax.c (bset_syntax_table, dec_bytepos):
      * terminal.c (tset_param_alist):
      * textprop.c (interval_has_some_properties)
      (interval_has_some_properties_list):
      * window.c (wset_combination_limit, wset_dedicated)
      (wset_display_table, wset_hchild, wset_left_fringe_width)
      (wset_left_margin_cols, wset_new_normal, wset_new_total)
      (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
      (wset_right_fringe_width, wset_right_margin_cols)
      (wset_scroll_bar_width, wset_start, wset_temslot, wset_vchild)
      (wset_vertical_scroll_bar_type, wset_window_parameters):
      * xdisp.c (wset_base_line_number, wset_base_line_pos)
      (wset_column_number_displayed, wset_region_showing)
      (window_box_edges, run_window_scroll_functions)
      (append_glyph_string_lists, prepend_glyph_string_lists)
      (append_glyph_string, set_glyph_string_background_width)
      (append_glyph, append_composite_glyph)
      (take_vertical_position_into_account):
      * xfaces.c (x_create_gc, x_free_gc, merge_face_vectors)
      (face_attr_equal_p, lface_equal_p, hash_string_case_insensitive)
      (lface_hash, lface_same_font_attributes_p, lookup_face):
      * xml.c (libxml2_loaded_p):
      * xterm.c (x_set_mode_line_face_gc, x_set_glyph_string_gc)
      (x_set_glyph_string_clipping, x_clear_glyph_string_rect):
      Now 'static', not 'static inline'.
      
      Fixes: debbugs:12541
      b0ab8123
    • Paul Eggert's avatar
      * bidi.c: Tune. · 05584c31
      Paul Eggert authored
      (bidi_copy_it): Do the whole copy with a single memcpy.
      (bidi_char_at_pos): Merge the two STRING_CHAR calls into one.
      05584c31
    • Paul Eggert's avatar
      86ec63ba
    • Paul Eggert's avatar
      * frame.c (x_report_frame_params): Port better to wider ints. · 82ef37c1
      Paul Eggert authored
      Do not assume that EMACS_UINT is the same width as uprintmax_t,
      or that pointers can be printed in 15 decimal digits.
      Avoid GCC warnings if EMACS_UINT is wider than a pointer.
      82ef37c1
  3. 30 Sep, 2012 15 commits
    • Fabrice Popineau's avatar
      Fix last commit. · 5e4daaf3
      Fabrice Popineau authored
      5e4daaf3
    • Fabrice Popineau's avatar
      Support x64 build on MS-Windows with MSVC. · 62aba0d4
      Fabrice Popineau authored
       src/w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
       (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
       compatibility with x64.
       src/w32term.c (w32_draw_underwave): Don't use GCC extensions for
       defining an XRectangle structure.
       src/w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
       arithmetics for compatibility with x64.
       src/w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
       compatibility with x64.
       src/w32heap.h: Adjust prototypes and declarations.
       src/w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
       (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
       DWORD, long, and unsigned long, for compatibility with x64.
       (allocate_heap) [_WIN64]: Reserve 32GB of memory.
       (sbrk): Argument is now of type ptrdiff_t.
       src/w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
       less than 0x0500.
       (w32_msg_pump): Use WPARAM type for 'result'.
       src/w32.c (init_environment, get_emacs_configuration): Support AMD64
       architecture.
       (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
       compatibility with x64.
       src/vm-limit.c (lim_data): Now size_t.
       (check_memory_limits): Adjust prototypes of real_morecore and
       __morecore to receive argument of type ptrdiff_t.  Use size_t for
       five_percent and data_size.
       src/unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
       variables, for compatibility with x64.
       (rva_to_section, offset_to_section, relocate_offset)
       (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
       (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
       (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
       for compatibility with x64.
       src/sysdep.c (STDERR_FILENO): Define if not already defined.
       src/ralloc.c (real_morecore): Argument type is now ptrdiff_t.
       (__morecore): Argument type is now ptrdiff_t.
       (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
       (relinquish): Use ptrdiff_t type for 'excess'.
       (r_alloc_sbrk): Argument type is now ptrdiff_t.
       src/makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
       (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
       instead of a literal number.
       src/gmalloc.c [WINDOWSNT]: Include w32heap.h.
       (min): Define only if not already defined.
       src/frame.c (x_report_frame_params): Use EMACS_UINT for the return
       value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
       hosts.
       src/image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
       'bitmaps' is a pointer.
       src/dispextern.h (x_bitmap_pixmap): Adjust prototype.
       src/alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.
      
       nt/makefile.w32-in ($(TRES)): Use $(EMACS_MANIFEST).
       nt/inc/sys/socket.h: Don't map Winsock error codes to standard ones
       that are already defined.
       nt/inc/ms-w32.h (EMACS_INT, EMACS_UINT, EMACS_INT_MAX, PRIuMAX)
       (pI, _INTPTR) [_MSC_VER]: Fix definitions for MSVC.
       [_MSC_VER]: Add pragmas to suppress some MSVC warnings.
       nt/preprep.c (pfnCheckSumMappedFile, rva_to_section)
       (offset_to_section, relocate_offset, OFFSET_TO_RVA)
       (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
       (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
       (copy_executable_and_move_sections, ADJUST_IMPORT_RVA, main): Use
       DWORD_PTR instead of DWORD for compatibility with x64.
       nt/nmake.defs: Support AMD64.
       (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST): New macros.
       nt/gmake.defs: (EMACS_HEAPSIZE, EMACS_PURESIZE, EMACS_MANIFEST):
       New macros.
       nt/addsection.c (pfnCheckSumMappedFile, rva_to_section)
       (offset_to_section, relocate_offset, OFFSET_TO_RVA)
       (RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET, PTR_TO_RVA)
       (OFFSET_TO_PTR, ROUND_UP, ROUND_DOWN)
       (copy_executable_and_add_section, main): Use DWORD_PTR instead of
       DWORD, for compatibility with x64.
       nt/emacs-x64.manifest: New file.
       nt/emacs-x86.manifest: Renamed from emacs.manifest.
      
       lib-src/ntlib.c (gettimeofday): Copy from src/w32.c.  lib/gettime. 
       needs this function.
      62aba0d4
    • Paul Eggert's avatar
      file-attributes has a new optional arg FOLLOW-SYMLINKS. · e7a2937b
      Paul Eggert authored
      * doc/lispref/files.texi (File Attributes): Describe it.
      (Magic File Names): Use it.
      * etc/NEWS: Document the change.
      * lisp/files.el (remote-file-name-inhibit-cache):
      * lisp/time.el (display-time-file-nonempty-p): Use it.
      * lisp/files.el (after-find-file): Don't chase links before calling
      file-exists-p, as file-exists-p already does the right thing.
      * src/dired.c (directory_files_internal, Ffile_attributes):
      New arg follow_symlinks.  All uses changed.
      e7a2937b
    • Stefan Monnier's avatar
    • Eli Zaretskii's avatar
      Support atimers and CPU profiler via profile.c on MS-Windows. · c06c382a
      Eli Zaretskii authored
       src/w32proc.c (sig_mask, crit_sig): New static variables.
       (sys_signal): Support SIGALRM and SIGPROF.
       (sigemptyset, sigaddset, sigfillset, sigprocmask)
       (pthread_sigmask, setpgrp): Moved here from w32.c.  sigaddset,
       sigfillset, and sigprocmask are no longer no-ops.
       (sigismember): New function.
       (struct itimer_data): New definition.
       (ticks_now, real_itimer, prof_itimer, clocks_min, crit_real)
       (crit_prof): New static variables.
       (MAX_SINGLE_SLEEP): New definition.
       (timer_loop, stop_timer_thread, term_timers, init_timers)
       (start_timer_thread, getitimer, setitimer): New functions.
       (alarm): No longer a no-op, calls setitimer.
       src/w32.c (term_ntproc): Call term_timers.
       (init_ntproc): Make sure all signals are unblocked at startup, to
       erase any traces of dumping.  Call init_timers.
       src/w32fns.c (hourglass_timer, HOURGLASS_ID): Remove.
       Windows-specific code to display the hourglass mouse pointer is no
       longer used.
       (w32_wnd_proc): Remove code that handled the WM_TIMER message due
       to hourglass timer expiration.
       (start_hourglass, cancel_hourglass, DEFAULT_HOURGLASS_DELAY):
       Remove, no longer used.
       (w32_note_current_window, show_hourglass, hide_hourglass): New
       functions, in support of hourglass cursor display similar to other
       window systems.
       (syms_of_w32fns): Don't initialize hourglass_timer.
       src/xdisp.c (start_hourglass, cancel_hourglass): Now used on
       WINDOWSNT as well.
       (start_hourglass) [WINDOWSNT]: Call w32_note_current_window.
       src/w32.h (init_timers, term_timers): Add prototypes.
      
       nt/inc/sys/time.h (ITIMER_REAL, ITIMER_PROF): Define.
       (struct itimerval): Define.
       (getitimer, setitimer): Add prototypes.
       nt/inc/ms-w32.h <sigset_t> [_MSVC_VER]: Make the typedef consistent
       with MinGW.
       (SA_RESTART, SIGPROF): Define.
       nt/config.nt (HAVE_SETITIMER): Define to 1.
      c06c382a
    • Jan Djärv's avatar
      Support file name dialog on NS. · d7e642cc
      Jan Djärv authored
      * etc/NEWS: Mention that the file dialog is used on NS.
      
      * lisp/term/ns-win.el (x-file-dialog): New function.
      
      * src/fileio.c (Fnext_read_file_uses_dialog_p): Add HAVE_NS.
      
      * src/nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.
      
      * src/nsfns.m (Fns_read_file_name): Add argument DIR_ONLY_P.
      Initialize panel name field if OSX >= 10.6.
      
      * src/w32fns.c (Fx_file_dialog): Update comment.
      
      * src/xfns.c (Fx_file_dialog): Update comment.
      d7e642cc
    • Kenichi Handa's avatar
      coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention to the buffer... · 95402d5f
      Kenichi Handa authored
      coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention to the buffer relocation which may be caused by ccl_driver.
      95402d5f
    • Jan Djärv's avatar
      Add support for fullscreen in the NS port. · dd946752
      Jan Djärv authored
      * etc/NEWS: The NS port supports fullscreen.
      
      * src/nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.
      
      * src/nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New.
      (EmacsView): Add variables for fullscreen.
      (handleFS, setFSValue, toggleFullScreen): New in EmacsView.
      (EmacsFSWindow): New interface for fullscreen.
      
      * src/nsterm.m (NEW_STYLE_FS): New define.
      (ns_fullscreen_hook, windowWillEnterFullScreen)
      (windowDidEnterFullScreen, windowWillExitFullScreen)
      (windowDidExitFullScreen, toggleFullScreen, handleFS)
      (setFSValue): New functions.
      (EmacsFSWindow): New implementation.
      (canBecomeKeyWindow): New function for EmacsFSWindow.
      (ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook.
      (dealloc): Release nonfs_window if in fullscreen.
      (updateFrameSize:): Call windowDidMove to update top/left.
      (windowWillResize:toSize:): Check if frame is still maximized.
      (initFrameFromEmacs:): Initialize fs_state, fs_before_fs,
      next_maximized, maximized_width, maximized_height and nonfs_window.
      Call setCollectionBehavior if NEW_STYLE_FS.  Initialize bwidth and
      tbar_height.
      (windowWillUseStandardFrame:defaultFrame:): Update frame parameter
      fullscreen. Set maximized_width/height.  Act on next_maximized.
      dd946752
    • Juanma Barranquero's avatar
    • Chong Yidong's avatar
      Update docs for a bunch of 24.3 changes. · 48de8b12
      Chong Yidong authored
      * doc/emacs/killing.texi (Rectangles): Document copy-rectangle-as-kill.
      
      * doc/emacs/search.texi (Special Isearch): Document the lax space search
      feature and M-s SPC.
      (Regexp Search): Move main search-whitespace-regexp description to
      Special Isearch.
      (Replace): Document replace-lax-whitespace.
      
      * doc/emacs/basic.texi (Position Info): Document C-u M-=.
      (Moving Point): Document move-to-column.
      
      * doc/emacs/display.texi (Useless Whitespace): Add delete-trailing-lines.
      
      * doc/emacs/misc.texi (emacsclient Options): Document the effect of
      initial-buffer-choice on client frames.  Document server-auth-dir.
      Do not document server-host, which is bad security practice.
      
      * doc/emacs/building.texi (Lisp Libraries): Docstring lookups can trigger
      autoloading.  Document help-enable-auto-load.
      
      * doc/emacs/mini.texi (Yes or No Prompts): New node.
      
      * doc/emacs/ack.texi (Acknowledgments): Remove obsolete packages.
      
      * doc/lispref/commands.texi (Click Events): Define "mouse position list".
      Remove mention of unimplemented horizontal scroll bars.
      (Drag Events, Motion Events): Refer to "mouse position list".
      (Accessing Mouse): Document posnp.
      
      * doc/lispref/errors.texi (Standard Errors): Tweak arith-error description.
      Tweak markup.  Remove domain-error and friends, which seem to be
      unused after the floating-point code revamp.
      
      * doc/lispref/functions.texi (Obsolete Functions): Obsolescence also affects
      documentation commands.  Various clarifications.
      (Declare Form): New node.
      
      * doc/lispref/loading.texi (Autoload):
      * doc/lispref/help.texi (Documentation Basics): The special sequences can
      trigger autoloading.
      
      * doc/lispref/macros.texi (Defining Macros): Move description of `declare' to
      Declare Form node.
      
      * doc/lispref/numbers.texi (Integer Basics): Copyedits.
      (Float Basics): Consider IEEE floating point always available.
      (Random Numbers): Document actual limits.
      (Arithmetic Operations): Clarify division by zero.  Don't mention
      the machine-independence of negative division since it does not
      happen in practice.
      
      * doc/lispref/os.texi (Idle Timers): Minor clarifications.
      (User Identification): Add system-users and system-groups.
      
      * doc/lispref/strings.texi (String Basics): Copyedits.
      
      * lisp/minibuffer.el (minibuffer-local-filename-syntax): Doc fix.
      
      * lisp/server.el (server-host): Document the security implications.
      (server-auth-key): Doc fix.
      
      * lisp/startup.el (initial-buffer-choice): Doc fix.
      
      * src/fns.c (Frandom): Doc fix.
      48de8b12
    • Martin Rudalics's avatar
      Handle window-height and window-width alist entries in `display-buffer'. · 5938d519
      Martin Rudalics authored
      In buffer display functions handle window-height/window-width
      alist entries.  Suggested by Juri Linkov as fix for Bug#1806.
      * window.el (window--display-buffer): New argument ALIST.  Obey
      window-height and window-width alist entries.
      (window--try-to-split-window): New argument ALIST.  Bind
      window-combination-limit to t when the window's size shall be
      changed and window-combination-limit equals `window-size'.
      (display-buffer-in-atom-window)
      (display-buffer-in-major-side-window)
      (display-buffer-in-side-window, display-buffer-same-window)
      (display-buffer-reuse-window, display-buffer-pop-up-frame)
      (display-buffer-pop-up-window, display-buffer-below-selected)
      (display-buffer-at-bottom, display-buffer-in-previous-window)
      (display-buffer-use-some-window): Adjust all callers of
      window--display-buffer and window--try-to-split-window.
      (fit-frame-to-buffer): New option.
      (fit-window-to-buffer): Can resize frames if fit-frame-to-buffer
      is non-nil.
      (display-buffer-in-major-side-window): Evaluate window-height /
      window-width alist entries.
      
      * help.el (temp-buffer-resize-frames)
      (temp-buffer-resize-regexps): Remove options.
      (temp-buffer-resize-mode): Adjust doc-string.
      (resize-temp-buffer-window): Don't consult
      temp-buffer-resize-regexps.  Use fit-frame-to-buffer instead of
      temp-buffer-resize-frames.
      
      * dired.el (dired-mark-pop-up): Call
      display-buffer-below-selected with a fit-window-to-buffer alist
      entry.
      
      * window.c (Vwindow_combination_limit): New default value.
      (Qwindow_size): New symbol replacing Qtemp_buffer_resize.
      5938d519
    • Paul Eggert's avatar
    • Eli Zaretskii's avatar
      Fix compilation failure introduced in 2012-09-30T06:19:33Z!eggert@cs.ucla.edu. · 84f72efd
      Eli Zaretskii authored
       src/profiler.c (Fprofiler_cpu_stop): Use timer_settime only if
       HAVE_TIMER_SETTIME is defined.
      84f72efd
    • Paul Eggert's avatar
      Profiler improvements: more-accurate timers, overflow checks. · d89460ed
      Paul Eggert authored
      * profiler.c: Don't include stdio.h, limits.h, sys/time.h,
      signal.h, setjmp.h.  Include systime.h instead.
      (saturated_add): New function.
      (record_backtrace, current_sample_interval): Use EMACS_INT, not size_t.
      (record_backtrace, handle_profiler_signal): Saturate on fixnum overflow.
      (profiler_timer, profiler_timer_ok) [HAVE_TIMER_SETTIME]:
      New static vars.
      (enum profiler_cpu_running): New enumn.
      (profiler_cpu_running): Now of that enum type, not bool.
      All uses changed to store the new value.
      (handle_profiler_signal): Rename from sigprof_handler_1,
      for consistency with other handlers.  Do not check whether
      cpu_log is a hash-table if garbage collecting, since it
      doesn't matter in that case.
      (deliver_profiler_signal): Rename from sigprof_handler,
      for consistency with other handlers.
      (setup_cpu_timer): New function, with much of what used to be in
      Fprofiler_cpu_start.  Check for out-of-range argument.
      Prefer timer_settime if available, and prefer
      thread cputime clocks, then process cputime clocks, then
      monotonic clocks, to the old realtime clock.  Use make_timeval
      to round more-correctly when falling back to setitimer.
      (Fprofiler_cpu_start): Use it.
      (Fprofiler_cpu_stop): Prefer timer_settime if available.
      Don't assume that passing NULL as the 2nd argument of setitimer
      is the same as passing a pointer to all-zero storage.
      Ignore SIGPROF afterwards.
      (malloc_probe): Saturate at MOST_POSITIVE_FIXNUM.
      * sysdep.c (emacs_sigaction_init): Also mask out SIGPROF in
      non-fatal signal handlers.  Ignore SIGPROF on startup.
      * syssignal.h (PROFILER_CPU_SUPPORT): Define this macro here, not
      in profiler.c, since sysdep.c now uses it.
      d89460ed
    • Paul Eggert's avatar
  4. 29 Sep, 2012 2 commits
  5. 28 Sep, 2012 3 commits
  6. 27 Sep, 2012 2 commits