1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-12 14:30:42 -08:00
Commit graph

32764 commits

Author SHA1 Message Date
Chong Yidong
383f7350f3 Make mode line help-echo visible for unibyte buffers.
* src/xdisp.c (decode_mode_spec_coding): Display a space for a unibyte
buffer.

* lisp/bindings.el (mode-line-mule-info-help-echo)
(mode-line-read-only-help-echo, mode-line-modified-help-echo):
New functions.
(mode-line-mule-info, mode-line-modified): Use them.
(mode-line-eol-desc, propertized-buffer-identification):
Consistency fixes for help text.

Fixes: debbugs:11226
2012-06-03 18:23:49 +08:00
Chong Yidong
1c476a0a7f * xdisp.c (note_mode_line_or_margin_highlight): Fix last change. 2012-06-03 17:59:00 +08:00
Chong Yidong
5f2c76c6ce Implement default help-echo for mode line.
* lisp/bindings.el: Remove explicit help-echo from format-mode-line.
(mode-line-front-space, mode-line-end-spaces)
(mode-line-misc-info): New variables.
(mode-line-modes, mode-line-position): Move the default value to
the variable definition.
(mode-line-default-help-echo): New defcustom.

* src/buffer.c (buffer_local_value_1): New function, split from
Fbuffer_local_value; can return Qunbound.
(Fbuffer_local_value): Use it.
(Vmode_line_format): Docstring tweaks.

* src/xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value.
(note_mode_line_or_margin_highlight): If there is no help echo,
use mode-line-default-help-echo.  Handle the case where the mouse
position is past the end of the mode line string.

* doc/lispref/modes.texi (Mode Line Data): Use "mode line construct"
terminology for consistency.
2012-06-03 17:03:23 +08:00
Paul Eggert
773d47f6b2 * sysdep.c (system_process_attributes): Improve comment. 2012-06-02 14:01:07 -07:00
Stefan Monnier
f2d6a3df6a * lisp/simple.el (execute-extended-command): Set real-this-command.
* src/keyboard.c: Export real-this-command to Elisp.
(syms_of_keyboard): Rename real_this_command to Vreal_this_command
and DEFVAR it.  Update all users.

Fixes: debbugs:11506
2012-06-02 15:21:34 -04:00
Paul Eggert
7bd5c1f4a4 * minibuf.c (Fassoc_string): Remove duplicate declaration. 2012-06-02 10:03:49 -07:00
Paul Eggert
63810350ec * sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
Convert pctcpu and pctmem to Lisp float properly.
Let the compiler fold better, as 100.0/0x8000 is exact.
2012-06-02 09:37:54 -07:00
Andreas Schwab
a282161184 * alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of
cons_block.
2012-06-02 10:52:27 +02:00
Paul Eggert
5fceba1d6a * xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change. 2012-06-01 13:49:03 -07:00
Dmitry Antipov
c98ff5dd43 For a 'struct window', replace some Lisp_Object fields to
bitfields where appropriate, remove unused fields.
* window.h (struct window): Remove unused 'last_mark_x' and
'last_mark_y' fields.  Rename 'mini_p' field to 'mini',
change it's type from Lisp_Object to bitfield.
Change type of 'force_start', 'optional_new_start',
'last_had_star', 'update_mode_line' and 'start_at_line_beg'
fields from Lisp_Object to bitfield. Adjust users accordingly.
2012-06-01 07:41:03 +04:00
Glenn Morris
32d72c2f5d Add option imagemagick-types-enable
* lisp/image.el: For clarity, call imagemagick-register-types at
top-level, rather than relying on a custom :initialize.
(imagemagick-types-enable): New option. 
(imagemagick-register-types): Respect imagemagick-types-inhibit.
If disabling support, remove elements altogether rather
than using an impossible regexp.
(imagemagick-types-inhibit): Give it the default init function.

* src/image.c (Fimagemagick_types): Doc fix.

* etc/NEWS: Mention this.

Fixes: debbugs:11557
2012-05-31 00:22:33 -07:00
Paul Eggert
ca34e0be92 Pacify gcc -Wdouble-precision when using Xaw.
* xterm.c (xaw_jump_callback, x_set_toolkit_scroll_bar_thumb)
[HAVE_X_WINDOWS && USE_TOOLKIT_SCROLL_BARS && !USE_MOTIF && !USE_GTK]:
Use 'float' consistently, rather than 'float' in most places
and 'double' in a couple of places.
2012-05-30 23:51:43 -07:00
Chong Yidong
efc00ab16e Merge from emacs-24; up to 2012-04-24T21:47:24Z!michael.albinus@gmx.de 2012-05-31 14:08:06 +08:00
Paul Eggert
ba93a18774 Remove obsolete '#define static' cruft.
* etc/PROBLEMS: Remove obsolete '#define static' cruft.
* lwlib/xlwmenu.c [emacs]: Include "bitmaps/gray.xbm".
(gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits) [!emacs]:
Remove; all uses replaced with definiens.
* src/s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef.
This #undef was "temporary" in 2000; it is no longer needed
now that '#define static' has gone away.
* src/xfns.c, src/xterm.h (gray_bitmap_width, gray_bitmap_height)
(gray_bitmap_bits): Remove; no longer needed.
All uses replaced with definiens.
* src/xterm.c: Include "bitmaps/gray.xbm".
2012-05-30 22:08:37 -07:00
Paul Eggert
9e4bf381b7 Clean up __executable_start, monstartup when --enable-profiling.
The following changes affect the code only when profiling.
* dispnew.c (__executable_start): Rename from safe_bcopy.
Define only on platforms that need it.
* emacs.c: Include <sys/gmon.h> when profiling.
(_mcleanup): Remove decl, since <sys/gmon.h> does it now.
(__executable_start): Remove decl, since lisp.h does it now.
(safe_bcopy): Remove decl; no longer has that name.
(main): Coalesce #if into single bit of code, for simplicity.
Cast pointers to uintptr_t, since standard libraries want integers
and not pointers.
* lisp.h (__executable_start): New decl.
2012-05-30 12:23:37 -07:00
Eli Zaretskii
d5fd2c5421 Fix bug #11587 with a crash in an Info buffer under linum-mode.
src/xdisp.c (handle_stop): Detect whether we have overlay strings
 loaded by testing it->current.overlay_string_index to be
 non-negative, instead of checking whether n_overlay_strings is
 positive.
2012-05-30 21:09:17 +03:00
Jim Meyering
baac5bc76d Improve call-process-region error message.
* src/callproc.c (Fcall_process_region): Include directory component
in mkstemp error message.

Fixes: debbugs:11586
2012-05-30 22:20:45 +08:00
Chong Yidong
353c87f6ff * keymap.c (describe_map_tree): Revert 2011-07-07 change.
* doc.c (Fsubstitute_command_keys): Doc fix.

Fixes: debbugs:1169
2012-05-30 22:08:58 +08:00
Paul Eggert
72cb32cf2f * alloc.c, lisp.h (make_pure_vector): Now static. 2012-05-30 00:59:44 -07:00
Stefan Monnier
61b108cc62 * lisp/emacs-lisp/byte-run.el (defmacro, defun): Move from C.
(macro-declaration-function): Move var from C code.
(macro-declaration-function): Define function with defalias.
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1):
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't handle
defun/defmacro any more.
* lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-signature):
Provide fallback for unknown arglist.
(byte-compile-arglist-warn): Change calling convention.
(byte-compile-output-file-form): Move print-vars binding.
(byte-compile-output-docform): Simplify accordingly.
(byte-compile-file-form-defun, byte-compile-file-form-defmacro)
(byte-compile-defmacro-declaration): Remove.
(byte-compile-file-form-defmumble): Generalize to defalias.
(byte-compile-output-as-comment): Return byte-positions.
Simplify callers accordingly.
(byte-compile-lambda): Use `assert'.
(byte-compile-defun, byte-compile-defmacro): Remove.
(byte-compile-file-form-defalias):
Use byte-compile-file-form-defmumble.
(byte-compile-defalias-warn): Remove.
* src/eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
Move to byte-run.el.
(Fautoload): Do the hash-doc more carefully.
* src/data.c (Fdefalias): Purify definition, except for keymaps.
(Qdefun): Move from eval.c.
* src/lisp.h (Qdefun): Remove.
* src/lread.c (read1): Tiny simplification.
* lib-src/make-docfile.c: Improve comment style.
(search_lisp_doc_at_eol): New function.
(scan_lisp_file): Use it.
2012-05-29 23:59:42 -04:00
Paul Eggert
934f3f582d Fix ChangeLog entry by negating its 1st sentence. 2012-05-29 14:33:38 -07:00
Troels Nielsen
471fe23dc5 Do not avoid creating empty evaporating overlays (Bug#9642).
* buffer.c (Fmove_overlay): Reinstate the earlier fix for
Bug#9642, but explicitly check that the buffer the overlay would
be moved to is live and rearrange lines to make sure that errors
will not put the overlay in an inconsistent state.
(Fdelete_overlay): Cosmetics.
2012-05-29 09:13:38 -07:00
Eli Zaretskii
a02ae4e5bf Don't call r_alloc_inhibit_buffer_relocation from search.c.
src/search.c (search_buffer): Remove calls to
 r_alloc_inhibit_buffer_relocation, as it is now called by
 maybe_unify_char, which was the cause of relocation of buffer text
 in bug#11519.
2012-05-29 19:01:05 +03:00
Eli Zaretskii
85d0efd175 Fix bug #11513 with raise-frame on MS-Windows.
src/w32term.c (my_bring_window_to_top): New function.
 (x_raise_frame): Use handle returned by DeferWindowPos, which
 could be different from the original one.  Call
 my_bring_window_to_top instead of my_set_foreground_window.
 src/w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP
 by calling BringWindowToTop.
 src/w32term.h (WM_EMACS_BRINGTOTOP): New message.
 (WM_EMACS_END): Increase by one.
2012-05-28 20:22:40 +03:00
Eli Zaretskii
291d430f5f Avoid buffer text relocations in calls to STRING_CHAR_* macros.
src/charset.c (maybe_unify_char): Inhibit relocation of buffer text
 for the duration of call to load_charset, to avoid problems with
 callers of maybe_unify_char that access buffer text through C
 pointers.
 src/ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and
 decrement the inhibition flag, instead of just setting or
 resetting it.

Fixes: debbugs:11519
2012-05-28 19:50:10 +03:00
Paul Eggert
da92a98c3d * bidi.c (bidi_mirror_char): Put eassert before conversion to int.
This avoids undefined behavior that might cause the eassert
to not catch an out-of-range value.
2012-05-28 00:13:45 -07:00
Juanma Barranquero
74d1f848fa src/makefile.w32-in: Update dependencies. 2012-05-28 03:58:42 +02:00
Eli Zaretskii
9e1a06fcf8 Fix last change in bidi_mirror_char. 2012-05-27 15:27:07 +03:00
Andreas Schwab
f3dd73121c * unexmacosx.c (copy_data_segment): Truncate after 16 characters
when referring to sectname field in printf format.
2012-05-27 14:18:35 +02:00
Paul Eggert
57b81a9f51 * lisp.h [REL_ALLOC]: Omit duplicate prototypes.
Only r_alloc_inhibit_buffer_relocation needed to be added;
the others were already declared.
2012-05-27 00:51:09 -07:00
Paul Eggert
81899c9138 * bidi.c (bidi_mirror_char): Don't possibly truncate the integer
before checking whether it's out of range.  Put the check inside
eassert.  See
<http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00485.html>.
2012-05-27 00:32:46 -07:00
Glenn Morris
33017fafd1 Merge from emacs-24; up to 2012-04-24T08:35:02Z!lekktu@gmail.com 2012-05-26 18:06:44 -07:00
Paul Eggert
c1892f1145 Fix coding-related core dumps with gcc -ftrapv.
The code was computing A - B, where A and B are pointers, and B is
random garbage.  This can lead to core dumps on platforms that
have special pointer registers, and it also leads to core dumps on
x86-64 when compiled with gcc -ftrapv.  The fix is to compute
A - B only when B is initialized properly.
* coding.c (coding_set_source, coding_set_destination): Return void.
(coding_change_source, coding_change_destinations): New functions,
with the old behaviors of coding_set_source and coding_set_destination.
All callers that need an offset changed to use these new functions.
2012-05-26 15:27:21 -07:00
Glenn Morris
eb7afdaddc Don't mess with INFOPATH in ns builds
It's not necessary, and would break if INFOPATH was already set (bug#2791).
Ref also
http://lists.gnu.org/archive/html/emacs-devel/2009-05/msg00035.html
http://lists.gnu.org/archive/html/emacs-devel/2005-06/msg00064.html

* lisp/paths.el (Info-default-directory-list):
* lisp/info.el (info-initialize): For self-contained NS builds, put the
included info/ directory at the front. 

* src/nsterm.m (ns_init_paths): Don't mess with INFOPATH.
2012-05-26 14:23:28 -07:00
Stefan Monnier
a179e3f7b4 Use declare' in lambda' and mis minor changes.
* lisp/subr.el (lambda): Use declare.
* lisp/emacs-lisp/lisp-mode.el (lambda):
* lisp/emacs-lisp/edebug.el (lambda): Move properties to its definition.
* lisp/gnus/legacy-gnus-agent.el (gnus-agent-unhook-expire-days):
* lisp/gnus/gnus-demon.el (gnus-demon-init): Don't bother with type-of.
2012-05-26 11:52:27 -04:00
Eli Zaretskii
53a63be64d Extend mouse support on W32 text-mode console.
src/xdisp.c (draw_row_with_mouse_face): Call
 tty_draw_row_with_mouse_face for WINDOWSNT as well.
 src/w32console.c: Include window.h.
 (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): New
 functions.
 (initialize_w32_display): Initialize mouse-highlight data.
 src/w32inevt.c: Include termchar.h and window.h.
 (do_mouse_event): Support mouse-autoselect-window.  When the mouse
 moves, call note_mouse_highlight.  If help_echo changed, call
 gen_help_event to produce help-echo message in the echo area.
 Call clear_mouse_face if mouse_face_hidden is set in the mouse
 highlight info.

 etc/NEWS: Describe the changes.
2012-05-26 15:14:56 +03:00
Eli Zaretskii
c4aeb92ab4 Support help-echo and tooltip messages on w32 text-mode terminals.
src/w32inevt.c (do_mouse_event): If help_echo changed, call gen_help_event
 to produce help-echo message in the echo area.
2012-05-26 14:58:19 +03:00
Eli Zaretskii
f12fdf0237 Support mouse-autoselect-window on w32 text-mode terminals.
src/w32inevt.c (do_mouse_event): Support mouse-autoselect-window.
2012-05-26 14:46:20 +03:00
Eli Zaretskii
42e3a36157 Refactor mouse highlight invocation for w32 console.
src/w32inevt.c: Include termchar.h.
 (mouse_moved_to): Move the call to note_mouse_highlight from here...
 (do_mouse_event): ...to here.
 Call clear_mouse_face if mouse_face_hidden is set in the mouse
 highlight info.
2012-05-26 12:56:31 +03:00
Eli Zaretskii
eb3f6f0189 Support mouse highlight on w32 text-mode frames.
src/xdisp.c (draw_row_with_mouse_face): Call
 tty_draw_row_with_mouse_face for WINDOWSNT as well.
 src/w32inevt.c (mouse_moved_to): When the mouse moves, call
 note_mouse_highlight.
 src/w32console.c: Include window.h.
 (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face): New
 functions.
 (initialize_w32_display): Initialize mouse-highlight data.
2012-05-26 12:31:59 +03:00
Paul Eggert
4cfd81f6c9 * lread.c (read1): Simplify slightly to avoid an overflow warning
with GCC 4.7.0 on x86-64.
2012-05-26 01:30:49 -07:00
Eli Zaretskii
4446092aff Revert last change in bidi.c.
src/bidi.c (bidi_mirror_char): Revert last change: an int is
 definitely wide enough here.
2012-05-26 10:03:39 +03:00
Glenn Morris
f9f334f0c2 * lisp/paths.el: Remove no-byte-compile.
* lisp/loadup.el: No need to load lisp/paths.el uncompiled.

* src/lisp.mk (lisp): Update for this change.
2012-05-25 18:13:24 -04:00
Paul Eggert
024811862b * src/buffer.c (Fmove_overflay): Clip instead of trying to fix bug 9642. 2012-05-25 13:30:19 -07:00
Paul Eggert
23d10a2703 Merge from trunk. 2012-05-25 12:27:58 -07:00
Paul Eggert
243e053005 Merge recent dbus changes better. 2012-05-25 12:24:54 -07:00
Glenn Morris
c6574eb515 * src/lisp.mk (lisp): Update for more files being compiled now. 2012-05-25 14:58:25 -04:00
Paul Eggert
42b2a986d9 Merge from trunk. 2012-05-25 11:19:24 -07:00
Stefan Monnier
48def666f1 * src/lread.c: Remove `read_pure' which makes no difference.
(read_pure): Remove var.
(unreadpure): Remove function.
(readevalloop): Don't call read_list with -1 flag.
(read1, read_vector): Don't test read_pure any more.
(read_list): Simplify.
2012-05-25 14:06:13 -04:00
Stefan Monnier
e8d32c7e80 * src/fileio.c, src/character.h: Minor style tweaks. 2012-05-25 11:01:30 -04:00