aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorPaul Eggert2015-03-03 14:38:53 -0800
committerPaul Eggert2015-03-03 14:38:53 -0800
commit923602fefbfadd47e0b675d97aa1b28a16971da0 (patch)
tree8f2c148120694da902f3947e8bd097c0d0f469a8 /lisp
parent1fb87f1f1aa0947ec7b572a0ec1677c18aefc9f0 (diff)
parent0077b36e2ed14e484c1f736496db9314ef7ca177 (diff)
downloademacs-923602fefbfadd47e0b675d97aa1b28a16971da0.tar.gz
emacs-923602fefbfadd47e0b675d97aa1b28a16971da0.zip
Merge from origin/emacs-24
0077b36 # NEWS copyedits 3ca2ff3 * lisp/erc/erc.el (erc-rename-buffers): Doc fix. Add :version. b85523f * lisp/textmodes/flyspell.el (flyspell-duplicate-distance): decb48d Augment text-mode syntax table for a few special characters 8b3ba7a Improve docs of transient-mark-mode (Bug#19841) 72fd047 NEWS: Add section to include ERC changes a7254bb Improve string search in `flyspell-word-search-*`. (Bug#16800) Conflicts: etc/ChangeLog etc/NEWS lisp/ChangeLog lisp/erc/ChangeLog src/ChangeLog
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog23
-rw-r--r--lisp/erc/ChangeLog8
-rw-r--r--lisp/erc/erc.el4
-rw-r--r--lisp/simple.el9
-rw-r--r--lisp/textmodes/flyspell.el72
-rw-r--r--lisp/textmodes/text-mode.el17
6 files changed, 106 insertions, 27 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 69ccbfaa507..47ddedae883 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,7 +1,28 @@
12015-03-03 Glenn Morris <rgm@gnu.org>
2
3 * textmodes/flyspell.el (flyspell-duplicate-distance):
4 Bump :version.
5
62015-03-03 Eli Zaretskii <eliz@gnu.org>
7
8 * textmodes/text-mode.el (text-mode-syntax-table): Make some
9 punctuation character behave as word-constituent, for more
10 compatibility with Unicode.
11
12 * simple.el (transient-mark-mode): Doc fix. (Bug#19841)
13
142015-03-03 Agustín Martín Domingo <agustin6martin@gmail.com>
15
16 Improve string search in `flyspell-word-search-*`. (Bug#16800)
17 * flyspell.el (flyspell-duplicate-distance): Limit default search
18 distance for duplicated words to 40000.
19 (flyspell-word-search-backward, flyspell-word-search-forward):
20 Search as full word with defined casechars, not as substring.
21
222015-03-03 Juri Linkov <juri@linkov.net>
12015-03-03 Juri Linkov <juri@linkov.net> 232015-03-03 Juri Linkov <juri@linkov.net>
2 24
3 Better support for the case of typing RET on the prompt in comint. 25 Better support for the case of typing RET on the prompt in comint.
4
5 * comint.el (comint-get-old-input-default): Go to the field end 26 * comint.el (comint-get-old-input-default): Go to the field end
6 when comint-use-prompt-regexp is nil. 27 when comint-use-prompt-regexp is nil.
7 (comint-line-beginning-position): Check if point is already 28 (comint-line-beginning-position): Check if point is already
diff --git a/lisp/erc/ChangeLog b/lisp/erc/ChangeLog
index 4c1c8432733..f89d5a2d043 100644
--- a/lisp/erc/ChangeLog
+++ b/lisp/erc/ChangeLog
@@ -1,3 +1,11 @@
12015-03-03 Glenn Morris <rgm@gnu.org>
2
3 * erc.el (erc-rename-buffers): Doc fix. Add :version.
4
52015-03-03 Dima Kogan <dima@secretsauce.net>
6
7 * erc-backend.el (define-erc-response-handler): Give hook-name
8 default value of nil and add-to-list (bug#19363).
12015-02-14 Stefan Monnier <monnier@iro.umontreal.ca> 92015-02-14 Stefan Monnier <monnier@iro.umontreal.ca>
2 10
3 * erc-spelling.el (erc-spelling-init): 11 * erc-spelling.el (erc-spelling-init):
diff --git a/lisp/erc/erc.el b/lisp/erc/erc.el
index 7b9a3eb8620..e2366a1b58f 100644
--- a/lisp/erc/erc.el
+++ b/lisp/erc/erc.el
@@ -197,7 +197,8 @@ parameters and authentication."
197 (set sym (if (functionp val) (funcall val) val)))) 197 (set sym (if (functionp val) (funcall val) val))))
198 198
199(defcustom erc-rename-buffers nil 199(defcustom erc-rename-buffers nil
200 "When this is set to t, buffers will be renamed to network name if available" 200 "Non-nil means rename buffers with network name, if available."
201 :version "24.5"
201 :group 'erc 202 :group 'erc
202 :type 'boolean) 203 :type 'boolean)
203 204
@@ -1148,6 +1149,7 @@ which the local user typed."
1148 "Faces for ERC." 1149 "Faces for ERC."
1149 :group 'erc) 1150 :group 'erc)
1150 1151
1152;; FIXME faces should not end in "-face".
1151(defface erc-default-face '((t)) 1153(defface erc-default-face '((t))
1152 "ERC default face." 1154 "ERC default face."
1153 :group 'erc-faces) 1155 :group 'erc-faces)
diff --git a/lisp/simple.el b/lisp/simple.el
index 2f09042d817..1e64f998fd4 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -5168,10 +5168,11 @@ positive, and disable it otherwise. If called from Lisp, enable
5168Transient Mark mode if ARG is omitted or nil. 5168Transient Mark mode if ARG is omitted or nil.
5169 5169
5170Transient Mark mode is a global minor mode. When enabled, the 5170Transient Mark mode is a global minor mode. When enabled, the
5171region is highlighted whenever the mark is active. The mark is 5171region is highlighted with the `region' face whenever the mark
5172\"deactivated\" by changing the buffer, and after certain other 5172is active. The mark is \"deactivated\" by changing the buffer,
5173operations that set the mark but whose main purpose is something 5173and after certain other operations that set the mark but whose
5174else--for example, incremental search, \\[beginning-of-buffer], and \\[end-of-buffer]. 5174main purpose is something else--for example, incremental search,
5175\\[beginning-of-buffer], and \\[end-of-buffer].
5175 5176
5176You can also deactivate the mark by typing \\[keyboard-quit] or 5177You can also deactivate the mark by typing \\[keyboard-quit] or
5177\\[keyboard-escape-quit]. 5178\\[keyboard-escape-quit].
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el
index ffaf7e753f4..8aadf51871f 100644
--- a/lisp/textmodes/flyspell.el
+++ b/lisp/textmodes/flyspell.el
@@ -93,7 +93,7 @@ downcased before comparing with these exceptions."
93 :version "21.1" 93 :version "21.1"
94 :type 'boolean) 94 :type 'boolean)
95 95
96(defcustom flyspell-duplicate-distance -1 96(defcustom flyspell-duplicate-distance 400000
97 "The maximum distance for finding duplicates of unrecognized words. 97 "The maximum distance for finding duplicates of unrecognized words.
98This applies to the feature that when a word is not found in the dictionary, 98This applies to the feature that when a word is not found in the dictionary,
99if the same spelling occurs elsewhere in the buffer, 99if the same spelling occurs elsewhere in the buffer,
@@ -102,7 +102,7 @@ This variable specifies how far to search to find such a duplicate.
102-1 means no limit (search the whole buffer). 102-1 means no limit (search the whole buffer).
1030 means do not search for duplicate unrecognized spellings." 1030 means do not search for duplicate unrecognized spellings."
104 :group 'flyspell 104 :group 'flyspell
105 :version "21.1" 105 :version "24.5" ; -1 -> 400000
106 :type '(choice (const :tag "no limit" -1) 106 :type '(choice (const :tag "no limit" -1)
107 number)) 107 number))
108 108
@@ -1012,17 +1012,33 @@ Mostly we check word delimiters."
1012;;*---------------------------------------------------------------------*/ 1012;;*---------------------------------------------------------------------*/
1013(defun flyspell-word-search-backward (word bound &optional ignore-case) 1013(defun flyspell-word-search-backward (word bound &optional ignore-case)
1014 (save-excursion 1014 (save-excursion
1015 (let ((r '()) 1015 (let* ((r '())
1016 (inhibit-point-motion-hooks t) 1016 (inhibit-point-motion-hooks t)
1017 p) 1017 (flyspell-not-casechars (flyspell-get-not-casechars))
1018 (while (and (not r) (setq p (search-backward word bound t))) 1018 (bound (if (and bound
1019 (let ((lw (flyspell-get-word))) 1019 (> bound (point-min)))
1020 (if (and (consp lw) 1020 (- bound 1)))
1021 (if ignore-case 1021 (word-re (concat
1022 (string-equal (downcase (car lw)) (downcase word)) 1022 "\\(?:" flyspell-not-casechars "\\|\\`\\)"
1023 (string-equal (car lw) word))) 1023 (regexp-quote word)
1024 (setq r p) 1024 flyspell-not-casechars))
1025 (goto-char p)))) 1025 p)
1026 (while
1027 (and (not r)
1028 (setq p
1029 (and
1030 (re-search-backward word-re bound t)
1031 (if (bobp)
1032 (point)
1033 (forward-char)
1034 (point)))))
1035 (let ((lw (flyspell-get-word)))
1036 (if (and (consp lw)
1037 (if ignore-case
1038 (string-equal (downcase (car lw)) (downcase word))
1039 (string-equal (car lw) word)))
1040 (setq r p)
1041 (goto-char p))))
1026 r))) 1042 r)))
1027 1043
1028;;*---------------------------------------------------------------------*/ 1044;;*---------------------------------------------------------------------*/
@@ -1030,14 +1046,28 @@ Mostly we check word delimiters."
1030;;*---------------------------------------------------------------------*/ 1046;;*---------------------------------------------------------------------*/
1031(defun flyspell-word-search-forward (word bound) 1047(defun flyspell-word-search-forward (word bound)
1032 (save-excursion 1048 (save-excursion
1033 (let ((r '()) 1049 (let* ((r '())
1034 (inhibit-point-motion-hooks t) 1050 (inhibit-point-motion-hooks t)
1035 p) 1051 (flyspell-not-casechars (flyspell-get-not-casechars))
1036 (while (and (not r) (setq p (search-forward word bound t))) 1052 (bound (if (and bound
1037 (let ((lw (flyspell-get-word))) 1053 (< bound (point-max)))
1038 (if (and (consp lw) (string-equal (car lw) word)) 1054 (+ bound 1)))
1039 (setq r p) 1055 (word-re (concat flyspell-not-casechars
1040 (goto-char (1+ p))))) 1056 (regexp-quote word)
1057 "\\(?:" flyspell-not-casechars "\\|\\'\\)"))
1058 p)
1059 (while
1060 (and (not r)
1061 (setq p (and
1062 (re-search-forward word-re bound t)
1063 (if (eobp)
1064 (point)
1065 (backward-char)
1066 (point)))))
1067 (let ((lw (flyspell-get-word)))
1068 (if (and (consp lw) (string-equal (car lw) word))
1069 (setq r p)
1070 (goto-char (1+ p)))))
1041 r))) 1071 r)))
1042 1072
1043(defvar flyspell-word) ;Backward compatibility; some predicates made use of it! 1073(defvar flyspell-word) ;Backward compatibility; some predicates made use of it!
diff --git a/lisp/textmodes/text-mode.el b/lisp/textmodes/text-mode.el
index 5f2f671993c..84b578b5059 100644
--- a/lisp/textmodes/text-mode.el
+++ b/lisp/textmodes/text-mode.el
@@ -45,6 +45,23 @@ Use (derived-mode-p 'text-mode) instead.")
45 (modify-syntax-entry ?\\ ". " st) 45 (modify-syntax-entry ?\\ ". " st)
46 ;; We add `p' so that M-c on 'hello' leads to 'Hello' rather than 'hello'. 46 ;; We add `p' so that M-c on 'hello' leads to 'Hello' rather than 'hello'.
47 (modify-syntax-entry ?' "w p" st) 47 (modify-syntax-entry ?' "w p" st)
48 ;; UAX #29 says HEBREW PUNCTUATION GERESH behaves like a letter
49 ;; for the purposes of finding word boundaries.
50 (modify-syntax-entry #x5f3 "w ") ; GERESH
51 ;; UAX #29 says HEBREW PUNCTUATION GERSHAYIM should not be a word
52 ;; boundary when surrounded by letters. Our infrastructure for
53 ;; finding a word boundary doesn't support 3-character
54 ;; definitions, so for now simply make this a word-constituent
55 ;; character. This leaves a problem of having GERSHAYIM at the
56 ;; beginning or end of a word, where it should be a boundary;
57 ;; FIXME.
58 (modify-syntax-entry #x5f4 "w ") ; GERSHAYIM
59 ;; These all should not be a word boundary when between letters,
60 ;; according to UAX #29, so they again are prone to the same
61 ;; problem as GERSHAYIM; FIXME.
62 (modify-syntax-entry #xb7 "w ") ; MIDDLE DOT
63 (modify-syntax-entry #x2027 "w ") ; HYPHENATION POINT
64 (modify-syntax-entry #xff1a "w ") ; FULLWIDTH COLON
48 st) 65 st)
49 "Syntax table used while in `text-mode'.") 66 "Syntax table used while in `text-mode'.")
50 67