diff options
author | Glenn Morris <[email protected]> | 2014-06-14 17:06:30 -0700 |
---|---|---|
committer | Glenn Morris <[email protected]> | 2014-06-14 17:06:30 -0700 |
commit | 90de50e27049ae19492dd9843e50618ea4ed5d14 (patch) | |
tree | 1efdf48fb6243e3f8448465c59dda3eb9db67a0c /lisp | |
parent | 799d2f3d87185a51835d0594a89485932d0f4c23 (diff) | |
parent | 27433ff85f21f108e84a6e8966c9461cf66c2015 (diff) |
Merge from emacs-24; up to 2014-06-03T06:51:[email protected]
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 29 | ||||
-rw-r--r-- | lisp/bindings.el | 12 | ||||
-rw-r--r-- | lisp/emacs-lisp/smie.el | 5 | ||||
-rw-r--r-- | lisp/progmodes/cc-langs.el | 36 | ||||
-rw-r--r-- | lisp/subr.el | 2 | ||||
-rw-r--r-- | lisp/term/xterm.el | 4 |
6 files changed, 63 insertions, 25 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bd8bd6ac1e..d722c521b5 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,31 @@ -2014-06-14 Ron Schnell <[email protected]> +2014-06-15 Glenn Morris <[email protected]> + + * progmodes/cc-langs.el: Require cl-lib. (Bug#17463) + Replace delete-duplicates and mapcan by cl- versions throughout. + And cl-macroexpand-all by macroexpand-all. + (delete-duplicates, mapcan, cl-macroexpand-all): No need to declare. + +2014-06-15 Eli Zaretskii <[email protected]> + + * subr.el (posn-col-row): Doc fix. (Bug#17768) + +2014-06-15 Juri Linkov <[email protected]> + + * bindings.el: Put `ascii-character' property on keypad keys + mapped to characters. (Bug#17759) + +2014-06-15 Stefan Monnier <[email protected]> + + * emacs-lisp/smie.el (smie-next-sexp): Fix up "other-end" info when + bumping forward into a closing paren (bug#17761). + + * term/xterm.el (xterm--version-handler): Work around for OSX + Terminal.app (bug#17607). + +2014-06-14 Ron Schnell <[email protected]> + * play/dunnet.el If a lamp is in the room, you won't be eaten by a grue. - + 2014-06-13 Glenn Morris <[email protected]> * Makefile.in ($(lisp)/cus-load.el, $(lisp)/finder-inf.el) diff --git a/lisp/bindings.el b/lisp/bindings.el index 7093b8e662..59aa3dfb3d 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -1075,10 +1075,14 @@ if `inhibit-field-text-motion' is non-nil." (kp-5 ?5) (kp-6 ?6) (kp-7 ?7) (kp-8 ?8) (kp-9 ?9) (kp-add ?+) (kp-subtract ?-) (kp-multiply ?*) (kp-divide ?/)))) (dolist (pair keys) - (dolist (mod modifiers) - (define-key function-key-map - (vector (append mod (list (nth 0 pair)))) - (vector (append mod (list (nth 1 pair)))))))) + (let ((keypad (nth 0 pair)) + (normal (nth 1 pair))) + (when (characterp normal) + (put keypad 'ascii-character normal)) + (dolist (mod modifiers) + (define-key function-key-map + (vector (append mod (list keypad))) + (vector (append mod (list normal)))))))) (define-key function-key-map [backspace] [?\C-?]) (define-key function-key-map [delete] [?\C-?]) diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index e65f873b87..3e40d37aac 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el @@ -709,7 +709,8 @@ Possible return values: (condition-case err (progn (funcall next-sexp 1) nil) (scan-error - (let ((epos (nth 2 err))) + (let* ((epos1 (nth 2 err)) + (epos (if (<= (point) epos1) (nth 3 err) epos1))) (goto-char pos) (throw 'return (list t epos @@ -1832,6 +1833,8 @@ KEYWORDS are additional arguments, which can use the following keywords: (append smie-blink-matching-triggers (delete-dups triggers))))))) +(declare-function edebug-instrument-function "edebug" (func)) + (defun smie-edebug () "Instrument the `smie-rules-function' for Edebug." (interactive) diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el index 29dff4a639..d2d2de8801 100644 --- a/lisp/progmodes/cc-langs.el +++ b/lisp/progmodes/cc-langs.el @@ -130,7 +130,9 @@ ;; This file is not always loaded. See note above. -(cc-external-require 'cl) +;; Except it is always loaded - see bug#17463. +;;;(cc-external-require 'cl) +(require 'cl-lib) ;;; Setup for the `c-lang-defvar' system. @@ -209,9 +211,9 @@ the evaluated constant value at compile time." ;; Suppress "might not be defined at runtime" warning. ;; This file is only used when compiling other cc files. ;; These are defined in cl as aliases to the cl- versions. -(declare-function delete-duplicates "cl-seq" (cl-seq &rest cl-keys) t) -(declare-function mapcan "cl-extra" (cl-func cl-seq &rest cl-rest) t) -(declare-function cl-macroexpand-all "cl" (form &optional env)) +;(declare-function delete-duplicates "cl-seq" (cl-seq &rest cl-keys) t) +;(declare-function mapcan "cl-extra" (cl-func cl-seq &rest cl-rest) t) +;(declare-function cl-macroexpand-all "cl" (form &optional env)) (eval-and-compile ;; Some helper functions used when building the language constants. @@ -252,14 +254,14 @@ the evaluated constant value at compile time." (unless xlate (setq xlate 'identity)) (c-with-syntax-table (c-lang-const c-mode-syntax-table) - (delete-duplicates - (mapcan (lambda (opgroup) + (cl-delete-duplicates + (cl-mapcan (lambda (opgroup) (when (if (symbolp (car opgroup)) (when (funcall opgroup-filter (car opgroup)) (setq opgroup (cdr opgroup)) t) t) - (mapcan (lambda (op) + (cl-mapcan (lambda (op) (when (funcall op-filter op) (let ((res (funcall xlate op))) (if (listp res) res (list res))))) @@ -1147,7 +1149,7 @@ operators." (c-lang-defconst c-all-op-syntax-tokens ;; List of all tokens in the punctuation and parenthesis syntax ;; classes. - t (delete-duplicates (append (c-lang-const c-other-op-syntax-tokens) + t (cl-delete-duplicates (append (c-lang-const c-other-op-syntax-tokens) (c-lang-const c-operator-list)) :test 'string-equal)) @@ -1700,7 +1702,7 @@ not the type face." (c-lang-defconst c-type-start-kwds ;; All keywords that can start a type (i.e. are either a type prefix ;; or a complete type). - t (delete-duplicates (append (c-lang-const c-primitive-type-kwds) + t (cl-delete-duplicates (append (c-lang-const c-primitive-type-kwds) (c-lang-const c-type-prefix-kwds) (c-lang-const c-type-modifier-kwds)) :test 'string-equal)) @@ -1943,7 +1945,7 @@ one of `c-type-list-kwds', `c-ref-list-kwds', ;; something is a type or just some sort of macro in front of the ;; declaration. They might be ambiguous with types or type ;; prefixes. - t (delete-duplicates (append (c-lang-const c-class-decl-kwds) + t (cl-delete-duplicates (append (c-lang-const c-class-decl-kwds) (c-lang-const c-brace-list-decl-kwds) (c-lang-const c-other-block-decl-kwds) (c-lang-const c-typedef-decl-kwds) @@ -2136,7 +2138,7 @@ type identifiers separated by arbitrary tokens." pike '("array" "function" "int" "mapping" "multiset" "object" "program")) (c-lang-defconst c-paren-any-kwds - t (delete-duplicates (append (c-lang-const c-paren-nontype-kwds) + t (cl-delete-duplicates (append (c-lang-const c-paren-nontype-kwds) (c-lang-const c-paren-type-kwds)) :test 'string-equal)) @@ -2162,7 +2164,7 @@ assumed to be set if this isn't nil." (c-lang-defconst c-<>-sexp-kwds ;; All keywords that can be followed by an angle bracket sexp. - t (delete-duplicates (append (c-lang-const c-<>-type-kwds) + t (cl-delete-duplicates (append (c-lang-const c-<>-type-kwds) (c-lang-const c-<>-arglist-kwds)) :test 'string-equal)) @@ -2222,7 +2224,7 @@ Keywords here should also be in `c-block-stmt-1-kwds'." (c-lang-defconst c-block-stmt-kwds ;; Union of `c-block-stmt-1-kwds' and `c-block-stmt-2-kwds'. - t (delete-duplicates (append (c-lang-const c-block-stmt-1-kwds) + t (cl-delete-duplicates (append (c-lang-const c-block-stmt-1-kwds) (c-lang-const c-block-stmt-2-kwds)) :test 'string-equal)) @@ -2326,7 +2328,7 @@ This construct is \"<keyword> <expression> :\"." (c-lang-defconst c-expr-kwds ;; Keywords that can occur anywhere in expressions. Built from ;; `c-primary-expr-kwds' and all keyword operators in `c-operators'. - t (delete-duplicates + t (cl-delete-duplicates (append (c-lang-const c-primary-expr-kwds) (c-filter-ops (c-lang-const c-operator-list) t @@ -2430,7 +2432,7 @@ Note that Java specific rules are currently applied to tell this from (c-lang-defconst c-keywords ;; All keywords as a list. - t (delete-duplicates + t (cl-delete-duplicates (c-lang-defconst-eval-immediately `(append ,@(mapcar (lambda (kwds-lang-const) `(c-lang-const ,kwds-lang-const)) @@ -3193,10 +3195,10 @@ accomplish that conveniently." ;; `c-lang-const' will expand to the evaluated ;; constant immediately in `cl-macroexpand-all' ;; below. - (mapcan + (cl-mapcan (lambda (init) `(current-var ',(car init) - ,(car init) ,(cl-macroexpand-all + ,(car init) ,(macroexpand-all (elt init 1)))) ;; Note: The following `append' copies the ;; first argument. That list is small, so diff --git a/lisp/subr.el b/lisp/subr.el index 95d066ee6c..524b7954b7 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1127,7 +1127,7 @@ pixels. POSITION should be a list of the form returned by "Return the nominal column and row in POSITION, measured in characters. The column and row values are approximations calculated from the x and y coordinates in POSITION and the frame's default character width -and height. +and default line height, including spacing. For a scroll-bar event, the result column is 0, and the row corresponds to the vertical position of the click in the scroll bar. POSITION should be a list of the form returned by the `event-start' diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el index c1e455893c..20d4d41525 100644 --- a/lisp/term/xterm.el +++ b/lisp/term/xterm.el @@ -605,6 +605,10 @@ The relevant features are: ;; Gnome terminal 3.6.1 reports 1;3406;0 ;; Gnome terminal 2.32.1 reports 1;2802;0 (setq version 200)) + (when (equal (match-string 1 str) "83") + ;; OSX's Terminal.app (version 2.3 (309), which returns 83;40003;0) + ;; seems to also lack support for some of these (bug#17607). + (setq version 240)) ;; If version is 242 or higher, assume the xterm supports ;; reporting the background color (TODO: maybe earlier ;; versions do too...) |