diff options
| author | Ted Zlatanov | 2013-06-05 13:48:50 -0400 |
|---|---|---|
| committer | Ted Zlatanov | 2013-06-05 13:48:50 -0400 |
| commit | 8fc57765e8baaf917734997b6bd3ca014613ad65 (patch) | |
| tree | f42994d76b8818bbaff5da265510caf5cae46151 | |
| parent | f019a684847950c24f5dd8ee8cfdd40d3511ba83 (diff) | |
| download | emacs-8fc57765e8baaf917734997b6bd3ca014613ad65.tar.gz emacs-8fc57765e8baaf917734997b6bd3ca014613ad65.zip | |
Introduce and use prog-prettify-install.
| -rw-r--r-- | lisp/ChangeLog | 18 | ||||
| -rw-r--r-- | lisp/emacs-lisp/lisp-mode.el | 22 | ||||
| -rw-r--r-- | lisp/progmodes/cfengine.el | 13 | ||||
| -rw-r--r-- | lisp/progmodes/perl-mode.el | 25 | ||||
| -rw-r--r-- | lisp/simple.el | 5 |
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 @@ | |||
| 1 | 2013-06-05 Teodor Zlatanov <tzz@lifelogs.com> | 1 | 2013-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 | |||
| 19 | 2013-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. |
| 197 | The LISP-SYNTAX argument is used by code in inf-lisp.el and is | 192 | The 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)) |