[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 ();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r117839: Merge from emacs-24; up to r117485,
Glenn Morris <=