emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r117839: Merge from emacs-24; up to r117485


From: Glenn Morris
Subject: [Emacs-diffs] trunk r117839: Merge from emacs-24; up to r117485
Date: Mon, 08 Sep 2014 06:01:37 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117839 [merge]
revision-id: address@hidden
parent: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Sun 2014-09-07 23:00:58 -0700
message:
  Merge from emacs-24; up to r117485
modified:
  admin/ChangeLog                changelog-20091113204419-o5vbwnq5f7feedwu-2226
  admin/unidata/unidata-gen.el   
unidatagen.el-20091113204419-o5vbwnq5f7feedwu-8382
  doc/lispref/ChangeLog          changelog-20091113204419-o5vbwnq5f7feedwu-6155
  doc/lispref/functions.texi     
functions.texi-20091113204419-o5vbwnq5f7feedwu-6182
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/calendar/calendar.el      calendar.el-20091113204419-o5vbwnq5f7feedwu-478
  lisp/isearch.el                isearch.el-20091113204419-o5vbwnq5f7feedwu-486
  lisp/subr.el                   subr.el-20091113204419-o5vbwnq5f7feedwu-151
  lisp/vc/vc-dir.el              vcdir.el-20091113204419-o5vbwnq5f7feedwu-8693
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/data.c                     data.c-20091113204419-o5vbwnq5f7feedwu-251
  src/dispnew.c                  dispnew.c-20091113204419-o5vbwnq5f7feedwu-258
  src/sysdep.c                   sysdep.c-20091113204419-o5vbwnq5f7feedwu-448
=== modified file 'admin/ChangeLog'
--- a/admin/ChangeLog   2014-08-30 22:59:39 +0000
+++ b/admin/ChangeLog   2014-09-08 06:00:58 +0000
@@ -1,3 +1,11 @@
+2014-09-08  Eli Zaretskii  <address@hidden>
+
+       * unidata/unidata-gen.el (unidata-check): Bring this function up
+       to date with the currently supported methods of generating Unicode
+       property tables.  Add a comment with a description how to invoke
+       the check.  Update the copyright years in the reference to the
+       Unicode data files we use.
+
 2014-08-30  Paul Eggert  <address@hidden>
 
        Vector-sorting fixes (Bug#18361).

=== modified file 'admin/unidata/unidata-gen.el'
--- a/admin/unidata/unidata-gen.el      2014-01-01 08:31:29 +0000
+++ b/admin/unidata/unidata-gen.el      2014-09-03 16:03:34 +0000
@@ -854,7 +854,7 @@
 ;; The following command yields a file of about 96K bytes.
 ;;   % gawk -F ';' '{print $1,$2;}' < UnicodeData.txt | gzip > temp.gz
 ;; With the following function, we can get a file of almost the same
-;; the size.
+;; size.
 
 ;; Generate a char-table for character names.
 
@@ -1174,25 +1174,42 @@
 
 ;; Verify if we can retrieve correct values from the generated
 ;; char-tables.
+;;
+;; Use like this:
+;;
+;; (let ((unidata-dir "/path/to/admin/unidata"))
+;;   (unidata-setup-list "unidata.txt")
+;;   (unidata-check))
 
 (defun unidata-check ()
   (dolist (elt unidata-prop-alist)
     (let* ((prop (car elt))
           (index (unidata-prop-index prop))
           (generator (unidata-prop-generator prop))
+          (default-value (unidata-prop-default prop))
+          (val-list (unidata-prop-val-list prop))
           (table (progn
                    (message "Generating %S table..." prop)
-                   (funcall generator prop)))
+                   (funcall generator prop default-value val-list)))
           (decoder (char-table-extra-slot table 1))
+          (alist (and (functionp index)
+                      (funcall index)))
           (check #x400))
       (dolist (e unidata-list)
-       (let ((char (car e))
-             (val1 (nth index e))
-             val2)
+       (let* ((char (car e))
+              (val1
+               (if alist (nth 1 (assoc char alist))
+                 (nth index e)))
+              val2)
          (if (and (stringp val1) (= (length val1) 0))
              (setq val1 nil))
-         (unless (consp char)
-           (setq val2 (funcall decoder char (aref table char) table))
+         (unless (or (consp char)
+                     (integerp decoder))
+           (setq val2
+                 (cond ((functionp decoder)
+                        (funcall decoder char (aref table char) table))
+                       (t              ; must be nil
+                        (aref table char))))
            (if val1
                (cond ((eq generator 'unidata-gen-table-symbol)
                       (setq val1 (intern val1)))
@@ -1201,11 +1218,15 @@
                      ((eq generator 'unidata-gen-table-character)
                       (setq val1 (string-to-number val1 16)))
                      ((eq generator 'unidata-gen-table-decomposition)
-                      (setq val1 (unidata-split-decomposition val1)))))
+                      (setq val1 (unidata-split-decomposition val1))))
+             (cond ((eq prop 'decomposition)
+                    (setq val1 (list char)))))
            (when (>= char check)
              (message "%S %04X" prop check)
              (setq check (+ check #x400)))
            (or (equal val1 val2)
+               ;; <control> characters get a 'name' property of nil
+               (and (eq prop 'name) (string= val1 "<control>") (null val2))
                (insert (format "> %04X %S\n< %04X %S\n"
                                char val1 char val2)))
            (sit-for 0)))))))
@@ -1261,7 +1282,7 @@
                (setq describer (symbol-function describer)))
              (set-char-table-extra-slot table 3 describer))
            (if (bobp)
-               (insert ";; Copyright (C) 1991-2013 Unicode, Inc.
+               (insert ";; Copyright (C) 1991-2014 Unicode, Inc.
 ;; This file was generated from the Unicode data files at
 ;; http://www.unicode.org/Public/UNIDATA/.
 ;; See lisp/international/README for the copyright and permission notice.\n"))

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2014-09-07 11:02:33 +0000
+++ b/doc/lispref/ChangeLog     2014-09-08 06:00:58 +0000
@@ -1,3 +1,8 @@
+2014-09-08  Stefan Monnier  <address@hidden>
+
+       * functions.texi (Core Advising Primitives): Add a note about the
+       confusing treatment of `interactive' for :filter-args (bug#18399).
+
 2014-09-07  Michael Albinus  <address@hidden>
 
        * strings.texi (Text Comparison): Describe `string-collate-equalp'

=== modified file 'doc/lispref/functions.texi'
--- a/doc/lispref/functions.texi        2014-06-02 00:18:22 +0000
+++ b/doc/lispref/functions.texi        2014-09-08 06:00:58 +0000
@@ -1220,15 +1220,6 @@
 This macro is the handy way to add the advice @var{function} to the function
 stored in @var{place} (@pxref{Generalized Variables}).
 
-If @var{function} is not interactive, then the combined function will inherit
-the interactive spec, if any, of the original function.  Else, the combined
-function will be interactive and will use the interactive spec of
address@hidden  One exception: if the interactive spec of @var{function}
-is a function (rather than an expression or a string), then the interactive
-spec of the combined function will be a call to that function with as sole
-argument the interactive spec of the original function.  To interpret the spec
-received as argument, use @code{advice-eval-interactive-spec}.
-
 @var{where} determines how @var{function} is composed with the
 existing function, e.g. whether @var{function} should be called before, or
 after the original function.  @xref{Advice combinators}, for the list of
@@ -1271,6 +1262,21 @@
 @code{:override} advice will override not only the original function but all
 other advices applied to it as well.
 @end table
+
+If @var{function} is not interactive, then the combined function will inherit
+the interactive spec, if any, of the original function.  Else, the combined
+function will be interactive and will use the interactive spec of
address@hidden  One exception: if the interactive spec of @var{function}
+is a function (rather than an expression or a string), then the interactive
+spec of the combined function will be a call to that function with as sole
+argument the interactive spec of the original function.  To interpret the spec
+received as argument, use @code{advice-eval-interactive-spec}.
+
+Note: The interactive spec of @var{function} will apply to the combined
+function and should hence obey the calling convention of the combined function
+rather than that of @var{function}.  In many cases, it makes no difference
+since they are identical, but it does matter for @code{:around},
address@hidden:filter-args}, and @code{filter-return}, where @var{function}.
 @end defmac
 
 @defmac remove-function place function

=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-09-06 00:59:00 +0000
+++ b/lisp/ChangeLog    2014-09-08 06:00:58 +0000
@@ -1,3 +1,21 @@
+2014-09-08  Glenn Morris  <address@hidden>
+
+       * calendar/calendar.el (calendar-basic-setup):
+       Avoid clobbering calendar with diary.  (Bug#18381)
+
+2014-09-08  Stefan Monnier  <address@hidden>
+
+       * vc/vc-dir.el (vc-dir-update): Don't burp in corner case.
+
+2014-09-08  Lars Ljung  <address@hidden>  (tiny change)
+
+       * isearch.el (isearch-yank-word-or-char): Obey superword-mode
+       as well (bug#18400).
+
+2014-09-08  Eli Zaretskii  <address@hidden>
+
+       * subr.el (posn-actual-col-row): Doc fix.  (Bug#18385)
+
 2014-09-06  Leo Liu  <address@hidden>
 
        * emacs-lisp/pcase.el (pcase): Doc fix.

=== modified file 'lisp/calendar/calendar.el'
--- a/lisp/calendar/calendar.el 2014-08-21 08:40:29 +0000
+++ b/lisp/calendar/calendar.el 2014-09-08 06:00:58 +0000
@@ -1443,7 +1443,12 @@
       (calendar-generate-window month year)
       (if (and calendar-view-diary-initially-flag
                (calendar-date-is-visible-p date))
-          (diary-view-entries))))
+          ;; Do not clobber the calendar with the diary, if the diary
+          ;; has previously been shown in the window that now shows the
+          ;; calendar (bug#18381).
+          (let ((display-buffer-overriding-action
+                 '(nil . ((inhibit-same-window . t)))))
+            (diary-view-entries)))))
   (if calendar-view-holidays-initially-flag
       (let* ((diary-buffer (get-file-buffer diary-file))
              (diary-window (if diary-buffer (get-buffer-window diary-buffer)))

=== modified file 'lisp/isearch.el'
--- a/lisp/isearch.el   2014-03-01 02:48:54 +0000
+++ b/lisp/isearch.el   2014-09-04 16:14:26 +0000
@@ -1968,10 +1968,12 @@
    (lambda ()
      (if (or (= (char-syntax (or (char-after) 0)) ?w)
              (= (char-syntax (or (char-after (1+ (point))) 0)) ?w))
-        (if (and (boundp 'subword-mode) subword-mode)
+        (if (or (and (boundp 'subword-mode) subword-mode)
+                (and (boundp 'superword-mode) superword-mode))
             (subword-forward 1)
           (forward-word 1))
-       (forward-char 1)) (point))))
+       (forward-char 1))
+     (point))))
 
 (defun isearch-yank-word (&optional arg)
   "Pull next word from buffer into search string.

=== modified file 'lisp/subr.el'
--- a/lisp/subr.el      2014-09-05 01:20:51 +0000
+++ b/lisp/subr.el      2014-09-08 06:00:58 +0000
@@ -1159,12 +1159,17 @@
              (/ (cdr pair) (+ (frame-char-height frame) spacing))))))))
 
 (defun posn-actual-col-row (position)
-  "Return the actual column and row in POSITION, measured in characters.
-These are the actual row number in the window and character number in that row.
+  "Return the window row number in POSITION and character number in that row.
+
 Return nil if POSITION does not contain the actual position; in that case
-`posn-col-row' can be used to get approximate values.
+\`posn-col-row' can be used to get approximate values.
 POSITION should be a list of the form returned by the `event-start'
-and `event-end' functions."
+and `event-end' functions.
+
+This function does not account for the width on display, like the
+number of visual columns taken by a TAB or image.  If you need
+the coordinates of POSITION in character units, you should use
+\`posn-col-row', not this function."
   (nth 6 position))
 
 (defsubst posn-timestamp (position)

=== modified file 'lisp/vc/vc-dir.el'
--- a/lisp/vc/vc-dir.el 2014-01-01 07:43:34 +0000
+++ b/lisp/vc/vc-dir.el 2014-09-05 17:37:12 +0000
@@ -433,7 +433,8 @@
              ;; previous node was in a different directory.
              (let* ((rd (file-relative-name entrydir))
                     (prev-node (ewoc-prev vc-ewoc node))
-                    (prev-dir (vc-dir-node-directory prev-node)))
+                    (prev-dir (if prev-node
+                                  (vc-dir-node-directory prev-node))))
                (unless (string-equal entrydir prev-dir)
                  (ewoc-enter-before
                   vc-ewoc node (vc-dir-create-fileinfo rd nil nil nil 
entrydir))))

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-09-07 22:27:59 +0000
+++ b/src/ChangeLog     2014-09-08 06:00:58 +0000
@@ -1,3 +1,13 @@
+2014-09-08  Eli Zaretskii  <address@hidden>
+
+       * dispnew.c (prepare_desired_row): When MODE_LINE_P is zero,
+       always make sure the marginal areas of the row are in sync with
+       what the window wants.  (Bug#18419)
+
+       * data.c (set_internal): Use assq_no_quit, not Fassq, to find an
+       existing binding of a variable, to avoid silently aborting
+       commands that use specbind.  (Bug#18331)
+
 2014-09-07  Paul Eggert  <address@hidden>
 
        Fix bug uncovered by changing alloca to auto buffer (Bug#18410).

=== modified file 'src/data.c'
--- a/src/data.c        2014-09-02 18:05:00 +0000
+++ b/src/data.c        2014-09-08 06:00:58 +0000
@@ -1311,10 +1311,10 @@
 
            /* Find the new binding.  */
            XSETSYMBOL (symbol, sym); /* May have changed via aliasing.  */
-           tem1 = Fassq (symbol,
-                         (blv->frame_local
-                          ? XFRAME (where)->param_alist
-                          : BVAR (XBUFFER (where), local_var_alist)));
+           tem1 = assq_no_quit (symbol,
+                                (blv->frame_local
+                                 ? XFRAME (where)->param_alist
+                                 : BVAR (XBUFFER (where), local_var_alist)));
            set_blv_where (blv, where);
            blv->found = 1;
 

=== modified file 'src/dispnew.c'
--- a/src/dispnew.c     2014-09-03 04:21:40 +0000
+++ b/src/dispnew.c     2014-09-08 06:00:58 +0000
@@ -1082,8 +1082,7 @@
       if (w->right_margin_cols > 0)
        row->glyphs[RIGHT_MARGIN_AREA] = row->glyphs[LAST_AREA];
     }
-  else if (row == MATRIX_MODE_LINE_ROW (w->desired_matrix)
-          || row == MATRIX_HEADER_LINE_ROW (w->desired_matrix))
+  else
     {
       /* The real number of glyphs reserved for the margins is
         recorded in the glyph matrix, and can be different from
@@ -1093,8 +1092,8 @@
       int right = w->desired_matrix->right_margin_glyphs;
 
       /* Make sure the marginal areas of this row are in sync with
-        what the window wants, when the 1st/last row of the matrix
-        actually displays text and not header/mode line.  */
+        what the window wants, when the row actually displays text
+        and not header/mode line.  */
       if (w->left_margin_cols > 0
          && (left != row->glyphs[TEXT_AREA] - row->glyphs[LEFT_MARGIN_AREA]))
        row->glyphs[TEXT_AREA] = row->glyphs[LEFT_MARGIN_AREA] + left;

=== modified file 'src/sysdep.c'
--- a/src/sysdep.c      2014-08-30 16:47:19 +0000
+++ b/src/sysdep.c      2014-09-08 06:00:58 +0000
@@ -2457,7 +2457,7 @@
        {
          if (errno == EINTR)
            {
-             /* I originally used `QUIT' but that might causes files to
+             /* I originally used `QUIT' but that might cause files to
                 be truncated if you hit C-g in the middle of it.  --Stef  */
              if (process_signals && pending_signals)
                process_pending_signals ();


reply via email to

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