aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Zlatanov2013-06-05 13:48:50 -0400
committerTed Zlatanov2013-06-05 13:48:50 -0400
commit8fc57765e8baaf917734997b6bd3ca014613ad65 (patch)
treef42994d76b8818bbaff5da265510caf5cae46151
parentf019a684847950c24f5dd8ee8cfdd40d3511ba83 (diff)
downloademacs-8fc57765e8baaf917734997b6bd3ca014613ad65.tar.gz
emacs-8fc57765e8baaf917734997b6bd3ca014613ad65.zip
Introduce and use prog-prettify-install.
-rw-r--r--lisp/ChangeLog18
-rw-r--r--lisp/emacs-lisp/lisp-mode.el22
-rw-r--r--lisp/progmodes/cfengine.el13
-rw-r--r--lisp/progmodes/perl-mode.el25
-rw-r--r--lisp/simple.el5
5 files changed, 33 insertions, 50 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 006bb9d9fe6..1338475b8b5 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,23 @@
12013-06-05 Teodor Zlatanov <tzz@lifelogs.com> 12013-06-05 Teodor Zlatanov <tzz@lifelogs.com>
2 2
3 * simple.el (prog-prettify-symbols): Add version.
4 (prog-prettify-install): Add convenience function to prettify symbols.
5
6 * progmodes/perl-mode.el (perl--augmented-font-lock-keywords)
7 (perl--augmented-font-lock-keywords-1)
8 (perl--augmented-font-lock-keywords-2, perl-mode): Remove unneeded
9 variables and use it.
10
11 * progmodes/cfengine.el (cfengine3--augmented-font-lock-keywords)
12 (cfengine3-mode): Remove unneeded variable and use it.
13
14 * emacs-lisp/lisp-mode.el (lisp--augmented-font-lock-keywords)
15 (lisp--augmented-font-lock-keywords-1)
16 (lisp--augmented-font-lock-keywords-2, lisp-mode-variables):
17 Remove unneeded variables and use it.
18
192013-06-05 Teodor Zlatanov <tzz@lifelogs.com>
20
3 * net/tls.el (open-tls-stream): Remove unneeded buffer contents up 21 * net/tls.el (open-tls-stream): Remove unneeded buffer contents up
4 to point when opening the connection. 22 to point when opening the connection.
5 Suggested by João Távora <joaotavora@gmail.com> in 23 Suggested by João Távora <joaotavora@gmail.com> in
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 6e1f8291771..4267b9f45b9 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -187,11 +187,6 @@ It has `lisp-mode-abbrev-table' as its parent."
187 font-lock-string-face)))) 187 font-lock-string-face))))
188 font-lock-comment-face)) 188 font-lock-comment-face))
189 189
190;; Temporary variables used to add font-lock keywords dynamically.
191(defvar lisp--augmented-font-lock-keywords)
192(defvar lisp--augmented-font-lock-keywords-1)
193(defvar lisp--augmented-font-lock-keywords-2)
194
195(defun lisp-mode-variables (&optional lisp-syntax keywords-case-insensitive) 190(defun lisp-mode-variables (&optional lisp-syntax keywords-case-insensitive)
196 "Common initialization routine for lisp modes. 191 "Common initialization routine for lisp modes.
197The LISP-SYNTAX argument is used by code in inf-lisp.el and is 192The LISP-SYNTAX argument is used by code in inf-lisp.el and is
@@ -228,20 +223,11 @@ font-lock keywords will not be case sensitive."
228 (setq-local imenu-generic-expression lisp-imenu-generic-expression) 223 (setq-local imenu-generic-expression lisp-imenu-generic-expression)
229 (setq-local multibyte-syntax-as-symbol t) 224 (setq-local multibyte-syntax-as-symbol t)
230 (setq-local syntax-begin-function 'beginning-of-defun) 225 (setq-local syntax-begin-function 'beginning-of-defun)
231 (setq-local prog-prettify-symbols-alist lisp--prettify-symbols-alist) 226 (prog-prettify-install lisp--prettify-symbols-alist)
232 (setq lisp--augmented-font-lock-keywords
233 (append lisp-font-lock-keywords
234 (prog-prettify-font-lock-symbols-keywords)))
235 (setq lisp--augmented-font-lock-keywords-1
236 (append lisp-font-lock-keywords-1
237 (prog-prettify-font-lock-symbols-keywords)))
238 (setq lisp--augmented-font-lock-keywords-2
239 (append lisp-font-lock-keywords-2
240 (prog-prettify-font-lock-symbols-keywords)))
241 (setq font-lock-defaults 227 (setq font-lock-defaults
242 `((lisp--augmented-font-lock-keywords 228 `((lisp-font-lock-keywords
243 lisp--augmented-font-lock-keywords-1 229 lisp-font-lock-keywords-1
244 lisp--augmented-font-lock-keywords-2) 230 lisp-font-lock-keywords-2)
245 nil ,keywords-case-insensitive nil nil 231 nil ,keywords-case-insensitive nil nil
246 (font-lock-mark-block-function . mark-defun) 232 (font-lock-mark-block-function . mark-defun)
247 (font-lock-syntactic-face-function 233 (font-lock-syntactic-face-function
diff --git a/lisp/progmodes/cfengine.el b/lisp/progmodes/cfengine.el
index 88177a8db10..01b5faef5b3 100644
--- a/lisp/progmodes/cfengine.el
+++ b/lisp/progmodes/cfengine.el
@@ -532,8 +532,6 @@ Intended as the value of `indent-line-function'."
532 ("=>" . ?⇒) 532 ("=>" . ?⇒)
533 ("::" . ?∷))) 533 ("::" . ?∷)))
534 534
535(defvar cfengine3--augmented-font-lock-keywords)
536
537;;;###autoload 535;;;###autoload
538(define-derived-mode cfengine3-mode prog-mode "CFE3" 536(define-derived-mode cfengine3-mode prog-mode "CFE3"
539 "Major mode for editing CFEngine3 input. 537 "Major mode for editing CFEngine3 input.
@@ -546,17 +544,10 @@ to the action header."
546 544
547 (set (make-local-variable 'indent-line-function) #'cfengine3-indent-line) 545 (set (make-local-variable 'indent-line-function) #'cfengine3-indent-line)
548 546
549 ;; Define the symbols to be prettified
550 (setq-local prog-prettify-symbols-alist cfengine3--prettify-symbols-alist)
551
552 ;; Tell font-lock.el how to handle cfengine3 keywords..
553 (setq cfengine3--augmented-font-lock-keywords
554 (append cfengine3-font-lock-keywords
555 (prog-prettify-font-lock-symbols-keywords)))
556
557 (setq font-lock-defaults 547 (setq font-lock-defaults
558 '(cfengine3--augmented-font-lock-keywords 548 '(cfengine3-font-lock-keywords
559 nil nil nil beginning-of-defun)) 549 nil nil nil beginning-of-defun))
550 (prog-prettify-install cfengine3--prettify-symbols-alist)
560 551
561 ;; Use defuns as the essential syntax block. 552 ;; Use defuns as the essential syntax block.
562 (set (make-local-variable 'beginning-of-defun-function) 553 (set (make-local-variable 'beginning-of-defun-function)
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index fb3839a5fbc..1d5052bede4 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -215,11 +215,6 @@
215(defvar perl-font-lock-keywords perl-font-lock-keywords-1 215(defvar perl-font-lock-keywords perl-font-lock-keywords-1
216 "Default expressions to highlight in Perl mode.") 216 "Default expressions to highlight in Perl mode.")
217 217
218;; Temporary variables used to add font-lock keywords dynamically.
219(defvar perl--augmented-font-lock-keywords)
220(defvar perl--augmented-font-lock-keywords-1)
221(defvar perl--augmented-font-lock-keywords-2)
222
223(defvar perl-quote-like-pairs 218(defvar perl-quote-like-pairs
224 '((?\( . ?\)) (?\[ . ?\]) (?\{ . ?\}) (?\< . ?\>))) 219 '((?\( . ?\)) (?\[ . ?\]) (?\{ . ?\}) (?\< . ?\>)))
225 220
@@ -656,26 +651,14 @@ Turning on Perl mode runs the normal hook `perl-mode-hook'."
656 (setq-local comment-indent-function #'perl-comment-indent) 651 (setq-local comment-indent-function #'perl-comment-indent)
657 (setq-local parse-sexp-ignore-comments t) 652 (setq-local parse-sexp-ignore-comments t)
658 653
659 ;; Define the symbols to be prettified.
660 (setq-local prog-prettify-symbols-alist perl--prettify-symbols-alist)
661
662 ;; Tell font-lock.el how to handle Perl. 654 ;; Tell font-lock.el how to handle Perl.
663 (setq perl--augmented-font-lock-keywords 655 (setq font-lock-defaults '((perl-font-lock-keywords
664 (append perl-font-lock-keywords 656 perl-font-lock-keywords-1
665 (prog-prettify-font-lock-symbols-keywords))) 657 perl-font-lock-keywords-2)
666 (setq perl--augmented-font-lock-keywords-1
667 (append perl-font-lock-keywords-1
668 (prog-prettify-font-lock-symbols-keywords)))
669 (setq perl--augmented-font-lock-keywords-2
670 (append perl-font-lock-keywords-2
671 (prog-prettify-font-lock-symbols-keywords)))
672
673 (setq font-lock-defaults '((perl--augmented-font-lock-keywords
674 perl--augmented-font-lock-keywords-1
675 perl--augmented-font-lock-keywords-2)
676 nil nil ((?\_ . "w")) nil 658 nil nil ((?\_ . "w")) nil
677 (font-lock-syntactic-face-function 659 (font-lock-syntactic-face-function
678 . perl-font-lock-syntactic-face-function))) 660 . perl-font-lock-syntactic-face-function)))
661 (prog-prettify-install perl--prettify-symbols-alist)
679 (setq-local syntax-propertize-function #'perl-syntax-propertize-function) 662 (setq-local syntax-propertize-function #'perl-syntax-propertize-function)
680 (add-hook 'syntax-propertize-extend-region-functions 663 (add-hook 'syntax-propertize-extend-region-functions
681 #'syntax-propertize-multiline 'append 'local) 664 #'syntax-propertize-multiline 'append 'local)
diff --git a/lisp/simple.el b/lisp/simple.el
index 2564645e42c..e173a32878f 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -412,6 +412,7 @@ augment the mode's native prettify alist."
412 (const :tag "Mode defaults" t) 412 (const :tag "Mode defaults" t)
413 (alist :tag "Mode defaults augmented with your own list" 413 (alist :tag "Mode defaults augmented with your own list"
414 :key-type string :value-type character)) 414 :key-type string :value-type character))
415 :version "24.4"
415 :group 'languages) 416 :group 'languages)
416 417
417(defun prog--prettify-font-lock-compose-symbol (alist) 418(defun prog--prettify-font-lock-compose-symbol (alist)
@@ -442,6 +443,10 @@ Regexp match data 0 points to the chars."
442 `((,(regexp-opt (mapcar 'car alist) t) 443 `((,(regexp-opt (mapcar 'car alist) t)
443 (0 (prog--prettify-font-lock-compose-symbol ',alist))))))) 444 (0 (prog--prettify-font-lock-compose-symbol ',alist)))))))
444 445
446(defun prog-prettify-install (alist)
447 (setq-local prog-prettify-symbols-alist alist)
448 (font-lock-add-keywords nil (prog-prettify-font-lock-symbols-keywords)))
449
445;; Making and deleting lines. 450;; Making and deleting lines.
446 451
447(defvar hard-newline (propertize "\n" 'hard t 'rear-nonsticky '(hard)) 452(defvar hard-newline (propertize "\n" 'hard t 'rear-nonsticky '(hard))