emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r110122: Merge from emacs-24; up to r


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110122: Merge from emacs-24; up to r108145
Date: Fri, 21 Sep 2012 11:04:28 +0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110122 [merge]
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Fri 2012-09-21 11:04:28 +0800
message:
  Merge from emacs-24; up to r108145
modified:
  doc/lispref/ChangeLog
  doc/lispref/debugging.texi
  lisp/ChangeLog
  lisp/emacs-lisp/shadow.el
  lisp/ido.el
  lisp/mail/emacsbug.el
  lisp/pcmpl-gnu.el
  lisp/progmodes/idlw-shell.el
  lisp/subr.el
  src/ChangeLog
  src/eval.c
  src/fileio.c
  src/unexmacosx.c
  src/xdisp.c
=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2012-09-18 05:14:42 +0000
+++ b/doc/lispref/ChangeLog     2012-09-21 03:03:48 +0000
@@ -1,3 +1,7 @@
+2012-09-12  Glenn Morris  <address@hidden>
+
+       * debugging.texi (Using Debugger): Fix typo.
+
 2012-09-18  Chong Yidong  <address@hidden>
 
        * display.texi (Faces): Discuss anonymous faces.

=== modified file 'doc/lispref/debugging.texi'
--- a/doc/lispref/debugging.texi        2012-09-04 21:21:00 +0000
+++ b/doc/lispref/debugging.texi        2012-09-21 03:03:48 +0000
@@ -331,7 +331,7 @@
 address@hidden, @code{debug-on-error} will temporarily be set to
 @code{t}.  This means that any further errors that occur while doing a
 debugging session will (by default) trigger another backtrace.  If
-this is not want you want, you can either set
+this is not what you want, you can either set
 @code{eval-expression-debug-on-error} to @code{nil}, or set
 @code{debug-on-error} to @code{nil} in @code{debugger-mode-hook}.
 

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-09-20 21:57:13 +0000
+++ b/lisp/ChangeLog    2012-09-21 03:03:48 +0000
@@ -1,3 +1,31 @@
+2012-09-21  Leo Liu  <address@hidden>
+
+       IDO: Disable match re-ordering for buffer switching.
+       * ido.el (ido-buffer-disable-smart-matches): New variable.
+       (ido-set-matches-1): Use it.  (Bug#2042)
+
+2012-09-21  Jose Marino  <address@hidden>  (tiny change)
+
+       * progmodes/idlw-shell.el (idlwave-shell-complete-filename):
+       Fix 2011-05-17 change.  (Bug#12418)
+
+2012-09-21  Leo Liu  <address@hidden>
+
+       * subr.el (ignore-errors): Mention with-demoted-errors in doc-string.
+
+2012-09-21  Glenn Morris  <address@hidden>
+
+       * emacs-lisp/shadow.el (load-path-shadows-font-lock-keywords):
+       Be more robust about locating simple.el.
+
+2012-09-21  Glenn Morris  <address@hidden>
+
+       * mail/emacsbug.el (report-emacs-bug): Trap load-path-shadows errors.
+
+2012-09-21  Joel Bion  <address@hidden>  (tiny change)
+
+       * pcmpl-gnu.el (pcmpl-gnu-tarfile-regexp): Add tar.xz.  (Bug#12382)
+
 2012-09-20  Juri Linkov  <address@hidden>
 
        * replace.el (query-replace-read-from): Use `read-regexp' instead

=== modified file 'lisp/emacs-lisp/shadow.el'
--- a/lisp/emacs-lisp/shadow.el 2012-01-19 07:21:25 +0000
+++ b/lisp/emacs-lisp/shadow.el 2012-09-11 07:13:21 +0000
@@ -158,8 +158,14 @@
                      (eq 0 (call-process "cmp" nil nil nil "-s" f1 f2))))))))
 
 (defvar load-path-shadows-font-lock-keywords
+  ;; The idea is that shadows of files supplied with Emacs are more
+  ;; serious than various versions of external packages shadowing each
+  ;; other.
   `((,(format "hides \\(%s.*\\)"
-             (file-name-directory (locate-library "simple.el")))
+             (file-name-directory
+              (or (locate-library "simple")
+                  (file-name-as-directory
+                   (expand-file-name "../lisp" data-directory)))))
      . (1 font-lock-warning-face)))
   "Keywords to highlight in `load-path-shadows-mode'.")
 

=== modified file 'lisp/ido.el'
--- a/lisp/ido.el       2012-07-25 05:48:19 +0000
+++ b/lisp/ido.el       2012-09-21 03:03:48 +0000
@@ -493,6 +493,18 @@
   :type 'boolean
   :group 'ido)
 
+;; See http://debbugs.gnu.org/2042 for more info.
+(defcustom ido-buffer-disable-smart-matches t
+  "Non-nil means not to re-order matches for buffer switching.
+By default, ido aranges matches in the following order:
+
+  full-matches > suffix matches > prefix matches > remaining matches
+
+which can get in the way for buffer switching."
+  :version "24.3"
+  :type 'boolean
+  :group 'ido)
+
 (defcustom ido-confirm-unique-completion nil
   "Non-nil means that even a unique completion must be confirmed.
 This means that \\[ido-complete] must always be followed by 
\\[ido-exit-minibuffer]
@@ -3688,10 +3700,17 @@
         (rex0 (if ido-enable-regexp text (regexp-quote text)))
         (rexq (concat rex0 (if slash ".*/" "")))
         (re (if ido-enable-prefix (concat "\\`" rexq) rexq))
-        (full-re (and do-full (not ido-enable-regexp) (not (string-match 
"\$\\'" rex0))
+        (full-re (and do-full
+                      (and (eq ido-cur-item 'buffer)
+                           (not ido-buffer-disable-smart-matches))
+                      (not ido-enable-regexp)
+                      (not (string-match "\$\\'" rex0))
                       (concat "\\`" rex0 (if slash "/" "") "\\'")))
         (suffix-re (and do-full slash
-                        (not ido-enable-regexp) (not (string-match "\$\\'" 
rex0))
+                        (and (eq ido-cur-item 'buffer)
+                             (not ido-buffer-disable-smart-matches))
+                        (not ido-enable-regexp)
+                        (not (string-match "\$\\'" rex0))
                         (concat rex0 "/\\'")))
         (prefix-re (and full-re (not ido-enable-prefix)
                         (concat "\\`" rexq)))

=== modified file 'lisp/mail/emacsbug.el'
--- a/lisp/mail/emacsbug.el     2012-08-15 16:29:11 +0000
+++ b/lisp/mail/emacsbug.el     2012-09-21 03:03:48 +0000
@@ -308,9 +308,14 @@
       (insert "\n"))
     (insert "\n")
     (insert "Load-path shadows:\n")
-    (message "Checking for load-path shadows...")
-    (let ((shadows (list-load-path-shadows t)))
-      (message "Checking for load-path shadows...done")
+    (let* ((msg "Checking for load-path shadows...")
+          (result "done")
+          (shadows (progn (message "%s" msg)
+                          (condition-case nil (list-load-path-shadows t)
+                            (error
+                             (setq result "error")
+                             "Error during checking")))))
+      (message "%s%s" msg result)
       (insert (if (zerop (length shadows))
                   "None found.\n"
                 shadows)))

=== modified file 'lisp/pcmpl-gnu.el'
--- a/lisp/pcmpl-gnu.el 2012-01-24 18:10:39 +0000
+++ b/lisp/pcmpl-gnu.el 2012-09-08 00:59:04 +0000
@@ -128,8 +128,9 @@
       (pcomplete-uniqify-list rules))))
 
 (defcustom pcmpl-gnu-tarfile-regexp
-  "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|Z\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'"
+  "\\.t\\(ar\\(\\.\\(gz\\|bz2\\|Z\\|xz\\)\\)?\\|gz\\|a[zZ]\\|z2\\)\\'"
   "A regexp which matches any tar archive."
+  :version "24.3"                       ; added xz
   :type 'regexp
   :group 'pcmpl-gnu)
 

=== modified file 'lisp/progmodes/idlw-shell.el'
--- a/lisp/progmodes/idlw-shell.el      2012-09-17 05:41:04 +0000
+++ b/lisp/progmodes/idlw-shell.el      2012-09-21 03:03:48 +0000
@@ -2170,7 +2170,7 @@
   ;; CWD might have changed, resync, to set default directory
   (idlwave-shell-resync-dirs)
   (let ((comint-file-name-chars idlwave-shell-file-name-chars))
-    (comint-filename-completion)))
+    (comint-dynamic-complete-filename)))
 
 (defun idlwave-shell-executive-command ()
   "Return the name of the current executive command, if any."

=== modified file 'lisp/subr.el'
--- a/lisp/subr.el      2012-09-14 03:55:16 +0000
+++ b/lisp/subr.el      2012-09-21 03:03:48 +0000
@@ -280,7 +280,9 @@
 
 (defmacro ignore-errors (&rest body)
   "Execute BODY; if an error occurs, return nil.
-Otherwise, return result of last form in BODY."
+Otherwise, return result of last form in BODY.
+See also `with-demoted-errors' that does something similar
+without silencing all errors."
   (declare (debug t) (indent 0))
   `(condition-case nil (progn ,@body) (error nil)))
 

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-09-20 03:10:52 +0000
+++ b/src/ChangeLog     2012-09-21 03:03:48 +0000
@@ -1,3 +1,30 @@
+2012-09-21  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * unexmacosx.c: Define LC_DATA_IN_CODE if not defined.
+       (print_load_command_name): Add case LC_DATA_IN_CODE.
+       (dump_it) [LC_DATA_IN_CODE]: Call copy_linkedit_data.
+
+2012-09-21  Glenn Morris  <address@hidden>
+
+       * eval.c (Frun_hook_with_args_until_success)
+       (Frun_hook_with_args_until_failure): Doc fixes.  (Bug#12393)
+
+2012-09-21  Andreas Schwab  <address@hidden>
+
+       * fileio.c (Ffile_selinux_context): Only call freecon when
+       lgetfilecon succeeded.
+       (Fset_file_selinux_context): Likewise.  (Bug#12444)
+
+2012-09-21  Eli Zaretskii  <address@hidden>
+
+       * xdisp.c (try_window_reusing_current_matrix): Under bidi
+       reordering, locate the cursor by calling set_cursor_from_row; if
+       that fails, clear the desired glyph matrix before returning a
+       failure indication to the caller.  Fixes leaving garbled display
+       when fast scrolling with a down-key.  (Bug#12403)
+       (compute_stop_pos_backwards): Fix a typo that caused crashes while
+       scrolling through multibyte text.
+
 2012-09-20  Stefan Monnier  <address@hidden>
 
        * alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after*

=== modified file 'src/eval.c'
--- a/src/eval.c        2012-09-16 21:43:55 +0000
+++ b/src/eval.c        2012-09-21 03:03:48 +0000
@@ -2399,6 +2399,7 @@
 with the given arguments ARGS, until one of them
 returns a non-nil value.  Then we return that value.
 However, if they all return nil, we return nil.
+If the value of HOOK is nil, this function returns nil.
 
 Do not use `make-local-variable' to make a hook variable buffer-local.
 Instead, use `add-hook' and specify t for the LOCAL argument.
@@ -2420,10 +2421,12 @@
 HOOK should be a symbol, a hook variable.  If HOOK has a non-nil
 value, that value may be a function or a list of functions to be
 called to run the hook.  If the value is a function, it is called with
-the given arguments and its return value is returned.
+the given arguments.  Then we return nil if the function returns nil,
+and t if it returns non-nil.
 If it is a list of functions, those functions are called, in order,
 with the given arguments ARGS, until one of them returns nil.
-Then we return nil.  However, if they all return non-nil, we return non-nil.
+Then we return nil.  However, if they all return non-nil, we return t.
+If the value of HOOK is nil, this function returns t.
 
 Do not use `make-local-variable' to make a hook variable buffer-local.
 Instead, use `add-hook' and specify t for the LOCAL argument.

=== modified file 'src/fileio.c'
--- a/src/fileio.c      2012-09-15 07:06:56 +0000
+++ b/src/fileio.c      2012-09-21 03:03:48 +0000
@@ -2833,9 +2833,8 @@
          if (context_range_get (context))
            values[3] = build_string (context_range_get (context));
          context_free (context);
+         freecon (con);
        }
-      if (con)
-       freecon (con);
     }
 #endif
 
@@ -2914,12 +2913,10 @@
            report_file_error ("Doing lsetfilecon", Fcons (absname, Qnil));
 
          context_free (parsed_con);
+         freecon (con);
        }
       else
        report_file_error ("Doing lgetfilecon", Fcons (absname, Qnil));
-
-      if (con)
-       freecon (con);
     }
 #endif
 

=== modified file 'src/unexmacosx.c'
--- a/src/unexmacosx.c  2012-08-11 02:12:12 +0000
+++ b/src/unexmacosx.c  2012-09-21 03:03:48 +0000
@@ -117,6 +117,13 @@
 
 #include <assert.h>
 
+/* LC_DATA_IN_CODE is not defined in mach-o/loader.h on OS X 10.7.
+   But it is used if we build with "Command Line Tools for Xcode 4.5
+   (OS X Lion) - Septemper 2012".  */
+#ifndef LC_DATA_IN_CODE
+#define LC_DATA_IN_CODE 0x29 /* table of non-instructions in __text */
+#endif
+
 #ifdef _LP64
 #define mach_header                    mach_header_64
 #define segment_command                        segment_command_64
@@ -612,6 +619,11 @@
       printf ("LC_MAIN          ");
       break;
 #endif
+#ifdef LC_DATA_IN_CODE
+    case LC_DATA_IN_CODE:
+      printf ("LC_DATA_IN_CODE  ");
+      break;
+#endif
 #ifdef LC_SOURCE_VERSION
     case LC_SOURCE_VERSION:
       printf ("LC_SOURCE_VERSION");
@@ -1178,9 +1190,9 @@
 #endif
 
 #ifdef LC_FUNCTION_STARTS
-/* Copy a LC_FUNCTION_STARTS/LC_DYLIB_CODE_SIGN_DRS load command from
-   the input file to the output file, adjusting the data offset
-   field.  */
+/* Copy a LC_FUNCTION_STARTS/LC_DATA_IN_CODE/LC_DYLIB_CODE_SIGN_DRS
+   load command from the input file to the output file, adjusting the
+   data offset field.  */
 static void
 copy_linkedit_data (struct load_command *lc, long delta)
 {
@@ -1274,6 +1286,9 @@
 #endif
 #ifdef LC_FUNCTION_STARTS
       case LC_FUNCTION_STARTS:
+#ifdef LC_DATA_IN_CODE
+      case LC_DATA_IN_CODE:
+#endif
 #ifdef LC_DYLIB_CODE_SIGN_DRS
       case LC_DYLIB_CODE_SIGN_DRS:
 #endif

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2012-09-16 21:43:55 +0000
+++ b/src/xdisp.c       2012-09-21 03:03:48 +0000
@@ -7755,7 +7755,7 @@
     {
       it->end_charpos = min (charpos + 1, ZV);
       charpos = max (charpos - SCAN_BACK_LIMIT, BEGV);
-      SET_TEXT_POS (pos, charpos, BYTE_TO_CHAR (charpos));
+      SET_TEXT_POS (pos, charpos, CHAR_TO_BYTE (charpos));
       reseat_1 (it, pos, 0);
       compute_stop_pos (it);
       /* We must advance forward, right?  */
@@ -16744,28 +16744,33 @@
            }
          if (row < bottom_row)
            {
-             struct glyph *glyph = row->glyphs[TEXT_AREA] + w->cursor.hpos;
-             struct glyph *end = row->glyphs[TEXT_AREA] + row->used[TEXT_AREA];
-
-             /* Can't use this optimization with bidi-reordered glyph
-                rows, unless cursor is already at point. */
+             /* Can't simply scan the row for point with
+                bidi-reordered glyph rows.  Let set_cursor_from_row
+                figure out where to put the cursor, and if it fails,
+                give up.  */
              if (!NILP (BVAR (XBUFFER (w->buffer), bidi_display_reordering)))
                {
-                 if (!(w->cursor.hpos >= 0
-                       && w->cursor.hpos < row->used[TEXT_AREA]
-                       && BUFFERP (glyph->object)
-                       && glyph->charpos == PT))
-                   return 0;
+                 if (!set_cursor_from_row (w, row, w->current_matrix,
+                                           0, 0, 0, 0))
+                   {
+                     clear_glyph_matrix (w->desired_matrix);
+                     return 0;
+                   }
                }
              else
-               for (; glyph < end
-                      && (!BUFFERP (glyph->object)
-                          || glyph->charpos < PT);
-                    glyph++)
-                 {
-                   w->cursor.hpos++;
-                   w->cursor.x += glyph->pixel_width;
-                 }
+               {
+                 struct glyph *glyph = row->glyphs[TEXT_AREA] + w->cursor.hpos;
+                 struct glyph *end = row->glyphs[TEXT_AREA] + 
row->used[TEXT_AREA];
+
+                 for (; glyph < end
+                        && (!BUFFERP (glyph->object)
+                            || glyph->charpos < PT);
+                      glyph++)
+                   {
+                     w->cursor.hpos++;
+                     w->cursor.x += glyph->pixel_width;
+                   }
+               }
            }
        }
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]