1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-15 07:41:09 -08:00
Commit graph

32262 commits

Author SHA1 Message Date
Joakim Verona
fa25a460d0 upstream 2011-10-26 13:50:37 +02:00
Stefan Monnier
71d4c2a518 * lisp/progmodes/octave-*.el: Update maintainer. 2011-10-25 21:18:13 -04:00
Paul Eggert
fe0055fa74 * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2). 2011-10-25 09:36:20 -07:00
Stefan Monnier
e6346438e2 Make function-key-map apply when key is bound to `undefined'.
* src/keyboard.c (test_undefined): New function.
(read_key_sequence): Use it to detect when a key is bound to `undefined'.

Fixes: debbugs:9751
2011-10-25 08:54:04 -04:00
Enami Tsugutomo
e112cc3727 * sysdep.c (init_sys_modes): Fix the check for the controlling terminal.
Fixes: debbugs:6649
2011-10-25 12:27:47 +08:00
Joakim Verona
ac8bd0ce49 upstream 2011-10-24 08:53:10 +02:00
Eli Zaretskii
55622b93c9 src/bidi.c: Fix a typo in a comment. 2011-10-20 18:37:10 +02:00
Eli Zaretskii
7b5d6677ec Improve the speedup of bidi display introduced in 2011-10-18T16:56:09Z!eliz@gnu.org for bug#9771.
src/dispextern.h (struct bidi_it): New member next_en_type.
 src/bidi.c (bidi_line_init): Initialize the next_en_type member.
 (bidi_resolve_explicit_1): When next_en_pos is valid for the
 current character, check also for next_en_type being WEAK_EN.
 (bidi_resolve_weak): Don't enter the expensive loop if the current
 position is before next_en_pos.  Record the bidi type of the first
 non-ET, non-BN character we find, in addition to its position.
 (bidi_level_of_next_char): Invalidate next_en_type when
 next_en_pos is over-stepped.
2011-10-20 14:39:52 +02:00
Paul Eggert
7da0b018f2 Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794)
* configure.in (AC_STRUCT_TM, AC_STRUCT_TIMEZONE, HAVE_TM_GMTOFF):
Remove; no longer needed, now that we defer to strftime for time
zone names.
* src/editfns.c: Rewrite current-time-zone so that it invokes
the equivalent of (format-time-string "%Z") to get the time zone name.
This fixes a bug when the time zone name contains characters that
need converting from the system time locale to Emacs internal format.
This fixes a shortcoming that I introduced in my 1999-10-19 patch:
that patch fixed format-time-string to do the conversion, but
I forgot to fix current-time-zone.
(format_time_string): New function, containing most of
what Fformat_time_string used to contain.
(Fformat_time_string): Rewrite in terms of format_time_string.
This doesn't change this function's behavior.
(current-time-zone): Rewrite to use format_time_string.
This fixes the bug reported by Michael Schierl in
<http://lists.gnu.org/archive/html/emacs-devel/2007-06/msg00334.html>.
Jason Rumney's 2007-06-07 change worked around this bug, but
didn't fix it.
* src/systime.h (tzname, timezone): Remove no-longer-used declarations.
2011-10-19 23:52:55 -07:00
Eli Zaretskii
12b3296319 Followup to 2011-10-19T09:48:35Z!eliz@gnu.org.
src/xdisp.c (try_window_reusing_current_matrix): If a line ends in a display
 vector or the next line starts in a display vector, continue
 redrawing the window even though the character position of
 start_row was reached.

Fixes: debbugs:9771
2011-10-19 13:46:17 +02:00
Eli Zaretskii
8547b010fa Fix part 2 of bug #9771 with lines that start with a display vector.
src/xdisp.c (start_display): If the character at POS is displayed
 via a display vector, reset IT->current.dpvec_index to zero.
2011-10-19 11:48:35 +02:00
Chong Yidong
4e948d153a Have nobreak-char-display handle U+2010 and U+2011.
See discussion at
http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00747.html

* src/xdisp.c (get_next_display_element): Handle U+2010 and U+2011
with nobreak-char-display too.
2011-10-18 17:07:56 -04:00
Joakim Verona
6e73a2ebf0 upstream 2011-10-18 21:26:54 +02:00
Joakim Verona
3bb66ec611 upstream + xwidget-webkit-show-named-element 2011-10-18 21:25:17 +02:00
Eli Zaretskii
4787455fb7 Fix bug #9771 with slow redisplay in long lines full of control characters.
src/bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1.
 (bidi_resolve_neutral): Don't enter the expensive loop looking for
 non-neutral characters if the current character is a paragraph
 separator (a.k.a. Newline).  This avoids running the same
 expensive loop twice, once when we consume the preceding newline
 and the other time when the line actually needs to be displayed.
 Avoid the loop when we see neutrals on the base embedding level
 following a character whose directionality is the same as the
 paragraph's.  This avoids running the expensive loop when a line
 ends in a long sequence of neutrals, like control characters.
 Add assertion against STRONG_AL type.  Slightly rearrange code
 that determines the type of a neutral given the first non-neutral
 that follows it.
 (bidi_level_of_next_char): Set next_en_pos to zero when
 invalidating its info.
2011-10-18 18:56:09 +02:00
Eli Zaretskii
f2ff9e8894 Fix part 1 of bug #9771 with assertion violation in move_it_by_lines.
src/xdisp.c (move_it_vertically_backward): Don't look for character position
 immediately after the newline when in a continuation line.
2011-10-17 21:13:44 +02:00
Eli Zaretskii
2c91f553b7 Fix part 4 of bug#9771 with assertion violation when wrap-prefix is used
for a line that begins with control characters.

 src/xdisp.c (push_display_prop): Determine whether to record string
 or buffer position by IT->string, not by IT->method.  Allow
 GET_FROM_DISPLAY_VECTOR as IT->method on entry.
2011-10-17 19:03:20 +02:00
Joakim Verona
38ea27d5ef upstream 2011-10-15 23:07:46 +02:00
Martin Rudalics
c7b08b0d14 Rewrite and delabelize vertical border check. (Bug#5357) (Bug#9618)
* window.c (coordinates_in_window): Rewrite and delabelize
vertical border check.  (Bug#5357) (Bug#9618)
2011-10-15 12:12:00 +02:00
Stefan Monnier
6b02f655f1 * src/xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained
errors in XSetWindowBorder.

Fixes: debbugs:9310
2011-10-14 13:44:39 -04:00
Joakim Verona
dab7e06ab7 upstream 2011-10-14 11:00:50 +02:00
Dmitry Antipov
81d40c9208 Use xfree, not free, to avoid crash with --enable-checking=xmallocoverrun. 2011-10-13 07:55:46 -07:00
Joakim Verona
3d9b00348f upstream 2011-10-13 14:27:17 +02:00
Eli Zaretskii
d4172c3be9 Fix the change with paragraph_dir initialization.
src/bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
 some callers set that themselves.
 src/xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
 itb.paragraph_dir to NEUTRAL_DIR.  Fixes an occasional incorrect
 cursor motion with <left> and <right> arrow keys.
2011-10-13 13:17:32 +02:00
Eli Zaretskii
b00eea75d3 Fix bugs #9738 & 9739 with a display string that ends in 2 newlines.
src/xdisp.c (find_row_edges): Handle the case where ROW comes from a
 display string and the previous row comes from the same string and
 is empty.
2011-10-12 22:07:59 +02:00
Stefan Monnier
8fe012c4e6 * doc.c (get_doc_string): Encode file name.
Fixes: debbugs:9735
2011-10-12 15:08:04 -04:00
Eli Zaretskii
79beb1785a Remove incorrect comments about U+2028 LS character.
See http://www.unicode.org/mail-arch/unicode-ml/y2011-m10/0048.html
for more details.

 src/bidi.c (bidi_level_of_next_char):
 src/xdisp.c (get_visually_first_element): Remove old incorrect
 comments regarding the Unicode Line Separator character.
2011-10-12 17:12:52 +02:00
Eli Zaretskii
0074aef227 src/bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR. 2011-10-12 13:32:41 +02:00
Dmitry Antipov
6e4b3fbe6d * alloc.c (Fgc_status): Do not access beyond zombies array
boundary if nzombies > MAX_ZOMBIES.
* alloc.c (dump_zombies): Add missing format specifier.
2011-10-11 23:09:40 -07:00
Paul Eggert
b5525cacc3 * xdisp.c (set_cursor_from_row): Simplify conditionals,
to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
2011-10-11 22:50:15 -07:00
Paul Eggert
0324f3af3d * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
Some packages use them to denote characters with modifiers.
2011-10-11 21:58:43 -07:00
Andreas Schwab
e9b5f88812 * src/lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR)
(GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid
matching a pp-number.  Rename parameter var to var1.
2011-10-11 19:35:16 +02:00
Stefan Monnier
127827c013 * minibuf.c (Finternal_complete_buffer): Fix last change.
Fixes: debbugs:9709
2011-10-11 13:32:38 -04:00
Joakim Verona
0b19c7867f upstream 2011-10-10 13:00:51 +02:00
Glenn Morris
c8fd3bd078 Small callint.c fix.
* src/callint.c (Fcall_interactively): Give a more explicit error for the
'c' case with a non-character input.

Fixes: debbugs:8479
2011-10-08 14:07:23 -07:00
Eli Zaretskii
7061c98630 Fix cursor positioning in hscrolled lines with R2L characters.
src/xdisp.c (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L
 lines that are hscrolled on the left.
2011-10-08 15:03:43 +02:00
Eli Zaretskii
03669ccbad src/xdisp.c (hscroll_window_tree): Support hscroll in right-to-left lines. 2011-10-08 14:15:08 +02:00
Eli Zaretskii
352ec8ffdd Fix bug #4426 with buffer_posn_from_coords when header line is present.
dispnew.c (buffer_posn_from_coords): Account it.vpos for a possible
 presence of header-line.
2011-10-08 12:58:50 +02:00
Paul Eggert
84e8e185cd * alloc.c: Add comment. 2011-10-07 09:42:32 -07:00
Stefan Monnier
a66cfb1c67 * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>: Don't
advertise functionality which we discourage or doesn't work.
2011-10-07 09:08:47 -04:00
Paul Eggert
7c5ee88ecb Fix alignment-related core dump during GC.
* configure.in (GC_LISP_OBJECT_ALIGNMENT): Remove.
This is now done by src/alloc.c.
* src/alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__
or sizeof.  __alignof__ gives the wrong answer on Fedora x86-64
with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int;
this makes Emacs dump core during garbage collection on rare
occasions.  sizeof is obviously inferior to offsetof here, so
stick with offsetof.
(GC_POINTER_ALIGNMENT): New macro.
(mark_memory): Omit 3rd (offset) arg; caller changed.
Don't assume EMACS_INT alignment is the same as pointer alignment.
2011-10-07 00:23:44 -07:00
Stefan Monnier
df1bbe5b13 * src/keyboard.c (read_key_sequence_remapped): New var.
(read_key_sequence): Compute remapping in the right buffer.
(command_loop_1): Use read_key_sequence's remapping directly.
2011-10-03 16:50:54 -04:00
Joakim Verona
6ae1821f00 upstream 2011-10-02 09:44:26 +02:00
Stefan Monnier
32c1fffd72 * lisp/pcomplete.el: Require comint.
(pcomplete--common-suffix): Remove.
(pcomplete--common-quoted-suffix): Use comint--common-suffix instead.
(pcomplete--table-subvert): Sync with comint--table-subvert.
(pcomplete--entries): Use comint-completion-file-name-table.
* lisp/comint.el (comint-unquote-filename): Simplify.
(comint-completion-file-name-table): New function.
(comint--complete-file-name-data): Use it.
* src/dired.c (file_name_completion): Don't expand file name.
(Ffile_name_completion, Ffile_name_all_completions): Expand file name
before checking file name handler.

Fixes: debbugs:9616
2011-10-02 00:08:50 -04:00
Stefan Monnier
51553db66b * src/minibuf.c (Finternal_complete_buffer): Only show internal buffers if
they've been requested explicitly.

Fixes: debbugs:9591
2011-10-01 20:25:27 -04:00
Chong Yidong
b6bd159922 Merge changes from emacs-23 2011-10-01 14:46:45 -04:00
Paul Eggert
4222c55da7 * buffer.h (struct buffer): Use time_t, not int, for a time stamp.
This fixes a Y2038 bug on 64-bit hosts.
* buffer.c (reset_buffer):
* fileio.c (Fdo_auto_save, Fset_buffer_auto_saved)
(Fclear_buffer_auto_save_failure):
Use 0, not -1, to represent an unset failure time, since time_t
might not be signed.
2011-09-30 13:22:01 -07:00
Paul Eggert
f701dc2abb Remove dependency on glibc malloc internals.
* alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move back here from lisp.h, but with their new implementations.
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
(XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here.
* charset.c (charset_table_init): New static var.
(syms_of_charset): Use it instead of xmalloc.  This removes a
dependency on glibc malloc internals.  See Eli Zaretskii's comment in
<http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00815.html>.
* lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
Move back to alloc.c.
(XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
(XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c.
2011-09-30 10:07:40 -07:00
Jan Djärv
9ceebf39d9 * nsterm.m (windowDidResize): Call x_set_window_size only when
ns_in_resize is true.  Otherwise set pixelwidth/height and
call change_frame_size.

Fixes: debbugs:9628
2011-09-30 09:42:26 +02:00
Eli Zaretskii
04c7078847 src/ChangeLog: Minor typos fixed. 2011-09-30 10:25:15 +03:00