aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog45
-rw-r--r--src/Makefile.in10
-rw-r--r--src/alloc.c14
-rw-r--r--src/indent.c3
-rw-r--r--src/lread.c5
-rw-r--r--src/nsterm.m8
-rw-r--r--src/s/cygwin.h7
-rw-r--r--src/window.c2
-rw-r--r--src/xdisp.c10
9 files changed, 75 insertions, 29 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2b6a0b2246e..20a6dfca643 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,4 @@
12012-04-10 Paul Eggert <eggert@cs.ucla.edu> 12012-04-14 Paul Eggert <eggert@cs.ucla.edu>
2 2
3 configure: new option --enable-gcc-warnings (Bug#11207) 3 configure: new option --enable-gcc-warnings (Bug#11207)
4 * Makefile.in (C_WARNINGS_SWITCH): Remove. 4 * Makefile.in (C_WARNINGS_SWITCH): Remove.
@@ -11,6 +11,47 @@
11 the Emacs and Gnulib regex code is merged. 11 the Emacs and Gnulib regex code is merged.
12 (xmalloc, xrealloc): Now static. 12 (xmalloc, xrealloc): Now static.
13 13
142012-04-14 Atsuo Ohki <ohki@gssm.otsuka.tsukuba.ac.jp> (tiny change)
15
16 * lread.c (lisp_file_lexically_bound_p):
17 Fix hang at ";-*-\n" (bug#11238).
18
192012-04-14 Eli Zaretskii <eliz@gnu.org>
20
21 * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
22 "unchanged" if its end.pos is beyond ZV. (Bug#11199)
23
242012-04-14 Jan Djärv <jan.h.d@swipnet.se>
25
26 * nsterm.m (constrainFrameRect): Always constrain when there is only
27 one screen (Bug#10962).
28
292012-04-13 Ken Brown <kbrown@cornell.edu>
30
31 * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor.
32
332012-04-13 Reuben Thomas <rrt@sc3d.org>
34
35 * indent.c (Fmove_to_column): Change interactive spec (Bug#739).
36
372012-04-11 Daniel Colascione <dancol@dancol.org>
38
39 * s/cygwin.h: The vfork the #define in cygwin.h was protecting
40 against is gone. It's better to use vfork now so that when Cygwin
41 gains a new, working vfork, we use it automatically (bug#10398).
42
432012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
44
45 * window.c (save_window_save): Obey window-point-insertion-type.
46
472012-04-11 Glenn Morris <rgm@gnu.org>
48
49 * Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
50
512012-04-11 Stefan Monnier <monnier@iro.umontreal.ca>
52
53 * alloc.c (lisp_align_malloc): Remove unneeded prototype.
54
142012-04-10 "Jason S. Cornez" <jcornez@ravenpack.com> (tiny change) 552012-04-10 "Jason S. Cornez" <jcornez@ravenpack.com> (tiny change)
15 56
16 * keyboard.c: Override inhibit-quit after the third C-g (bug#6585). 57 * keyboard.c: Override inhibit-quit after the third C-g (bug#6585).
@@ -9747,7 +9788,7 @@ See ChangeLog.11 for earlier changes.
9747;; coding: utf-8 9788;; coding: utf-8
9748;; End: 9789;; End:
9749 9790
9750 Copyright (C) 2011-2012 Free Software Foundation, Inc. 9791 Copyright (C) 2011-2012 Free Software Foundation, Inc.
9751 9792
9752 This file is part of GNU Emacs. 9793 This file is part of GNU Emacs.
9753 9794
diff --git a/src/Makefile.in b/src/Makefile.in
index 9525996caea..37480f8269d 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -76,16 +76,13 @@ C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
76## System-specific CFLAGS. 76## System-specific CFLAGS.
77C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ 77C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
78 78
79## Currently only set if NS_IMPL_GNUSTEP. 79GNUSTEP_CFLAGS=@GNUSTEP_CFLAGS@
80## C_SWITCH_X_SITE may override this.
81C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
82 80
83## Define C_SWITCH_X_SITE to contain any special flags your compiler 81## Define C_SWITCH_X_SITE to contain any special flags your compiler
84## may need to deal with X Windows. For instance, if you've defined 82## may need to deal with X Windows. For instance, if you've defined
85## HAVE_X_WINDOWS and your X include files aren't in a place that your 83## HAVE_X_WINDOWS and your X include files aren't in a place that your
86## compiler can find on its own, you might want to add "-I/..." or 84## compiler can find on its own, you might want to add "-I/..." or
87## something similar. This is normally set by configure. 85## something similar. This is normally set by configure.
88## This is used before C_SWITCH_X_SYSTEM and may override it.
89C_SWITCH_X_SITE=@C_SWITCH_X_SITE@ 86C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
90 87
91## Define LD_SWITCH_X_SITE to contain any special flags your loader 88## Define LD_SWITCH_X_SITE to contain any special flags your loader
@@ -303,14 +300,11 @@ MKDEPDIR=@MKDEPDIR@
303## -DHAVE_CONFIG_H is needed for some other files to take advantage of 300## -DHAVE_CONFIG_H is needed for some other files to take advantage of
304## the information in `config.h'. 301## the information in `config.h'.
305## 302##
306## C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM
307## since it may have -I options that should override those.
308##
309## FIXME? MYCPPFLAGS only referenced in etc/DEBUG. 303## FIXME? MYCPPFLAGS only referenced in etc/DEBUG.
310ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I$(srcdir) \ 304ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I$(srcdir) \
311 -I$(lib) -I$(srcdir)/../lib \ 305 -I$(lib) -I$(srcdir)/../lib \
312 $(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \ 306 $(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
313 $(C_SWITCH_X_SYSTEM) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \ 307 $(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
314 $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \ 308 $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
315 $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \ 309 $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
316 $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \ 310 $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \
diff --git a/src/alloc.c b/src/alloc.c
index 16b004fc0e9..314438ba9f1 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -296,7 +296,6 @@ enum mem_type
296 MEM_TYPE_VECTORLIKE 296 MEM_TYPE_VECTORLIKE
297}; 297};
298 298
299static POINTER_TYPE *lisp_align_malloc (size_t, enum mem_type);
300static POINTER_TYPE *lisp_malloc (size_t, enum mem_type); 299static POINTER_TYPE *lisp_malloc (size_t, enum mem_type);
301 300
302 301
@@ -938,9 +937,10 @@ lisp_free (POINTER_TYPE *block)
938 MALLOC_UNBLOCK_INPUT; 937 MALLOC_UNBLOCK_INPUT;
939} 938}
940 939
941/* Allocation of aligned blocks of memory to store Lisp data. */ 940/***** Allocation of aligned blocks of memory to store Lisp data. *****/
942/* The entry point is lisp_align_malloc which returns blocks of at most */ 941
943/* BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */ 942/* The entry point is lisp_align_malloc which returns blocks of at most
943 BLOCK_BYTES and guarantees they are aligned on a BLOCK_ALIGN boundary. */
944 944
945/* Use posix_memalloc if the system has it and we're using the system's 945/* Use posix_memalloc if the system has it and we're using the system's
946 malloc (because our gmalloc.c routines don't have posix_memalign although 946 malloc (because our gmalloc.c routines don't have posix_memalign although
@@ -1099,7 +1099,7 @@ lisp_align_malloc (size_t nbytes, enum mem_type type)
1099#endif 1099#endif
1100 1100
1101 /* Initialize the blocks and put them on the free list. 1101 /* Initialize the blocks and put them on the free list.
1102 Is `base' was not properly aligned, we can't use the last block. */ 1102 If `base' was not properly aligned, we can't use the last block. */
1103 for (i = 0; i < (aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1); i++) 1103 for (i = 0; i < (aligned ? ABLOCKS_SIZE : ABLOCKS_SIZE - 1); i++)
1104 { 1104 {
1105 abase->blocks[i].abase = abase; 1105 abase->blocks[i].abase = abase;
@@ -1146,8 +1146,8 @@ lisp_align_free (POINTER_TYPE *block)
1146 ablock->x.next_free = free_ablock; 1146 ablock->x.next_free = free_ablock;
1147 free_ablock = ablock; 1147 free_ablock = ablock;
1148 /* Update busy count. */ 1148 /* Update busy count. */
1149 ABLOCKS_BUSY (abase) = 1149 ABLOCKS_BUSY (abase)
1150 (struct ablocks *) (-2 + (intptr_t) ABLOCKS_BUSY (abase)); 1150 = (struct ablocks *) (-2 + (intptr_t) ABLOCKS_BUSY (abase));
1151 1151
1152 if (2 > (intptr_t) ABLOCKS_BUSY (abase)) 1152 if (2 > (intptr_t) ABLOCKS_BUSY (abase))
1153 { /* All the blocks are free. */ 1153 { /* All the blocks are free. */
diff --git a/src/indent.c b/src/indent.c
index 1531d2ffde8..280607f7ecb 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -956,7 +956,8 @@ indented_beyond_p (EMACS_INT pos, EMACS_INT pos_byte, EMACS_INT column)
956 return val >= column; 956 return val >= column;
957} 957}
958 958
959DEFUN ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2, "p", 959DEFUN ("move-to-column", Fmove_to_column, Smove_to_column, 1, 2,
960 "NMove to column: ",
960 doc: /* Move point to column COLUMN in the current line. 961 doc: /* Move point to column COLUMN in the current line.
961Interactively, COLUMN is the value of prefix numeric argument. 962Interactively, COLUMN is the value of prefix numeric argument.
962The column of a character is calculated by adding together the widths 963The column of a character is calculated by adding together the widths
diff --git a/src/lread.c b/src/lread.c
index bfb37b4fc89..50465fd01e8 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -839,7 +839,7 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun)
839 } 839 }
840 840
841 /* Stop scanning if no colon was found before end marker. */ 841 /* Stop scanning if no colon was found before end marker. */
842 if (!in_file_vars) 842 if (!in_file_vars || ch == '\n' || ch == EOF)
843 break; 843 break;
844 844
845 while (i > 0 && (var[i - 1] == ' ' || var[i - 1] == '\t')) 845 while (i > 0 && (var[i - 1] == ' ' || var[i - 1] == '\t'))
@@ -863,8 +863,7 @@ lisp_file_lexically_bound_p (Lisp_Object readcharfun)
863 ch = READCHAR; 863 ch = READCHAR;
864 } 864 }
865 if (! in_file_vars) 865 if (! in_file_vars)
866 /* The value was terminated by an end-marker, which 866 /* The value was terminated by an end-marker, which remove. */
867 remove. */
868 i -= 3; 867 i -= 3;
869 while (i > 0 && (val[i - 1] == ' ' || val[i - 1] == '\t')) 868 while (i > 0 && (val[i - 1] == ' ' || val[i - 1] == '\t'))
870 i--; 869 i--;
diff --git a/src/nsterm.m b/src/nsterm.m
index a45792fd645..7cbaf991311 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -6038,11 +6038,15 @@ ns_term_shutdown (int sig)
6038 restrict the height to just one monitor. So we override this. */ 6038 restrict the height to just one monitor. So we override this. */
6039- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen 6039- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen
6040{ 6040{
6041 /* When making the frame visible for the first time, we want to 6041 /* When making the frame visible for the first time or if there is just
6042 constrain. Other times not. */ 6042 one screen, we want to constrain. Other times not. */
6043 NSUInteger nr_screens = [[NSScreen screens] count];
6043 struct frame *f = ((EmacsView *)[self delegate])->emacsframe; 6044 struct frame *f = ((EmacsView *)[self delegate])->emacsframe;
6044 NSTRACE (constrainFrameRect); 6045 NSTRACE (constrainFrameRect);
6045 6046
6047 if (nr_screens == 1)
6048 return [super constrainFrameRect:frameRect toScreen:screen];
6049
6046 if (f->output_data.ns->dont_constrain 6050 if (f->output_data.ns->dont_constrain
6047 || ns_menu_bar_should_be_hidden ()) 6051 || ns_menu_bar_should_be_hidden ())
6048 return frameRect; 6052 return frameRect;
diff --git a/src/s/cygwin.h b/src/s/cygwin.h
index 9a371829eaa..f8c656e8ebc 100644
--- a/src/s/cygwin.h
+++ b/src/s/cygwin.h
@@ -58,7 +58,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
58 if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \ 58 if (-1 == openpty (&fd, &dummy, pty_name, 0, 0)) \
59 fd = -1; \ 59 fd = -1; \
60 sigsetmask (mask); \ 60 sigsetmask (mask); \
61 emacs_close (dummy); \ 61 if (fd >= 0) \
62 emacs_close (dummy); \
62 } \ 63 } \
63 while (0) 64 while (0)
64 65
@@ -81,10 +82,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
81 82
82#define HAVE_SOCKETS 83#define HAVE_SOCKETS
83 84
84/* vfork() interacts badly with setsid(), causing ptys to fail to
85 change their controlling terminal */
86#define vfork fork
87
88/* This should work (at least when compiling with gcc). But I have no way 85/* This should work (at least when compiling with gcc). But I have no way
89 or intention to verify or even test it. If you encounter a problem with 86 or intention to verify or even test it. If you encounter a problem with
90 it, feel free to change this setting, but please add a comment here about 87 it, feel free to change this setting, but please add a comment here about
diff --git a/src/window.c b/src/window.c
index af7968f9edf..1f27cba444b 100644
--- a/src/window.c
+++ b/src/window.c
@@ -5945,6 +5945,8 @@ save_window_save (Lisp_Object window, struct Lisp_Vector *vector, int i)
5945 } 5945 }
5946 else 5946 else
5947 p->pointm = Fcopy_marker (w->pointm, Qnil); 5947 p->pointm = Fcopy_marker (w->pointm, Qnil);
5948 XMARKER (p->pointm)->insertion_type
5949 = !NILP (Vwindow_point_insertion_type);
5948 5950
5949 p->start = Fcopy_marker (w->start, Qnil); 5951 p->start = Fcopy_marker (w->start, Qnil);
5950 p->start_at_line_beg = w->start_at_line_beg; 5952 p->start_at_line_beg = w->start_at_line_beg;
diff --git a/src/xdisp.c b/src/xdisp.c
index c6939a5dcf9..ea964f4dadc 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -16606,7 +16606,15 @@ find_last_unchanged_at_beg_row (struct window *w)
16606 continued. */ 16606 continued. */
16607 && !(MATRIX_ROW_END_CHARPOS (row) == first_changed_pos 16607 && !(MATRIX_ROW_END_CHARPOS (row) == first_changed_pos
16608 && (row->continued_p 16608 && (row->continued_p
16609 || row->exact_window_width_line_p))) 16609 || row->exact_window_width_line_p))
16610 /* If ROW->end is beyond ZV, then ROW->end is outdated and
16611 needs to be recomputed, so don't consider this row as
16612 unchanged. This happens when the last line was
16613 bidi-reordered and was killed immediately before this
16614 redisplay cycle. In that case, ROW->end stores the
16615 buffer position of the first visual-order character of
16616 the killed text, which is now beyond ZV. */
16617 && CHARPOS (row->end.pos) <= ZV)
16610 row_found = row; 16618 row_found = row;
16611 16619
16612 /* Stop if last visible row. */ 16620 /* Stop if last visible row. */