1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-31 04:41:23 -08:00
Commit graph

35464 commits

Author SHA1 Message Date
Paul Eggert
a560b856b1 Plain copy-file no longer chmods an existing destination.
* doc/lispref/files.texi (Changing Files): Document this.
* etc/NEWS: Document this.
* src/fileio.c (realmask): Now a static var, not a local.
(barf_or_query_if_file_exists): New arg KNOWN_TO_EXIST.
Remove arg STATPTR.  All uses changed.
(Fcopy_file): Do not alter permissions of existing destinations,
unless PRESERVE-PERMISSIONS (renamed from
PRESERVE-EXTENDED-ATTRIBUTES) is non-nil.
Avoid race when testing for existing destinations and for
when input and output files are the same.
If changing the group fails, adjust both default and
preserved permissions so that access is not granted to the
wrong group.
(Fset_default_file_modes, init_fileio): Update realmask.
(Fdefault_file_modes): Use realmask instead of calling umask.

Fixes: debbugs:16133
2013-12-29 10:18:45 -08:00
Paul Eggert
45bd2734b1 * src/emacs.c (main): [DAEMON_MUST_EXEC]: Restore close-on-exec after exec.
Fixes: debbugs:16262
2013-12-28 23:42:46 -08:00
Paul Eggert
411bf4a486 Fix pipe bug with OS X emacs --daemon (Bug#16262).
* emacs.c (main) [DAEMON_MUST_EXEC]: Clear the close-on-exec
flags on the daemon pipe ends before execing.
2013-12-28 14:56:58 -08:00
Eli Zaretskii
8962d4b300 Fix a thinko in last commit. 2013-12-28 19:12:57 +02:00
Eli Zaretskii
bf7bea5de0 Fix bug #14739 with creation of GUI frames from TTY session on Windows.
src/w32fns.c (Fx_create_frame): Error out if called from a TTY
 session.

 lisp/frame.el (window-system-for-display): Don't allow to create a
 GUI frame from a -nw session on MS-Windows.
2013-12-28 13:47:26 +02:00
Glenn Morris
a544fbe1d1 ChangeLog fixes for font-locking 2013-12-27 18:17:54 -08:00
Juanma Barranquero
e9dc713d18 Fix ChangeLog typos. 2013-12-28 01:36:00 +01:00
Jarek Czekalski
fdadeb4997 Shell completion for filenames from current directory, related docs.
* lisp/shell.el  Shell completion now matches executable filenames from
	the current buffer's directory, on systems in which this behaviour
	is the default (windows-nt, ms-dos).
	* src/callproc.c (Vexec_path): Document that exec-directory is in it.
	* doc/emacs/mini.texi (Completion Options): Add a link to Shell Options.
	* doc/emacs/misc.texi (Shell Mode): Move documentation of
	shell-completion-fignore from Shell Mode to Shell Options.

Fixes: debbugs:15461
2013-12-27 21:58:21 +01:00
Julien Danjou
765fe182c4 Enable ns-use-srgb-colorspace by default
See thread
https://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00706.html

* nsterm.m (syms_of_nsterm): Enable ns-use-srgb-colorspace by
default.
2013-12-27 11:43:11 +01:00
Chong Yidong
0f1d29342f More doc updates
* commands.texi (Reading One Event): Mention keyboard coding.

* functions.texi (Function Cells):
* eval.texi (Function Indirection): Update for the fact that
symbol-function no longer signals an error.

* keymaps.texi (Translation Keymaps, Translation Keymaps):
* nonascii.texi (Terminal I/O Encoding): Copyedits.

* data.c (Fsymbol_function): Doc fix.
2013-12-27 11:38:26 +08:00
Martin Rudalics
0cbab19e6e Some more tinkering with Bug#16051.
* window.c (resize_frame_windows): Don't let the size of the
root window drop below the frame's default character size.
Never ever delete any subwindows - let the window manager do the
clipping.

* w32fns.c (x_set_tool_bar_lines): Rewrite calculation of number
of toolbar lines needed when they exceed the height of the root
window.
(unwind_create_frame_1): New function.
(Fx_create_frame): Generally inhibit calling the window
configuration change hook here.  Remove extra call to
change_frame_size - it's not needed when we don't run the
configuration change hook.
2013-12-26 12:31:42 +01:00
Paul Eggert
e76119d754 Fix core dumps with gcc -fsanitize=address and GNU/Linux.
On my Fedora 19 platform the core dumps were so big that
my desktop became nearly catatonic.
* configure.ac: Check whether addresses are sanitized.
(CANNOT_DUMP): Warn if addresses are sanitized and not CANNOT_DUMP.
(DOUG_LEA_MALLOC): Do not define if addresses are sanitized.
(SYSTEM_MALLOC): Define if addresses are sanitized.
* src/alloc.c (no_sanitize_memcpy) [MAX_SAVE_STACK > 0]: New function.
(Fgarbage_collect) [MAX_SAVE_STACK > 0]: Use it.
(USE_ALIGNED_MALLOC): Do not define if addresses are sanitized.
(mark_memory): Use ATTRIBUTE_NO_SANITIZE_ADDRESS rather than
a clang-only syntax.
* src/conf_post.h (__has_feature): New macro, if not already defined.
(ADDRESS_SANITIZER, ADDRESS_SANITIZER_WORKAROUND)
(ATTRIBUTE_NO_SANITIZE_ADDRESS): New macros.
2013-12-26 00:57:28 -08:00
Eli Zaretskii
9ab3ce4d2f Fix bug #16252 with 'mailto:' documents passed to w32-shell-execute.
src/w32fns.c (Fw32_shell_execute): Make DOCUMENT absolute only if it
 is a file name.
2013-12-25 19:30:24 +02:00
Chong Yidong
c93525876d Doc updates for several Emacs 24.4 changes.
* doc/lispref/commands.texi (Event Input Misc): Document new arg to
input-pending-p.

* doc/lispref/display.texi (Font Selection): Tweak example.

* doc/lispref/keymaps.texi (Active Keymaps): Re-organize the text.
(Searching Keymaps): Rewrite the pseudo-code for 24.4 changes.
(Controlling Active Maps): Note that set-transient-map uses
overriding-terminal-local-map.

* doc/lispref/nonascii.texi (Specifying Coding Systems): Don't refer to
emacs-mule-dos.
(Lisp and Coding Systems): Describe emacs-mule return value in
modern terms.

* doc/lispref/tips.texi (Coding Conventions): Tweak the coding system tip;
Emacs now uses utf-8 by default for Emacs Lisp source files.

* doc/emacs/glossary.texi (Glossary): Define MULE in modern terms.

* src/keyboard.c (Voverriding_terminal_local_map):
(Voverriding_local_map): Doc fix.

* src/keymap.c (Vemulation_mode_map_alists): Doc fix.
2013-12-25 18:24:52 +08:00
Eli Zaretskii
a50fa60572 Attempt to catch backtrace of segfault in bug #16234. 2013-12-24 19:55:07 +02:00
Eli Zaretskii
ec6e26b811 Minor fixes in w32-shell-execute.
src/w32fns.c (Fw32_shell_execute): Ensure DOCUMENT is an absolute
 file name when it is submitted to ShellExecute.  Simplify code.
 Don't test DOCUMENT for being a string, as that is enforced by
 CHECK_STRING.  Doc fix.
2013-12-24 19:21:06 +02:00
Eli Zaretskii
cdcec25959 Last portion of fix for bug #16051 with redisplay loops.
src/xdisp.c (redisplay_tool_bar): Modify the tool-bar-lines frame parameter
 only when the new size is different from the old one, and the new
 size can be achieved given the frame height.
2013-12-23 21:24:25 +02:00
Eli Zaretskii
0db7548bea Fix most of bug #16051 with redisplay loops when resizing tool-bar.
src/xdisp.c (tool_bar_height): Use WINDOW_PIXEL_WIDTH to set up the
 iterator X limits, not FRAME_TOTAL_COLS, for consistency with what
 redisplay_tool_bar does.  Improve and fix commentary.
 (hscroll_window_tree): Don't assume w->cursor.vpos is within the
 limits of the glyph matrices.
2013-12-23 18:36:34 +02:00
Jan Djärv
30143e3d9b * src/conf_post.h: Use unsigned it for bool_bf if GNUSTEP.
Fixes: debbugs:16210
2013-12-23 13:07:46 +01:00
Glenn Morris
aec3bf9f49 Some documenting of load-prefer-newer
* doc/lispref/loading.texi (How Programs Do Loading, Load Suffixes):
Mention `load-prefer-newer'.

* src/lread.c (Fload): Mention load-prefer-newer in doc.
2013-12-22 18:54:28 -08:00
Martin Rudalics
a2b89a5195 Handle Bug#16207 by being more restrictive when running hooks.
* window.c (unwind_change_frame): New function.
(Fset_window_configuration): Don't run configuration change hook
while the frame configuration is unsafe.  Call select_window
twice.
2013-12-22 16:19:09 +01:00
Paul Eggert
61d208ade5 Spelling fix. 2013-12-21 23:23:49 -08:00
Xue Fuqiao
2dc383bc06 * src/lread.c (syms_of_lread) <load_prefer_newer>: Doc fix. 2013-12-22 08:52:26 +08:00
Jan Djärv
df8b4c3512 Changelog for previous checkin, missed to mark. 2013-12-21 17:12:52 +01:00
Jan Djärv
41cf3d118e Customize ns-use-srgb-colorspace on OSX >= 10.7 to use sRGB.
* etc/NEWS: Mention ns-use-srgb-colorspace.

* lisp/cus-start.el (all): Add ns-use-srgb-colorspace.

* src/nsfns.m (Fxw_color_values): Use colorUsingDefaultColorSpace.

* src/nsterm.h: Declare EmacsColor category.

* src/nsterm.m (NSColor): Implement EmacsColor category.
(ns_get_color): Use colorUsingDefaultColorSpace.
(ns_get_color, ns_term_init): Use colorForEmacsRed.
2013-12-21 17:11:55 +01:00
Eli Zaretskii
7667eeb9b5 Fix compilation warning on MS-Windows in my_png_error.
src/image.c (fn_png_longjmp) [WINDOWSNT]: Mark the function as
 having the PNG_NORETURN attribute, to avoid compiler warning in
 my_png_error.
2013-12-21 11:09:48 +02:00
YAMAMOTO Mitsuharu
5b2b60f0f8 Remove fringe background extension code on W32.
* w32term.h (struct scroll_bar): Remove member `fringe_extended_p'.

* w32term.c (w32_draw_fringe_bitmap, x_scroll_run): Remove code for
fringe background extension.
(x_scroll_bar_create): Remove variables `sb_left' and `sb_width',
because they are now always the same as `left' and `width',
respectively.  Remove code for the case that `width' and
`sb_width' are different.
2013-12-21 16:04:07 +09:00
Martin Rudalics
c44de18d7d Some more fixes for pixelwise resizing.
Remove scroll_bar_actual_width from frames.
* frame.h (struct frame): Remove scroll_bar_actual_width slot.
* frame.c (Fscroll_bar_width): Return scroll bar area width.
(x_figure_window_size):
* nsterm.m (x_set_window_size):
* widget.c (set_frame_size):
* w32term.c (x_set_window_size):
* xterm.c (x_set_window_size, x_set_window_size_1): Don't set
scroll_bar_actual_width.

Convert scroll_bar members to integers on Windows.
* w32term.h (struct scroll_bar): Convert top, left, width,
height, start, end and dragging to integers.
* w32fns.c (w32_createscrollbar): Remove XINT conversions for
scroll_bar members.
* w32term.c (w32_set_scroll_bar_thumb)
(w32_scroll_bar_handle_click): Remove XINT conversions for
scroll_bar members.  Treat bar->dragging as integer.
(x_scroll_bar_create): Call ALLOCATE_PSEUDOVECTOR with "top" as
first element.  Remove XINT conversions for scroll_bar members.
(w32_set_vertical_scroll_bar, x_scroll_bar_report_motion):
Remove XINT conversions for scroll_bar members.

Fix assignment for new window total sizes.
* window.c (Fwindow_resize_apply_total): Assign values for
minibuffer window.
* window.el (window--pixel-to-size): Remove function.
(window--pixel-to-total-1, window--pixel-to-total): Fix
calculation of new total sizes.
2013-12-20 11:48:36 +01:00
Chong Yidong
f5df4cebdb Add/fix docs for add-face-text-property
* doc/lispref/text.texi (Changing Properties): Improve documentation for
add-face-text-property.
(Special Properties): Mention add-face-text-property.

* src/textprop.c (Fadd_face_text_property): Doc fix.  Rename `appendp'
argument to `append'.
2013-12-20 15:12:04 +08:00
Eli Zaretskii
4594572710 Fix last commit for TTYs. 2013-12-19 21:25:13 +02:00
Eli Zaretskii
5df389f530 Fix bug #16192 with highlight of display margins when region is active
src/xdisp.c (extend_face_to_end_of_line): Use default face, not the
 current text face, for extending the face of the display margins.
2013-12-19 21:06:53 +02:00
Eli Zaretskii
79f7284f96 Fix bug #16190 with documentation of capitalize-word.
src/casefiddle.c (Fupcase_word, Fdowncase_word, Fcapitalize_word):
 Doc fix.
2013-12-19 19:51:18 +02:00
Jan Djärv
1269a68086 Make NS port use the normal dnd functions.
* lisp/term/ns-win.el: Require dnd.
(global-map): Remove drag items.
(ns-insert-text, ns-set-foreground-at-mouse)
(ns-set-background-at-mouse): Remove
(ns-drag-n-drop, ns-drag-n-drop-other-frame)
(ns-drag-n-drop-as-text, ns-drag-n-drop-as-text-other-frame): New
functions.

* src/nsterm.h (KEY_NS_DRAG_FILE, KEY_NS_DRAG_COLOR, KEY_NS_DRAG_TEXT):
Remove.

* src/nsterm.m (Qfile, Qurl): New.
(EV_MODIFIERS2): New macro.
(EV_MODIFIERS): Use EV_MODIFIERS2.
(ns_term_init): Remove font and color from DND, does not work on
newer OSX, and other ports don't have them.
(performDragOperation:): Handle modifiers used during drag.
Use DRAG_N_DROP_EVENT instead of NS specific events.
Remove global Lisp variables used to communicate with ns-win.el.
Remove font and color handling.
(syms_of_nsterm): Defsym Qfile and Qurl.

Fixes: debbugs:8051
2013-12-19 11:25:48 +01:00
Jan Djärv
680e6b8c5a Redo size constraint for NS so frames can span screens.
* nsterm.h (ns_output): Remove dont_constrain.

* nsterm.m (NSTRACE_SIZE, NSTRACE_RECT): New macros.
(ns_constrain_all_frames, x_set_offset): Remove assignment to
dont_constrain.
(updateFrameSize:, windowWillResize:toSize:): Add trace.
(constrainFrameRect): Remove special case nr_screens == 1.
Don't constrain size to size of view.
2013-12-19 09:40:11 +01:00
Jan Djärv
570c054a6f Generate HORIZ_WHEEL_EVENT.
* nsterm.m (mouseDown:): Generate HORIZ_WHEEL_EVENT.
2013-12-19 08:38:08 +01:00
Paul Eggert
70695f1351 Add comment to my previous lread.c change. 2013-12-18 14:35:17 -08:00
Paul Eggert
518c40a27c Minor fixes for recent openp changes.
* lisp.h (GCPRO7): New macro.
* lread.c (openp): Use bool for boolean; all callers changed.
Protect save_string from GC.  Don't assume that file descriptors
are nonzero.  Redo save_mtime comparison to avoid bogus GCC
warning about uninitialized variable.
2013-12-18 12:36:50 -08:00
Eli Zaretskii
39e896c178 Avoid compiler warnings in w32fns.c:emacs_abort.
src/w32fns.c (emacs_abort): Use intptr_t as argument of
 INT_BUFSIZE_BOUND, to avoid compiler warnings.
2013-12-18 18:21:17 +02:00
Glenn Morris
150622a173 * src/lread.c (openp): Further fix for previous. 2013-12-17 20:19:08 -08:00
Glenn Morris
09af58633c * src/lread.c (openp): Fix previous change (don't leak file descriptors) 2013-12-17 20:05:57 -08:00
Glenn Morris
1f41ee56ac Add load-prefer-newer option, to load .el if newer than .elc
* src/lread.c (Fload): Pass load_prefer_newer to openp.
Don't bother checking mtime if openp already did it.
(openp): Add `newer' argument, to check all suffixes
and find the newest file.
(syms_of_lread) <load_prefer_newer>: New option. 

* src/callproc.c (call_process):
* src/charset.c (load_charset_map_from_file):
* src/emacs.c (init_cmdargs):
* src/image.c (x_create_bitmap_from_file, x_find_image_file):
* src/lisp.h (openp):
* lread.c (Flocate_file_internal):
* src/process.c (Fformat_network_address):
* src/sound.c (Fplay_sound_internal):
* src/w32.c (check_windows_init_file):
* src/w32proc.c (sys_spawnve): Update for new arg spec of openp.

* lisp/Makefile.in (BYTE_COMPILE_FLAGS): Set load-prefer-newer to t.

* etc/NEWS: Mention this.

Fixes: debbugs:2061
2013-12-17 19:21:48 -08:00
Glenn Morris
9cdb8d8556 * src/emacs.c (standard_args) [HAVE_NS]: Remove -disable-font-backend. 2013-12-17 20:06:16 -05:00
Eli Zaretskii
60e62dc596 Fix minor problems in Windows emulation of getloadavg.
src/w32.c (getloadavg): Don't index samples[] array with negative
 indices.  Recover from wall-clock time being set backwards.
2013-12-17 20:00:25 +02:00
Eli Zaretskii
af025ae850 Fix some warnings in w32 specific code.
src/w32term.c (w32_initialize): Declare the argument of
 set_user_model as const.
 src/w32menu.c <MessageBoxW_Proc>: Fix argument declarations.
 (w32_menu_show): Constify some arguments passed to MessageBox.
 src/w32uniscribe.c (uniscribe_font_driver): Use LISP_INITIALLY_ZERO
 to initialize Lisp objects.
 src/w32font.c (w32font_driver): Use LISP_INITIALLY_ZERO to
 initialize Lisp objects.
 src/frame.c (x_set_frame_parameters) [HAVE_X_WINDOWS]: Declare and
 use variables used only on X under that condition.
 src/fileio.c (Fcopy_file) [!WINDOWSNT]: Don't declare on Windows
 variables not used there.
2013-12-17 19:46:31 +02:00
Paul Eggert
8fb8c4f373 Fix problems with CANNOT_DUMP and EMACSLOADPATH.
* leim/Makefile.in (RUN_EMACS):
* lisp/Makefile.in (emacs): Add lisp src to EMACSLOADPATH.
* lisp/loadup.el: Check for src/bootstrap-emacs only when Emacs can dump.
Expand dir too, in case it's relative.
* src/lread.c (init_lread): If CANNOT_DUMP, we can't be dumping.
2013-12-16 14:35:57 -08:00
Eli Zaretskii
5e6d03b2ab Fix compilation errors introduced by changes in extend_face_to_end_of_line.
src/xdisp.c (extend_face_to_end_of_line): Don't reference tool_bar_window
 in GTK and NS builds, they don't have this member of struct frame.

Fixes: debbugs:16165
2013-12-16 21:29:04 +02:00
Eli Zaretskii
397e886f34 A better fix for bug #16148 and related issues.
src/xdisp.c (Fmove_point_visually): Fix subtle bugs in the fallback
 code, revealed in presence of R2L characters, character
 compositions, and display vectors.
 src/dispextern.h (struct composition_it): Correct a comment for the
 'width' member.
2013-12-16 20:09:36 +02:00
Paul Eggert
32779713e1 * font.h (valid_font_driver) [!ENABLE_CHECKING]: Define a dummy.
This prevents a compilation error on C compilers that do not
default functions to return 'int' if not declared.  Also, add
INLINE_HEADER_BEGIN and INLINE_HEADER_END to this include file,
since it now uses inline functions.
2013-12-16 10:05:53 -08:00
Eli Zaretskii
d865f6b555 Fix bug #16165 with memory corruption by extend_face_to_end_of_line.
src/xdisp.c (extend_face_to_end_of_line): Don't fill background of
 display margins on mode line, header line, and in the frame's
 tool-bar window.
2013-12-16 19:59:50 +02:00
Andreas Schwab
0fa30f3361 * gnutls.c (Fgnutls_boot): Properly check Flistp return value. 2013-12-16 17:14:45 +01:00