1. 05 Sep, 2012 10 commits
  2. 04 Sep, 2012 11 commits
    • Lars Ingebrigtsen's avatar
      Implement `debug-on-message'. · 7f7e0167
      Lars Ingebrigtsen authored
      This allows tracking down what piece of code is outputting stuff in
      the echo area.
      
      * eval.c (call_debugger): Make the function non-static so that we
      can call it from set_message.
      
      * xdisp.c (set_message): Implement the new variable `debug-on-message'.
      (syms_of_xdisp): Defvar it and `inhibit-debug-on-message'.
      7f7e0167
    • Paul Eggert's avatar
      Give more-useful info on a fatal error (Bug#12328). · cf29dd84
      Paul Eggert authored
      * doc/emacs/trouble.texi (Crashing): New section, documenting this.
      * etc/NEWS: Document the change.
      * src/alloc.c [ENABLE_CHECKING]: Do not include <execinfo.h>.
      (die) [ENABLE_CHECKING]: Call fatal_error_backtrace instead
      of doing the work ourselves.
      * src/emacs.c (fatal_error_signal): Let fatal_error_backtrace
      do most of the work.
      (fatal_error_backtrace): New function, taken from the guts
      of the old fatal_error_signal, but with a new option to output
      a backtrace.
      (shut_down_emacs) [!DOS_NT]: Use strsignal to give more-useful
      info about the signal than just its number.
      * src/lisp.h (fatal_error_backtrace, emacs_backtrace): New decls.
      * src/sysdep.c: Include <execinfo.h>
      (emacs_backtrace): New function, taken partly from the previous
      code of the 'die' function.
      (emacs_abort): Call fatal_error_backtrace rather than abort.
      cf29dd84
    • Stefan Monnier's avatar
      Macro-expand interpreted code during load. · 972debf2
      Stefan Monnier authored
      * src/lread.c (readevalloop): Call internal-macroexpand-for-load to perform
      eager (load-time) macro-expansion.
      * src/lisp.mk (lisp): Add macroexp.
      * lisp/loadup.el: Load macroexp.  Remove hack.
      * lisp/emacs-lisp/macroexp.el (macroexp--eval-if-compile): New function.
      (macroexp--expand-all): Use it to get better warnings.
      (macroexp--backtrace, macroexp--trim-backtrace-frame)
      (internal-macroexpand-for-load): New functions.
      (macroexp--pending-eager-loads): New var.
      (emacs-startup-hook): New hack to replace one in loadup.el.
      * lisp/emacs-lisp/cl-macs.el (cl--compiler-macro-list*)
      (cl--compiler-macro-cXXr): Move to top, before they can be used.
      (cl-psetf): Simplify.
      (cl-defstruct): Add indent rule.
      972debf2
    • Paul Eggert's avatar
      Simplify redefinition of 'abort' (Bug#12316). · 1088b922
      Paul Eggert authored
      Do not try to redefine the 'abort' function.  Instead, redo
      the code so that it calls 'emacs_abort' rather than 'abort'.
      This removes the need for the NO_ABORT configure-time macro
      and makes it easier to change the abort code to do a backtrace.
      * configure.ac (NO_ABRT): Remove.
      * admin/CPP-DEFINES (NO_ABORT): Remove.
      * nt/inc/ms-w32.h (w32_abort) [HAVE_NTGUI]: Remove.
      * src/.gdbinit: Just stop at emacs_abort, not at w32_abort or abort.
      * src/emacs.c (abort) [!DOS_NT && !NO_ABORT]:
      Remove; sysdep.c's emacs_abort now takes its place.
      * src/lisp.h (emacs_abort): New decl.  All calls from Emacs code to
      'abort' changed to use 'emacs_abort'.
      * src/msdos.c (dos_abort) [defined abort]: Remove; not used.
      (abort) [!defined abort]: Rename to ...
      (emacs_abort): ... new name.
      * src/sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking
      the place of the old 'abort' in emacs.c.
      * src/w32.c, src/w32fns.c (abort): Do not #undef.
      * src/w32.c (emacs_abort): Rename from w32_abort.
      1088b922
    • Eli Zaretskii's avatar
      Fix display of Arabic diacriticals on Windows, per bug #11860. · 30934d33
      Eli Zaretskii authored
       src/w32uniscribe.c (uniscribe_shape): Reverse the sign of
       offsets[j].dv, since the y axis of the screen coordinates points
       down, while the y axis of the font definition coordinates points
       up.  This fixes display of Arabic diacritics such as KASRA and
       KASRATAN.
      30934d33
    • Lars Ingebrigtsen's avatar
      Have smtpmail.el prefer the From: header for the MAIL FROM envelope · 8ce192e3
      Lars Ingebrigtsen authored
      * mail/smtpmail.el (smtpmail-send-it): Prefer the From: header
      over `user-mail-address' for the SMTP MAIL FROM envelope.
      (smtpmail-via-smtp): Ditto.
      8ce192e3
    • Glenn Morris's avatar
      Auto-commit of generated files. · 6ec9a5a7
      Glenn Morris authored
      6ec9a5a7
    • Paul Eggert's avatar
      Be more systematic about _setjmp vs setjmp. · af26b72c
      Paul Eggert authored
      * alloc.c (test_setjmp, mark_stack):
      * image.c (PNG_LONGJMP) [PNG_LIBPNG_VER < 10500]:
      (PNG_JMPBUF) [! (PNG_LIBPNG_VER < 10500)]:
      (png_load, my_error_exit, jpeg_load):
      * process.c (send_process_trap, send_process):
      Uniformly prefer _setjmp and _longjmp to setjmp and longjmp.
      The underscored versions are up to 30x faster on some hosts.
      Formerly, the code used setjmp+longjmp sometimes and
      _setjmp+_longjmp at other times, with no particular reason to
      prefer setjmp+longjmp.
      af26b72c
    • Paul Eggert's avatar
      * configure.ac (_setjmp, _longjmp): Check by compiling · 7b6c362e
      Paul Eggert authored
      instead of by guessing.  The guesses were wrong for
      recent versions of Solaris, such as Solaris 11.
      7b6c362e
    • Dmitry Gutov's avatar
    • Dmitry Gutov's avatar
      * ruby-mode.el: Clean up keybindings. · 4489104f
      Dmitry Gutov authored
      (ruby-mode-map): Don't bind ruby-electric-brace,
      ruby-beginning-of-defun, ruby-end-of-defun, ruby-mark-defun,
      backward-kill-word, reindent-then-newline-and-indent.
      (ruby-mark-defun): Remove.
      (ruby-electric-brace): Remove.  Obsoleted by electric-indent-chars.
      (ruby-mode): Set local beginning-of-defun-function and
      end-of-defun-function values.
      4489104f
  3. 03 Sep, 2012 8 commits
  4. 02 Sep, 2012 11 commits
    • Paul Eggert's avatar
      * emacs.c, eval.c: Use bool for boolean. · 1882aa38
      Paul Eggert authored
      * emacs.c (initialized, inhibit_window_system, running_asynch_code):
      (malloc_using_checking) [DOUG_LEA_MALLOC]:
      (display_arg) [HAVE_X_WINDOWS || HAVE_NS]:
      (noninteractive, no_site_lisp, fatal_error_in_progress, argmatch)
      (main, decode_env_path, Fdaemon_initialized):
      * eval.c (call_debugger, Finteractive_p, interactive_p):
      (unwind_to_catch, Fsignal, wants_debugger, skip_debugger)
      (maybe_call_debugger, Fbacktrace):
      * process.c (read_process_output, exec_sentinel):
      Use bool for booleans.
      * emacs.c (shut_down_emacs): Omit unused boolean argument NO_X.
      All callers changed.
      * eval.c (interactive_p): Omit always-true boolean argument
      EXCLUDE_SUBRS_P.  All callers changed.
      * dispextern.h, lisp.h: Reflect above API changes.
      * firstfile.c (dummy): Use the address of 'main', whose signature
      won't change, instead of the address of 'initialize', whose
      signature just changed from int to bool.
      * lisp.h (fatal_error_in_progress): New decl of boolean, moved here ...
      * msdos.c (fatal_error_in_progress): ... from here.
      * xdisp.c (redisplaying_p): Now a boolean.  Set it to 1 instead
      of incrementing it.
      (redisplay_internal, unwind_redisplay): Simply clear
      REDISPLAYING_P when unwinding, instead of saving its previous,
      always-false value and then restoring it.
      1882aa38
    • Paul Eggert's avatar
      Clean up some extern decls. · a411ac43
      Paul Eggert authored
      Mostly, this hoists extern decls out of .c files and into .h files.
      That way, we're more likely to catch errors if the interfaces change.
      * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not
      declare xg_mark_data.
      * dispextern.h (x_frame_parm_handlers):
      * font.h (Qxft):
      * lisp.h (Qlexical_binding, Qinternal_interpreter_environment)
      (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold)
      (Qultra_bold, Qoblique, Qitalic):
      Move extern decl here from .c file.
      * alloc.c (xg_mark_data) [USE_GTK]:
      * doc.c (Qclosure):
      * eval.c (Qlexical_binding):
      * fns.c (time) [!HAVE_UNISTD_H]:
      * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light)
      (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic):
      * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]:
      * lread.c (Qinternal_interpreter_environment):
      * minibuf.c (Qbuffer):
      * process.c (QCfamily, QCfilter):
      * widget.c (free_frame_faces):
      * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]:
      * xfont.c (x_clear_errors):
      * xterm.c (x_frame_parm_handlers):
      Remove now-redundant extern decls.
      * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]:
      * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic):
      Now static.
      * xfaces.c: Remove unnecessary static decls.
      * xterm.c (updating_frame): Remove decl of nonexistent object.
      a411ac43
    • Paul Eggert's avatar
      * Makefile.in (gl-stamp): Don't scan $(SOME_MACHINE_OBJECTS) · c04889f8
      Paul Eggert authored
      when building globals.h, as the objects that are not built on
      this host are not needed to compile C files on this host.
      c04889f8
    • Jan Djärv's avatar
      * configure.ac (HAVE_GOBJECT): Check for gobject-2.0. · f278d339
      Jan Djärv authored
      Fixes: debbugs:12332
      f278d339
    • Jan Djärv's avatar
      Prototype for x_wm_set_size_hint restored. · 8b339673
      Jan Djärv authored
      * frame.h: Add missing prototype for x_wm_set_size_hint.
      
      * gtkutil.h: Remove prototype for x_wm_set_size_hint.
      8b339673
    • Glenn Morris's avatar
      Auto-commit of generated files. · 403e1769
      Glenn Morris authored
      403e1769
    • Michael Albinus's avatar
      * eshell/em-unix.el (eshell/sudo): When we have an ad-hoc · 73406194
      Michael Albinus authored
      remote definition of `default-directory', ensure we can connect.
      73406194
    • Juri Linkov's avatar
      Toggle whitespace matching mode with M-s SPC. · 63dd1c6f
      Juri Linkov authored
      http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00008.html
      
      * lisp/isearch.el (search-whitespace-regexp): Doc fix.
      Remove cons cell customization.
      (isearch-mode-map): Bind "\M-s " to isearch-toggle-lax-whitespace.
      (isearch-lax-whitespace, isearch-regexp-lax-whitespace):
      New variables.
      (isearch-forward, isearch-forward-regexp): Doc fix.
      (isearch-toggle-lax-whitespace): New command.
      (search-forward-lax-whitespace, search-backward-lax-whitespace)
      (re-search-forward-lax-whitespace)
      (re-search-backward-lax-whitespace): New functions.
      (isearch-whitespace-regexp): Remove function.
      (isearch-query-replace): Let-bind replace-search-function and
      replace-re-search-function.
      (isearch-occur): Let-bind search-spaces-regexp according to the
      value of isearch-lax-whitespace and isearch-regexp-lax-whitespace.
      (isearch-quote-char): Check isearch-regexp-lax-whitespace in the
      condition for C-q SPC.
      (isearch-search-fun-default): Use new functions mentioned above.
      (isearch-search-forward, isearch-search-backward): Remove functions.
      (isearch-search): Don't let-bind search-spaces-regexp.
      (isearch-lazy-highlight-space-regexp): Remove variable.
      (isearch-lazy-highlight-lax-whitespace)
      (isearch-lazy-highlight-regexp-lax-whitespace): New variables.
      (isearch-lazy-highlight-new-loop): Use them.
      (isearch-lazy-highlight-search): Don't let-bind search-spaces-regexp.
      63dd1c6f
    • Paul Eggert's avatar
      * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean. · a08d4ba7
      Paul Eggert authored
      * doc.c (read_bytecode_char, get_doc_string, reread_doc_file)
      (Fdocumentation, Fdocumentation_property, Fsnarf_documentation)
      (Fsubstitute_command_keys):
      * editfns.c (region_limit, find_field, Fconstrain_to_field)
      (save_excursion_save, save_excursion_restore)
      (disassemble_lisp_time, decode_time_components, emacs_nmemftime)
      (format_time_string, general_insert_function)
      (make_buffer_string, make_buffer_string_both)
      (Fsubst_char_in_region, Ftranslate_region_internal, Fformat):
      * insdel.c (check_markers, gap_left, adjust_markers_for_insert)
      (copy_text, insert_1, insert_1_both, insert_from_string)
      (insert_from_string_before_markers, insert_from_string_1)
      (insert_from_buffer, insert_from_buffer_1, replace_range)
      (replace_range_2, del_range_1, del_range_byte, del_range_both)
      (del_range_2, modify_region):
      * intervals.c (intervals_equal, balance_possible_root_interval)
      (adjust_intervals_for_insertion, merge_properties_sticky)
      (graft_intervals_into_buffer, lookup_char_property)
      (adjust_for_invis_intang, set_point_both)
      (get_property_and_range, compare_string_intervals)
      (set_intervals_multibyte_1, set_intervals_multibyte):
      * keyboard.c (decode_timer):
      Use bool for boolean.
      * intervals.h, lisp.h, systime.h: Reflect above API changes.
      * editfns.c (struct info): Use 1-bit unsigned bitfields for booleans.
      a08d4ba7
    • Chong Yidong's avatar
      Recommand against save-window-excursion in Lisp manual. · 6a787d9a
      Chong Yidong authored
      * windows.texi (Window Configurations): Recommend against using
      save-window-excursion.
      
      * control.texi (Catch and Throw):
      * positions.texi (Excursions): Don't mention it.
      
      Fixes: debbugs:12075
      6a787d9a
    • Chong Yidong's avatar
      * keymap.c (push_key_description): Print M-TAB as C-M-i. · 48c948de
      Chong Yidong authored
      Fixes: debbugs:11758
      48c948de