1. 08 Nov, 2012 13 commits
    • Stefan Monnier's avatar
      Use ad-hoc comparison function for the profiler's hash-tables. · b7432bb2
      Stefan Monnier authored
      * src/profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars.
      (make_log): Use them.
      (handle_profiler_signal): Don't inhibit quit any longer since we don't
      call Fequal any more.
      (Ffunction_equal): New function.
      (cmpfn_profiler, hashfn_profiler): New functions.
      (syms_of_profiler): Initialize them.
      * src/lisp.h (struct hash_table_test): New struct.
      (struct Lisp_Hash_Table): Use it.
      * src/alloc.c (mark_object): Mark hash_table_test fields of hash tables.
      * src/fns.c (make_hash_table): Take a struct to describe the test.
      (cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
      (hashfn_equal, hashfn_user_defined): Adjust to new calling convention.
      (hash_lookup, hash_remove_from_table): Move assertion checking of
      hashfn result here.  Check hash-equality before calling cmpfn.
      (Fmake_hash_table): Adjust call to make_hash_table.
      (hashtest_eq, hashtest_eql, hashtest_equal): New structs.
      (syms_of_fns): Initialize them.
      * src/emacs.c (main): Move syms_of_fns earlier.
      * src/xterm.c (syms_of_xterm):
      * src/category.c (hash_get_category_set): Adjust call to make_hash_table.
      * src/print.c (print_object): Adjust to new hash-table struct.
      * src/composite.c (composition_gstring_put_cache): Adjust to new hashfn.
      b7432bb2
    • Eli Zaretskii's avatar
      More fixes for bug #12806. · 88002743
      Eli Zaretskii authored
       src/w32fns.c (modifier_set): Fix handling of Scroll Lock when the
       value of w32-scroll-lock-modifier is neither nil nor one of the
       known key modifiers.
      88002743
    • Julien Danjou's avatar
      Add Rakefile in auto-mode-list for ruby-mode · cabc040a
      Julien Danjou authored
      * progmodes/ruby-mode.el (auto-mode-alist): Add Rakefile in
        `auto-mode-alist' (Bug#12835).
      cabc040a
    • Stefan Monnier's avatar
      * perl-mode.el: Add coding cookie. · a81ad225
      Stefan Monnier authored
      a81ad225
    • Stefan Monnier's avatar
      * lisp/progmodes/perl-mode.el (perl-prettify-symbols): New defcustom. · 79b3e376
      Stefan Monnier authored
      (perl--prettify-symbols-alist): New const.
      (perl--font-lock-compose-symbol, perl--font-lock-symbols-keywords): New funs.
      (perl-font-lock-keywords-2): Use them.
      (perl-electric-noindent-p): New function.
      (perl-mode): Use it to set up electric-indent-mode.
      (perl-electric-terminator, perl-indent-command): Mark obsolete.
      (perl-mode-map): Remove bindings for them.
      (perl-imenu-generic-expression, perl-outline-level):
      Match functions&packages in column>0.
      79b3e376
    • Stefan Monnier's avatar
      * lisp/env.el (env--substitute-vars-regexp): New const. · 3b11e6ac
      Stefan Monnier authored
      (substitute-env-vars): Use it.  Add `only-defined' arg.
      * lisp/net/tramp.el (tramp-replace-environment-variables): Use it.
      3b11e6ac
    • Stefan Monnier's avatar
      * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): · e703069f
      Stefan Monnier authored
      Byte-compile *before* eval in eval-and-compile.
      (byte-compile-log-warning): Remove redundant inhibit-read-only.
      (byte-compile-file-form-autoload): Don't hide actual definition.
      (byte-compile-maybe-guarded): Accept `functionp' as well.
      e703069f
    • Stefan Monnier's avatar
    • Stefan Monnier's avatar
    • Dmitry Antipov's avatar
      Shrink struct vectorlike_header to the only size field. · 914adc42
      Dmitry Antipov authored
      * lisp.h (enum pvec_type): Avoid explicit enum member values.
      Adjust comment.
      (enum More_Lisp_Bits): Change PSEUDOVECTOR_SIZE_BITS and
      PVEC_TYPE_MASK to arrange new bitfield in the vector header.
      (PSEUDOVECTOR_REST_BITS, PSEUDOVECTOR_REST_MASK): New members.
      (PSEUDOVECTOR_AREA_BITS): New member used to extract subtype
      information from the vector header.  Adjust comment.
      (XSETPVECTYPE, XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR)
      (PSEUDOVECTOR_TYPEP, DEFUN): Adjust to match new vector header
      layout.
      (XSETSUBR, SUBRP): Adjust to match new Lisp_Subr layout.
      (struct vectorlike_header): Remove next member.  Adjust comment.
      (struct Lisp_Subr): Add convenient header.  Adjust comment.
      (allocate_pseudovector): Adjust prototype.
      * alloc.c (mark_glyph_matrix, mark_face_cache, allocate_string)
      (sweep_string, lisp_malloc): Remove useless prototypes.
      (enum mem_type): Adjust comment.
      (NEXT_IN_FREE_LIST): New macro.
      (SETUP_ON_FREE_LIST): Adjust XSETPVECTYPESIZE usage.
      (Fmake_bool_vector): Likewise.
      (struct large_vector): New type to represent allocation unit for
      the vectors with the memory footprint more than VBLOOCK_BYTES_MAX.
      (large_vectors): Change type to struct large_vector.
      (allocate_vector_from_block): Simplify.
      (PSEUDOVECTOR_NBYTES): Replace with...
      (vector_nbytes): ...new function.  Adjust users.
      (sweep_vectors): Adjust processing of large vectors.
      (allocate_vectorlike): Likewise.
      (allocate_pseudovector): Change type of 3rd arg to enum pvec_type.
      Add easserts.  Adjust XSETPVECTYPESIZE usage.
      (allocate_buffer): Use BUFFER_PVEC_INIT.
      (live_vector_p): Adjust to match large vector.
      * buffer.c (init_buffer_once): Use BUFFER_PVEC_INIT.
      * buffer.h (struct buffer): Add next member.
      (BUFFER_LISP_SIZE, BUFFER_REST_SIZE, BUFFER_PVEC_INIT):
      New macros.
      (FOR_EACH_BUFFER): Adjust to match struct buffer change.
      * fns.c (internal_equal): Adjust to match enum pvec_type change.
      (copy_hash_table): Adjust to match vector header change.
      * lread.c (defsubr): Use XSETPVECTYPE.
      * .gdbinit (xpr, xbacktrace): Adjust to match vector header change.
      (xvectype): Likewise.  Print PVEC_NORMAL_VECTOR for regular vectors.
      (xvecsize): New command.
      914adc42
    • Stefan Monnier's avatar
    • Dmitry Antipov's avatar
      * keyboard.c (event_to_kboard): Do not dereference · c66f21ea
      Dmitry Antipov authored
      frame_or_window field of SELECTION_REQUEST_EVENT
      and SELECTION_CLEAR_EVENT events (Bug#12814).
      * xterm.h (struct selection_input_event): Adjust comment.
      c66f21ea
    • Michael Albinus's avatar
      * os.texi (Notifications): Update descriptions of · a43d02f0
      Michael Albinus authored
      notifications-notify, notifications-close-notification and
      notifications-get-capabilities according to latest code changes.
      Add notifications-get-server-information.
      a43d02f0
  2. 07 Nov, 2012 6 commits
  3. 06 Nov, 2012 11 commits
    • Paul Eggert's avatar
      Restore some duplicate definitions. · b6b3b294
      Paul Eggert authored
      This undoes part of the 2012-11-03 changes.  Some people build
      with plain -g rather than with -g3, and they need the duplicate
      definitions for .gdbinit to work; see <http://bugs.gnu.org/12814#26>.
      * lisp.h (GCTYPEBITS, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK):
      Define as macros, as well as as enums or as constants.
      b6b3b294
    • Jan Djärv's avatar
      * nsterm.m (convert_ns_to_X_keysym, keyDown:): Add NSNumericPadKeyMask · e770aad5
      Jan Djärv authored
      to keypad keys.
      
      Fixes: debbugs:12816
      e770aad5
    • Paul Eggert's avatar
      Minor adjustments of recently-changed frame functions. · 68f8f1c0
      Paul Eggert authored
      * buffer.c (Fbuffer_list): Omit CHECK_FRAME, since arg is already
      known to be a frame (we're in the FRAMEP branch).
      * lisp.h (Qframep): Remove decl.  frame.h declares this.
      * window.c (quad): Args are of type EMACS_INT, not ptrdiff_t,
      since they're meant for Lisp fixnum values.
      68f8f1c0
    • Agustín Martín's avatar
      ispell.el (ispell-region): Do not prefix sent string by comment in autoconf mode · 056cb3a1
      Agustín Martín authored
          
       This commit changes some of the `in-comment' ocurrences to more specific
       `add-comment', set only if comment prefix is to be added.
          
       When in comment, old code prefixed string by comment string to let ispell
       know this is part of a comment string.
          
       This is only supported in some modes. In particular, this is not supported in
       autoconf mode where adding the comment string messes everything up because
       ispell tries to spellcheck the `dnl' string header causing misalignments in
       some cases (debbugs.gnu.org: #12768).
      056cb3a1
    • Agustín Martín's avatar
      textmodes/ispell.el: Experimental support for support debugging. · b159a1fd
      Agustín Martín authored
       * (ispell-create-debug-buffer): Create a `ispell-debug-buffer' debug
         buffer for ispell.
       * (ispell-print-if-debug): New function to print stuff to 
         `ispell-debug-buffer' if debugging is enabled.
       * (ispell-region, ispell-process-line): Use `ispell-print-if-debug' to
         show some debugging info.
       * (ispell-buffer-with-debug): New function that creates a debugging
         buffer and calls `ispell-buffer' with debugging enabled.  This is also 
         en example of a possible way to use this system.
      b159a1fd
    • Agustín Martín's avatar
    • Dmitry Antipov's avatar
      * window.c (Fwindow_combination_limit): Revert to the only · 72f94d4b
      Dmitry Antipov authored
      required argument and adjust docstring as suggested in
      http://lists.gnu.org/archive/html/emacs-diffs/2012-11/msg01082.html
      by Martin Rudalics <rudalics@gmx.at>.
      72f94d4b
    • Juanma Barranquero's avatar
    • Dmitry Antipov's avatar
      Widely used frame validity and checking functions. · d9f07150
      Dmitry Antipov authored
      * frame.h (decode_live_frame, decode_any_frame): Add prototypes.
      * frame.c (decode_live_frame, decode_any_frame): New functions.
      (delete_frame, Fredirect_frame_focus, Fframe_parameters)
      (Fframe_parameter, Fframe_char_height, Fframe_char_width)
      (Fframe_pixel_height, Fframe_pixel_width, Ftool_bar_pixel_width)
      (Fframe_pointer_visible_p): Use decode_any_frame.
      (Fmake_frame_visible, Fmake_frame_invisible, Ficonify_frame)
      (Fraise_frame, Flower_frame, Fmodify_frame_parameters)
      (Fset_frame_height, Fset_frame_width): Use decode_live_frame.
      (Fframe_focus): Likewise.  Allow zero number of arguments.
      Adjust docstring.
      (frame_buffer_list, frame_buffer_predicate): Remove.
      * lisp.h (frame_buffer_predicate): Remove prototype.
      * buffer.c (Fother_buffer): Use decode_any_frame.
      * xdisp.c (Ftool_bar_lines_needed): Likewise.
      * xfaces.c (Fcolor_gray_p, Fcolor_supported_p): Likewise.
      * font.c (Ffont_face_attributes, Ffont_family_list, Fopen_font)
      (Fclose_font, Ffont_info): Use decode_live_frame.
      * fontset.c (check_fontset_name): Likewise.
      * terminal.c (Fframe_terminal): Likewise.
      * w32fns.c (check_x_frame): Likewise.
      * window.c (Fminibuffer_window, Fwindow_at)
      (Fcurrent_window_configuration): Likewise.
      (Frun_window_configuration_change_hook, Fwindow_resize_apply):
      Likewise.  Allow zero number of arguments.  Adjust docstring.
      * dispnew.c (Fredraw_frame): Likewise.
      * xfaces.c (frame_or_selected_frame): Remove.
      (Fx_list_fonts, Finternal_get_lisp_face_attribute, Fface_font)
      (Finternal_lisp_face_equal_p, Finternal_lisp_face_empty_p)
      (Fframe_face_alist): Use decode_live_frame.
      * xfns.c (check_x_frame): Likewise.
      d9f07150
    • Dmitry Antipov's avatar
      * emacs-lisp/byte-opt.el (toplevel): Add compare-window-configurations, · 8e6a67b7
      Dmitry Antipov authored
      frame-first-window, frame-root-window, frame-selected-window,
      minibuffer-selected-window, minibuffer-window,
      window-absolute-pixel-edges, window-at, window-body-height,
      window-body-width, window-display-table, window-combination-limit,
      window-frame, window-fringes, window-inside-absolute-pixel-edges,
      window-inside-edges, window-inside-pixel-edges, window-left-child,
      window-left-column, window-margins, window-next-buffers,
      window-next-sibling, window-new-normal, window-new-total,
      window-normal-size, window-parameter, window-parameters, window-parent,
      window-pixel-edges, window-point, window-prev-buffers,
      window-prev-sibling, window-redisplay-end-trigger, window-scroll-bars,
      window-start, window-text-height, window-top-child, window-top-line,
      window-total-height, window-total-width and window-use-time to the list
      of functions without side-effects.
      (toplevel): Add window-valid-p to the list of error-free functions
      without side-effects.
      8e6a67b7
    • Dmitry Antipov's avatar
      * window.c (quad): New function. · 89bc0592
      Dmitry Antipov authored
      (Fwindow_edges, Fwindow_pixel_edges, Fwindow_inside_edges)
      (Fwindow_absolute_pixel_edges, Fwindow_inside_absolute_pixel_edges)
      (Fwindow_inside_pixel_edges, Fpos_visible_in_window_p)
      (Fwindow_line_height): Use it.
      (Fwindow_fringes): Use list3.
      (Fwindow_scroll_bars): Use list4.
      (Fwindow_frame, Fwindow_top_child, Fwindow_left_child)
      (Fwindow_combination_limit): Allow zero number of arguments.
      89bc0592
  4. 05 Nov, 2012 10 commits