summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog34
-rw-r--r--lisp/comint.el5
-rw-r--r--lisp/emacs-lisp/cl.el1
-rw-r--r--lisp/emacs-lisp/lisp-mode.el2
-rw-r--r--lisp/progmodes/idlwave.el2
-rw-r--r--lisp/progmodes/perl-mode.el2
-rw-r--r--lisp/simple.el14
-rw-r--r--lisp/term.el5
-rw-r--r--lisp/term/xterm.el6
-rw-r--r--lisp/tooltip.el8
10 files changed, 63 insertions, 16 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index f1128b0f98d..4568c88c8d6 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,37 @@
+2014-04-25 Eli Zaretskii <eliz@gnu.org>
+
+ * tooltip.el (tooltip-show-help-non-mode, tooltip-show-help): Use
+ equal-including-properties to compare help-echo strings. (Bug#17331)
+
+2014-04-25 Leo Liu <sdl.web@gmail.com>
+
+ * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table):
+ Fix syntax for @. (Bug#17325)
+
+2014-04-25 Daniel Colascione <dancol@dancol.org>
+
+ * emacs-lisp/cl.el (gv): Require gv early to break eager
+ macro-expansion cycles.
+
+2014-04-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * simple.el (region-active-p): Check there's a mark (bug#17324).
+
+ * simple.el (completion-list-mode-map): Use choose-completion for the
+ mouse binding as well (bug#17302).
+ (completion-list-mode, completion-setup-function): Adjust docstring and
+ echo area message accordingly.
+ * progmodes/idlwave.el (idlwave-choose-completion): Adjust to new
+ calling convention of choose-completion.
+ * comint.el (comint-dynamic-list-completions):
+ * term.el (term-dynamic-list-completions): Accept choose-completion.
+
+ * progmodes/perl-mode.el (perl-syntax-propertize-function): Slash after
+ &, |, +, - and * can't be a division (bug#17317).
+
+ * term/xterm.el (xterm--version-handler): Don't use modern xterm
+ features on gnome-terminal (bug#16988).
+
2014-04-25 Thien-Thi Nguyen <ttn@gnu.org>
Improve Scheme font-locking for (define ((foo ...) ...) ...).
diff --git a/lisp/comint.el b/lisp/comint.el
index dfc3fee0884..da3782717c0 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -3332,8 +3332,9 @@ the completions."
(and (consp first) (consp (event-start first))
(eq (window-buffer (posn-window (event-start first)))
(get-buffer "*Completions*"))
- (eq (key-binding key) 'mouse-choose-completion)))
- ;; If the user does mouse-choose-completion with the mouse,
+ (memq (key-binding key)
+ '(mouse-choose-completion choose-completion))))
+ ;; If the user does choose-completion with the mouse,
;; execute the command, then delete the completion window.
(progn
(choose-completion first)
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el
index fc09ff004e1..d99166e41c1 100644
--- a/lisp/emacs-lisp/cl.el
+++ b/lisp/emacs-lisp/cl.el
@@ -29,6 +29,7 @@
(require 'cl-lib)
(require 'macroexp)
+(require 'gv)
;; (defun cl--rename ()
;; (let ((vdefs ())
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 30df19d5f63..7e00d0b2cf9 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -74,7 +74,7 @@ It has `lisp-mode-abbrev-table' as its parent."
(modify-syntax-entry ?` "' " table)
(modify-syntax-entry ?' "' " table)
(modify-syntax-entry ?, "' " table)
- (modify-syntax-entry ?@ "' " table)
+ (modify-syntax-entry ?@ "_ p" table)
;; Used to be singlequote; changed for flonums.
(modify-syntax-entry ?. "_ " table)
(modify-syntax-entry ?# "' " table)
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el
index 8d4320669a1..86a16036e10 100644
--- a/lisp/progmodes/idlwave.el
+++ b/lisp/progmodes/idlwave.el
@@ -7170,7 +7170,7 @@ If these don't exist, a letter in the string is automatically selected."
(defun idlwave-choose-completion (&rest args)
"Choose the completion that point is in or next to."
- (interactive)
+ (interactive (list last-nonmenu-event))
(apply 'idlwave-choose 'choose-completion args))
(defun idlwave-mouse-choose-completion (&rest args)
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index f89fec7b1e0..ef372a34fdb 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -281,7 +281,7 @@
((concat "\\(?:\\(?:^\\|[^$@&%[:word:]]\\)"
(regexp-opt '("split" "if" "unless" "until" "while" "split"
"grep" "map" "not" "or" "and" "for" "foreach"))
- "\\|[?:.,;=!~({[]\\|\\(^\\)\\)[ \t\n]*\\(/\\)")
+ "\\|[-?:.,;|&+*=!~({[]\\|\\(^\\)\\)[ \t\n]*\\(/\\)")
(2 (ignore
(if (and (match-end 1) ; / at BOL.
(save-excursion
diff --git a/lisp/simple.el b/lisp/simple.el
index 17aba8e6a40..e3bae58a380 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4503,7 +4503,12 @@ Some commands act specially on the region when Transient Mark
mode is enabled. Usually, such commands should use
`use-region-p' instead of this function, because `use-region-p'
also checks the value of `use-empty-active-region'."
- (and transient-mark-mode mark-active))
+ (and transient-mark-mode mark-active
+ ;; FIXME: Somehow we sometimes end up with mark-active non-nil but
+ ;; without the mark being set (e.g. bug#17324). We really should fix
+ ;; that problem, but in the mean time, let's make sure we don't say the
+ ;; region is active when there's no mark.
+ (mark)))
(defvar redisplay-unhighlight-region-function
@@ -6872,7 +6877,7 @@ With a prefix argument, set VARIABLE to VALUE buffer-locally."
(defvar completion-list-mode-map
(let ((map (make-sparse-keymap)))
- (define-key map [mouse-2] 'mouse-choose-completion)
+ (define-key map [mouse-2] 'choose-completion)
(define-key map [follow-link] 'mouse-face)
(define-key map [down-mouse-2] nil)
(define-key map "\C-m" 'choose-completion)
@@ -7121,8 +7126,7 @@ back on `completion-list-insert-choice-function' when nil."
"Major mode for buffers showing lists of possible completions.
Type \\<completion-list-mode-map>\\[choose-completion] in the completion list\
to select the completion near point.
-Use \\<completion-list-mode-map>\\[mouse-choose-completion] to select one\
- with the mouse.
+Or click to select one with the mouse.
\\{completion-list-mode-map}"
(set (make-local-variable 'completion-base-size) nil))
@@ -7180,7 +7184,7 @@ Called from `temp-buffer-show-hook'."
(goto-char (point-min))
(if (display-mouse-p)
(insert (substitute-command-keys
- "Click \\[mouse-choose-completion] on a completion to select it.\n")))
+ "Click on a completion to select it.\n")))
(insert (substitute-command-keys
"In this buffer, type \\[choose-completion] to \
select the completion near point.\n\n"))))))
diff --git a/lisp/term.el b/lisp/term.el
index 97108c330a8..ce6125e2790 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -4137,8 +4137,9 @@ Typing SPC flushes the help buffer."
(and (consp first)
(eq (window-buffer (posn-window (event-start first)))
(get-buffer "*Completions*"))
- (eq (key-binding key) 'mouse-choose-completion)))
- ;; If the user does mouse-choose-completion with the mouse,
+ (memq (key-binding key)
+ '(mouse-choose-completion choose-completion))))
+ ;; If the user does choose-completion with the mouse,
;; execute the command, then delete the completion window.
(progn
(choose-completion first)
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index 33eb61dac1e..f8ff0cc91dc 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -530,6 +530,12 @@ The relevant features are:
;; Since xterm-280, the terminal type (NUMBER1) is now 41 instead of 0.
(when (string-match "\\([0-9]+\\);\\([0-9]+\\);0" str)
(let ((version (string-to-number (match-string 2 str))))
+ (when (and (> version 2000) (equal (match-string 1 str) "1"))
+ ;; Hack attack! bug#16988: gnome-terminal reports "1;NNNN;0"
+ ;; with a large NNNN but is based on a rather old xterm code.
+ ;; Gnome terminal 3.6.1 reports 1;3406;0
+ ;; Gnome terminal 2.32.1 reports 1;2802;0
+ (setq version 200))
;; If version is 242 or higher, assume the xterm supports
;; reporting the background color (TODO: maybe earlier
;; versions do too...)
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 059370f2eee..9d0954fc5dc 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -343,10 +343,10 @@ It is also called if Tooltip mode is on, for text-only displays."
((stringp help)
(setq help (replace-regexp-in-string "\n" ", " help))
(unless (or tooltip-previous-message
- (string-equal help (current-message))
+ (equal-including-properties help (current-message))
(and (stringp tooltip-help-message)
- (string-equal tooltip-help-message
- (current-message))))
+ (equal-including-properties tooltip-help-message
+ (current-message))))
(setq tooltip-previous-message (current-message)))
(setq tooltip-help-message help)
(let ((message-truncate-lines t)
@@ -369,7 +369,7 @@ MSG is either a help string to display, or nil to cancel the display."
;; Cancel display. This also cancels a delayed tip, if
;; there is one.
(tooltip-hide))
- ((equal previous-help msg)
+ ((equal-including-properties previous-help msg)
;; Same help as before (but possibly the mouse has moved).
;; Keep what we have.
)