------------------------------------------------------------ revno: 117884 committer: Daniel Colascione branch nick: trunk timestamp: Sun 2014-09-14 22:09:44 -0700 message: Tweak sort docstring * fns.c (Fsort): Tweak sort docstring. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-09-15 00:20:21 +0000 +++ src/ChangeLog 2014-09-15 05:09:44 +0000 @@ -1,3 +1,7 @@ +2014-09-15 Daniel Colascione + + * fns.c (Fsort): Tweak sort docstring. + 2014-09-15 Eli Zaretskii * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of pipes. === modified file 'src/fns.c' --- src/fns.c 2014-09-07 07:04:01 +0000 +++ src/fns.c 2014-09-15 05:09:44 +0000 @@ -2005,10 +2005,10 @@ DEFUN ("sort", Fsort, Ssort, 2, 2, 0, doc: /* Sort SEQ, stably, comparing elements using PREDICATE. -Returns the sorted sequence. SEQ should be a list or vector. -If SEQ is a list, it is modified by side effects. PREDICATE -is called with two elements of SEQ, and should return non-nil -if the first element should sort before the second. */) +Returns the sorted sequence. SEQ should be a list or vector. SEQ is +modified by side effects. PREDICATE is called with two elements of +SEQ, and should return non-nil if the first element should sort before +the second. */) (Lisp_Object seq, Lisp_Object predicate) { if (CONSP (seq)) ------------------------------------------------------------ revno: 117883 [merge] committer: Daniel Colascione branch nick: trunk timestamp: Sun 2014-09-14 17:45:14 -0700 message: Update documentation for `insert-register' * doc/emacs/regs.texi (Text Registers): Update end-user documentation to reflect `insert-register' interface change. * doc/lispref/text.texi (Registers): Make `insert-register' documentation reflect interface change. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-08-28 22:18:39 +0000 +++ doc/emacs/ChangeLog 2014-09-15 00:43:29 +0000 @@ -1,3 +1,8 @@ +2014-09-15 Daniel Colascione + + * regs.texi (Text Registers): Update end-user documentation + to reflect `insert-register' interface change. + 2014-08-07 Reuben Thomas * programs.texi (Program Modes): Don't advertise VMS DCL support === modified file 'doc/emacs/regs.texi' --- doc/emacs/regs.texi 2014-02-14 06:55:59 +0000 +++ doc/emacs/regs.texi 2014-09-15 00:43:29 +0000 @@ -149,9 +149,9 @@ @kindex C-x r i @findex insert-register @kbd{C-x r i @var{r}} inserts in the buffer the text from register -@var{r}. Normally it leaves point before the text and sets the mark -after, without activating it. With a numeric argument, it instead -puts point after the text and the mark before. +@var{r}. Normally it leaves point after the text and sets the mark +before, without activating it. With a numeric argument, it instead +puts before after the text and the mark after. @node Rectangle Registers @section Saving Rectangles in Registers === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2014-09-08 06:00:58 +0000 +++ doc/lispref/ChangeLog 2014-09-15 00:43:29 +0000 @@ -1,3 +1,8 @@ +2014-09-15 Daniel Colascione + + * text.texi (Registers): Make `insert-register' documentation + reflect interface change. + 2014-09-08 Stefan Monnier * functions.texi (Core Advising Primitives): Add a note about the === modified file 'doc/lispref/text.texi' --- doc/lispref/text.texi 2014-06-08 23:39:23 +0000 +++ doc/lispref/text.texi 2014-09-15 00:43:29 +0000 @@ -4114,8 +4114,9 @@ Normally, this command puts point before the inserted text, and the mark after it. However, if the optional second argument @var{beforep} is non-@code{nil}, it puts the mark before and point after. -You can pass a non-@code{nil} second argument @var{beforep} to this -function interactively by supplying any prefix argument. + +When called interactively, the command defaults to putting point after +text, and a prefix argument inverts this behavior. If the register contains a rectangle, then the rectangle is inserted with its upper left corner at point. This means that text is inserted ------------------------------------------------------------ revno: 117882 [merge] committer: Glenn Morris branch nick: trunk timestamp: Sun 2014-09-14 17:20:21 -0700 message: Merge from emacs-24; up to r117499 diff: === modified file 'ChangeLog' --- ChangeLog 2014-09-10 06:38:38 +0000 +++ ChangeLog 2014-09-15 00:20:21 +0000 @@ -1,3 +1,8 @@ +2014-09-15 Eli Zaretskii + + * configure.ac (HAVE_SOUND): Check for mmsystem.h header that + defines the sound stuff on MS-Windows. (Bug#18463) + 2014-09-10 Paul Eggert Improve the experimental local and scoped allocation. === modified file 'configure.ac' --- configure.ac 2014-09-10 06:38:38 +0000 +++ configure.ac 2014-09-15 00:20:21 +0000 @@ -1443,7 +1443,7 @@ HAVE_SOUND=no if test "${with_sound}" != "no"; then # Sound support for GNU/Linux, the free BSDs, and MinGW. - AC_CHECK_HEADERS([machine/soundcard.h sys/soundcard.h soundcard.h], + AC_CHECK_HEADERS([machine/soundcard.h sys/soundcard.h soundcard.h mmsystem.h], have_sound_header=yes, [], [ #ifdef __MINGW32__ #define WIN32_LEAN_AND_MEAN === modified file 'etc/NEWS' --- etc/NEWS 2014-09-14 23:11:52 +0000 +++ etc/NEWS 2014-09-15 00:20:21 +0000 @@ -533,9 +533,6 @@ *** New display actions functions for `display-buffer': -**** `display-buffer-in-previous-window' displays a buffer in a window -previously showing that buffer. - **** `display-buffer-at-bottom' chooses or creates a window at the bottom of the selected frame. @@ -545,6 +542,9 @@ caller of `display-buffer' is ready to handle the case of not displaying the buffer in a window. +*** `display-buffer-in-previous-window' is now a member of +`display-buffer-fallback-action'. + ** Lisp evaluation *** `eval-defun' on an already defined defcustom calls the :set function, @@ -1417,6 +1417,11 @@ *** `with-demoted-errors' takes an additional argument `format'. +*** Errors from timer functions are no longer silently discarded, +but are reported as messages. So you may see "Error running timer" +messages from code that was failing silently till now. Set +`debug-on-error' non-nil to get a real error and a backtrace. + ** Faces *** Face specs set via Custom themes now replace the `defface' spec === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-09-14 23:11:52 +0000 +++ lisp/ChangeLog 2014-09-15 00:20:21 +0000 @@ -1,3 +1,30 @@ +2014-09-15 Glenn Morris + + * image.el (image-multi-frame-p): Fix thinko - do not force + a delay if none was specified. (Bug#18334) + +2014-09-15 Kan-Ru Chen + + * window.el (fit-window-to-buffer): Doc fix. + +2014-09-15 Ivan Shmakov (tiny change) + + * desktop.el (desktop-create-buffer): Check that buffers are still live + before burying them (bug#18373). + +2014-09-15 Glenn Morris + + * calendar/diary-lib.el (diary-list-entries): + Restore 24.3 display behavior. (Bug#18381) + +2014-09-15 Eli Zaretskii + + * mouse.el (mouse-drag-line): On text-mode frames, count the mode + line and header line as 1 pixel. This fixes the 1-"pixel" (row) + discrepancy between window-pixel-edges and mouse events, and + avoids moving mode line up when the mouse click is on the modeline + and no drag is attempted. + 2014-09-14 Daniel Colascione * register.el (insert-register): Change default interactive === modified file 'lisp/calendar/diary-lib.el' --- lisp/calendar/diary-lib.el 2014-09-08 06:03:19 +0000 +++ lisp/calendar/diary-lib.el 2014-09-15 00:20:21 +0000 @@ -901,12 +901,20 @@ ;;; (diary-include-other-diary-files) ; recurse ;;; (run-hooks 'diary-list-entries-hook)) (unless list-only - (if (and diary-display-function - (listp diary-display-function)) - ;; Backwards compatibility. - (run-hooks 'diary-display-function) - (funcall (or diary-display-function - 'diary-simple-display)))) + ;; Avoid M-x diary; M-x calendar; M-x diary + ;; clobbering the calendar window. + ;; FIXME this is not the right solution. + (let ((display-buffer-fallback-action + (list (delq + 'display-buffer-in-previous-window + (copy-sequence + (car display-buffer-fallback-action)))))) + (if (and diary-display-function + (listp diary-display-function)) + ;; Backwards compatibility. + (run-hooks 'diary-display-function) + (funcall (or diary-display-function + 'diary-simple-display))))) (run-hooks 'diary-hook))))) (and temp-buff (buffer-name temp-buff) (kill-buffer temp-buff))) (or d-incp (message "Preparing diary...done")) === modified file 'lisp/desktop.el' --- lisp/desktop.el 2014-07-16 04:28:42 +0000 +++ lisp/desktop.el 2014-09-10 00:47:20 +0000 @@ -1375,7 +1375,9 @@ ;; Restore buffer list order with new buffer at end. Don't change ;; the order for old desktop files (old desktop module behavior). (unless (< desktop-file-version 206) - (mapc 'bury-buffer buffer-list) + (dolist (buf buffer-list) + (and (buffer-live-p buf) + (bury-buffer buf))) (when result (bury-buffer result))) (when result (unless (or desktop-first-buffer (< desktop-file-version 206)) === modified file 'lisp/image.el' --- lisp/image.el 2014-02-25 21:59:14 +0000 +++ lisp/image.el 2014-09-14 23:59:57 +0000 @@ -637,8 +637,8 @@ (images (plist-get metadata 'count)) (delay (plist-get metadata 'delay))) (when (and images (> images 1)) - (if (or (not (numberp delay)) (< delay 0)) - (setq delay image-default-frame-delay)) + (and delay (or (not (numberp delay)) (< delay 0)) + (setq delay image-default-frame-delay)) (cons images delay))))) (defun image-animated-p (image) === modified file 'lisp/mouse.el' --- lisp/mouse.el 2014-08-11 00:59:34 +0000 +++ lisp/mouse.el 2014-09-15 00:20:21 +0000 @@ -396,7 +396,16 @@ ;; Check whether header-line can be dragged at all. (if (window-at-side-p window 'top) (setq draggable nil) - (setq height (/ (window-header-line-height window) 2)) + ;; window-pixel-edges includes the header and mode lines, so + ;; we need to account for that when calculating window growth. + ;; On GUI frames, assume the mouse is approximately in the + ;; middle of the header/mode line, so we need only half the + ;; height in pixels. + (setq height + (cond + ((display-graphic-p frame) + (/ (window-header-line-height window) 2)) + (t (window-header-line-height window)))) (setq window (window-in-direction 'above window t)))) ((eq line 'mode) ;; Check whether mode-line can be dragged at all. @@ -411,7 +420,11 @@ (eq minibuffer-window (active-minibuffer-window)))))) (setq draggable nil) - (setq height (/ (window-mode-line-height window) 2)))) + (setq height + (cond + ((display-graphic-p frame) + (/ (window-mode-line-height window) 2)) + (t (window-mode-line-height window)))))) ((eq line 'vertical) ;; Get the window to adjust for the vertical case. If the scroll ;; bar is on the window's right or we drag a vertical divider, === modified file 'lisp/window.el' --- lisp/window.el 2014-09-11 19:44:25 +0000 +++ lisp/window.el 2014-09-15 00:20:21 +0000 @@ -7260,7 +7260,7 @@ If WINDOW is part of a horizontal combination and the value of the option `fit-window-to-buffer-horizontally' is non-nil, adjust -WINDOW's height. The new width of WINDOW is calculated from the +WINDOW's width. The new width of WINDOW is calculated from the maximum length of its buffer's lines that follow the current start position of WINDOW. The optional argument MAX-WIDTH specifies a maximum width and defaults to the width of WINDOW's === modified file 'src/ChangeLog' --- src/ChangeLog 2014-09-14 08:23:48 +0000 +++ src/ChangeLog 2014-09-15 00:20:21 +0000 @@ -1,3 +1,40 @@ +2014-09-15 Eli Zaretskii + + * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of pipes. + (sys_write): When a write to a non-blocking pipe returns ENOSPC, + set errno to EAGAIN instead, to allow the caller to retry the + write after some waiting. Fixes deadlocks when Emacs exchanges a + lot of data through the pipe. (Bug#18420) + + * sound.c (Fplay_sound_internal): Encode the sound file name in + the ANSI codepage. Expand it against data-directory, as per docs, + not against the current directory. No need to make a local copy + of the file name; pass the encoded file name directly to + do_play_sound. (Bug#18463) + + * w32.c (ansi_encode_filename): If w32_get_short_filename returns + NULL, and the file name is not encodable in ANSI codepage, return + the string with "?" replacement characters, which will fail the + caller. This avoids returning a random value in that case. + +2014-09-15 Martin Rudalics + + * window.c (Fresize_mini_window_internal): Set w->total_lines + from w->pixel_height (Bug#18422). + +2014-09-15 Jan Djärv + + * nsterm.m (updateFrameSize:, initFrameFromEmacs:) + (toggleFullScreen:): Take frame_resize_pixelwise into account when + setting resize increments (Bug#18435). + +2014-09-15 Eli Zaretskii + + * xdisp.c (pos_visible_p): Properly save and restore the iterator + state around the call to line_bottom, since it can move the + iterator to another screen line. This fixes off-by-one errors in + the reported row in some rare cases. + 2014-09-14 Jan Djärv * callproc.c (init_callproc): Fix bug introduced at === modified file 'src/nsterm.m' --- src/nsterm.m 2014-09-10 17:56:38 +0000 +++ src/nsterm.m 2014-09-15 00:20:21 +0000 @@ -5849,10 +5849,13 @@ // Did resize increments change because of a font change? if (sz.width != FRAME_COLUMN_WIDTH (emacsframe) || - sz.height != FRAME_LINE_HEIGHT (emacsframe)) + sz.height != FRAME_LINE_HEIGHT (emacsframe) || + (frame_resize_pixelwise && sz.width != 1)) { - sz.width = FRAME_COLUMN_WIDTH (emacsframe); - sz.height = FRAME_LINE_HEIGHT (emacsframe); + sz.width = frame_resize_pixelwise + ? 1 : FRAME_COLUMN_WIDTH (emacsframe); + sz.height = frame_resize_pixelwise + ? 1 : FRAME_LINE_HEIGHT (emacsframe); [win setResizeIncrements: sz]; NSTRACE_SIZE ("New size", NSMakeSize (neww, newh)); @@ -6122,8 +6125,8 @@ [win setDelegate: self]; [win useOptimizedDrawing: YES]; - sz.width = FRAME_COLUMN_WIDTH (f); - sz.height = FRAME_LINE_HEIGHT (f); + sz.width = frame_resize_pixelwise ? 1 : FRAME_COLUMN_WIDTH (f); + sz.height = frame_resize_pixelwise ? 1 : FRAME_LINE_HEIGHT (f); [win setResizeIncrements: sz]; [[win contentView] addSubview: self]; @@ -6470,8 +6473,8 @@ (FRAME_DEFAULT_FACE (f)), f); - sz.width = FRAME_COLUMN_WIDTH (f); - sz.height = FRAME_LINE_HEIGHT (f); + sz.width = frame_resize_pixelwise ? 1 : FRAME_COLUMN_WIDTH (f); + sz.height = frame_resize_pixelwise ? 1 : FRAME_LINE_HEIGHT (f); if (fs_state != FULLSCREEN_BOTH) { === modified file 'src/sound.c' --- src/sound.c 2014-09-07 07:04:01 +0000 +++ src/sound.c 2014-09-15 00:20:21 +0000 @@ -88,6 +88,9 @@ #include #include #include + +#include "coding.h" +#include "w32.h" /* END: Windows Specific Includes */ #endif /* WINDOWSNT */ @@ -1310,8 +1313,7 @@ struct gcpro gcpro1, gcpro2; Lisp_Object args[2]; #else /* WINDOWSNT */ - Lisp_Object lo_file = {0}; - char * psz_file = NULL; + Lisp_Object lo_file; unsigned long ui_volume_tmp = UINT_MAX; unsigned long ui_volume = UINT_MAX; #endif /* WINDOWSNT */ @@ -1384,10 +1386,11 @@ #else /* WINDOWSNT */ - lo_file = Fexpand_file_name (attrs[SOUND_FILE], Qnil); - len = XSTRING (lo_file)->size; - psz_file = alloca (len + 1); - strcpy (psz_file, XSTRING (lo_file)->data); + lo_file = Fexpand_file_name (attrs[SOUND_FILE], Vdata_directory); + lo_file = ENCODE_FILE (lo_file); + /* Since UNICOWS.DLL includes only a stub for mciSendStringW, we + need to encode the file in the ANSI codepage. */ + lo_file = ansi_encode_filename (lo_file); if (INTEGERP (attrs[SOUND_VOLUME])) { ui_volume_tmp = XFASTINT (attrs[SOUND_VOLUME]); @@ -1409,7 +1412,7 @@ { ui_volume = ui_volume_tmp * (UINT_MAX / 100); } - do_play_sound (psz_file, ui_volume); + do_play_sound (SDATA (lo_file), ui_volume); #endif /* WINDOWSNT */ === modified file 'src/w32.c' --- src/w32.c 2014-09-10 17:51:53 +0000 +++ src/w32.c 2014-09-15 00:20:21 +0000 @@ -2391,6 +2391,8 @@ dostounix_filename (shortname); encoded_filename = build_string (shortname); } + else + encoded_filename = build_unibyte_string (fname); } else encoded_filename = build_unibyte_string (fname); @@ -7720,15 +7722,15 @@ if (cmd == F_DUPFD_CLOEXEC) return sys_dup (s); - if (winsock_lib == NULL) - { - errno = ENETDOWN; - return -1; - } - check_errno (); if (fd_info[s].flags & FILE_SOCKET) { + if (winsock_lib == NULL) + { + errno = ENETDOWN; + return -1; + } + if (cmd == F_SETFL && options == O_NONBLOCK) { unsigned long nblock = 1; @@ -7745,13 +7747,36 @@ return SOCKET_ERROR; } } + else if ((fd_info[s].flags & (FILE_PIPE | FILE_WRITE)) + == (FILE_PIPE | FILE_WRITE)) + { + /* Force our writes to pipes be non-blocking. */ + if (cmd == F_SETFL && options == O_NONBLOCK) + { + HANDLE h = (HANDLE)_get_osfhandle (s); + DWORD pipe_mode = PIPE_NOWAIT; + + if (!SetNamedPipeHandleState (h, &pipe_mode, NULL, NULL)) + { + DebPrint (("SetNamedPipeHandleState: %lu\n", GetLastError ())); + return SOCKET_ERROR; + } + fd_info[s].flags |= FILE_NDELAY; + return 0; + } + else + { + errno = EINVAL; + return SOCKET_ERROR; + } + } errno = ENOTSOCK; return SOCKET_ERROR; } /* Shadow main io functions: we need to handle pipes and sockets more - intelligently, and implement non-blocking mode as well. */ + intelligently. */ int sys_close (int fd) @@ -8236,7 +8261,6 @@ /* From w32xfns.c */ extern HANDLE interrupt_handle; -/* For now, don't bother with a non-blocking mode */ int sys_write (int fd, const void * buffer, unsigned int count) { @@ -8388,6 +8412,22 @@ nchars += n; if (n < 0) { + /* When there's no buffer space in a pipe that is in the + non-blocking mode, _write returns ENOSPC. We return + EAGAIN instead, which should trigger the logic in + send_process that enters waiting loop and calls + wait_reading_process_output to allow process input to + be accepted during the wait. Those calls to + wait_reading_process_output allow sys_select to + notice when process input becomes available, thus + avoiding deadlock whereby each side of the pipe is + blocked on write, waiting for the other party to read + its end of the pipe. */ + if (errno == ENOSPC + && fd < MAXDESC + && ((fd_info[fd].flags & (FILE_PIPE | FILE_NDELAY)) + == (FILE_PIPE | FILE_NDELAY))) + errno = EAGAIN; nchars = n; break; } === modified file 'src/window.c' --- src/window.c 2014-09-11 00:48:57 +0000 +++ src/window.c 2014-09-15 00:20:21 +0000 @@ -4796,10 +4796,10 @@ block_input (); window_resize_apply (r, 0); - w->total_lines = XFASTINT (w->new_total); + w->pixel_height = XFASTINT (w->new_pixel); + w->total_lines = w->pixel_height / FRAME_LINE_HEIGHT (f); + w->pixel_top = r->pixel_top + r->pixel_height; w->top_line = r->top_line + r->total_lines; - w->pixel_height = XFASTINT (w->new_pixel); - w->pixel_top = r->pixel_top + r->pixel_height; fset_redisplay (f); FRAME_WINDOW_SIZES_CHANGED (f) = 1; === modified file 'src/xdisp.c' --- src/xdisp.c 2014-09-07 07:04:01 +0000 +++ src/xdisp.c 2014-09-15 00:20:21 +0000 @@ -1455,15 +1455,19 @@ glyph. */ int top_x = it.current_x; int top_y = it.current_y; + int window_top_y = WINDOW_HEADER_LINE_HEIGHT (w); + int bottom_y; + struct it save_it; + void *save_it_data = NULL; + /* Calling line_bottom_y may change it.method, it.position, etc. */ - enum it_method it_method = it.method; - int bottom_y = (last_height = 0, line_bottom_y (&it)); - int window_top_y = WINDOW_HEADER_LINE_HEIGHT (w); - + SAVE_IT (save_it, it, save_it_data); + last_height = 0; + bottom_y = line_bottom_y (&it); if (top_y < window_top_y) visible_p = bottom_y > window_top_y; else if (top_y < it.last_visible_y) - visible_p = true; + visible_p = 1; if (bottom_y >= it.last_visible_y && it.bidi_p && it.bidi_it.scan_dir == -1 && IT_CHARPOS (it) < charpos) @@ -1476,7 +1480,6 @@ move_it_to again with a slightly larger vertical limit, and see if it actually moved vertically; if it did, we didn't really reach CHARPOS, which is beyond window end. */ - struct it save_it = it; /* Why 10? because we don't know how many canonical lines will the height of the next line(s) be. So we guess. */ int ten_more_lines = 10 * default_line_pixel_height (w); @@ -1486,11 +1489,11 @@ if (it.current_y > top_y) visible_p = 0; - it = save_it; } + RESTORE_IT (&it, &save_it, save_it_data); if (visible_p) { - if (it_method == GET_FROM_DISPLAY_VECTOR) + if (it.method == GET_FROM_DISPLAY_VECTOR) { /* We stopped on the last glyph of a display vector. Try and recompute. Hack alert! */ ------------------------------------------------------------ revno: 117881 committer: Daniel Colascione branch nick: trunk timestamp: Sun 2014-09-14 16:11:52 -0700 message: * register.el (insert-register): Change default interactive insertion mode. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2014-09-13 17:44:32 +0000 +++ etc/ChangeLog 2014-09-14 23:11:52 +0000 @@ -1,3 +1,7 @@ +2014-09-14 Daniel Colascione + + * NEWS: Mention changes to `insert-register' + 2014-09-13 Christopher Schmidt * NEWS: Mention nil `calendar-mode-line-format' will not modify === modified file 'etc/NEWS' --- etc/NEWS 2014-09-13 18:59:56 +0000 +++ etc/NEWS 2014-09-14 23:11:52 +0000 @@ -49,6 +49,9 @@ * Changes in Emacs 24.5 +** `insert-register' now leaves point after the inserted text +when called interactively. A prefix argument toggles this behavior. + ** New var `truncate-string-ellipsis' to choose how to indicate truncation. --- === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-09-14 09:00:11 +0000 +++ lisp/ChangeLog 2014-09-14 23:11:52 +0000 @@ -1,3 +1,8 @@ +2014-09-14 Daniel Colascione + + * register.el (insert-register): Change default interactive + insertion mode. + 2014-09-14 Michael Albinus * net/tramp-cache.el (tramp-flush-file-function): Simplify check. === modified file 'lisp/register.el' --- lisp/register.el 2014-06-03 09:06:18 +0000 +++ lisp/register.el 2014-09-14 23:11:52 +0000 @@ -425,13 +425,14 @@ "Insert contents of register REGISTER. (REGISTER is a character.) Normally puts point before and mark after the inserted text. If optional second arg is non-nil, puts mark before and point after. -Interactively, second arg is non-nil if prefix arg is supplied. +Interactively, second arg is nil if prefix arg is supplied and t +otherwise. Interactively, reads the register using `register-read-with-preview'." (interactive (progn (barf-if-buffer-read-only) (list (register-read-with-preview "Insert register: ") - current-prefix-arg))) + (not current-prefix-arg)))) (push-mark) (let ((val (get-register register))) (cond ------------------------------------------------------------ revno: 117880 committer: Michael Albinus branch nick: trunk timestamp: Sun 2014-09-14 11:00:11 +0200 message: * net/tramp-cache.el (tramp-flush-file-function): Simplify check. Suppress debug messages. * net/tramp.el (tramp-file-name-handler): * net/tramp-gvfs.el (tramp-gvfs-url-file-name): Apply `cons' where appropriate. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-09-13 17:44:32 +0000 +++ lisp/ChangeLog 2014-09-14 09:00:11 +0000 @@ -1,3 +1,12 @@ +2014-09-14 Michael Albinus + + * net/tramp-cache.el (tramp-flush-file-function): Simplify check. + Suppress debug messages. + + * net/tramp.el (tramp-file-name-handler): + * net/tramp-gvfs.el (tramp-gvfs-url-file-name): Apply `cons' where + appropriate. + 2014-09-13 Christopher Schmidt * calendar/calendar.el (calendar-update-mode-line): === modified file 'lisp/net/tramp-cache.el' --- lisp/net/tramp-cache.el 2014-08-05 08:24:47 +0000 +++ lisp/net/tramp-cache.el 2014-09-14 09:00:11 +0000 @@ -207,15 +207,12 @@ "Flush all Tramp cache properties from `buffer-file-name'. This is suppressed for temporary buffers." (save-match-data - (unless - (string-match - (concat - "^" (regexp-opt '("*tramp/" "*debug tramp/" " *temp*") 'paren)) - (or (buffer-name) "")) - + (unless (or (null (buffer-name)) + (string-match "^\\( \\|\\*\\)" (buffer-name))) (let ((bfn (if (stringp (buffer-file-name)) (buffer-file-name) - default-directory))) + default-directory)) + (tramp-verbose 0)) (when (tramp-tramp-file-p bfn) (with-parsed-tramp-file-name bfn nil (tramp-flush-file-property v localname))))))) === modified file 'lisp/net/tramp-gvfs.el' --- lisp/net/tramp-gvfs.el 2014-06-15 15:47:35 +0000 +++ lisp/net/tramp-gvfs.el 2014-09-14 09:00:11 +0000 @@ -1108,7 +1108,7 @@ (defun tramp-gvfs-url-file-name (filename) "Return FILENAME in URL syntax." ;; "/" must NOT be hexlified. - (let ((url-unreserved-chars (append '(?/) url-unreserved-chars)) + (let ((url-unreserved-chars (cons ?/ url-unreserved-chars)) result) (setq result === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2014-08-28 19:31:11 +0000 +++ lisp/net/tramp.el 2014-09-14 09:00:11 +0000 @@ -2148,13 +2148,13 @@ ((eq result 'non-essential) (tramp-message v 5 "Non-essential received in operation %s" - (append (list operation) args)) + (cons operation args)) (tramp-run-real-handler operation args)) ((eq result 'suppress) (let (tramp-message-show-message) (tramp-message v 1 "Suppress received in operation %s" - (append (list operation) args)) + (cons operation args)) (tramp-cleanup-connection v t) (tramp-run-real-handler operation args))) (t result))) @@ -2164,7 +2164,7 @@ (let (tramp-message-show-message) (tramp-message v 1 "Interrupt received in operation %s" - (append (list operation) args))) + (cons operation args))) ;; Propagate the quit signal. (signal (car err) (cdr err))) ------------------------------------------------------------ revno: 117879 fixes bug: http://debbugs.gnu.org/18474 committer: Jan D. branch nick: trunk timestamp: Sun 2014-09-14 10:23:48 +0200 message: * callproc.c (init_callproc): Fix bug introduced at 2014-09-07. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-09-13 04:41:54 +0000 +++ src/ChangeLog 2014-09-14 08:23:48 +0000 @@ -1,3 +1,8 @@ +2014-09-14 Jan Djärv + + * callproc.c (init_callproc): Fix bug introduced at + 2014-09-07 (Bug#18474). + 2014-09-13 Dmitry Antipov Prefer ptrdiff_t to int and avoid integer overflows. === modified file 'src/callproc.c' --- src/callproc.c 2014-09-07 20:31:18 +0000 +++ src/callproc.c 2014-09-14 08:23:48 +0000 @@ -1579,7 +1579,7 @@ Lisp_Object tempdir; #ifdef HAVE_NS if (data_dir == 0) - data_dir == ns_etc_directory () != 0; + data_dir = ns_etc_directory () != 0; #endif if (!NILP (Vinstallation_directory)) ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.