1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 22:20:52 -08:00
Commit graph

34437 commits

Author SHA1 Message Date
Paul Eggert
ad75d77ea3 * xterm.h (GTK_PREREQ): New macro.
All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed
to use this macro instead, for consistency and clarity.
2013-05-08 15:56:08 -07:00
Eli Zaretskii
07525f7737 Fix vertical cursor motion when there's a display string with newline at EOL.
src/xdisp.c (row_for_charpos_p): New function, with code of
 cursor_row_p, but accepts an additional argument CHARPOS instead
 of using a hardcoded PT.
 (cursor_row_p): Call row_for_charpos_p with 2nd argument PT.
 (row_containing_pos): Call row_for_charpos_p instead of partially
 doing the same.  Fixes cursor positioning under longlines-mode
 when longlines-show-effect includes more than one newline, when
 moving the cursor vertically up.
2013-05-08 20:59:38 +03:00
Juanma Barranquero
d901fc8d6f src/makefile.w32-in (ACL_H): New macro.
($(BLD)/fileio.$(O)): Update dependencies.
2013-05-08 18:21:19 +02:00
Paul Eggert
ffdc270a76 Use Gnulib ACL implementation, for benefit of Solaris etc.
* configure.ac: Remove -with-acl option, since Gnulib does that for
us now.
(LIBACL_LIBS): Remove; no longer needed.
* lib/Makefile.am (CLEANFILES, SUFFIXES): New (empty) macros,
for the benefit of the new ACL implementation.
* lib/makefile.w32-in (GNULIBOBJS): Add $(BLD)/acl-errno-valid.$(O).
($(BLD)/acl-errno-valid.$(O)): New rule.
* lib/acl-errno-valid.c, lib/acl-internal.h, lib/acl.h:
* lib/acl_entries.c, lib/errno.in.h, lib/file-has-acl.c:
* lib/qcopy-acl.c, lib/qset-acl.c, m4/acl.m4, m4/errno_h.m4:
New files, taken from gnulib.
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
* admin/merge-gnulib (GNULIB_MODULES): Add qacl.
(GNULIB_TOOL_FLAGS): Do not avoid errno.
* etc/NEWS: Emacs is no longer limited to POSIX ACLs.  --disable-acl,
not --without-acl, since we're now using Gnulib's implementation.
* nt/config.nt (HAVE_ACL_SET_FILE): Rename from HAVE_POSIX_ACL.
* nt/inc/ms-w32.h (EOPNOTSUPP): New macro.
* src/Makefile.in (LIB_ACL): New macro.
(LIBACL_LIBS): Remove.
(LIBES): Use LIB_ACL, not LIBACL_LIBS.
* src/fileio.c: Include <acl.h>.
Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
(ACL_NOT_WELL_SUPPORTED): Remove.  All uses replaced by
!acl_errno_valid.
(Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
it ourselves.

Fixes: debbugs:14295
2013-05-07 14:34:03 -07:00
Paul Eggert
f269bc61c1 * unexelf.c: Don't assume ElfW (Half) fits in int.
(entry_address, find_section, unexec): Use ptrdiff_t, not int,
when dealing with ElfW (Half) values, since they can exceed 2**31
on 64-bit OpenBSD hosts.  Problem reported privately by Han Boetes.
(entry_address): Omit unused NUM arg.  All uses changed.
2013-05-07 13:55:47 -07:00
Juri Linkov
a261c53eae * src/callint.c (Fcall_interactively): Set `visargs[i]' for code 'n'
to the string converted from number with `Fnumber_to_string'.

Fixes: debbugs:14254
2013-05-07 23:49:46 +03:00
Paul Eggert
2b66427ded * xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4.
This fixes a problem introduced by my previous change.
2013-05-07 12:25:42 -07:00
Glenn Morris
15acfe419f * src/lread.c (readchar): Don't read from a dead buffer. (Bug#14280) 2013-05-07 15:15:08 -04:00
Jan Djärv
5ea03bf5a1 * xfns.c: Move misplaced ifndef USE_GTK from previous checkin. 2013-05-07 19:47:25 +02:00
Stefan Monnier
276e88731b * buffer.c (tab-width): Mention that it doesn't control indentation. 2013-05-07 10:12:57 -04:00
Stefan Monnier
07ff4ac605 * callint.c (Fcall_interactively): Explain what is `visargs'. 2013-05-07 09:54:31 -04:00
Paul Eggert
e0c9d56505 Static checking by GCC 4.8.0.
* xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors)
(x_get_monitor_for_frame, x_make_monitor_attribute_list)
(x_get_monitor_attributes_fallback)
(x_get_monitor_attributes_xinerama)
(x_get_monitor_attributes_xrandr, x_get_monitor_attributes):
Define only if USE_GTK.
(free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR.
(x_get_monitor_attributes_fallback): Omit unused locals.
(x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list):
Use double, not float, to avoid mixed-mode floating point arithmetic.
2013-05-06 22:34:01 -07:00
YAMAMOTO Mitsuharu
4e3f92301d Add multi-monitor support on X11. 2013-05-07 10:12:22 +09:00
Eli Zaretskii
05839b6aff Fix bug #14241 with posn-at-point at the beginning of an image display prop.
src/xdisp.c (pos_visible_p): Use the special code for finding the
 beginning of a display property or overlay for any "replacing"
 display property, not just for display strings.  This solves
 incorrect reporting of position by posn-at-point.
2013-05-06 20:11:07 +03:00
Paul Eggert
5ee94506f6 * unexelf.c: Fix some 32-bit integer problems, notably when debugging.
Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>.
Verify that ElfW (Half) fits in int.
(fatal): Use same signature as lisp.h.
(UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can
configure and build with -DUNEXELF_DEBUG without worrying about
other modules that use DEBUG.
(DEBUG_LOG) [UNEXELF_DEBUG]: New macro.  All debug code that prints
possibly-wide integers now uses it instead of plain fprintf.
(entry_address): New function, which avoids problems with 32-bit
overflow on 64-bit hosts.
(OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it.
(round_up): Don't assume the remainder fits in int.
(find_section): Use bool for boolean.  Simplify debug code.
(unexec): Don't assume file sizes fit in int or size_t.
Omit unnecessary trailing newline in 'fatal' format.
Use strerror rather than outputting decimal error number.
Remove unused code when emacs is not defined;
this file relies on Emacs now.
Don't assume e_phnum and e_shnum are positive.
2013-05-05 21:52:00 -07:00
Paul Eggert
dc4a2ee0ef * regex.c: Fix problems when DEBUG is defined.
(extract_number, extract_number_and_incr): Define regardless of
whether DEBUG is defined; that's simpler and makes the code less
likely to go stale in the normal case when DEBUG is not defined.
Return int rather than taking an int * arg.  All callers changed.
(DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4):
Remove, replacing with ...
(DEBUG_PRINT): New macro.  All callers changed.
(DEBUG_COMPILES_ARGUMENTS): New macro.
(print_fastmap, print_partial_compiled_pattern) [DEBUG]:
(print_compiled_pattern, print_double_string) [DEBUG]:
Use prototype rather than old-style definition.
(print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]:
(ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]:
(POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]:
(POP_FAILURE_POINT, re_match_2_internal) [DEBUG]:
Don't assume ptrdiff_t, size_t, and long are the same width as int.
(POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t.
This matters only when DEBUG is defined.
2013-05-05 21:31:16 -07:00
Eli Zaretskii
14c7ed056d Fix bug #14306 with whitespace mode together with linum-mode.
src/xdisp.c (set_iterator_to_next): Set the
 ignore_overlay_strings_at_pos_p flag only if we are _really_
 iterating over an overlay string, as indicated by the
 current.overlay_string_index member.
2013-05-05 20:41:09 +03:00
Jan Djärv
e6076b1bce * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
to where it is used, to avoid autorelease issues.

Fixes: debbugs:14050
2013-05-05 17:16:06 +02:00
Paul Eggert
a37d34f3b4 Spelling fixes (or remove unnecessary and unusually-spelled words). 2013-05-04 22:03:08 -07:00
Paul Eggert
cbee213171 `write-region-inhibit-fsync' defaults to noninteractive.
* cmdargs.texi (Initial Options):
* files.texi (Customize Save): Document this.
* etc/NEWS: Document this.
* src/fileio.c (syms_of_fileio): Implement this.
* src/filelock.c (create_lock_file): If symbolic links don't work, so
we use a regular file as a lock file, do not fsync the lock file;
it's not needed.

Fixes: debbugs:14273
2013-05-04 17:51:49 -07:00
Stefan Monnier
30c7e54299 * lisp/simple.el (read-expression-map): Use completion-at-point.
Move the declaration from C.
(read-minibuffer, eval-minibuffer): Move from C.
(completion-setup-function): Avoid minibuffer-completion-contents.
* src/minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp.
(syms_of_minibuf): Adjust accodingly.
* src/lread.c (Fread):
* src/callint.c (Fcall_interactively): Adjust calls accordingly.

Fixes: debbugs:14255
2013-05-04 15:27:41 -04:00
Eli Zaretskii
5bebd1866b Fix bug #14062 with assertion violations on MS-Windows.
src/dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that
 w->contents is a buffer before computing everything else.  Use
 parentheses to disambiguate last part of the condition.
 src/w32fns.c (w32_wnd_proc): Remove temporary code used to trap
 assertion violations.
2013-05-04 13:19:13 +03:00
David Reitter
0fb0a4f376 * src/nsfns.m (ns_tooltip): Initialize. 2013-05-01 00:02:19 -07:00
Eli Zaretskii
9e63b4a534 Fix bug #14287 with decoding EOL by *-dos coding systems.
src/coding.c (decode_coding_gap): Don't remove the character before
 a newline unless it's a CR character.
2013-04-28 21:21:01 +03:00
Dan Nicolaescu
ad60824ef1 * dispextern.h (struct face): Move enum face_underline_type
earlier so that bitfields can be in the same word.
2013-04-28 09:11:16 -04:00
Jan Djärv
edbdcec0a2 * nsfns.m (handlePanelKeys): New function.
(EmacsOpenPanel:performKeyEquivalent:)
(EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
arrows/function/control and copy/paste keys.

Fixes: debbugs:14296
2013-04-28 11:55:20 +02:00
Juri Linkov
0208ede7ab * src/callint.c (Fcall_interactively): Call `Qread_number' for
interactive code letter `n' instead of using duplicate code.

* lisp/subr.el (read-number): Doc fix about using it by interactive
code letter `n'.

Fixes: debbugs:14254
2013-04-28 00:12:17 +03:00
Paul Eggert
b8dd59f747 * systime.h (make_timeval): Declare as 'const'. 2013-04-27 08:34:28 -07:00
Kenichi Handa
13d0e56fa3 merge trunk 2013-04-27 22:34:02 +09:00
Kenichi Handa
8bd722db81 font.c (font_open_entity): Always open a font of manageable size. 2013-04-27 22:32:24 +09:00
Paul Eggert
f780d632f2 Port better to AIX.
* configure.ac (CFLAGS): Append -O if the user did not specify CFLAGS,
we did not already infer an optimization option, and -O works.
AIX xlc needs -O, otherwise garbage collection doesn't work.
* src/lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
to pacify AIX xlc.

Fixes: debbugs:14258
2013-04-26 12:31:09 -07:00
Kenichi Handa
ec5098562a coding.c (decode_coding_iso_2022): When an invalid escape sequence is encountered, reset the invocation and designation status to the safest one. 2013-04-25 00:09:49 +09:00
Paul Eggert
84fc48e57a * Makefile.in (bootstrap-clean): Remove stamp-h1 too.
Without this fix, "make distclean" leaves stamp-h1 behind.
2013-04-21 22:18:30 -07:00
Erik Charlebois
806bda47dd Better full-screen frame support on MS-Windows.
src/w32fns.c (w32_fullscreen_rect): New function to compute the
 window rectangle for the given fullscreen mode.
 (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no
 longer tunes the window size.  This keeps the window's edges flush
 with the screen and allows the taskbar to hide itself in fullboth.
 src/w32term.c (w32fullscreen_hook): 'fullboth' now shows without
 window decorations and uses the entire screen.
 src/w32term.h  (w32_fullscreen_rect) Add prototype.
 (struct w32_output): Replace normal_width, normal_height,
 normal_top, and normal_left members with a single normal_placement
 struct.
 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP):
 Remove macros.
 (FRAME_NORMAL_PLACEMENT): New macro.

Fixes: debbugs:14180
2013-04-20 10:32:31 +03:00
Juanma Barranquero
f4ad7ea14b Fix typos in ChangeLogs. 2013-04-16 04:52:53 +02:00
Juanma Barranquero
9cc2810b69 src/minibuf.c (Ftest_completion): Silence compiler warning. 2013-04-16 04:39:47 +02:00
Eli Zaretskii
5fbcd23785 ChangeLog for the last commit. 2013-04-15 10:29:39 +03:00
Eli Zaretskii
fd16b54c72 More debugging code to investigate bug #14062.
src/w32fns.c (w32_wnd_proc): Add more assertions to investigate
 bug#14062.
 src/frame.h (WINDOW_FRAME): Protect macro and its argument with
 parentheses.
 src/dispextern.h (CURRENT_MODE_LINE_HEIGHT)
 (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P)
 (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with
 parentheses where appropriate.
2013-04-15 10:27:56 +03:00
Paul Eggert
9e3379a08b * keyboard.c (timer_start_idle): Remove no-longer-used local. 2013-04-14 13:33:57 -07:00
Eli Zaretskii
ddd6b68524 Improve doc strings of left/right-margin/fringe-width.
src/buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>
 <left-fringe-width, right-fringe-width, fringes-outside-margins>:
 Mention in the doc string that setting these variables takes
 effect only after a call to set-window-buffer.  (Bug#14200)
2013-04-14 09:51:15 +03:00
Erik Charlebois
1f635a07be * src/w32fns.c (w32_fullscreen_rect): New function to compute the
window rectangle for the given fullscreen mode.
(w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING
no longer tunes the window size.  This keeps the window's edges
flush with the screen and allows the taskbar to hide itself in
fullboth.
* src/w32term.c (w32fullscreen_hook): fullboth now shows without
window decorations and uses the entire screen.
2013-04-13 20:58:45 -04:00
Eli Zaretskii
29b79ba197 Fix vertical cursor motion when there are overlay strings at EOL.
src/indent.c (Fvertical_motion): Don't consider display strings on
 overlay strings as display strings on the buffer position we
 started from.  This prevents vertical cursor motion from jumping
 more than one line when there's an overlay string with a display
 property at end of line.
 Reported by Karl Chen <Karl.Chen@quarl.org> in
 http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
2013-04-13 11:54:02 +03:00
Stefan Monnier
562c6ee945 * src/window.c (select_window): `record_buffer' even if window is
already selected.

Fixes: debbugs:14191
2013-04-12 13:32:52 -04:00
Eli Zaretskii
fcc1fe8541 Fix bug #14170 with window-end returning a stale value.
This bug was introduced in 2012-10-15T09:03:56Z!rudalics@gmx.at
while solving bug #12600.

 src/window.c (Fwindow_end): Test more flags, including the buffer's
 last_overlay_modified flag, to determine whether the window's
 display is really up-to-date.  Prevents the function from
 returning a stale value.
 (Fwindow_line_height): Fix the test for up-to-date-ness of the
 current matrix.
2013-04-11 19:06:47 +03:00
Eli Zaretskii
f009190abc Fix bug #13864 with flickering of TTY frames in an emacslient session.
src/frame.c (do_switch_frame): Mark the TTY frame we switch to as
 garbaged only if it is not already the top frame on its TTY.  This
 prevents flickering due to constant redrawing of TTY frames when
 there are GUI frames open in the same session.
2013-04-10 18:38:20 +03:00
Stefan Monnier
78ce603d02 * src/keyboard.c (timer_start_idle): Call internal-timer-start-idle instead
of marking the idle timers directly.
* lisp/emacs-lisp/timer.el (timer--check): New function.
(timer--time, timer-set-function, timer-event-handler): Use it.
(timer-set-idle-time): Simplify.
(timer--activate): CSE.
(timer-event-handler): Give more info in error message.
(internal-timer-start-idle): New function, moved from C.
2013-04-10 09:31:35 -04:00
Stefan Monnier
a8036e4076 * src/minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash
tables.

Fixes: debbugs:14054
2013-04-09 16:10:47 -04:00
Stefan Monnier
7ffe7ef6ba * src/window.c (select_window): Don't record_buffer while the invariant is
temporarily broken.
* src/fns.c (Fdelq): Don't assume !NILP => CONSP.

Fixes: debbugs:14161
2013-04-08 14:04:58 -04:00
Eli Zaretskii
7d9f6883aa Provide definition of ACL_NOT_WELL_SUPPORTED for MS-Windows.
src/fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT.

Fixes: debbugs:13702
2013-04-07 19:18:41 +03:00
Romain Francoise
5406cfd9cd Ignore additional platform-specific ACL errors (Bug#13702).
* fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
(Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.
2013-04-07 13:21:39 +02:00