------------------------------------------------------------ revno: 117388 committer: Paul Eggert branch nick: trunk timestamp: Tue 2014-06-24 01:10:48 -0700 message: Be more consistent about the 'Qfoo' naming convention. * image.c (Fimagemagick_types): * lisp.h (lisp_h_CHECK_TYPE, CHECK_TYPE, CHECK_ARRAY): * process.c (Fmake_network_process): Rename C local identifier 'Qfoo to avoid giving the false impression that it stands for the symbol 'foo'. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2014-06-23 04:11:29 +0000 +++ src/ChangeLog 2014-06-24 08:10:48 +0000 @@ -1,3 +1,12 @@ +2014-06-24 Paul Eggert + + Be more consistent about the 'Qfoo' naming convention. + * image.c (Fimagemagick_types): + * lisp.h (lisp_h_CHECK_TYPE, CHECK_TYPE, CHECK_ARRAY): + * process.c (Fmake_network_process): + Rename C local identifier 'Qfoo to avoid giving the false + impression that it stands for the symbol 'foo'. + 2014-06-23 Dmitry Antipov Simplify and cleanup character conversion stuff. === modified file 'src/image.c' --- src/image.c 2014-06-21 19:45:59 +0000 +++ src/image.c 2014-06-24 08:10:48 +0000 @@ -8549,7 +8549,6 @@ ExceptionInfo ex; char **imtypes; size_t i; - Lisp_Object Qimagemagicktype; GetExceptionInfo(&ex); imtypes = GetMagickList ("*", &numf, &ex); @@ -8557,8 +8556,8 @@ for (i = 0; i < numf; i++) { - Qimagemagicktype = intern (imtypes[i]); - typelist = Fcons (Qimagemagicktype, typelist); + Lisp_Object imagemagicktype = intern (imtypes[i]); + typelist = Fcons (imagemagicktype, typelist); imtypes[i] = MagickRelinquishMemory (imtypes[i]); } === modified file 'src/lisp.h' --- src/lisp.h 2014-06-23 04:11:29 +0000 +++ src/lisp.h 2014-06-24 08:10:48 +0000 @@ -341,8 +341,8 @@ #define lisp_h_CHECK_LIST_CONS(x, y) CHECK_TYPE (CONSP (x), Qlistp, y) #define lisp_h_CHECK_NUMBER(x) CHECK_TYPE (INTEGERP (x), Qintegerp, x) #define lisp_h_CHECK_SYMBOL(x) CHECK_TYPE (SYMBOLP (x), Qsymbolp, x) -#define lisp_h_CHECK_TYPE(ok, Qxxxp, x) \ - ((ok) ? (void) 0 : (void) wrong_type_argument (Qxxxp, x)) +#define lisp_h_CHECK_TYPE(ok, predicate, x) \ + ((ok) ? (void) 0 : (void) wrong_type_argument (predicate, x)) #define lisp_h_CONSP(x) (XTYPE (x) == Lisp_Cons) #define lisp_h_EQ(x, y) (XLI (x) == XLI (y)) #define lisp_h_FLOATP(x) (XTYPE (x) == Lisp_Float) @@ -388,7 +388,7 @@ # define CHECK_LIST_CONS(x, y) lisp_h_CHECK_LIST_CONS (x, y) # define CHECK_NUMBER(x) lisp_h_CHECK_NUMBER (x) # define CHECK_SYMBOL(x) lisp_h_CHECK_SYMBOL (x) -# define CHECK_TYPE(ok, Qxxxp, x) lisp_h_CHECK_TYPE (ok, Qxxxp, x) +# define CHECK_TYPE(ok, predicate, x) lisp_h_CHECK_TYPE (ok, predicate, x) # define CONSP(x) lisp_h_CONSP (x) # define EQ(x, y) lisp_h_EQ (x, y) # define FLOATP(x) lisp_h_FLOATP (x) @@ -1003,8 +1003,9 @@ /* Type checking. */ -LISP_MACRO_DEFUN_VOID (CHECK_TYPE, (int ok, Lisp_Object Qxxxp, Lisp_Object x), - (ok, Qxxxp, x)) +LISP_MACRO_DEFUN_VOID (CHECK_TYPE, + (int ok, Lisp_Object predicate, Lisp_Object x), + (ok, predicate, x)) /* Deprecated and will be removed soon. */ @@ -2552,9 +2553,9 @@ CHECK_TYPE (VECTORP (x) || STRINGP (x), Qarrayp, x); } INLINE void -CHECK_ARRAY (Lisp_Object x, Lisp_Object Qxxxp) +CHECK_ARRAY (Lisp_Object x, Lisp_Object predicate) { - CHECK_TYPE (ARRAYP (x), Qxxxp, x); + CHECK_TYPE (ARRAYP (x), predicate, x); } INLINE void CHECK_BUFFER (Lisp_Object x) === modified file 'src/process.c' --- src/process.c 2014-06-13 15:55:48 +0000 +++ src/process.c 2014-06-24 08:10:48 +0000 @@ -2844,7 +2844,7 @@ struct gcpro gcpro1; ptrdiff_t count = SPECPDL_INDEX (); ptrdiff_t count1; - Lisp_Object QCaddress; /* one of QClocal or QCremote */ + Lisp_Object colon_address; /* Either QClocal or QCremote. */ Lisp_Object tem; Lisp_Object name, buffer, host, service, address; Lisp_Object filter, sentinel; @@ -2892,8 +2892,8 @@ backlog = XINT (tem); } - /* Make QCaddress an alias for :local (server) or :remote (client). */ - QCaddress = is_server ? QClocal : QCremote; + /* Make colon_address an alias for :local (server) or :remote (client). */ + colon_address = is_server ? QClocal : QCremote; /* :nowait BOOL */ if (!is_server && socktype != SOCK_DGRAM @@ -2920,7 +2920,7 @@ res = &ai; /* :local ADDRESS or :remote ADDRESS */ - address = Fplist_get (contact, QCaddress); + address = Fplist_get (contact, colon_address); if (!NILP (address)) { host = service = Qnil; @@ -3307,7 +3307,7 @@ memcpy (datagram_address[s].sa, lres->ai_addr, lres->ai_addrlen); } #endif - contact = Fplist_put (contact, QCaddress, + contact = Fplist_put (contact, colon_address, conv_sockaddr_to_lisp (lres->ai_addr, lres->ai_addrlen)); #ifdef HAVE_GETSOCKNAME if (!is_server) ------------------------------------------------------------ revno: 117387 committer: Eli Barzilay branch nick: trunk timestamp: Tue 2014-06-24 03:55:36 -0400 message: lisp/calculator.el (calculator-last-input): drop 'ascii-character property lookup. etc/NEWS: calculator.el user-visible changes. diff: === modified file 'etc/ChangeLog' --- etc/ChangeLog 2014-06-15 20:49:10 +0000 +++ etc/ChangeLog 2014-06-24 07:55:36 +0000 @@ -1,3 +1,7 @@ +2014-06-24 Eli Barzilay + + * NEWS: calculator.el user-visible changes. + 2014-06-15 Michael Albinus * NEWS: New Tramp method "nc". === modified file 'etc/NEWS' --- etc/NEWS 2014-06-19 14:58:57 +0000 +++ etc/NEWS 2014-06-24 07:55:36 +0000 @@ -113,6 +113,10 @@ *** New connection method "nc", which allows to access dumb busyboxes. +** Calculator: decimal display mode uses "," groups, so it's more +fitting for use in money calculations; factorial works with +non-integer inputs. + ** Obsolete packages --- === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-24 07:15:26 +0000 +++ lisp/ChangeLog 2014-06-24 07:55:36 +0000 @@ -1,3 +1,8 @@ +2014-06-24 Eli Barzilay + + * calculator.el (calculator-last-input): drop 'ascii-character property + lookup. + 2014-06-24 Leo Liu * align.el (align-adjust-col-for-rule): Unbreak due to defaulting === modified file 'lisp/calculator.el' --- lisp/calculator.el 2014-06-23 05:14:23 +0000 +++ lisp/calculator.el 2014-06-24 07:55:36 +0000 @@ -1217,13 +1217,11 @@ inp ;; Translates kp-x to x and [tries to] create a string to lookup ;; operators; assume all symbols are translatable via - ;; `function-key-map' or with an 'ascii-character property. This - ;; is needed because we have key bindings for kp-* (which might be - ;; the wrong thing to do) so they don't get translated in - ;; `this-command-keys'. + ;; `function-key-map'. This is needed because we have key + ;; bindings for kp-* (which might be the wrong thing to do) so + ;; they don't get translated in `this-command-keys'. (concat (mapcar (lambda (k) - (if (numberp k) k (or (get k 'ascii-character) - (error "??bad key??")))) + (if (numberp k) k (error "??bad key?? (%S)" k))) (or (lookup-key function-key-map inp) inp)))))) (defun calculator-clear-fragile (&optional op) ------------------------------------------------------------ revno: 117386 committer: Michael Albinus branch nick: trunk timestamp: Tue 2014-06-24 09:48:19 +0200 message: * automated/tramp-tests.el (tramp-test26-process-file): Extend test according to Bug#17815. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2014-06-21 19:45:59 +0000 +++ test/ChangeLog 2014-06-24 07:48:19 +0000 @@ -1,3 +1,8 @@ +2014-06-24 Michael Albinus + + * automated/tramp-tests.el (tramp-test26-process-file): Extend test + according to Bug#17815. + 2014-06-21 Fabián Ezequiel Gallina * automated/python-tests.el (python-util-strip-string-1): New test. === modified file 'test/automated/tramp-tests.el' --- test/automated/tramp-tests.el 2014-06-15 15:56:58 +0000 +++ test/automated/tramp-tests.el 2014-06-24 07:48:19 +0000 @@ -1246,9 +1246,10 @@ (tramp-find-foreign-file-name-handler tramp-test-temporary-file-directory) '(tramp-gvfs-file-name-handler tramp-smb-file-name-handler)))) - (let ((tmp-name (tramp--test-make-temp-name)) - (default-directory tramp-test-temporary-file-directory) - kill-buffer-query-functions) + (let* ((tmp-name (tramp--test-make-temp-name)) + (fnnd (file-name-nondirectory tmp-name)) + (default-directory tramp-test-temporary-file-directory) + kill-buffer-query-functions) (unwind-protect (progn ;; We cannot use "/bin/true" and "/bin/false"; those paths @@ -1259,17 +1260,25 @@ (with-temp-buffer (write-region "foo" nil tmp-name) (should (file-exists-p tmp-name)) - (should - (zerop - (process-file "ls" nil t nil (file-name-nondirectory tmp-name)))) - ;; `ls' could produce colorized output. - (goto-char (point-min)) - (while (re-search-forward tramp-color-escape-sequence-regexp nil t) - (replace-match "" nil nil)) - (should - (string-equal - (format "%s\n" (file-name-nondirectory tmp-name)) - (buffer-string))))) + (should (zerop (process-file "ls" nil t nil fnnd))) + ;; `ls' could produce colorized output. + (goto-char (point-min)) + (while (re-search-forward tramp-color-escape-sequence-regexp nil t) + (replace-match "" nil nil)) + (should (string-equal (format "%s\n" fnnd) (buffer-string))) + (should-not (get-buffer-window (current-buffer) t)) + + ;; Second run. The output must be appended. + (should (zerop (process-file "ls" nil t t fnnd))) + ;; `ls' could produce colorized output. + (goto-char (point-min)) + (while (re-search-forward tramp-color-escape-sequence-regexp nil t) + (replace-match "" nil nil)) + (should + (string-equal (format "%s\n%s\n" fnnd fnnd) (buffer-string))) + ;; A non-nil DISPLAY must not raise the buffer. + (should-not (get-buffer-window (current-buffer) t)))) + (ignore-errors (delete-file tmp-name))))) (ert-deftest tramp-test27-start-file-process () ------------------------------------------------------------ revno: 117385 [merge] committer: Glenn Morris branch nick: trunk timestamp: Tue 2014-06-24 00:15:26 -0700 message: Merge from emacs-24; up to r117290 diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2014-06-23 06:25:47 +0000 +++ doc/misc/ChangeLog 2014-06-24 07:15:26 +0000 @@ -1,3 +1,12 @@ +2014-06-24 Leo Liu + + * dired-x.texi (Omitting Files in Dired, Omitting Variables): + Fix key binding to dired-omit-mode. (Bug#16354) + +2014-06-24 Eli Zaretskii + + * autotype.texi (Skeleton Language): Document the \n feature better. + 2014-06-23 Glenn Morris * Makefile.in (%.texi): Disable implicit rules. === modified file 'doc/misc/autotype.texi' --- doc/misc/autotype.texi 2014-06-21 19:45:59 +0000 +++ doc/misc/autotype.texi 2014-06-24 07:15:26 +0000 @@ -234,9 +234,10 @@ @c ??? something seems very wrong here. Insert a newline and align under current line, but not if this is the last element of a skeleton and the newline would be inserted at end of -line. Use newline character @code{?\n} to prevent alignment. Use -@code{"\n"} as the last string element of a skeleton to insert a -newline after the skeleton unconditionally. +line, or this is the first element and the newline would be inserted +at beginning of line. Use newline character @code{?\n} to prevent +alignment. Use @code{"\n"} as the first or last string element of a +skeleton to insert a newline unconditionally. @item @code{_} Interesting point. When wrapping skeletons around successive regions, they are put at these places. Point is left at first @code{_} where nothing is wrapped. === modified file 'doc/misc/dired-x.texi' --- doc/misc/dired-x.texi 2014-06-10 02:20:31 +0000 +++ doc/misc/dired-x.texi 2014-06-24 07:15:26 +0000 @@ -283,8 +283,8 @@ @end itemize @table @kbd -@item M-o -@kindex M-o +@item C-x M-o +@kindex C-x M-o @findex dired-omit-mode (@code{dired-omit-mode}) Toggle between displaying and omitting ``uninteresting'' files. @@ -324,7 +324,7 @@ If non-@code{nil}, ``uninteresting'' files are not listed. Uninteresting files are those whose files whose names match regexp @code{dired-omit-files}, plus those ending with extensions in -@code{dired-omit-extensions}. @kbd{M-o} (@code{dired-omit-mode}) +@code{dired-omit-extensions}. @kbd{C-x M-o} (@code{dired-omit-mode}) toggles its value, which is buffer-local. Put @example @@ -333,8 +333,8 @@ @noindent inside your @code{dired-mode-hook} to have omitting initially turned on in -@emph{every} Dired buffer (@pxref{Installation}). You can then use @kbd{M-o} to -unomit in that buffer. +@emph{every} Dired buffer (@pxref{Installation}). You can then use +@kbd{C-x M-o} to unomit in that buffer. To enable omitting automatically only in certain directories you can add a directory local setting === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-23 20:23:33 +0000 +++ lisp/ChangeLog 2014-06-24 07:15:26 +0000 @@ -1,3 +1,30 @@ +2014-06-24 Leo Liu + + * align.el (align-adjust-col-for-rule): Unbreak due to defaulting + tab-stop-list to nil. (Bug#16381) + + * indent.el (indent-next-tab-stop): Rename from indent--next-tab-stop. + (indent-rigidly-left-to-tab-stop) + (indent-rigidly-right-to-tab-stop, tab-to-tab-stop) + (move-to-tab-stop): Change callers. + +2014-06-24 Eli Zaretskii + + * skeleton.el (skeleton-insert): Yet another fix of the doc string + wrt behavior of \n as the first/last element of a skeleton. + +2014-06-24 Michael Albinus + + * net/tramp-adb.el (tramp-adb-handle-process-file): + * net/tramp-sh.el (tramp-sh-handle-process-file): + * net/tramp-smb.el (tramp-smb-handle-process-file): Do not raise + the output buffer when DISPLAY is non-nil. (Bug#17815) + +2014-06-24 Glenn Morris + + * play/landmark.el (landmark-move-down, landmark-move-up): + Fix 2007-10-20 change - preserve horizontal position. + 2014-06-23 Sam Steingold * simple.el (kill-append): Remove undo boundary depending on ... === modified file 'lisp/align.el' --- lisp/align.el 2014-03-24 16:54:24 +0000 +++ lisp/align.el 2014-06-23 23:09:20 +0000 @@ -1130,13 +1130,8 @@ column (if (not tab-stop) (+ column spacing) - (let ((stops tab-stop-list)) - (while stops - (if (and (> (car stops) column) - (= (setq spacing (1- spacing)) 0)) - (setq column (car stops) - stops nil) - (setq stops (cdr stops))))) + (dotimes (_ spacing) + (setq column (indent-next-tab-stop column))) column))) (defsubst align-column (pos) === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2014-06-22 05:43:58 +0000 +++ lisp/gnus/ChangeLog 2014-06-24 07:15:26 +0000 @@ -1,3 +1,8 @@ +2014-06-24 Andreas Schwab + + * html2text.el (html2text-get-attr): Rewrite to handle spaces in quoted + attribute values. (Bug#17834) + 2013-06-22 Dmitry Antipov * gnus-sum.el (gnus-summary-edit-article-done): === modified file 'lisp/gnus/html2text.el' --- lisp/gnus/html2text.el 2014-05-28 06:35:53 +0000 +++ lisp/gnus/html2text.el 2014-06-22 21:14:43 +0000 @@ -179,72 +179,20 @@ (defun html2text-get-attr (p1 p2) (goto-char p1) - (re-search-forward " +[^ ]" p2 t) - (let* ((attr-string (buffer-substring-no-properties (1- (point)) (1- p2))) - (tmp-list (split-string attr-string)) - (attr-list) - (counter 0) - (prev (car tmp-list)) - (this (nth 1 tmp-list)) - (next (nth 2 tmp-list)) - (index 1)) - - (cond - ;; size=3 - ((string-match "[^ ]=[^ ]" prev) - (let ((attr (nth 0 (split-string prev "="))) - (value (substring prev (1+ (string-match "=" prev))))) - (setq attr-list (cons (list attr value) attr-list)))) - ;; size= 3 - ((string-match "[^ ]=\\'" prev) - (setq attr-list (cons (list (substring prev 0 -1) this) attr-list)))) - - (while (< index (length tmp-list)) - (cond - ;; size=3 - ((string-match "[^ ]=[^ ]" this) - (let ((attr (nth 0 (split-string this "="))) - (value (substring this (1+ (string-match "=" this))))) - (setq attr-list (cons (list attr value) attr-list)))) - ;; size =3 - ((string-match "\\`=[^ ]" this) - (setq attr-list (cons (list prev (substring this 1)) attr-list))) - ;; size= 3 - ((string-match "[^ ]=\\'" this) - (setq attr-list (cons (list (substring this 0 -1) next) attr-list))) - ;; size = 3 - ((string= "=" this) - (setq attr-list (cons (list prev next) attr-list)))) - (setq index (1+ index)) - (setq prev this) - (setq this next) - (setq next (nth (1+ index) tmp-list))) - ;; - ;; Tags with no accompanying "=" i.e. value=nil - ;; - (setq prev (car tmp-list)) - (setq this (nth 1 tmp-list)) - (setq next (nth 2 tmp-list)) - (setq index 1) - - (when (and (not (string-match "=" prev)) - (not (string= (substring this 0 1) "="))) - (setq attr-list (cons (list prev nil) attr-list))) - (while (< index (1- (length tmp-list))) - (when (and (not (string-match "=" this)) - (not (or (string= (substring next 0 1) "=") - (string= (substring prev -1) "=")))) - (setq attr-list (cons (list this nil) attr-list))) - (setq index (1+ index)) - (setq prev this) - (setq this next) - (setq next (nth (1+ index) tmp-list))) - - (when (and this - (not (string-match "=" this)) - (not (string= (substring prev -1) "="))) - (setq attr-list (cons (list this nil) attr-list))) - ;; return - value + (re-search-forward "\\s-+" p2 t) + (let (attr-list) + (while (re-search-forward "[-a-z0-9._]+" p2 t) + (setq attr-list + (cons + (list (match-string 0) + (when (looking-at "\\s-*=") + (goto-char (match-end 0)) + (skip-chars-forward "[:space:]") + (when (or (looking-at "\"[^\"]*\"\\|'[^']*'") + (looking-at "[-a-z0-9._:]+")) + (goto-char (match-end 0)) + (match-string 0)))) + attr-list))) attr-list)) ;; === modified file 'lisp/indent.el' --- lisp/indent.el 2014-02-10 01:34:22 +0000 +++ lisp/indent.el 2014-06-23 23:09:20 +0000 @@ -249,7 +249,7 @@ (indent-rigidly--pop-undo) (let* ((current (indent-rigidly--current-indentation beg end)) (rtl (eq (current-bidi-paragraph-direction) 'right-to-left)) - (next (indent--next-tab-stop current (if rtl nil 'prev)))) + (next (indent-next-tab-stop current (if rtl nil 'prev)))) (indent-rigidly beg end (- next current)))) (defun indent-rigidly-right-to-tab-stop (beg end) @@ -258,7 +258,7 @@ (indent-rigidly--pop-undo) (let* ((current (indent-rigidly--current-indentation beg end)) (rtl (eq (current-bidi-paragraph-direction) 'right-to-left)) - (next (indent--next-tab-stop current (if rtl 'prev)))) + (next (indent-next-tab-stop current (if rtl 'prev)))) (indent-rigidly beg end (- next current)))) (defun indent-line-to (column) @@ -654,7 +654,7 @@ (setq tab-stop-list tabs)) (message "Tab stops installed")) -(defun indent--next-tab-stop (column &optional prev) +(defun indent-next-tab-stop (column &optional prev) "Return the next tab stop after COLUMN. If PREV is non-nil, return the previous one instead." (let ((tabs tab-stop-list)) @@ -684,7 +684,7 @@ (interactive) (and abbrev-mode (= (char-syntax (preceding-char)) ?w) (expand-abbrev)) - (let ((nexttab (indent--next-tab-stop (current-column)))) + (let ((nexttab (indent-next-tab-stop (current-column)))) (delete-horizontal-space t) (indent-to nexttab))) @@ -693,7 +693,7 @@ The variable `tab-stop-list' is a list of columns at which there are tab stops. Use \\[edit-tab-stops] to edit them interactively." (interactive) - (let ((nexttab (indent--next-tab-stop (current-column)))) + (let ((nexttab (indent-next-tab-stop (current-column)))) (let ((before (point))) (move-to-column nexttab t) (save-excursion === modified file 'lisp/net/tramp-adb.el' --- lisp/net/tramp-adb.el 2014-06-22 23:12:17 +0000 +++ lisp/net/tramp-adb.el 2014-06-24 07:15:26 +0000 @@ -801,11 +801,11 @@ v (format "(cd %s; %s)" (tramp-shell-quote-argument localname) command) "") - ;; We should show the output anyway. + ;; We should add the output anyway. (when outbuf (with-current-buffer outbuf (insert-buffer-substring (tramp-get-connection-buffer v))) - (when display (display-buffer outbuf)))) + (when (and display (get-buffer-window outbuf t)) (redisplay)))) ;; When the user did interrupt, we should do it also. We use ;; return code -1 as marker. (quit === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2014-06-15 15:47:35 +0000 +++ lisp/net/tramp-sh.el 2014-06-24 07:15:26 +0000 @@ -2994,13 +2994,13 @@ command) t t) 0 1)) - ;; We should show the output anyway. + ;; We should add the output anyway. (when outbuf (with-current-buffer outbuf (insert (with-current-buffer (tramp-get-connection-buffer v) (buffer-string)))) - (when display (display-buffer outbuf)))) + (when (and display (get-buffer-window outbuf t)) (redisplay)))) ;; When the user did interrupt, we should do it also. We use ;; return code -1 as marker. (quit === modified file 'lisp/net/tramp-smb.el' --- lisp/net/tramp-smb.el 2014-06-15 15:47:35 +0000 +++ lisp/net/tramp-smb.el 2014-06-24 07:15:26 +0000 @@ -1225,8 +1225,8 @@ (error (setq ret 1))) - ;; We should show the output anyway. - (when (and outbuf display) (display-buffer outbuf)) + ;; We should redisplay the output. + (when (and display outbuf (get-buffer-window outbuf t)) (redisplay)) ;; Cleanup. We remove all file cache values for the connection, ;; because the remote process could have changed them. === modified file 'lisp/play/landmark.el' --- lisp/play/landmark.el 2014-01-01 07:43:34 +0000 +++ lisp/play/landmark.el 2014-06-21 21:36:44 +0000 @@ -4,13 +4,7 @@ ;; Author: Terrence Brannon (was: ) ;; Created: December 16, 1996 - first release to usenet -;; Keywords: games, gomoku, neural network, adaptive search, chemotaxis - -;;;_* Usage -;;; Just type -;;; M-x eval-buffer -;;; M-x landmark-test-run - +;; Keywords: games, neural network, adaptive search, chemotaxis ;; This file is part of GNU Emacs. @@ -29,6 +23,9 @@ ;;; Commentary: + +;; To try this, just type: M-x landmark-test-run + ;; Landmark is a relatively non-participatory game in which a robot ;; attempts to maneuver towards a tree at the center of the window ;; based on unique olfactory cues from each of the 4 directions. If @@ -1040,13 +1037,17 @@ "Move point down one row on the Landmark board." (interactive) (if (< (landmark-point-y) landmark-board-height) - (forward-line 1)));;; landmark-square-height))) + (let ((col (current-column))) + (forward-line 1) ;;; landmark-square-height + (move-to-column col)))) (defun landmark-move-up () "Move point up one row on the Landmark board." (interactive) (if (> (landmark-point-y) 1) - (forward-line (- landmark-square-height)))) + (let ((col (current-column))) + (forward-line (- landmark-square-height)) + (move-to-column col)))) (defun landmark-move-ne () "Move point North East on the Landmark board." === modified file 'lisp/skeleton.el' --- lisp/skeleton.el 2014-06-21 19:45:59 +0000 +++ lisp/skeleton.el 2014-06-24 07:15:26 +0000 @@ -197,8 +197,9 @@ If ELEMENT is a string or a character it gets inserted (see also `skeleton-transformation-function'). Other possibilities are: - \\n if not the last element of the skeleton, or not at eol, - go to next line and indent according to mode + \\n go to next line and indent according to mode, unless + this is the first/last element of a skeleton and point + is at bol/eol _ interesting point, interregion here - interesting point, no interregion interaction, overrides interesting point set by _ @@ -215,7 +216,8 @@ Note that \\n as the last element of the skeleton only inserts a newline if not at eol. If you want to unconditionally insert a newline -at the end of the skeleton, use \"\\n\" instead. +at the end of the skeleton, use \"\\n\" instead. Likewise with \\n +as the first element when at bol. Further elements can be defined via `skeleton-further-elements'. ELEMENT may itself be a SKELETON with an INTERACTOR. The user is prompted ------------------------------------------------------------ revno: 117384 committer: Sam Steingold branch nick: trunk timestamp: Mon 2014-06-23 16:23:33 -0400 message: Optionally, undo several consequential deletion in one step. * lisp/simple.el (kill-append): Remove undo boundary depending on ... (kill-append-merge-undo): New user option. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-23 15:32:24 +0000 +++ lisp/ChangeLog 2014-06-23 20:23:33 +0000 @@ -1,3 +1,8 @@ +2014-06-23 Sam Steingold + + * simple.el (kill-append): Remove undo boundary depending on ... + (kill-append-merge-undo): New user option. + 2014-06-23 Stefan Monnier * simple.el (handle-shift-selection, exchange-point-and-mark) === modified file 'lisp/simple.el' --- lisp/simple.el 2014-06-23 15:32:24 +0000 +++ lisp/simple.el 2014-06-23 20:23:33 +0000 @@ -3742,14 +3742,34 @@ (if interprogram-cut-function (funcall interprogram-cut-function string))) +;; It has been argued that this should work similar to `self-insert-command' +;; which merges insertions in undo-list in groups of 20 (hard-coded in cmds.c). +(defcustom kill-append-merge-undo nil + "Whether appending to kill ring also makes \\[undo] restore both pieces of text simultaneously." + :type 'boolean + :group 'killing + :version "24.5") + (defun kill-append (string before-p) "Append STRING to the end of the latest kill in the kill ring. If BEFORE-P is non-nil, prepend STRING to the kill. +Also removes the last undo boundary in the current buffer, + depending on `kill-append-merge-undo'. If `interprogram-cut-function' is set, pass the resulting kill to it." (let* ((cur (car kill-ring))) (kill-new (if before-p (concat string cur) (concat cur string)) (or (= (length cur) 0) - (equal nil (get-text-property 0 'yank-handler cur)))))) + (equal nil (get-text-property 0 'yank-handler cur)))) + (when (and kill-append-merge-undo (not buffer-read-only)) + (let ((prev buffer-undo-list) + (next (cdr buffer-undo-list))) + ;; find the next undo boundary + (while (car next) + (pop next) + (pop prev)) + ;; remove this undo boundary + (when prev + (setcdr prev (cdr next))))))) (defcustom yank-pop-change-selection nil "Whether rotating the kill ring changes the window system selection. ------------------------------------------------------------ revno: 117383 fixes bug: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6316 committer: Stefan Monnier branch nick: trunk timestamp: Mon 2014-06-23 11:32:24 -0400 message: * lisp/simple.el (handle-shift-selection, exchange-point-and-mark) (activate-mark): Set transient-mark-mode buffer-locally. (transient-mark-mode): Use&set the global value. * lisp/mouse.el (mouse-set-region-1, mouse-drag-track): Idem. * lisp/org/org-compat.el (activate-mark): Idem. * lisp/emulation/edt.el (edt-emulation-off): Save&restore the global transient-mark-mode setting. * lisp/obsolete/pc-select.el (pc-selection-mode): Use the transient-mark-mode function. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-23 15:27:16 +0000 +++ lisp/ChangeLog 2014-06-23 15:32:24 +0000 @@ -1,7 +1,18 @@ +2014-06-23 Stefan Monnier + + * simple.el (handle-shift-selection, exchange-point-and-mark) + (activate-mark): Set transient-mark-mode buffer-locally (bug#6316). + (transient-mark-mode): Use&set the global value. + * mouse.el (mouse-set-region-1, mouse-drag-track): Idem. + * emulation/edt.el (edt-emulation-off): Save&restore the global + transient-mark-mode setting. + * obsolete/pc-select.el (pc-selection-mode): Use the + transient-mark-mode function. + 2014-06-23 Eli Zaretskii - * international/fontset.el (script-representative-chars): Add - representative characters for scripts added in Unicode 7.0. + * international/fontset.el (script-representative-chars): + Add representative characters for scripts added in Unicode 7.0. (otf-script-alist): Synchronize with the latest registry of OTF script tags. @@ -29,8 +40,8 @@ * obsolete/vi.el (vi-set-mark): * term.el (term-handle-scroll): * textmodes/bibtex.el (bibtex-fill-field, bibtex-fill-entry): - * wid-edit.el (widget-editable-list-value-create): Prefer - point-marker to copy-marker of point. + * wid-edit.el (widget-editable-list-value-create): + Prefer point-marker to copy-marker of point. 2014-06-21 Fabián Ezequiel Gallina @@ -233,9 +244,9 @@ (calculator-expt, calculator-truncate): Minor code improvements. (calculator-need-3-lines): New function pulling out code from `calculator'. - (calculator-get-display): Renamed from `calculator-get-prompt', and + (calculator-get-display): Rename from `calculator-get-prompt', and improved. - (calculator-push-curnum): Renamed from `calculator-curnum-value', and + (calculator-push-curnum): Rename from `calculator-curnum-value', and extended for all uses of it. All callers changed. (calculator-groupize-number): New utility for splitting a number into groups. @@ -247,11 +258,11 @@ `pcase' for conciseness and clarity). (calculator-reduce-stack): Now doing just the reduction loop using `calculator-reduce-stack-once'. - (calculator-funcall): Improved code, make it work in v24.3.1 too. - (calculator-last-input): Improved code, remove some old cruft. + (calculator-funcall): Improve code, make it work in v24.3.1 too. + (calculator-last-input): Improve code, remove some old cruft. (calculator-quit): Kill `calculator-buffer' in electric mode too. - (calculator-integer-p): Removed. - (calculator-fact): Improved code, make it work on non-integer values + (calculator-integer-p): Remove. + (calculator-fact): Improve code, make it work on non-integer values too (using truncated numbers). 2014-06-15 Michael Albinus === modified file 'lisp/emulation/edt.el' --- lisp/emulation/edt.el 2014-02-25 08:41:47 +0000 +++ lisp/emulation/edt.el 2014-06-23 15:32:24 +0000 @@ -2033,7 +2033,8 @@ ;; Make highlighting of selected text work properly for EDT commands. (if (featurep 'emacs) (progn - (setq edt-orig-transient-mark-mode transient-mark-mode) + (setq edt-orig-transient-mark-mode + (default-value 'transient-mark-mode)) (add-hook 'activate-mark-hook (function (lambda () @@ -2068,7 +2069,7 @@ (edt-reset) (force-mode-line-update t) (if (featurep 'emacs) - (setq transient-mark-mode edt-orig-transient-mark-mode)) + (setq-default transient-mark-mode edt-orig-transient-mark-mode)) (message "Original key bindings restored; EDT Emulation disabled")) (defun edt-default-menu-bar-update-buffers () === modified file 'lisp/mouse.el' --- lisp/mouse.el 2014-06-21 19:45:59 +0000 +++ lisp/mouse.el 2014-06-23 15:32:24 +0000 @@ -579,10 +579,10 @@ (defun mouse-set-region-1 () ;; Set transient-mark-mode for a little while. (unless (eq (car-safe transient-mark-mode) 'only) - (setq transient-mark-mode - (cons 'only - (unless (eq transient-mark-mode 'lambda) - transient-mark-mode)))) + (setq-local transient-mark-mode + (cons 'only + (unless (eq transient-mark-mode 'lambda) + transient-mark-mode)))) (setq mouse-last-region-beg (region-beginning)) (setq mouse-last-region-end (region-end)) (setq mouse-last-region-tick (buffer-modified-tick))) @@ -801,10 +801,10 @@ ;; Activate the region, using `mouse-start-end' to determine where ;; to put point and mark (e.g., double-click will select a word). - (setq transient-mark-mode - (if (eq transient-mark-mode 'lambda) - '(only) - (cons 'only transient-mark-mode))) + (setq-local transient-mark-mode + (if (eq transient-mark-mode 'lambda) + '(only) + (cons 'only transient-mark-mode))) (let ((range (mouse-start-end start-point start-point click-count))) (push-mark (nth 0 range) t t) (goto-char (nth 1 range))) === modified file 'lisp/obsolete/pc-select.el' --- lisp/obsolete/pc-select.el 2014-01-01 07:43:34 +0000 +++ lisp/obsolete/pc-select.el 2014-06-23 15:32:24 +0000 @@ -388,7 +388,7 @@ (fboundp 'normal-erase-is-backspace-mode)) (normal-erase-is-backspace-mode 1)) (setq highlight-nonselected-windows nil) - (setq transient-mark-mode t) + (transient-mark-mode 1) (setq mark-even-if-inactive t) (delete-selection-mode 1)) ;;else === modified file 'lisp/org/ChangeLog' --- lisp/org/ChangeLog 2014-06-22 23:12:17 +0000 +++ lisp/org/ChangeLog 2014-06-23 15:32:24 +0000 @@ -1,3 +1,7 @@ +2014-06-23 Stefan Monnier + + * org-compat.el (activate-mark): Set transient-mark-mode buffer-locally. + 2014-06-22 Mario Lang * org-list.el (org-list-insert-item): The the -> the. === modified file 'lisp/org/org-compat.el' --- lisp/org/org-compat.el 2014-05-29 03:45:29 +0000 +++ lisp/org/org-compat.el 2014-06-23 15:32:24 +0000 @@ -295,7 +295,7 @@ (setq mark-active t) (when (and (boundp 'transient-mark-mode) (not transient-mark-mode)) - (setq transient-mark-mode 'lambda)) + (set (make-local-variable 'transient-mark-mode) 'lambda)) (when (boundp 'zmacs-regions) (setq zmacs-regions t))))) === modified file 'lisp/simple.el' --- lisp/simple.el 2014-06-21 19:45:59 +0000 +++ lisp/simple.el 2014-06-23 15:32:24 +0000 @@ -4522,7 +4522,7 @@ (force-mode-line-update) ;Refresh toolbar (bug#16382). (setq mark-active t) (unless (or transient-mark-mode no-tmm) - (setq transient-mark-mode 'lambda)) + (setq-local transient-mark-mode 'lambda)) (run-hooks 'activate-mark-hook)))) (defun set-mark (pos) @@ -4828,7 +4828,7 @@ (set-mark (point)) (goto-char omark) (cond (temp-highlight - (setq transient-mark-mode (cons 'only transient-mark-mode))) + (setq-local transient-mark-mode (cons 'only transient-mark-mode))) ((or (and arg (region-active-p)) ; (xor arg (not (region-active-p))) (not (or arg (region-active-p)))) (deactivate-mark)) @@ -4867,10 +4867,10 @@ (cond ((and shift-select-mode this-command-keys-shift-translated) (unless (and mark-active (eq (car-safe transient-mark-mode) 'only)) - (setq transient-mark-mode - (cons 'only - (unless (eq transient-mark-mode 'lambda) - transient-mark-mode))) + (setq-local transient-mark-mode + (cons 'only + (unless (eq transient-mark-mode 'lambda) + transient-mark-mode))) (push-mark nil nil t))) ((eq (car-safe transient-mark-mode) 'only) (setq transient-mark-mode (cdr transient-mark-mode)) @@ -4901,7 +4901,7 @@ or \"mark.*active\" at the prompt." :global t ;; It's defined in C/cus-start, this stops the d-m-m macro defining it again. - :variable transient-mark-mode) + :variable (default-value 'transient-mark-mode)) (defvar widen-automatically t "Non-nil means it is ok for commands to call `widen' when they want to. ------------------------------------------------------------ revno: 117382 committer: Eli Zaretskii branch nick: trunk timestamp: Mon 2014-06-23 18:27:16 +0300 message: Update various character- and script-related databases per Unicode 7.0. lisp/international/fontset.el (script-representative-chars): Add representative characters for scripts added in Unicode 7.0. (otf-script-alist): Synchronize with the latest registry of OTF script tags. lisp/international/characters.el (char-script-table): Update for scripts added and codepoint ranges changed in Unicode 7.0. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2014-06-23 05:14:23 +0000 +++ lisp/ChangeLog 2014-06-23 15:27:16 +0000 @@ -1,3 +1,13 @@ +2014-06-23 Eli Zaretskii + + * international/fontset.el (script-representative-chars): Add + representative characters for scripts added in Unicode 7.0. + (otf-script-alist): Synchronize with the latest registry of OTF + script tags. + + * international/characters.el (char-script-table): Update for + scripts added and codepoint ranges changed in Unicode 7.0. + 2014-06-23 Eli Barzilay * calculator.el (calculator-standard-displayer): Fix bug in use of === modified file 'lisp/international/characters.el' --- lisp/international/characters.el 2014-04-12 08:49:05 +0000 +++ lisp/international/characters.el 2014-06-23 15:27:16 +0000 @@ -1176,8 +1176,8 @@ (elt '((#x0000 #x007F latin) (#x00A0 #x024F latin) - (#x0250 #x02AF phonetic) - (#x02B0 #x036F latin) + (#x0250 #x02AF phonetic) ; IPA Extensions + (#x02B0 #x036F latin) ; Spacing Modifiers and Diacriticals (#x0370 #x03E1 greek) (#x03E2 #x03EF coptic) (#x03F0 #x03F3 greek) @@ -1186,12 +1186,12 @@ (#x0590 #x05FF hebrew) (#x0600 #x06FF arabic) (#x0700 #x074F syriac) - (#x0750 #x077F arabic) + (#x0750 #x077F arabic) ; Arabic Supplement (#x0780 #x07BF thaana) (#x07C0 #x07FF nko) (#x0800 #x083F samaritan) (#x0840 #x085F mandaic) - (#x08A0 #x08FF arabic) + (#x08A0 #x08FF arabic) ; Arabic Extended-A (#x0900 #x097F devanagari) (#x0980 #x09FF bengali) (#x0A00 #x0A7F gurmukhi) @@ -1205,10 +1205,10 @@ (#x0E00 #x0E7F thai) (#x0E80 #x0EFF lao) (#x0F00 #x0FFF tibetan) - (#x1000 #x109F burmese) ; according to Unicode 6.1, should be "myanmar" + (#x1000 #x109F burmese) ; Myanmar (#x10A0 #x10FF georgian) (#x1100 #x11FF hangul) - (#x1200 #x139F ethiopic) + (#x1200 #x139F ethiopic) ; Ethiopic and Ethiopic Supplement (#x13A0 #x13FF cherokee) (#x1400 #x167F canadian-aboriginal) (#x1680 #x169F ogham) @@ -1219,13 +1219,14 @@ (#x1760 #x177F tagbanwa) (#x1780 #x17FF khmer) (#x1800 #x18AF mongolian) - (#x18B0 #x18FF canadian-aboriginal) + (#x18B0 #x18FF canadian-aboriginal) ; Canadian Aboriginal Syllabics Extended (#x1900 #x194F limbu) (#x1950 #x197F tai-le) - (#x1980 #x19DF tai-lue) - (#x19E0 #x19FF khmer) + (#x1980 #x19DF tai-lue) ; New Tai Lue + (#x19E0 #x19FF khmer) ; Khmer Symbols (#x1A00 #x1A00 buginese) (#x1A20 #x1AAF tai-tham) + (#x1AB0 #x1AFF latin) ; Combining Diacritical Marks Extended (#x1B00 #x1B7F balinese) (#x1B80 #x1BBF sundanese) (#x1BC0 #x1BFF batak) @@ -1233,58 +1234,63 @@ (#x1C50 #x1C7F ol-chiki) (#x1CC0 #x1CCF sundanese) (#x1CD0 #x1CFF vedic) - (#x1D00 #x1DBF phonetic) - (#x1DC0 #x1EFF latin) - (#x1F00 #x1FFF greek) + (#x1D00 #x1DBF phonetic) ; Phonetic Extensions & Supplement + (#x1DC0 #x1EFF latin) ; Latin Extended Additional + (#x1F00 #x1FFF greek) ; Greek Extended (#x2000 #x27FF symbol) (#x2800 #x28FF braille) (#x2900 #x2BFF symbol) (#x2C00 #x2C5F glagolitic) - (#x2C60 #x2C7F latin) + (#x2C60 #x2C7F latin) ; Latin Extended-C (#x2C80 #x2CFF coptic) - (#x2D00 #x2D2F georgian) + (#x2D00 #x2D2F georgian) ; Georgian Supplement (#x2D30 #x2D7F tifinagh) - (#x2D80 #x2DDF ethiopic) - (#x2DE0 #x2DFF cyrillic) + (#x2D80 #x2DDF ethiopic) ; Ethiopic Extended + (#x2DE0 #x2DFF cyrillic) ; Cyrillic Extended-A (#x2E00 #x2E7F symbol) (#x2E80 #x2FDF han) (#x2FF0 #x2FFF ideographic-description) (#x3000 #x303F cjk-misc) - (#x3040 #x30FF kana) + (#x3040 #x30FF kana) ; Hiragana and Katakana (#x3100 #x312F bopomofo) - (#x3130 #x318F hangul) + (#x3130 #x318F hangul) ; Hangul Compatibility Jamo (#x3190 #x319F kanbun) - (#x31A0 #x31BF bopomofo) - (#x31C0 #x31EF cjk-misc) - (#x31F0 #x31FF kana) + (#x31A0 #x31BF bopomofo) ; Bopomofo Extended + (#x31C0 #x31EF cjk-misc) ; CJK Strokes + (#x31F0 #x31FF kana) ; Katakana Phonetic Extensions (#x3200 #x9FAF han) (#xA000 #xA4CF yi) (#xA4D0 #xA4FF lisu) (#xA500 #xA63F vai) - (#xA640 #xA69F cyrillic) + (#xA640 #xA69F cyrillic) ; Cyrillic Extended-B (#xA6A0 #xA6FF bamum) (#xA700 #xA7FF latin) (#xA800 #xA82F syloti-nagri) (#xA830 #xA83F north-indic-number) (#xA840 #xA87F phags-pa) (#xA880 #xA8DF saurashtra) - (#xA8E0 #xA8FF devanagari) + (#xA8E0 #xA8FF devanagari) ; Devanagari Extended (#xA900 #xA92F kayah-li) (#xA930 #xA95F rejang) - (#xA960 #xA97F hangul) + (#xA960 #xA97F hangul) ; Hangul Jamo Extended (#xA980 #xA9DF javanese) + (#xA9E0 #xA9FF burmese) ; Myanmar Extended-B (#xAA00 #xAA5F cham) - (#xAA60 #xAA7B burmese) ; Unicode 6.1: "myanmar" + (#xAA60 #xAA7F burmese) ; Myanmar Extended-A (#xAA80 #xAADF tai-viet) - (#xAAE0 #xAAFF meetei-mayek) - (#xAB00 #xAB2F ethiopic) + (#xAAE0 #xAAFF meetei-mayek) ; Meetei Mayek Extensions + (#xAB00 #xAB2F ethiopic) ; Ethiopic Extended-A + (#xAB30 #xAB6F latin) ; Latin Extended-E (#xABC0 #xABFF meetei-mayek) (#xAC00 #xD7FF hangul) (#xF900 #xFAFF han) - (#xFB1D #xFB4F hebrew) - (#xFB50 #xFDFF arabic) + (#xFB00 #xFB06 latin) ; Latin ligatures + (#xFB13 #xFB17 armenian) ; Armenian ligatures + (#xFB1D #xFB4F hebrew) ; Alphabetic Presentation Forms + (#xFB50 #xFDFF arabic) ; Arabic Presentation Forms-A + (#xFE20 #xFE2F latin) ; Combining Half Marks (#xFE30 #xFE4F han) - (#xFE70 #xFEFF arabic) + (#xFE70 #xFEFF arabic) ; Arabic Presentation Forms-B (#xFF00 #xFF5F cjk-misc) (#xFF61 #xFF9F kana) (#xFFE0 #xFFE6 cjk-misc) @@ -1295,51 +1301,75 @@ (#x101D0 #x101FF phaistos-disc) (#x10280 #x1029F lycian) (#x102A0 #x102DF carian) + (#x102E0 #x102FF coptic) ; Coptic Epact Numbers (#x10300 #x1032F olt-italic) (#x10330 #x1034F gothic) + (#x10350 #x1037F old-permic) (#x10380 #x1039F ugaritic) (#x103A0 #x103DF old-persian) (#x10400 #x1044F deseret) (#x10450 #x1047F shavian) (#x10480 #x104AF osmanya) + (#x10500 #x1052F elbasan) + (#x10530 #x1056F caucasian-albanian) + (#x10600 #x106BF linear-a) (#x10800 #x1083F cypriot-syllabary) (#x10840 #x1085F aramaic) + (#x10860 #x1087F palmyrene) + (#x10880 #x108AF nabataean) (#x10900 #x1091F phoenician) (#x10920 #x1093F lydian) (#x10980 #x109FF meroitic) (#x10A00 #x10A5F kharoshthi) (#x10A60 #x10A7F old-south-arabian) + (#x10A80 #x10A9F old-north-arabian) + (#x10AC0 #x10AFF manichaean) (#x10B00 #x10B3F avestan) (#x10B40 #x10B5F inscriptional-parthian) (#x10B60 #x10B7F inscriptional-pahlavi) + (#x10B80 #x10BAF psalter-pahlavi) (#x10C00 #x10C4F old-turkic) (#x10E60 #x10E7F rumi-number) (#x11000 #x1107F brahmi) (#x11080 #x110CF kaithi) (#x110D0 #x110FF sora-sompeng) (#x11100 #x1114F chakma) + (#x11150 #x1117F mahajani) (#x11180 #x111DF sharada) + (#x111E0 #x111FF sinhala-archaic-number) + (#x11200 #x1124F khojki) + (#x112B0 #x112FF khudawadi) + (#x11300 #x1137F grantha) + (#x11480 #x114DF tirhuta) + (#x11580 #x115FF siddham) + (#x11600 #x1165F modi) (#x11680 #x116CF takri) + (#x118A0 #x118FF warang-citi) + (#x11AC0 #x11AFF pau-cin-hau) (#x12000 #x123FF cuneiform) (#x12400 #x1247F cuneiform-numbers-and-punctuation) (#x13000 #x1342F egyptian) (#x16800 #x16A3F bamum) + (#x16A40 #x16A6F mro) + (#x16AD0 #x16AFF bassa-vah) + (#x16B00 #x16B8F pahawh-hmong) (#x16F00 #x16F9F miao) - (#x1B000 #x1B0FF kana) + (#x1B000 #x1B0FF kana) ; Kana Supplement + (#x1BC00 #x1BCAF duployan-shorthand) (#x1D000 #x1D0FF byzantine-musical-symbol) (#x1D100 #x1D1FF musical-symbol) (#x1D200 #x1D24F ancient-greek-musical-notation) (#x1D300 #x1D35F tai-xuan-jing-symbol) (#x1D360 #x1D37F counting-rod-numeral) (#x1D400 #x1D7FF mathematical) - (#x1EE00 #x1EEFF arabic) + (#x1E800 #x1E8DF mende-kikakui) + (#x1EE00 #x1EEFF arabic) ; Arabic Mathematical Alphabetic Symbols (#x1F000 #x1F02F mahjong-tile) (#x1F030 #x1F09F domino-tile) (#x1F0A0 #x1F0FF playing-cards) - (#x1F100 #x1F1FF symbol) - (#x1F200 #x1F2FF han) - (#x1F300 #x1F64F symbol) - (#x1F680 #x1F77F symbol) + (#x1F100 #x1F1FF symbol) ; Enclosed Alphanumeric Supplement + (#x1F200 #x1F2FF han) ; Enclosed Ideographic Supplement + (#x1F300 #x1F8FF symbol) (#x20000 #x2B81F han) (#x2F800 #x2FFFF han))) (set-char-table-range char-script-table === modified file 'lisp/international/fontset.el' --- lisp/international/fontset.el 2014-01-01 07:43:34 +0000 +++ lisp/international/fontset.el 2014-06-23 15:27:16 +0000 @@ -199,91 +199,158 @@ (carian #x102A0) (olt-italic #x10300) (ugaritic #x10380) + (old-permic #x10350) (old-persian #x103A0) (deseret #x10400) (shavian #x10450) (osmanya #x10480) + (elbasan #x10500) + (caucasian-albanian #x10530) + (linear-a #x10600) (cypriot-syllabary #x10800) + (palmyrene #x10860) + (nabataean #x10880) (phoenician #x10900) (lydian #x10920) (kharoshthi #x10A00) + (manichaean #x10AC0) + (mahajani #x11150) + (sinhala-archaic-number #x111E1) + (khojki #x11200) + (khudawadi #x112B0) + (grantha #x11305) + (tirhuta #x11481) + (siddham #x11580) + (modi #x11600) + (takri #x11680) + (warang-citi #x118A1) + (pau-cin-hau #x11AC0) (cuneiform #x12000) (cuneiform-numbers-and-punctuation #x12400) + (mro #x16A40) + (bassa-vah #x16AD0) + (pahawh-hmong #x16B11) + (duployan-shorthand #x1BC20) (byzantine-musical-symbol #x1D000) (musical-symbol #x1D100) (ancient-greek-musical-notation #x1D200) (tai-xuan-jing-symbol #x1D300) (counting-rod-numeral #x1D360) + (mende-kikakui #x1E810) (mahjong-tile #x1F000) (domino-tile #x1F030))) (defvar otf-script-alist) +;; The below was synchronized with the latest Jan 3, 2013 version of +;; https://www.microsoft.com/typography/otspec/scripttags.htm. (setq otf-script-alist '((arab . arabic) + (armi . aramaic) (armn . armenian) + (avst . avestan) (bali . balinese) + (bamu . bamum) + (batk . batak) + (bng2 . bengali) (beng . bengali) (bopo . bopomofo) (brai . braille) + (brah . brahmi) (bugi . buginese) (buhd . buhid) (byzm . byzantine-musical-symbol) (cans . canadian-aboriginal) + (cari . carian) + (cakm . chakma) + (cham . cham) (cher . cherokee) (copt . coptic) (xsux . cuneiform) + (cprt . cypriot) (cyrl . cyrillic) - (cprt . cypriot) (dsrt . deseret) (deva . devanagari) + (dev2 . devanagari) + (egyp . egyptian) (ethi . ethiopic) (geor . georgian) (glag . glagolitic) (goth . gothic) (grek . greek) (gujr . gujarati) + (gjr2 . gujarati) (guru . gurmukhi) + (gur2 . gurmukhi) (hani . han) (hang . hangul) + (jamo . hangul) (hano . hanunoo) (hebr . hebrew) - (kana . kana) + (phli . inscriptional-pahlavi) + (prti . inscriptional-parthian) + (java . javanese) + (kthi . kaithi) + (kana . kana) ; Hiragana (knda . kannada) + (knd2 . kannada) + (kali . kayah-li) (khar . kharoshthi) (khmr . khmer) (lao\ . lao) (latn . latin) + (lepc . lepcha) (limb . limbu) (linb . linear_b) (mlym . malayalam) + (mlm2 . malayalam) + (mand . mandaic) (math . mathematical) + (mtei . meetei-mayek) + (merc . meroitic) + (mero . meroitic) (mong . mongolian) (musc . musical-symbol) (mymr . burmese) (nko\ . nko) (ogam . ogham) + (olck . ol-chiki) (ital . old_italic) (xpeo . old_persian) + (sarb . old-south-arabian) + (orkh . old-turkic) (orya . oriya) + (ory2 . oriya) (osma . osmanya) (phag . phags-pa) (phnx . phoenician) + (rjng . rejang) (runr . runic) + (samr . samaritan) + (saur . saurashtra) + (shrd . sharada) (shaw . shavian) (sinh . sinhala) + (sora . sora-sompeng) + (sund . sundanese) (sylo . syloti_nagri) (syrc . syriac) (tglg . tagalog) (tagb . tagbanwa) + (tale . tai_le) + (talu . tai-lue) + (lana . tai-tham) + (tavt . tai-viet) + (takr . takri) (taml . tamil) - (tale . tai_le) + (tml2 . tamil) (telu . telugu) (thaa . thaana) (thai . thai) (tibt . tibetan) (tfng . tifinagh) (ugar . ugaritic) + (vai\ . vai) (yi\ \ . yi))) ;; Set standard fontname specification of characters in the default @@ -312,7 +379,7 @@ (eval-when-compile -;; Build a data to initialize the default fontset at compile time to +;; Build data to initialize the default fontset at compile time to ;; avoid loading charsets that won't be necessary at runtime. ;; The value is (CJK-REGISTRY-VECTOR TARGET-SPEC ...), where ------------------------------------------------------------ revno: 117381 committer: Glenn Morris branch nick: trunk timestamp: Sun 2014-06-22 23:43:20 -0700 message: Misc small doc/ Makefile cleanup * emacs/Makefile.in (mkinfodir): Remove. (.dvi.ps): Replace with pattern rule. (${buildinfodir}): New rule. ($(buildinfodir)/emacs.info): Use order-only prereq for output dir. Use $<. (emacs.dvi, emacs.pdf, emacs.html, emacs-xtra.dvi, emacs-xtra.pdf): Use $<. (%.ps): New rule. * lispintro/Makefile.in (mkinfodir): Remove. (.dvi.ps): Replace with explicit rule. (${buildinfodir}): New rule. (${buildinfodir}/eintr.info): Use order-only prereq for output dir. Use $<. (emacs-lisp-intro.dvi, emacs-lisp-intro.pdf, emacs-lisp-intro.html): Use $<. (emacs-lisp-intro.ps): New rule. * lispref/Makefile.in (mkinfodir): Remove. (.dvi.ps): Replace with explicit rule. (html): Declare as PHONY. (${buildinfodir}): New rule. ($(buildinfodir)/elisp.info): Use order-only prereq for output dir. Use $<. (elisp.dvi, elisp.html, elisp.pdf): Use $<. (elisp.ps): New rule. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2014-06-23 06:25:47 +0000 +++ doc/emacs/ChangeLog 2014-06-23 06:43:20 +0000 @@ -1,6 +1,14 @@ 2014-06-23 Glenn Morris * Makefile.in (%.texi): Disable implicit rules. + (mkinfodir): Remove. + (.dvi.ps): Replace with pattern rule. + (${buildinfodir}): New rule. + ($(buildinfodir)/emacs.info): Use order-only prereq for output dir. + Use $<. + (emacs.dvi, emacs.pdf, emacs.html, emacs-xtra.dvi, emacs-xtra.pdf): + Use $<. + (%.ps): New rule. 2014-06-15 Glenn Morris === modified file 'doc/emacs/Makefile.in' --- doc/emacs/Makefile.in 2014-06-23 06:25:47 +0000 +++ doc/emacs/Makefile.in 2014-06-23 06:43:20 +0000 @@ -142,47 +142,44 @@ ${srcdir}/kmacro.texi \ $(EMACS_XTRA) -## The info/ directory exists in release tarfiles but not the repository. -mkinfodir = @${MKDIR_P} ${buildinfodir} - ## Disable implicit rules. %.texi: ; .PHONY: info dvi html pdf ps -.SUFFIXES: .ps .dvi - -.dvi.ps: - $(DVIPS) -o $@ $< - info: $(buildinfodir)/emacs.info dvi: $(DVI_TARGETS) html: $(HTML_TARGETS) pdf: $(PDF_TARGETS) ps: $(PS_TARGETS) +## The info/ directory exists in release tarfiles but not the repository. +${buildinfodir}: + ${MKDIR_P} $@ + # Note that all the Info targets build the Info files in srcdir. # There is no provision for Info files to exist in the build directory. # In a distribution of Emacs, the Info files should be up to date. -# Note: "<" is not portable in ordinary make rules. -$(buildinfodir)/emacs.info: ${EMACSSOURCES} - $(mkinfodir) - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/emacs.texi +$(buildinfodir)/emacs.info: ${EMACSSOURCES} | ${buildinfodir} + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $< emacs.dvi: ${EMACSSOURCES} - $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi + $(ENVADD) $(TEXI2DVI) $< emacs.pdf: ${EMACSSOURCES} - $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi + $(ENVADD) $(TEXI2PDF) $< emacs.html: ${EMACSSOURCES} - $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs.texi + $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $< emacs-xtra.dvi: $(EMACS_XTRA) - $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi + $(ENVADD) $(TEXI2DVI) $< emacs-xtra.pdf: $(EMACS_XTRA) - $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi + $(ENVADD) $(TEXI2PDF) $< + +%.ps: %.dvi + $(DVIPS) -o $@ $< .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean infoclean === modified file 'doc/lispintro/ChangeLog' --- doc/lispintro/ChangeLog 2014-06-23 06:25:47 +0000 +++ doc/lispintro/ChangeLog 2014-06-23 06:43:20 +0000 @@ -1,6 +1,14 @@ 2014-06-23 Glenn Morris * Makefile.in (%.texi): Disable implicit rules. + (mkinfodir): Remove. + (.dvi.ps): Replace with explicit rule. + (${buildinfodir}): New rule. + (${buildinfodir}/eintr.info): Use order-only prereq for output dir. + Use $<. + (emacs-lisp-intro.dvi, emacs-lisp-intro.pdf, emacs-lisp-intro.html): + Use $<. + (emacs-lisp-intro.ps): New rule. 2014-06-15 Glenn Morris === modified file 'doc/lispintro/Makefile.in' --- doc/lispintro/Makefile.in 2014-06-23 06:25:47 +0000 +++ doc/lispintro/Makefile.in 2014-06-23 06:43:20 +0000 @@ -66,8 +66,6 @@ PDF_TARGETS = emacs-lisp-intro.pdf PS_TARGETS = emacs-lisp-intro.ps -mkinfodir = @${MKDIR_P} ${buildinfodir} - srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \ ${emacsdir}/emacsver.texi @@ -76,33 +74,31 @@ .PHONY: info dvi html pdf ps -.SUFFIXES: .ps .dvi - -.dvi.ps: - $(DVIPS) -o $@ $< - info: ${buildinfodir}/eintr.info - dvi: $(DVI_TARGETS) html: $(HTML_TARGETS) pdf: $(PDF_TARGETS) ps: $(PS_TARGETS) +${buildinfodir}: + ${MKDIR_P} $@ + # The file name eintr must fit within 5 characters, to allow for # -NN extensions to fit into DOS 8+3 limits without clashing. -# Note: "<" is not portable in ordinary make rules. -${buildinfodir}/eintr.info: ${srcs} - $(mkinfodir) - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi +${buildinfodir}/eintr.info: ${srcs} | ${buildinfodir} + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $< emacs-lisp-intro.dvi: ${srcs} - $(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi + $(ENVADD) $(TEXI2DVI) $< emacs-lisp-intro.pdf: ${srcs} - $(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi + $(ENVADD) $(TEXI2PDF) $< emacs-lisp-intro.html: ${srcs} - $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi + $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $< + +emacs-lisp-intro.ps: emacs-lisp-intro.dvi + $(DVIPS) -o $@ $< .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean infoclean === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2014-06-23 06:25:47 +0000 +++ doc/lispref/ChangeLog 2014-06-23 06:43:20 +0000 @@ -1,6 +1,14 @@ 2014-06-23 Glenn Morris * Makefile.in (%.texi): Disable implicit rules. + (mkinfodir): Remove. + (.dvi.ps): Replace with explicit rule. + (html): Declare as PHONY. + (${buildinfodir}): New rule. + ($(buildinfodir)/elisp.info): Use order-only prereq for output dir. + Use $<. + (elisp.dvi, elisp.html, elisp.pdf): Use $<. + (elisp.ps): New rule. 2014-06-21 Eli Zaretskii === modified file 'doc/lispref/Makefile.in' --- doc/lispref/Makefile.in 2014-06-23 06:25:47 +0000 +++ doc/lispref/Makefile.in 2014-06-23 06:43:20 +0000 @@ -124,17 +124,10 @@ $(srcdir)/gpl.texi \ $(srcdir)/doclicense.texi -mkinfodir = @${MKDIR_P} ${buildinfodir} - ## Disable implicit rules. %.texi: ; -.PHONY: info dvi pdf ps - -.SUFFIXES: .ps .dvi - -.dvi.ps: - $(DVIPS) -o $@ $< +.PHONY: info dvi html pdf ps info: $(buildinfodir)/elisp.info dvi: $(DVI_TARGETS) @@ -142,19 +135,23 @@ pdf: $(PDF_TARGETS) ps: $(PS_TARGETS) -## Note: "<" is not portable in ordinary make rules. -$(buildinfodir)/elisp.info: $(srcs) - $(mkinfodir) - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $(srcdir)/elisp.texi +${buildinfodir}: + ${MKDIR_P} $@ + +$(buildinfodir)/elisp.info: $(srcs) | ${buildinfodir} + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $< elisp.dvi: $(srcs) - $(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi + $(ENVADD) $(TEXI2DVI) $< elisp.html: $(srcs) - $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $(srcdir)/elisp.texi + $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $< elisp.pdf: $(srcs) - $(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi + $(ENVADD) $(TEXI2PDF) $< + +elisp.ps: elisp.dvi + $(DVIPS) -o $@ $< .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean infoclean ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.