diff options
| author | Karoly Lorentey | 2005-11-18 14:53:14 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-11-18 14:53:14 +0000 |
| commit | e8c0b22fcf9bd83bb501f91dfc880ae912186220 (patch) | |
| tree | 8292664169593d29eeaa6452aee86c0895e4836e | |
| parent | bffa514a8b8c947c655b463e8073e8e5ac061bc7 (diff) | |
| parent | fe45ad152a8528e795c3d852bf3c2cd18ffe6e02 (diff) | |
| download | emacs-e8c0b22fcf9bd83bb501f91dfc880ae912186220.tar.gz emacs-e8c0b22fcf9bd83bb501f91dfc880ae912186220.zip | |
Merged from miles@gnu.org--gnu-2005 (patch 655)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-655
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-441
55 files changed, 497 insertions, 206 deletions
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 81a65e67730..26de10026db 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -25,6 +25,9 @@ face name prefixes should be in it for good results. | |||
| 25 | 25 | ||
| 26 | ** Check what should be deleted or updated in MORE.STUFF. | 26 | ** Check what should be deleted or updated in MORE.STUFF. |
| 27 | 27 | ||
| 28 | ** Send an email to the various distributions, including the GNOME | ||
| 29 | and KDE projects, to use the new Emacs icons in etc/images/icons. | ||
| 30 | |||
| 28 | * NEW FEATURES | 31 | * NEW FEATURES |
| 29 | 32 | ||
| 30 | ** Rework how fringe bitmaps are defined and used. | 33 | ** Rework how fringe bitmaps are defined and used. |
| @@ -52,9 +55,6 @@ second window to the left. | |||
| 52 | 55 | ||
| 53 | ** Fix completion highlighting bug in partial completion mode. | 56 | ** Fix completion highlighting bug in partial completion mode. |
| 54 | 57 | ||
| 55 | ** Clean up the confusion about what `unspecified' means | ||
| 56 | in the face defaults for new frames. | ||
| 57 | |||
| 58 | ** TCP server processes do not work on Windows. | 58 | ** TCP server processes do not work on Windows. |
| 59 | 59 | ||
| 60 | TCP/IP server processes created with `make-network-process' consume | 60 | TCP/IP server processes created with `make-network-process' consume |
| @@ -4935,6 +4935,11 @@ was inconsistent with the face behavior under X. | |||
| 4935 | *** `set-fontset-font', `fontset-info', `fontset-font' now operate on | 4935 | *** `set-fontset-font', `fontset-info', `fontset-font' now operate on |
| 4936 | the default fontset if the argument NAME is nil.. | 4936 | the default fontset if the argument NAME is nil.. |
| 4937 | 4937 | ||
| 4938 | +++ | ||
| 4939 | *** In `set-face-attribute', you can assign any attribute the value | ||
| 4940 | `:ignore-defface'. This forces the attribute value to be acquired | ||
| 4941 | from some other face during face merging. | ||
| 4942 | |||
| 4938 | ** Font-Lock changes: | 4943 | ** Font-Lock changes: |
| 4939 | 4944 | ||
| 4940 | +++ | 4945 | +++ |
| @@ -13334,10 +13339,10 @@ as soft, and paragraph boundaries are determined solely from the text. | |||
| 13334 | *** Custom support | 13339 | *** Custom support |
| 13335 | 13340 | ||
| 13336 | The variables font-lock-face-attributes, font-lock-display-type and | 13341 | The variables font-lock-face-attributes, font-lock-display-type and |
| 13337 | font-lock-background-mode are now obsolete; the recommended way to specify the | 13342 | font-lock-background-mode are now obsolete; the recommended way to specify |
| 13338 | faces to use for Font Lock mode is with M-x customize-group on the new custom | 13343 | the faces to use for Font Lock mode is with M-x customize-group on the new |
| 13339 | group font-lock-highlighting-faces. If you set font-lock-face-attributes in | 13344 | custom group font-lock-faces. If you set font-lock-face-attributes in your |
| 13340 | your ~/.emacs file, Font Lock mode will respect its value. However, you should | 13345 | ~/.emacs file, Font Lock mode will respect its value. However, you should |
| 13341 | consider converting from setting that variable to using M-x customize. | 13346 | consider converting from setting that variable to using M-x customize. |
| 13342 | 13347 | ||
| 13343 | You can still use X resources to specify Font Lock face appearances. | 13348 | You can still use X resources to specify Font Lock face appearances. |
diff --git a/etc/images/icons/emacs_16.png b/etc/images/icons/emacs_16.png new file mode 100644 index 00000000000..ca5122b05b2 --- /dev/null +++ b/etc/images/icons/emacs_16.png | |||
| Binary files differ | |||
diff --git a/etc/images/icons/emacs_24.png b/etc/images/icons/emacs_24.png new file mode 100644 index 00000000000..95c72d3c49f --- /dev/null +++ b/etc/images/icons/emacs_24.png | |||
| Binary files differ | |||
diff --git a/etc/images/icons/emacs_32.png b/etc/images/icons/emacs_32.png new file mode 100644 index 00000000000..17b4686e182 --- /dev/null +++ b/etc/images/icons/emacs_32.png | |||
| Binary files differ | |||
diff --git a/etc/images/icons/emacs_48.png b/etc/images/icons/emacs_48.png new file mode 100644 index 00000000000..56c6de6f364 --- /dev/null +++ b/etc/images/icons/emacs_48.png | |||
| Binary files differ | |||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0536cef1422..79a91eb29af 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,8 +1,108 @@ | |||
| 1 | 2005-11-18 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * progmodes/gud.el (gud-install-speedbar-variables): Bind gud-pp | ||
| 4 | to "p". | ||
| 5 | (gdb): Move definition of gud-pp to... | ||
| 6 | |||
| 7 | * progmodes/gdb-ui.el (gdb-ann3): ...here. Make it work in the | ||
| 8 | speedbar. | ||
| 9 | (gdb-find-watch-expression): New function. | ||
| 10 | |||
| 11 | 2005-11-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 12 | |||
| 13 | * faces.el (face-attribute, set-face-attribute): Mention existence | ||
| 14 | of `:ignore-defface' setting in docstring. | ||
| 15 | |||
| 16 | 2005-11-17 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 17 | |||
| 18 | * simple.el (completion-setup-function): Fix last change. | ||
| 19 | |||
| 20 | 2005-11-17 John Paul Wallington <jpw@pobox.com> | ||
| 21 | |||
| 22 | * ibuf-ext.el (ibuffer-interactive-filter-by-mode): | ||
| 23 | Use `posn-set-point' instead of `mouse-set-point' because the | ||
| 24 | latter is not fbound when configured without X. | ||
| 25 | |||
| 26 | * comint.el (comint-insert-input): Likewise. | ||
| 27 | |||
| 28 | 2005-11-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 29 | |||
| 30 | * simple.el (hard-newline): New variable. | ||
| 31 | (sendmail-user-agent-compose, next-line): Use it. | ||
| 32 | |||
| 33 | * mail/sendmail.el (mail-setup, mail-send, mail-insert-from-field) | ||
| 34 | (sendmail-send-it, mail-do-fcc, mail-cc, mail-bcc, mail-fcc) | ||
| 35 | (mail-mail-reply-to, mail-mail-followup-to) | ||
| 36 | (mail-position-on-field, mail-signature, mail-yank-original) | ||
| 37 | (mail-attach-file): Likewise. | ||
| 38 | |||
| 39 | * mail/mailheader.el (mail-header-format) | ||
| 40 | (mail-header-format-function): Likewise. | ||
| 41 | |||
| 42 | * add-log.el (add-change-log-entry, change-log-merge): Likewise. | ||
| 43 | |||
| 44 | 2005-11-17 Juri Linkov <juri@jurta.org> | ||
| 45 | |||
| 46 | * font-lock.el (font-lock-faces): Rename this defgroup from | ||
| 47 | `font-lock-highlighting-faces'. | ||
| 48 | (font-lock-comment-face, font-lock-comment-delimiter-face) | ||
| 49 | (font-lock-string-face, font-lock-doc-face) | ||
| 50 | (font-lock-keyword-face, font-lock-builtin-face) | ||
| 51 | (font-lock-function-name-face, font-lock-variable-name-face) | ||
| 52 | (font-lock-type-face, font-lock-constant-face) | ||
| 53 | (font-lock-warning-face, font-lock-negation-char-face) | ||
| 54 | (font-lock-preprocessor-face) | ||
| 55 | (font-lock-regexp-grouping-backslash) | ||
| 56 | (font-lock-regexp-grouping-construct): Rename :group from | ||
| 57 | `font-lock-highlighting-faces' to `font-lock-faces'. | ||
| 58 | |||
| 59 | * cus-edit.el (lisp, c, tex): | ||
| 60 | * progmodes/ada-mode.el (ada): | ||
| 61 | * progmodes/asm-mode.el (asm): | ||
| 62 | * progmodes/cperl-mode.el (cperl-faces): | ||
| 63 | * progmodes/cpp.el (cpp): | ||
| 64 | * progmodes/dcl-mode.el (dcl): | ||
| 65 | * progmodes/f90.el (f90): | ||
| 66 | * progmodes/fortran.el (fortran): | ||
| 67 | * progmodes/icon.el (icon): | ||
| 68 | * progmodes/idlwave.el (idlwave-misc): | ||
| 69 | * progmodes/m4-mode.el (m4): | ||
| 70 | * progmodes/make-mode.el (makefile): | ||
| 71 | * progmodes/meta-mode.el (meta-font): | ||
| 72 | * progmodes/modula2.el (modula2): | ||
| 73 | * progmodes/octave-mod.el (octave): | ||
| 74 | * progmodes/pascal.el (pascal): | ||
| 75 | * progmodes/perl-mode.el (perl): | ||
| 76 | * progmodes/prolog.el (prolog): | ||
| 77 | * progmodes/ps-mode.el (PostScript-edit): | ||
| 78 | * progmodes/scheme.el (scheme): | ||
| 79 | * progmodes/sh-script.el (sh-script): | ||
| 80 | * progmodes/simula.el (simula): | ||
| 81 | * progmodes/tcl.el (tcl): | ||
| 82 | * textmodes/nroff-mode.el (nroff): | ||
| 83 | * textmodes/reftex-vars.el (reftex-fontification-configurations): | ||
| 84 | * textmodes/sgml-mode.el (sgml): | ||
| 85 | * textmodes/texinfo.el (texinfo): | ||
| 86 | Add :link (custom-group-link font-lock-faces) to defgroup. | ||
| 87 | |||
| 88 | * hi-lock.el (hi-lock): Rename this defgroup from | ||
| 89 | `hi-lock-interactive-text-highlighting'. Change parent group from | ||
| 90 | `faces' to `font-lock'. Add link to the manual. | ||
| 91 | (hi-lock-mode, hi-lock-file-patterns-range) | ||
| 92 | (hi-lock-exclude-modes, hi-lock-faces): Rename :group from | ||
| 93 | `hi-lock-interactive-text-highlighting' to `hi-lock'. | ||
| 94 | (hi-lock-faces): Add :group `faces'. | ||
| 95 | |||
| 96 | * cus-edit.el (custom-variable-prompt): Clarify the code. | ||
| 97 | |||
| 98 | * faces.el (face-read-string): Set the default value arg of | ||
| 99 | completing-read. | ||
| 100 | |||
| 1 | 2005-11-16 Luc Teirlinck <teirllm@auburn.edu> | 101 | 2005-11-16 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 102 | ||
| 3 | * rfn-eshadow.el (file-name-shadow-properties) | 103 | * rfn-eshadow.el (file-name-shadow-properties) |
| 4 | (file-name-shadow-tty-properties, file-name-shadow-mode): Remove | 104 | (file-name-shadow-tty-properties, file-name-shadow-mode): |
| 5 | autoloads, because the file is now preloaded. | 105 | Remove autoloads, because the file is now preloaded. |
| 6 | 106 | ||
| 7 | 2005-11-16 Stefan Monnier <monnier@iro.umontreal.ca> | 107 | 2005-11-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 8 | 108 | ||
| @@ -82,8 +182,8 @@ | |||
| 82 | 2005-11-17 Nick Roberts <nickrob@snap.net.nz> | 182 | 2005-11-17 Nick Roberts <nickrob@snap.net.nz> |
| 83 | 183 | ||
| 84 | * progmodes/gud.el (gud-speedbar-item-info): New function. | 184 | * progmodes/gud.el (gud-speedbar-item-info): New function. |
| 85 | (gud-install-speedbar-variables): Use it to display data types | 185 | (gud-install-speedbar-variables): Use it to display data type |
| 86 | of watch expression as tooltips in speedbar. | 186 | of watch expression as a tooltip in speedbar. |
| 87 | 187 | ||
| 88 | 2005-11-15 Luc Teirlinck <teirllm@auburn.edu> | 188 | 2005-11-15 Luc Teirlinck <teirllm@auburn.edu> |
| 89 | 189 | ||
| @@ -254,7 +354,7 @@ | |||
| 254 | 354 | ||
| 255 | * help.el (help-for-help-internal): Improve doc of C-h a. | 355 | * help.el (help-for-help-internal): Improve doc of C-h a. |
| 256 | (describe-key): Improve prompt; doc fix. | 356 | (describe-key): Improve prompt; doc fix. |
| 257 | 357 | ||
| 258 | 2005-11-13 Stefan Monnier <monnier@iro.umontreal.ca> | 358 | 2005-11-13 Stefan Monnier <monnier@iro.umontreal.ca> |
| 259 | 359 | ||
| 260 | * vc-svn.el (vc-svn-registered): Catch all errors. | 360 | * vc-svn.el (vc-svn-registered): Catch all errors. |
| @@ -271,7 +371,7 @@ | |||
| 271 | 371 | ||
| 272 | 2005-11-13 Nick Roberts <nickrob@snap.net.nz> | 372 | 2005-11-13 Nick Roberts <nickrob@snap.net.nz> |
| 273 | 373 | ||
| 274 | * progmodes/gud.el (gud-menu-map): Move parentheses (again). | 374 | * progmodes/gud.el (gud-menu-map): Move parentheses (again). |
| 275 | (gud-speedbar-buttons): Match on "const char *" too. | 375 | (gud-speedbar-buttons): Match on "const char *" too. |
| 276 | 376 | ||
| 277 | * progmodes/gdb-ui.el (gdb-var-create-handler) | 377 | * progmodes/gdb-ui.el (gdb-var-create-handler) |
| @@ -490,6 +590,11 @@ | |||
| 490 | 590 | ||
| 491 | * textmodes/org.el (org-export-as-html): Remove bogus (debug) form. | 591 | * textmodes/org.el (org-export-as-html): Remove bogus (debug) form. |
| 492 | 592 | ||
| 593 | 2005-11-07 John Paul Wallington <jpw@gnu.org> | ||
| 594 | |||
| 595 | * ibuffer.el (ibuffer): Search iconified frames too when | ||
| 596 | getting Ibuffer buffer's window. | ||
| 597 | |||
| 493 | 2005-11-06 Richard M. Stallman <rms@gnu.org> | 598 | 2005-11-06 Richard M. Stallman <rms@gnu.org> |
| 494 | 599 | ||
| 495 | * progmodes/compile.el (compilation-internal-error-properties): | 600 | * progmodes/compile.el (compilation-internal-error-properties): |
diff --git a/lisp/add-log.el b/lisp/add-log.el index 91d7ba36bab..d7f9f9b9846 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el | |||
| @@ -551,7 +551,7 @@ non-nil, otherwise in local time." | |||
| 551 | (forward-line 1) | 551 | (forward-line 1) |
| 552 | (insert (nth (random (length new-entries)) | 552 | (insert (nth (random (length new-entries)) |
| 553 | new-entries) | 553 | new-entries) |
| 554 | "\n\n") | 554 | hard-newline hard-newline) |
| 555 | (forward-line -1))) | 555 | (forward-line -1))) |
| 556 | 556 | ||
| 557 | ;; Determine where we should stop searching for a usable | 557 | ;; Determine where we should stop searching for a usable |
| @@ -584,7 +584,7 @@ non-nil, otherwise in local time." | |||
| 584 | ;; Delete excess empty lines; make just 2. | 584 | ;; Delete excess empty lines; make just 2. |
| 585 | (while (and (not (eobp)) (looking-at "^\\s *$")) | 585 | (while (and (not (eobp)) (looking-at "^\\s *$")) |
| 586 | (delete-region (point) (line-beginning-position 2))) | 586 | (delete-region (point) (line-beginning-position 2))) |
| 587 | (insert-char ?\n 2) | 587 | (insert hard-newline hard-newline) |
| 588 | (forward-line -2) | 588 | (forward-line -2) |
| 589 | (indent-relative-maybe)) | 589 | (indent-relative-maybe)) |
| 590 | (t | 590 | (t |
| @@ -593,7 +593,7 @@ non-nil, otherwise in local time." | |||
| 593 | (forward-line 1)) | 593 | (forward-line 1)) |
| 594 | (while (and (not (eobp)) (looking-at "^\\s *$")) | 594 | (while (and (not (eobp)) (looking-at "^\\s *$")) |
| 595 | (delete-region (point) (line-beginning-position 2))) | 595 | (delete-region (point) (line-beginning-position 2))) |
| 596 | (insert-char ?\n 3) | 596 | (insert hard-newline hard-newline hard-newline) |
| 597 | (forward-line -2) | 597 | (forward-line -2) |
| 598 | (indent-to left-margin) | 598 | (indent-to left-margin) |
| 599 | (insert "* ") | 599 | (insert "* ") |
| @@ -1066,7 +1066,7 @@ old-style time formats for entries are supported." | |||
| 1066 | (and (= ?\n (char-before)) | 1066 | (and (= ?\n (char-before)) |
| 1067 | (or (<= (1- (point)) (point-min)) | 1067 | (or (<= (1- (point)) (point-min)) |
| 1068 | (= ?\n (char-before (1- (point))))))) | 1068 | (= ?\n (char-before (1- (point))))))) |
| 1069 | (insert "\n")) | 1069 | (insert hard-newline)) |
| 1070 | ;; Move to the end of it to terminate outer loop. | 1070 | ;; Move to the end of it to terminate outer loop. |
| 1071 | (with-current-buffer other-buf | 1071 | (with-current-buffer other-buf |
| 1072 | (goto-char (point-max))) | 1072 | (goto-char (point-max))) |
diff --git a/lisp/comint.el b/lisp/comint.el index 3d9da2b8ea2..6676e836735 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -799,7 +799,7 @@ buffer. The hook `comint-exec-hook' is run after each exec." | |||
| 799 | ;; for events without parameters. | 799 | ;; for events without parameters. |
| 800 | (interactive (list last-input-event)) | 800 | (interactive (list last-input-event)) |
| 801 | (let ((pos (point))) | 801 | (let ((pos (point))) |
| 802 | (if event (mouse-set-point event)) | 802 | (if event (posn-set-point (event-end event))) |
| 803 | (if (not (eq (get-char-property (point) 'field) 'input)) | 803 | (if (not (eq (get-char-property (point) 'field) 'input)) |
| 804 | ;; No input at POS, fall back to the global definition. | 804 | ;; No input at POS, fall back to the global definition. |
| 805 | (let* ((keys (this-command-keys)) | 805 | (let* ((keys (this-command-keys)) |
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 63a0f388f56..59a8b341cad 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el | |||
| @@ -212,11 +212,13 @@ | |||
| 212 | 212 | ||
| 213 | (defgroup lisp nil | 213 | (defgroup lisp nil |
| 214 | "Lisp support, including Emacs Lisp." | 214 | "Lisp support, including Emacs Lisp." |
| 215 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 215 | :group 'languages | 216 | :group 'languages |
| 216 | :group 'development) | 217 | :group 'development) |
| 217 | 218 | ||
| 218 | (defgroup c nil | 219 | (defgroup c nil |
| 219 | "Support for the C language and related languages." | 220 | "Support for the C language and related languages." |
| 221 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 220 | :link '(custom-manual "(ccmode)") | 222 | :link '(custom-manual "(ccmode)") |
| 221 | :group 'languages) | 223 | :group 'languages) |
| 222 | 224 | ||
| @@ -323,6 +325,7 @@ | |||
| 323 | 325 | ||
| 324 | (defgroup tex nil | 326 | (defgroup tex nil |
| 325 | "Code related to the TeX formatter." | 327 | "Code related to the TeX formatter." |
| 328 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 326 | :group 'wp) | 329 | :group 'wp) |
| 327 | 330 | ||
| 328 | (defgroup faces nil | 331 | (defgroup faces nil |
| @@ -490,15 +493,14 @@ IF REGEXP is not a string, return it unchanged." | |||
| 490 | (defun custom-variable-prompt () | 493 | (defun custom-variable-prompt () |
| 491 | "Prompt for a custom variable, defaulting to the variable at point. | 494 | "Prompt for a custom variable, defaulting to the variable at point. |
| 492 | Return a list suitable for use in `interactive'." | 495 | Return a list suitable for use in `interactive'." |
| 493 | (let ((v (variable-at-point)) | 496 | (let* ((v (variable-at-point)) |
| 494 | (enable-recursive-minibuffers t) | 497 | (default (and (symbolp v) (custom-variable-p v) (symbol-name v))) |
| 495 | val) | 498 | (enable-recursive-minibuffers t) |
| 496 | (setq val (if (and (symbolp v) (custom-variable-p v)) | 499 | val) |
| 497 | (completing-read | 500 | (setq val (completing-read |
| 498 | (format "Customize option (default %s): " v) obarray | 501 | (if default (format "Customize option (default %s): " default) |
| 499 | 'custom-variable-p t nil nil (symbol-name v)) | 502 | "Customize option: ") |
| 500 | (completing-read "Customize option: " obarray | 503 | obarray 'custom-variable-p t nil nil default)) |
| 501 | 'custom-variable-p t))) | ||
| 502 | (list (if (equal val "") | 504 | (list (if (equal val "") |
| 503 | (if (symbolp v) v nil) | 505 | (if (symbolp v) v nil) |
| 504 | (intern val))))) | 506 | (intern val))))) |
diff --git a/lisp/faces.el b/lisp/faces.el index 5c1e934f3b1..2437cd8caf0 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -357,11 +357,12 @@ If the optional argument FRAME is given, report on face FACE in that frame. | |||
| 357 | If FRAME is t, report on the defaults for face FACE (for new frames). | 357 | If FRAME is t, report on the defaults for face FACE (for new frames). |
| 358 | If FRAME is omitted or nil, use the selected frame. | 358 | If FRAME is omitted or nil, use the selected frame. |
| 359 | 359 | ||
| 360 | If INHERIT is nil, only attributes directly defined by FACE are considered, | 360 | If INHERIT is nil, only attributes directly defined by FACE are |
| 361 | so the return value may be `unspecified', or a relative value. | 361 | considered, so the return value may be `unspecified', |
| 362 | `:ignore-defface', or a relative value. | ||
| 362 | If INHERIT is non-nil, FACE's definition of ATTRIBUTE is merged with the | 363 | If INHERIT is non-nil, FACE's definition of ATTRIBUTE is merged with the |
| 363 | faces specified by its `:inherit' attribute; however the return value | 364 | faces specified by its `:inherit' attribute; however the return value |
| 364 | may still be `unspecified' or relative. | 365 | may still be relative. |
| 365 | If INHERIT is a face or a list of faces, then the result is further merged | 366 | If INHERIT is a face or a list of faces, then the result is further merged |
| 366 | with that face (or faces), until it becomes specified and absolute. | 367 | with that face (or faces), until it becomes specified and absolute. |
| 367 | 368 | ||
| @@ -560,8 +561,13 @@ the default for new frames (this is done automatically each time an | |||
| 560 | attribute is changed on all frames). | 561 | attribute is changed on all frames). |
| 561 | 562 | ||
| 562 | ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid | 563 | ARGS must come in pairs ATTRIBUTE VALUE. ATTRIBUTE must be a valid |
| 563 | face attribute name. All attributes can be set to `unspecified'; | 564 | face attribute name. |
| 564 | this fact is not further mentioned below. | 565 | |
| 566 | Unless you're certain you know what you're doing, don't set an | ||
| 567 | attribute to `unspecified' . To make a face ignore the attribute | ||
| 568 | given in the defface spec, assign it the value `:ignore-defface'. | ||
| 569 | You can do this for any attribute; this fact is not further | ||
| 570 | mentioned below. | ||
| 565 | 571 | ||
| 566 | The following attributes are recognized: | 572 | The following attributes are recognized: |
| 567 | 573 | ||
| @@ -1019,7 +1025,7 @@ Value is the new attribute value." | |||
| 1019 | (format "%s for face `%s' (default %s): " | 1025 | (format "%s for face `%s' (default %s): " |
| 1020 | name face default) | 1026 | name face default) |
| 1021 | (format "%s for face `%s': " name face)) | 1027 | (format "%s for face `%s': " name face)) |
| 1022 | completion-alist))) | 1028 | completion-alist nil nil nil nil default))) |
| 1023 | (if (equal value "") default value))) | 1029 | (if (equal value "") default value))) |
| 1024 | 1030 | ||
| 1025 | 1031 | ||
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index a6de42af999..1c9ccff2432 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -216,7 +216,7 @@ | |||
| 216 | :link '(custom-manual "(elisp)Font Lock Mode") | 216 | :link '(custom-manual "(elisp)Font Lock Mode") |
| 217 | :group 'faces) | 217 | :group 'faces) |
| 218 | 218 | ||
| 219 | (defgroup font-lock-highlighting-faces nil | 219 | (defgroup font-lock-faces nil |
| 220 | "Faces for highlighting text." | 220 | "Faces for highlighting text." |
| 221 | :prefix "font-lock-" | 221 | :prefix "font-lock-" |
| 222 | :group 'font-lock) | 222 | :group 'font-lock) |
| @@ -1667,7 +1667,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1667 | ) | 1667 | ) |
| 1668 | (t (:weight bold :slant italic))) | 1668 | (t (:weight bold :slant italic))) |
| 1669 | "Font Lock mode face used to highlight comments." | 1669 | "Font Lock mode face used to highlight comments." |
| 1670 | :group 'font-lock-highlighting-faces) | 1670 | :group 'font-lock-faces) |
| 1671 | 1671 | ||
| 1672 | (defface font-lock-comment-delimiter-face | 1672 | (defface font-lock-comment-delimiter-face |
| 1673 | '((default :inherit font-lock-comment-face) | 1673 | '((default :inherit font-lock-comment-face) |
| @@ -1678,7 +1678,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1678 | (((class color) (min-colors 8) (background dark)) | 1678 | (((class color) (min-colors 8) (background dark)) |
| 1679 | :foreground "red1")) | 1679 | :foreground "red1")) |
| 1680 | "Font Lock mode face used to highlight comment delimiters." | 1680 | "Font Lock mode face used to highlight comment delimiters." |
| 1681 | :group 'font-lock-highlighting-faces) | 1681 | :group 'font-lock-faces) |
| 1682 | 1682 | ||
| 1683 | (defface font-lock-string-face | 1683 | (defface font-lock-string-face |
| 1684 | '((((class grayscale) (background light)) (:foreground "DimGray" :slant italic)) | 1684 | '((((class grayscale) (background light)) (:foreground "DimGray" :slant italic)) |
| @@ -1690,12 +1690,12 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1690 | (((class color) (min-colors 8)) (:foreground "green")) | 1690 | (((class color) (min-colors 8)) (:foreground "green")) |
| 1691 | (t (:slant italic))) | 1691 | (t (:slant italic))) |
| 1692 | "Font Lock mode face used to highlight strings." | 1692 | "Font Lock mode face used to highlight strings." |
| 1693 | :group 'font-lock-highlighting-faces) | 1693 | :group 'font-lock-faces) |
| 1694 | 1694 | ||
| 1695 | (defface font-lock-doc-face | 1695 | (defface font-lock-doc-face |
| 1696 | '((t :inherit font-lock-string-face)) | 1696 | '((t :inherit font-lock-string-face)) |
| 1697 | "Font Lock mode face used to highlight documentation." | 1697 | "Font Lock mode face used to highlight documentation." |
| 1698 | :group 'font-lock-highlighting-faces) | 1698 | :group 'font-lock-faces) |
| 1699 | 1699 | ||
| 1700 | (defface font-lock-keyword-face | 1700 | (defface font-lock-keyword-face |
| 1701 | '((((class grayscale) (background light)) (:foreground "LightGray" :weight bold)) | 1701 | '((((class grayscale) (background light)) (:foreground "LightGray" :weight bold)) |
| @@ -1707,7 +1707,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1707 | (((class color) (min-colors 8)) (:foreground "cyan" :weight bold)) | 1707 | (((class color) (min-colors 8)) (:foreground "cyan" :weight bold)) |
| 1708 | (t (:weight bold))) | 1708 | (t (:weight bold))) |
| 1709 | "Font Lock mode face used to highlight keywords." | 1709 | "Font Lock mode face used to highlight keywords." |
| 1710 | :group 'font-lock-highlighting-faces) | 1710 | :group 'font-lock-faces) |
| 1711 | 1711 | ||
| 1712 | (defface font-lock-builtin-face | 1712 | (defface font-lock-builtin-face |
| 1713 | '((((class grayscale) (background light)) (:foreground "LightGray" :weight bold)) | 1713 | '((((class grayscale) (background light)) (:foreground "LightGray" :weight bold)) |
| @@ -1719,7 +1719,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1719 | (((class color) (min-colors 8)) (:foreground "blue" :weight bold)) | 1719 | (((class color) (min-colors 8)) (:foreground "blue" :weight bold)) |
| 1720 | (t (:weight bold))) | 1720 | (t (:weight bold))) |
| 1721 | "Font Lock mode face used to highlight builtins." | 1721 | "Font Lock mode face used to highlight builtins." |
| 1722 | :group 'font-lock-highlighting-faces) | 1722 | :group 'font-lock-faces) |
| 1723 | 1723 | ||
| 1724 | (defface font-lock-function-name-face | 1724 | (defface font-lock-function-name-face |
| 1725 | '((((class color) (min-colors 88) (background light)) (:foreground "Blue1")) | 1725 | '((((class color) (min-colors 88) (background light)) (:foreground "Blue1")) |
| @@ -1729,7 +1729,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1729 | (((class color) (min-colors 8)) (:foreground "blue" :weight bold)) | 1729 | (((class color) (min-colors 8)) (:foreground "blue" :weight bold)) |
| 1730 | (t (:inverse-video t :weight bold))) | 1730 | (t (:inverse-video t :weight bold))) |
| 1731 | "Font Lock mode face used to highlight function names." | 1731 | "Font Lock mode face used to highlight function names." |
| 1732 | :group 'font-lock-highlighting-faces) | 1732 | :group 'font-lock-faces) |
| 1733 | 1733 | ||
| 1734 | (defface font-lock-variable-name-face | 1734 | (defface font-lock-variable-name-face |
| 1735 | '((((class grayscale) (background light)) | 1735 | '((((class grayscale) (background light)) |
| @@ -1743,7 +1743,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1743 | (((class color) (min-colors 8)) (:foreground "yellow" :weight light)) | 1743 | (((class color) (min-colors 8)) (:foreground "yellow" :weight light)) |
| 1744 | (t (:weight bold :slant italic))) | 1744 | (t (:weight bold :slant italic))) |
| 1745 | "Font Lock mode face used to highlight variable names." | 1745 | "Font Lock mode face used to highlight variable names." |
| 1746 | :group 'font-lock-highlighting-faces) | 1746 | :group 'font-lock-faces) |
| 1747 | 1747 | ||
| 1748 | (defface font-lock-type-face | 1748 | (defface font-lock-type-face |
| 1749 | '((((class grayscale) (background light)) (:foreground "Gray90" :weight bold)) | 1749 | '((((class grayscale) (background light)) (:foreground "Gray90" :weight bold)) |
| @@ -1755,7 +1755,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1755 | (((class color) (min-colors 8)) (:foreground "green")) | 1755 | (((class color) (min-colors 8)) (:foreground "green")) |
| 1756 | (t (:weight bold :underline t))) | 1756 | (t (:weight bold :underline t))) |
| 1757 | "Font Lock mode face used to highlight type and classes." | 1757 | "Font Lock mode face used to highlight type and classes." |
| 1758 | :group 'font-lock-highlighting-faces) | 1758 | :group 'font-lock-faces) |
| 1759 | 1759 | ||
| 1760 | (defface font-lock-constant-face | 1760 | (defface font-lock-constant-face |
| 1761 | '((((class grayscale) (background light)) | 1761 | '((((class grayscale) (background light)) |
| @@ -1769,7 +1769,7 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1769 | (((class color) (min-colors 8)) (:foreground "magenta")) | 1769 | (((class color) (min-colors 8)) (:foreground "magenta")) |
| 1770 | (t (:weight bold :underline t))) | 1770 | (t (:weight bold :underline t))) |
| 1771 | "Font Lock mode face used to highlight constants and labels." | 1771 | "Font Lock mode face used to highlight constants and labels." |
| 1772 | :group 'font-lock-highlighting-faces) | 1772 | :group 'font-lock-faces) |
| 1773 | 1773 | ||
| 1774 | (defface font-lock-warning-face | 1774 | (defface font-lock-warning-face |
| 1775 | '((((class color) (min-colors 88) (background light)) (:foreground "Red1" :weight bold)) | 1775 | '((((class color) (min-colors 88) (background light)) (:foreground "Red1" :weight bold)) |
| @@ -1779,27 +1779,27 @@ Sets various variables using `font-lock-defaults' (or, if nil, using | |||
| 1779 | (((class color) (min-colors 8)) (:foreground "red")) | 1779 | (((class color) (min-colors 8)) (:foreground "red")) |
| 1780 | (t (:inverse-video t :weight bold))) | 1780 | (t (:inverse-video t :weight bold))) |
| 1781 | "Font Lock mode face used to highlight warnings." | 1781 | "Font Lock mode face used to highlight warnings." |
| 1782 | :group 'font-lock-highlighting-faces) | 1782 | :group 'font-lock-faces) |
| 1783 | 1783 | ||
| 1784 | (defface font-lock-negation-char-face | 1784 | (defface font-lock-negation-char-face |
| 1785 | '((t nil)) | 1785 | '((t nil)) |
| 1786 | "Font Lock mode face used to highlight easy to overlook negation." | 1786 | "Font Lock mode face used to highlight easy to overlook negation." |
| 1787 | :group 'font-lock-highlighting-faces) | 1787 | :group 'font-lock-faces) |
| 1788 | 1788 | ||
| 1789 | (defface font-lock-preprocessor-face | 1789 | (defface font-lock-preprocessor-face |
| 1790 | '((t :inherit font-lock-builtin-face)) | 1790 | '((t :inherit font-lock-builtin-face)) |
| 1791 | "Font Lock mode face used to highlight preprocessor directives." | 1791 | "Font Lock mode face used to highlight preprocessor directives." |
| 1792 | :group 'font-lock-highlighting-faces) | 1792 | :group 'font-lock-faces) |
| 1793 | 1793 | ||
| 1794 | (defface font-lock-regexp-grouping-backslash | 1794 | (defface font-lock-regexp-grouping-backslash |
| 1795 | '((t :inherit bold)) | 1795 | '((t :inherit bold)) |
| 1796 | "Font Lock mode face for backslashes in Lisp regexp grouping constructs." | 1796 | "Font Lock mode face for backslashes in Lisp regexp grouping constructs." |
| 1797 | :group 'font-lock-highlighting-faces) | 1797 | :group 'font-lock-faces) |
| 1798 | 1798 | ||
| 1799 | (defface font-lock-regexp-grouping-construct | 1799 | (defface font-lock-regexp-grouping-construct |
| 1800 | '((t :inherit bold)) | 1800 | '((t :inherit bold)) |
| 1801 | "Font Lock mode face used to highlight grouping constructs in Lisp regexps." | 1801 | "Font Lock mode face used to highlight grouping constructs in Lisp regexps." |
| 1802 | :group 'font-lock-highlighting-faces) | 1802 | :group 'font-lock-faces) |
| 1803 | 1803 | ||
| 1804 | ;;; End of Colour etc. support. | 1804 | ;;; End of Colour etc. support. |
| 1805 | 1805 | ||
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index f197ea11940..10e5ba0dc88 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,33 @@ | |||
| 1 | 2005-11-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * message.el (message-courtesy-message) | ||
| 4 | (message-mark-insert-begin, message-mark-insert-end) | ||
| 5 | (message-elide-ellipsis, message-cancel-message) | ||
| 6 | (message-add-header, message-change-subject) | ||
| 7 | (message-cross-post-followup-to-header) | ||
| 8 | (message-cross-post-insert-note, message-reduce-to-to-cc) | ||
| 9 | (message-widen-reply, message-delete-not-region) | ||
| 10 | (message-kill-to-signature, message-insert-signature) | ||
| 11 | (message-insert-importance-high, message-insert-importance-low) | ||
| 12 | (message-insert-or-toggle-importance) | ||
| 13 | (message-insert-disposition-notification-to) | ||
| 14 | (message-indent-citation, message-yank-original) | ||
| 15 | (message-cite-original-without-signature, message-cite-original) | ||
| 16 | (message-insert-citation-line, message-position-on-field) | ||
| 17 | (message-fix-before-sending, message-send-mail-partially) | ||
| 18 | (message-send-mail, message-send-mail-with-sendmail) | ||
| 19 | (message-send-mail-with-qmail, message-send-news) | ||
| 20 | (message-check-news-header-syntax, message-generate-headers) | ||
| 21 | (message-insert-courtesy-copy, message-fill-address) | ||
| 22 | (message-fill-header, message-shorten-references) | ||
| 23 | (message-setup-1, message-cancel-news) | ||
| 24 | (message-forward-make-body-plain) (message-forward-make-body-mime) | ||
| 25 | (message-forward-make-body-mml) (message-encode-message-body) | ||
| 26 | (message-forward-make-body-digest-plain) | ||
| 27 | (message-forward-make-body-digest-mime) | ||
| 28 | (message-use-alternative-email-as-from): Insert `hard-newline' | ||
| 29 | instead of ordinary newlines. | ||
| 30 | |||
| 1 | 2005-11-09 Katsumi Yamaoka <yamaoka@jpl.org> | 31 | 2005-11-09 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 32 | ||
| 3 | * message.el (message-generate-headers): Downcase the argument | 33 | * message.el (message-generate-headers): Downcase the argument |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 019b5bd4f07..9a5f910290a 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -141,7 +141,11 @@ mailbox format." | |||
| 141 | :group 'message-sending) | 141 | :group 'message-sending) |
| 142 | 142 | ||
| 143 | (defcustom message-courtesy-message | 143 | (defcustom message-courtesy-message |
| 144 | "The following message is a courtesy copy of an article\nthat has been posted to %s as well.\n\n" | 144 | (concat |
| 145 | "The following message is a courtesy copy of an article" | ||
| 146 | hard-newline | ||
| 147 | "that has been posted to %s as well." | ||
| 148 | hard-newline hard-newline) | ||
| 145 | "*This is inserted at the start of a mailed copy of a posted message. | 149 | "*This is inserted at the start of a mailed copy of a posted message. |
| 146 | If the string contains the format spec \"%s\", the Newsgroups | 150 | If the string contains the format spec \"%s\", the Newsgroups |
| 147 | the article has been posted to will be inserted there. | 151 | the article has been posted to will be inserted there. |
| @@ -339,7 +343,9 @@ few false positives here." | |||
| 339 | ;;; marking inserted text | 343 | ;;; marking inserted text |
| 340 | 344 | ||
| 341 | (defcustom message-mark-insert-begin | 345 | (defcustom message-mark-insert-begin |
| 342 | "--8<---------------cut here---------------start------------->8---\n" | 346 | (concat |
| 347 | "--8<---------------cut here---------------start------------->8---" | ||
| 348 | hard-newline) | ||
| 343 | "How to mark the beginning of some inserted text." | 349 | "How to mark the beginning of some inserted text." |
| 344 | :version "22.1" | 350 | :version "22.1" |
| 345 | :type 'string | 351 | :type 'string |
| @@ -347,14 +353,16 @@ few false positives here." | |||
| 347 | :group 'message-various) | 353 | :group 'message-various) |
| 348 | 354 | ||
| 349 | (defcustom message-mark-insert-end | 355 | (defcustom message-mark-insert-end |
| 350 | "--8<---------------cut here---------------end--------------->8---\n" | 356 | (concat |
| 357 | "--8<---------------cut here---------------end--------------->8---" | ||
| 358 | hard-newline) | ||
| 351 | "How to mark the end of some inserted text." | 359 | "How to mark the end of some inserted text." |
| 352 | :version "22.1" | 360 | :version "22.1" |
| 353 | :type 'string | 361 | :type 'string |
| 354 | :link '(custom-manual "(message)Insertion Variables") | 362 | :link '(custom-manual "(message)Insertion Variables") |
| 355 | :group 'message-various) | 363 | :group 'message-various) |
| 356 | 364 | ||
| 357 | (defcustom message-archive-header "X-No-Archive: Yes\n" | 365 | (defcustom message-archive-header "X-No-Archive: Yes" |
| 358 | "Header to insert when you don't want your article to be archived. | 366 | "Header to insert when you don't want your article to be archived. |
| 359 | Archives \(such as groups.google.com\) respect this header." | 367 | Archives \(such as groups.google.com\) respect this header." |
| 360 | :version "22.1" | 368 | :version "22.1" |
| @@ -418,7 +426,8 @@ for `message-cross-post-insert-note'." | |||
| 418 | :link '(custom-manual "(message)Various Message Variables") | 426 | :link '(custom-manual "(message)Various Message Variables") |
| 419 | :group 'message-various) | 427 | :group 'message-various) |
| 420 | 428 | ||
| 421 | (defcustom message-elide-ellipsis "\n[...]\n\n" | 429 | (defcustom message-elide-ellipsis |
| 430 | (concat hard-newline "[...]" hard-newline hard-newline) | ||
| 422 | "*The string which is inserted for elided text." | 431 | "*The string which is inserted for elided text." |
| 423 | :type 'string | 432 | :type 'string |
| 424 | :link '(custom-manual "(message)Various Commands") | 433 | :link '(custom-manual "(message)Various Commands") |
| @@ -578,7 +587,8 @@ Done before generating the new subject of a forward." | |||
| 578 | :link '(custom-manual "(message)Insertion Variables") | 587 | :link '(custom-manual "(message)Insertion Variables") |
| 579 | :type 'regexp) | 588 | :type 'regexp) |
| 580 | 589 | ||
| 581 | (defcustom message-cancel-message "I am canceling my own article.\n" | 590 | (defcustom message-cancel-message |
| 591 | (concat "I am canceling my own article." hard-newline) | ||
| 582 | "Message to be inserted in the cancel message." | 592 | "Message to be inserted in the cancel message." |
| 583 | :group 'message-interface | 593 | :group 'message-interface |
| 584 | :link '(custom-manual "(message)Canceling News") | 594 | :link '(custom-manual "(message)Canceling News") |
| @@ -1734,7 +1744,7 @@ see `message-narrow-to-headers-or-head'." | |||
| 1734 | (goto-char (point-max)) | 1744 | (goto-char (point-max)) |
| 1735 | (if (string-match "\n$" (car headers)) | 1745 | (if (string-match "\n$" (car headers)) |
| 1736 | (insert (car headers)) | 1746 | (insert (car headers)) |
| 1737 | (insert (car headers) ?\n))))) | 1747 | (insert (car headers) hard-newline))))) |
| 1738 | (setq headers (cdr headers)))) | 1748 | (setq headers (cdr headers)))) |
| 1739 | 1749 | ||
| 1740 | (defmacro message-with-reply-buffer (&rest forms) | 1750 | (defmacro message-with-reply-buffer (&rest forms) |
| @@ -1841,7 +1851,7 @@ Leading \"Re: \" is not stripped by this function. Use the function | |||
| 1841 | (insert (concat "Subject: " | 1851 | (insert (concat "Subject: " |
| 1842 | new-subject | 1852 | new-subject |
| 1843 | " (was: " | 1853 | " (was: " |
| 1844 | old-subject ")\n"))))))))) | 1854 | old-subject ")" hard-newline))))))))) |
| 1845 | 1855 | ||
| 1846 | (defun message-mark-inserted-region (beg end) | 1856 | (defun message-mark-inserted-region (beg end) |
| 1847 | "Mark some region in the current article with enclosing tags. | 1857 | "Mark some region in the current article with enclosing tags. |
| @@ -1925,7 +1935,7 @@ With prefix-argument just set Follow-Up, don't cross-post." | |||
| 1925 | target-group | 1935 | target-group |
| 1926 | "[ \t]*$") | 1936 | "[ \t]*$") |
| 1927 | (message-fetch-field "Newsgroups"))) | 1937 | (message-fetch-field "Newsgroups"))) |
| 1928 | (insert (concat "\nFollowup-To: " target-group))) | 1938 | (insert (concat hard-newline "Followup-To: " target-group))) |
| 1929 | (setq message-cross-post-old-target target-group)) | 1939 | (setq message-cross-post-old-target target-group)) |
| 1930 | 1940 | ||
| 1931 | (defun message-cross-post-insert-note (target-group cross-post in-old | 1941 | (defun message-cross-post-insert-note (target-group cross-post in-old |
| @@ -1957,8 +1967,8 @@ been made to before the user asked for a Crosspost." | |||
| 1957 | (if (or in-old | 1967 | (if (or in-old |
| 1958 | (not cross-post) | 1968 | (not cross-post) |
| 1959 | (string-match "^[ \t]*poster[ \t]*$" target-group)) | 1969 | (string-match "^[ \t]*poster[ \t]*$" target-group)) |
| 1960 | (insert (concat message-followup-to-note target-group "\n")) | 1970 | (insert message-followup-to-note target-group hard-newline) |
| 1961 | (insert (concat message-cross-post-note target-group "\n"))))) | 1971 | (insert message-cross-post-note target-group hard-newline)))) |
| 1962 | 1972 | ||
| 1963 | (defun message-cross-post-followup-to (target-group) | 1973 | (defun message-cross-post-followup-to (target-group) |
| 1964 | "Crossposts message and set Followup-To to TARGET-GROUP. | 1974 | "Crossposts message and set Followup-To to TARGET-GROUP. |
| @@ -2018,7 +2028,7 @@ With prefix-argument just set Follow-Up, don't cross-post." | |||
| 2018 | (save-excursion | 2028 | (save-excursion |
| 2019 | (message-goto-to) | 2029 | (message-goto-to) |
| 2020 | (message-delete-line) | 2030 | (message-delete-line) |
| 2021 | (insert (concat "To: " cc-content "\n")) | 2031 | (insert (concat "To: " cc-content hard-newline)) |
| 2022 | (save-restriction | 2032 | (save-restriction |
| 2023 | (message-narrow-to-headers) | 2033 | (message-narrow-to-headers) |
| 2024 | (message-remove-header (if bcc | 2034 | (message-remove-header (if bcc |
| @@ -2783,7 +2793,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 2783 | (message-remove-header (symbol-name (car elem))) | 2793 | (message-remove-header (symbol-name (car elem))) |
| 2784 | (goto-char (point-min)) | 2794 | (goto-char (point-min)) |
| 2785 | (insert (symbol-name (car elem)) ": " | 2795 | (insert (symbol-name (car elem)) ": " |
| 2786 | (cdr elem) "\n")))))) | 2796 | (cdr elem) hard-newline)))))) |
| 2787 | 2797 | ||
| 2788 | (defun message-insert-newsgroups () | 2798 | (defun message-insert-newsgroups () |
| 2789 | "Insert the Newsgroups header from the article being replied to." | 2799 | "Insert the Newsgroups header from the article being replied to." |
| @@ -2813,7 +2823,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 2813 | (point) | 2823 | (point) |
| 2814 | (forward-line -2) | 2824 | (forward-line -2) |
| 2815 | (point))) | 2825 | (point))) |
| 2816 | (insert "\n") | 2826 | (insert hard-newline) |
| 2817 | (goto-char beg) | 2827 | (goto-char beg) |
| 2818 | (delete-region beg (progn (message-goto-body) | 2828 | (delete-region beg (progn (message-goto-body) |
| 2819 | (forward-line 2) | 2829 | (forward-line 2) |
| @@ -2832,7 +2842,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 2832 | (end-of-line -1)) | 2842 | (end-of-line -1)) |
| 2833 | (kill-region point (point)) | 2843 | (kill-region point (point)) |
| 2834 | (unless (bolp) | 2844 | (unless (bolp) |
| 2835 | (insert "\n")))) | 2845 | (insert hard-newline)))) |
| 2836 | 2846 | ||
| 2837 | (defun message-newline-and-reformat (&optional arg not-break) | 2847 | (defun message-newline-and-reformat (&optional arg not-break) |
| 2838 | "Insert four newlines, and then reformat if inside quoted text. | 2848 | "Insert four newlines, and then reformat if inside quoted text. |
| @@ -2974,15 +2984,15 @@ Prefix arg means justify as well." | |||
| 2974 | (goto-char (point-max)) | 2984 | (goto-char (point-max)) |
| 2975 | ;; Insert the signature. | 2985 | ;; Insert the signature. |
| 2976 | (unless (bolp) | 2986 | (unless (bolp) |
| 2977 | (insert "\n")) | 2987 | (insert hard-newline)) |
| 2978 | (when message-signature-insert-empty-line | 2988 | (when message-signature-insert-empty-line |
| 2979 | (insert "\n")) | 2989 | (insert hard-newline)) |
| 2980 | (insert "-- \n") | 2990 | (insert "-- " hard-newline) |
| 2981 | (if (eq signature t) | 2991 | (if (eq signature t) |
| 2982 | (insert-file-contents message-signature-file) | 2992 | (insert-file-contents message-signature-file) |
| 2983 | (insert signature)) | 2993 | (insert signature)) |
| 2984 | (goto-char (point-max)) | 2994 | (goto-char (point-max)) |
| 2985 | (or (bolp) (insert "\n"))))) | 2995 | (or (bolp) (insert hard-newline))))) |
| 2986 | 2996 | ||
| 2987 | (defun message-insert-importance-high () | 2997 | (defun message-insert-importance-high () |
| 2988 | "Insert header to mark message as important." | 2998 | "Insert header to mark message as important." |
| @@ -2992,7 +3002,7 @@ Prefix arg means justify as well." | |||
| 2992 | (message-narrow-to-headers) | 3002 | (message-narrow-to-headers) |
| 2993 | (message-remove-header "Importance")) | 3003 | (message-remove-header "Importance")) |
| 2994 | (message-goto-eoh) | 3004 | (message-goto-eoh) |
| 2995 | (insert "Importance: high\n"))) | 3005 | (insert "Importance: high" hard-newline))) |
| 2996 | 3006 | ||
| 2997 | (defun message-insert-importance-low () | 3007 | (defun message-insert-importance-low () |
| 2998 | "Insert header to mark message as unimportant." | 3008 | "Insert header to mark message as unimportant." |
| @@ -3002,7 +3012,7 @@ Prefix arg means justify as well." | |||
| 3002 | (message-narrow-to-headers) | 3012 | (message-narrow-to-headers) |
| 3003 | (message-remove-header "Importance")) | 3013 | (message-remove-header "Importance")) |
| 3004 | (message-goto-eoh) | 3014 | (message-goto-eoh) |
| 3005 | (insert "Importance: low\n"))) | 3015 | (insert "Importance: low" hard-newline))) |
| 3006 | 3016 | ||
| 3007 | (defun message-insert-or-toggle-importance () | 3017 | (defun message-insert-or-toggle-importance () |
| 3008 | "Insert a \"Importance: high\" header, or cycle through the header values. | 3018 | "Insert a \"Importance: high\" header, or cycle through the header values. |
| @@ -3024,7 +3034,7 @@ and `low'." | |||
| 3024 | (t | 3034 | (t |
| 3025 | "high"))))) | 3035 | "high"))))) |
| 3026 | (message-goto-eoh) | 3036 | (message-goto-eoh) |
| 3027 | (insert (format "Importance: %s\n" new))))) | 3037 | (insert (format "Importance: %s" new) hard-newline)))) |
| 3028 | 3038 | ||
| 3029 | (defun message-insert-disposition-notification-to () | 3039 | (defun message-insert-disposition-notification-to () |
| 3030 | "Request a disposition notification (return receipt) to this message. | 3040 | "Request a disposition notification (return receipt) to this message. |
| @@ -3035,10 +3045,11 @@ Note that this should not be used in newsgroups." | |||
| 3035 | (message-narrow-to-headers) | 3045 | (message-narrow-to-headers) |
| 3036 | (message-remove-header "Disposition-Notification-To")) | 3046 | (message-remove-header "Disposition-Notification-To")) |
| 3037 | (message-goto-eoh) | 3047 | (message-goto-eoh) |
| 3038 | (insert (format "Disposition-Notification-To: %s\n" | 3048 | (insert (format "Disposition-Notification-To: %s" |
| 3039 | (or (message-field-value "Reply-to") | 3049 | (or (message-field-value "Reply-to") |
| 3040 | (message-field-value "From") | 3050 | (message-field-value "From") |
| 3041 | (message-make-from)))))) | 3051 | (message-make-from))) |
| 3052 | hard-newline))) | ||
| 3042 | 3053 | ||
| 3043 | (defun message-elide-region (b e) | 3054 | (defun message-elide-region (b e) |
| 3044 | "Elide the text in the region. | 3055 | "Elide the text in the region. |
| @@ -3173,7 +3184,7 @@ However, if `message-yank-prefix' is non-nil, insert that prefix on each line." | |||
| 3173 | ;; Delete blank lines at the end of the buffer. | 3184 | ;; Delete blank lines at the end of the buffer. |
| 3174 | (goto-char (point-max)) | 3185 | (goto-char (point-max)) |
| 3175 | (unless (eolp) | 3186 | (unless (eolp) |
| 3176 | (insert "\n")) | 3187 | (insert hard-newline)) |
| 3177 | (while (and (zerop (forward-line -1)) | 3188 | (while (and (zerop (forward-line -1)) |
| 3178 | (looking-at "$")) | 3189 | (looking-at "$")) |
| 3179 | (message-delete-line)) | 3190 | (message-delete-line)) |
| @@ -3211,7 +3222,7 @@ prefix, and don't delete any headers." | |||
| 3211 | (funcall message-cite-function)) | 3222 | (funcall message-cite-function)) |
| 3212 | (message-exchange-point-and-mark) | 3223 | (message-exchange-point-and-mark) |
| 3213 | (unless (bolp) | 3224 | (unless (bolp) |
| 3214 | (insert ?\n)) | 3225 | (insert hard-newline)) |
| 3215 | (unless modified | 3226 | (unless modified |
| 3216 | (setq message-checksum (message-checksum)))))) | 3227 | (setq message-checksum (message-checksum)))))) |
| 3217 | 3228 | ||
| @@ -3269,13 +3280,13 @@ prefix, and don't delete any headers." | |||
| 3269 | (delete-region (point) end) | 3280 | (delete-region (point) end) |
| 3270 | (unless (search-backward "\n\n" start t) | 3281 | (unless (search-backward "\n\n" start t) |
| 3271 | ;; Insert a blank line if it is peeled off. | 3282 | ;; Insert a blank line if it is peeled off. |
| 3272 | (insert "\n"))) | 3283 | (insert hard-newline))) |
| 3273 | (goto-char start) | 3284 | (goto-char start) |
| 3274 | (while functions | 3285 | (while functions |
| 3275 | (funcall (pop functions))) | 3286 | (funcall (pop functions))) |
| 3276 | (when message-citation-line-function | 3287 | (when message-citation-line-function |
| 3277 | (unless (bolp) | 3288 | (unless (bolp) |
| 3278 | (insert "\n")) | 3289 | (insert hard-newline)) |
| 3279 | (funcall message-citation-line-function)))) | 3290 | (funcall message-citation-line-function)))) |
| 3280 | 3291 | ||
| 3281 | (eval-when-compile (defvar mail-citation-hook)) ;Compiler directive | 3292 | (eval-when-compile (defvar mail-citation-hook)) ;Compiler directive |
| @@ -3311,13 +3322,14 @@ prefix, and don't delete any headers." | |||
| 3311 | (funcall (pop functions))) | 3322 | (funcall (pop functions))) |
| 3312 | (when message-citation-line-function | 3323 | (when message-citation-line-function |
| 3313 | (unless (bolp) | 3324 | (unless (bolp) |
| 3314 | (insert "\n")) | 3325 | (insert hard-newline)) |
| 3315 | (funcall message-citation-line-function))))) | 3326 | (funcall message-citation-line-function))))) |
| 3316 | 3327 | ||
| 3317 | (defun message-insert-citation-line () | 3328 | (defun message-insert-citation-line () |
| 3318 | "Insert a simple citation line." | 3329 | "Insert a simple citation line." |
| 3319 | (when message-reply-headers | 3330 | (when message-reply-headers |
| 3320 | (insert (mail-header-from message-reply-headers) " writes:\n\n"))) | 3331 | (insert (mail-header-from message-reply-headers) |
| 3332 | " writes:" hard-newline hard-newline))) | ||
| 3321 | 3333 | ||
| 3322 | (defun message-position-on-field (header &rest afters) | 3334 | (defun message-position-on-field (header &rest afters) |
| 3323 | (let ((case-fold-search t)) | 3335 | (let ((case-fold-search t)) |
| @@ -3343,7 +3355,7 @@ prefix, and don't delete any headers." | |||
| 3343 | (when afters | 3355 | (when afters |
| 3344 | (re-search-forward "^[^ \t]" nil 'move) | 3356 | (re-search-forward "^[^ \t]" nil 'move) |
| 3345 | (beginning-of-line)) | 3357 | (beginning-of-line)) |
| 3346 | (insert header ": \n") | 3358 | (insert header ": " hard-newline) |
| 3347 | (forward-char -1) | 3359 | (forward-char -1) |
| 3348 | nil)))) | 3360 | nil)))) |
| 3349 | 3361 | ||
| @@ -3539,7 +3551,7 @@ It should typically alter the sending method in some way or other." | |||
| 3539 | ;; Make sure there's a newline at the end of the message. | 3551 | ;; Make sure there's a newline at the end of the message. |
| 3540 | (goto-char (point-max)) | 3552 | (goto-char (point-max)) |
| 3541 | (unless (bolp) | 3553 | (unless (bolp) |
| 3542 | (insert "\n")) | 3554 | (insert hard-newline)) |
| 3543 | ;; Make the hidden headers visible. | 3555 | ;; Make the hidden headers visible. |
| 3544 | (let ((points (message-text-with-property 'message-hidden))) | 3556 | (let ((points (message-text-with-property 'message-hidden))) |
| 3545 | (when points | 3557 | (when points |
| @@ -3644,7 +3656,7 @@ It should typically alter the sending method in some way or other." | |||
| 3644 | (goto-char (point-min)) | 3656 | (goto-char (point-min)) |
| 3645 | (re-search-forward | 3657 | (re-search-forward |
| 3646 | (concat "^" (regexp-quote mail-header-separator) "\n")) | 3658 | (concat "^" (regexp-quote mail-header-separator) "\n")) |
| 3647 | (replace-match "\n") | 3659 | (replace-match hard-newline) |
| 3648 | (run-hooks 'message-send-mail-hook) | 3660 | (run-hooks 'message-send-mail-hook) |
| 3649 | (let ((p (goto-char (point-min))) | 3661 | (let ((p (goto-char (point-min))) |
| 3650 | (tembuf (message-generate-new-buffer-clone-locals " message temp")) | 3662 | (tembuf (message-generate-new-buffer-clone-locals " message temp")) |
| @@ -3686,17 +3698,18 @@ It should typically alter the sending method in some way or other." | |||
| 3686 | (message-remove-header "Message-ID") | 3698 | (message-remove-header "Message-ID") |
| 3687 | (message-remove-header "Lines") | 3699 | (message-remove-header "Lines") |
| 3688 | (goto-char (point-max)) | 3700 | (goto-char (point-max)) |
| 3689 | (insert "Mime-Version: 1.0\n") | 3701 | (insert "Mime-Version: 1.0" hard-newline) |
| 3690 | (setq header (buffer-string))) | 3702 | (setq header (buffer-string))) |
| 3691 | (goto-char (point-max)) | 3703 | (goto-char (point-max)) |
| 3692 | (insert (format "Content-Type: message/partial; id=\"%s\"; number=%d; total=%d\n\n" | 3704 | (insert (format "Content-Type: message/partial; id=\"%s\"; number=%d; total=%d" |
| 3693 | id n total)) | 3705 | id n total) |
| 3706 | hard-newline hard-newline) | ||
| 3694 | (forward-char -1) | 3707 | (forward-char -1) |
| 3695 | (let ((mail-header-separator "")) | 3708 | (let ((mail-header-separator "")) |
| 3696 | (when (memq 'Message-ID message-required-mail-headers) | 3709 | (when (memq 'Message-ID message-required-mail-headers) |
| 3697 | (insert "Message-ID: " (message-make-message-id) "\n")) | 3710 | (insert "Message-ID: " (message-make-message-id) hard-newline)) |
| 3698 | (when (memq 'Lines message-required-mail-headers) | 3711 | (when (memq 'Lines message-required-mail-headers) |
| 3699 | (insert "Lines: " (message-make-lines) "\n")) | 3712 | (insert "Lines: " (message-make-lines) hard-newline)) |
| 3700 | (message-goto-subject) | 3713 | (message-goto-subject) |
| 3701 | (end-of-line) | 3714 | (end-of-line) |
| 3702 | (insert (format " (%d/%d)" n total)) | 3715 | (insert (format " (%d/%d)" n total)) |
| @@ -3761,7 +3774,7 @@ It should typically alter the sending method in some way or other." | |||
| 3761 | (goto-char (point-max)) | 3774 | (goto-char (point-max)) |
| 3762 | ;; require one newline at the end. | 3775 | ;; require one newline at the end. |
| 3763 | (or (= (preceding-char) ?\n) | 3776 | (or (= (preceding-char) ?\n) |
| 3764 | (insert ?\n)) | 3777 | (insert hard-newline)) |
| 3765 | (message-cleanup-headers) | 3778 | (message-cleanup-headers) |
| 3766 | ;; FIXME: we're inserting the courtesy copy after encoding. | 3779 | ;; FIXME: we're inserting the courtesy copy after encoding. |
| 3767 | ;; This is wrong if the courtesy copy string contains | 3780 | ;; This is wrong if the courtesy copy string contains |
| @@ -3837,7 +3850,7 @@ If you always want Gnus to send messages in one piece, set | |||
| 3837 | (goto-char (point-min)) | 3850 | (goto-char (point-min)) |
| 3838 | (re-search-forward | 3851 | (re-search-forward |
| 3839 | (concat "^" (regexp-quote mail-header-separator) "\n")) | 3852 | (concat "^" (regexp-quote mail-header-separator) "\n")) |
| 3840 | (replace-match "\n") | 3853 | (replace-match hard-newline) |
| 3841 | (backward-char 1) | 3854 | (backward-char 1) |
| 3842 | (setq delimline (point-marker)) | 3855 | (setq delimline (point-marker)) |
| 3843 | (run-hooks 'message-send-mail-hook) | 3856 | (run-hooks 'message-send-mail-hook) |
| @@ -3899,7 +3912,7 @@ to find out how to use this." | |||
| 3899 | (goto-char (point-min)) | 3912 | (goto-char (point-min)) |
| 3900 | (re-search-forward | 3913 | (re-search-forward |
| 3901 | (concat "^" (regexp-quote mail-header-separator) "\n")) | 3914 | (concat "^" (regexp-quote mail-header-separator) "\n")) |
| 3902 | (replace-match "\n") | 3915 | (replace-match hard-newline) |
| 3903 | (run-hooks 'message-send-mail-hook) | 3916 | (run-hooks 'message-send-mail-hook) |
| 3904 | ;; send the message | 3917 | ;; send the message |
| 3905 | (case | 3918 | (case |
| @@ -4067,13 +4080,13 @@ Otherwise, generate and save a value for `canlock-password' first." | |||
| 4067 | (goto-char (point-max)) | 4080 | (goto-char (point-max)) |
| 4068 | ;; require one newline at the end. | 4081 | ;; require one newline at the end. |
| 4069 | (or (= (preceding-char) ?\n) | 4082 | (or (= (preceding-char) ?\n) |
| 4070 | (insert ?\n)) | 4083 | (insert hard-newline)) |
| 4071 | (let ((case-fold-search t)) | 4084 | (let ((case-fold-search t)) |
| 4072 | ;; Remove the delimiter. | 4085 | ;; Remove the delimiter. |
| 4073 | (goto-char (point-min)) | 4086 | (goto-char (point-min)) |
| 4074 | (re-search-forward | 4087 | (re-search-forward |
| 4075 | (concat "^" (regexp-quote mail-header-separator) "\n")) | 4088 | (concat "^" (regexp-quote mail-header-separator) "\n")) |
| 4076 | (replace-match "\n") | 4089 | (replace-match hard-newline) |
| 4077 | (backward-char 1)) | 4090 | (backward-char 1)) |
| 4078 | (run-hooks 'message-send-news-hook) | 4091 | (run-hooks 'message-send-news-hook) |
| 4079 | (gnus-open-server method) | 4092 | (gnus-open-server method) |
| @@ -4200,7 +4213,7 @@ Otherwise, generate and save a value for `canlock-password' first." | |||
| 4200 | (message-tokenize-header | 4213 | (message-tokenize-header |
| 4201 | newsgroups))))))))) | 4214 | newsgroups))))))))) |
| 4202 | (goto-char (point-min)) | 4215 | (goto-char (point-min)) |
| 4203 | (insert "Followup-To: " to "\n")) | 4216 | (insert "Followup-To: " to hard-newline)) |
| 4204 | t)) | 4217 | t)) |
| 4205 | ;; Check "Shoot me". | 4218 | ;; Check "Shoot me". |
| 4206 | (message-check 'shoot | 4219 | (message-check 'shoot |
| @@ -5099,7 +5112,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5099 | ;; We check whether the value was ended by a | 5112 | ;; We check whether the value was ended by a |
| 5100 | ;; newline. If now, we insert one. | 5113 | ;; newline. If now, we insert one. |
| 5101 | (unless (bolp) | 5114 | (unless (bolp) |
| 5102 | (insert "\n")) | 5115 | (insert hard-newline)) |
| 5103 | (forward-line -1))) | 5116 | (forward-line -1))) |
| 5104 | ;; The value of this header was empty, so we clear | 5117 | ;; The value of this header was empty, so we clear |
| 5105 | ;; totally and insert the new value. | 5118 | ;; totally and insert the new value. |
| @@ -5139,7 +5152,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5139 | (beginning-of-line)) | 5152 | (beginning-of-line)) |
| 5140 | (when (or (message-news-p) | 5153 | (when (or (message-news-p) |
| 5141 | (string-match "@.+\\.." secure-sender)) | 5154 | (string-match "@.+\\.." secure-sender)) |
| 5142 | (insert "Sender: " secure-sender "\n")))) | 5155 | (insert "Sender: " secure-sender hard-newline)))) |
| 5143 | ;; Check for IDNA | 5156 | ;; Check for IDNA |
| 5144 | (message-idna-to-ascii-rhs)))) | 5157 | (message-idna-to-ascii-rhs)))) |
| 5145 | 5158 | ||
| @@ -5151,7 +5164,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5151 | (message-narrow-to-headers) | 5164 | (message-narrow-to-headers) |
| 5152 | (when (setq newsgroups (message-fetch-field "newsgroups")) | 5165 | (when (setq newsgroups (message-fetch-field "newsgroups")) |
| 5153 | (goto-char (point-max)) | 5166 | (goto-char (point-max)) |
| 5154 | (insert "Posted-To: " newsgroups "\n"))) | 5167 | (insert "Posted-To: " newsgroups hard-newline))) |
| 5155 | (forward-line 1) | 5168 | (forward-line 1) |
| 5156 | (when message-courtesy-message | 5169 | (when message-courtesy-message |
| 5157 | (cond | 5170 | (cond |
| @@ -5170,7 +5183,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5170 | (insert (capitalize (symbol-name header)) | 5183 | (insert (capitalize (symbol-name header)) |
| 5171 | ": " | 5184 | ": " |
| 5172 | (if (consp value) (car value) value) | 5185 | (if (consp value) (car value) value) |
| 5173 | "\n") | 5186 | hard-newline) |
| 5174 | (narrow-to-region (point-min) (1- (point-max))) | 5187 | (narrow-to-region (point-min) (1- (point-max))) |
| 5175 | (let (quoted last) | 5188 | (let (quoted last) |
| 5176 | (goto-char (point-min)) | 5189 | (goto-char (point-min)) |
| @@ -5184,7 +5197,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5184 | (progn | 5197 | (progn |
| 5185 | (save-excursion | 5198 | (save-excursion |
| 5186 | (goto-char last) | 5199 | (goto-char last) |
| 5187 | (insert "\n\t")) | 5200 | (insert hard-newline "\t")) |
| 5188 | (setq last (1+ (point)))) | 5201 | (setq last (1+ (point)))) |
| 5189 | (setq last (1+ (point))))) | 5202 | (setq last (1+ (point))))) |
| 5190 | (setq quoted (not quoted))) | 5203 | (setq quoted (not quoted))) |
| @@ -5210,7 +5223,7 @@ If the current line has `message-yank-prefix', insert it on the new line." | |||
| 5210 | (insert (capitalize (symbol-name header)) | 5223 | (insert (capitalize (symbol-name header)) |
| 5211 | ": " | 5224 | ": " |
| 5212 | (if (consp value) (car value) value) | 5225 | (if (consp value) (car value) value) |
| 5213 | "\n") | 5226 | hard-newline) |
| 5214 | (save-restriction | 5227 | (save-restriction |
| 5215 | (narrow-to-region begin (point)) | 5228 | (narrow-to-region begin (point)) |
| 5216 | (fill-region-as-paragraph begin (point)) | 5229 | (fill-region-as-paragraph begin (point)) |
| @@ -5279,7 +5292,7 @@ than 988 characters long, and if they are not, trim them until they are." | |||
| 5279 | (let ((refstring (mapconcat #'identity refs " "))) | 5292 | (let ((refstring (mapconcat #'identity refs " "))) |
| 5280 | (if (and message-this-is-news message-cater-to-broken-inn) | 5293 | (if (and message-this-is-news message-cater-to-broken-inn) |
| 5281 | (insert (capitalize (symbol-name header)) ": " | 5294 | (insert (capitalize (symbol-name header)) ": " |
| 5282 | refstring "\n") | 5295 | refstring hard-newline) |
| 5283 | (message-fill-header header refstring))))) | 5296 | (message-fill-header header refstring))))) |
| 5284 | 5297 | ||
| 5285 | (defun message-position-point () | 5298 | (defun message-position-point () |
| @@ -5508,18 +5521,18 @@ are not included." | |||
| 5508 | (delete-region (point) (progn (forward-line -1) (point))) | 5521 | (delete-region (point) (progn (forward-line -1) (point))) |
| 5509 | (when message-default-headers | 5522 | (when message-default-headers |
| 5510 | (insert message-default-headers) | 5523 | (insert message-default-headers) |
| 5511 | (or (bolp) (insert ?\n))) | 5524 | (or (bolp) (insert hard-newline))) |
| 5512 | (put-text-property | 5525 | (put-text-property |
| 5513 | (point) | 5526 | (point) |
| 5514 | (progn | 5527 | (progn |
| 5515 | (insert mail-header-separator "\n") | 5528 | (insert mail-header-separator hard-newline) |
| 5516 | (1- (point))) | 5529 | (1- (point))) |
| 5517 | 'read-only nil) | 5530 | 'read-only nil) |
| 5518 | (forward-line -1) | 5531 | (forward-line -1) |
| 5519 | (when (message-news-p) | 5532 | (when (message-news-p) |
| 5520 | (when message-default-news-headers | 5533 | (when message-default-news-headers |
| 5521 | (insert message-default-news-headers) | 5534 | (insert message-default-news-headers) |
| 5522 | (or (bolp) (insert ?\n))) | 5535 | (or (bolp) (insert hard-newline))) |
| 5523 | (when message-generate-headers-first | 5536 | (when message-generate-headers-first |
| 5524 | (message-generate-headers | 5537 | (message-generate-headers |
| 5525 | (message-headers-to-generate | 5538 | (message-headers-to-generate |
| @@ -5530,7 +5543,7 @@ are not included." | |||
| 5530 | (when (message-mail-p) | 5543 | (when (message-mail-p) |
| 5531 | (when message-default-mail-headers | 5544 | (when message-default-mail-headers |
| 5532 | (insert message-default-mail-headers) | 5545 | (insert message-default-mail-headers) |
| 5533 | (or (bolp) (insert ?\n))) | 5546 | (or (bolp) (insert hard-newline))) |
| 5534 | (save-restriction | 5547 | (save-restriction |
| 5535 | (message-narrow-to-headers) | 5548 | (message-narrow-to-headers) |
| 5536 | (if message-alternative-emails | 5549 | (if message-alternative-emails |
| @@ -6012,14 +6025,14 @@ If ARG, allow editing of the cancellation message." | |||
| 6012 | (message-news) | 6025 | (message-news) |
| 6013 | (setq buf (set-buffer (get-buffer-create " *message cancel*")))) | 6026 | (setq buf (set-buffer (get-buffer-create " *message cancel*")))) |
| 6014 | (erase-buffer) | 6027 | (erase-buffer) |
| 6015 | (insert "Newsgroups: " newsgroups "\n" | 6028 | (insert "Newsgroups: " newsgroups hard-newline |
| 6016 | "From: " from "\n" | 6029 | "From: " from hard-newline |
| 6017 | "Subject: cmsg cancel " message-id "\n" | 6030 | "Subject: cmsg cancel " message-id hard-newline |
| 6018 | "Control: cancel " message-id "\n" | 6031 | "Control: cancel " message-id hard-newline |
| 6019 | (if distribution | 6032 | (if distribution |
| 6020 | (concat "Distribution: " distribution "\n") | 6033 | (concat "Distribution: " distribution hard-newline) |
| 6021 | "") | 6034 | "") |
| 6022 | mail-header-separator "\n" | 6035 | mail-header-separator hard-newline |
| 6023 | message-cancel-message) | 6036 | message-cancel-message) |
| 6024 | (run-hooks 'message-cancel-hook) | 6037 | (run-hooks 'message-cancel-hook) |
| 6025 | (unless arg | 6038 | (unless arg |
| @@ -6208,7 +6221,9 @@ Optional DIGEST will use digest to forward." | |||
| 6208 | 6221 | ||
| 6209 | (defun message-forward-make-body-plain (forward-buffer) | 6222 | (defun message-forward-make-body-plain (forward-buffer) |
| 6210 | (insert | 6223 | (insert |
| 6211 | "\n-------------------- Start of forwarded message --------------------\n") | 6224 | hard-newline |
| 6225 | "-------------------- Start of forwarded message --------------------" | ||
| 6226 | hard-newline) | ||
| 6212 | (let ((b (point)) e) | 6227 | (let ((b (point)) e) |
| 6213 | (insert | 6228 | (insert |
| 6214 | (with-temp-buffer | 6229 | (with-temp-buffer |
| @@ -6224,7 +6239,9 @@ Optional DIGEST will use digest to forward." | |||
| 6224 | (buffer-string))) | 6239 | (buffer-string))) |
| 6225 | (setq e (point)) | 6240 | (setq e (point)) |
| 6226 | (insert | 6241 | (insert |
| 6227 | "\n-------------------- End of forwarded message --------------------\n") | 6242 | hard-newline |
| 6243 | "-------------------- End of forwarded message --------------------" | ||
| 6244 | hard-newline) | ||
| 6228 | (when message-forward-ignored-headers | 6245 | (when message-forward-ignored-headers |
| 6229 | (save-restriction | 6246 | (save-restriction |
| 6230 | (narrow-to-region b e) | 6247 | (narrow-to-region b e) |
| @@ -6234,7 +6251,10 @@ Optional DIGEST will use digest to forward." | |||
| 6234 | (message-remove-header message-forward-ignored-headers t))))) | 6251 | (message-remove-header message-forward-ignored-headers t))))) |
| 6235 | 6252 | ||
| 6236 | (defun message-forward-make-body-mime (forward-buffer) | 6253 | (defun message-forward-make-body-mime (forward-buffer) |
| 6237 | (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n") | 6254 | (insert |
| 6255 | hard-newline hard-newline | ||
| 6256 | "<#part type=message/rfc822 disposition=inline raw=t>" | ||
| 6257 | hard-newline) | ||
| 6238 | (let ((b (point)) e) | 6258 | (let ((b (point)) e) |
| 6239 | (save-restriction | 6259 | (save-restriction |
| 6240 | (narrow-to-region (point) (point)) | 6260 | (narrow-to-region (point) (point)) |
| @@ -6244,10 +6264,13 @@ Optional DIGEST will use digest to forward." | |||
| 6244 | (replace-match "X-From-Line: ")) | 6264 | (replace-match "X-From-Line: ")) |
| 6245 | (goto-char (point-max))) | 6265 | (goto-char (point-max))) |
| 6246 | (setq e (point)) | 6266 | (setq e (point)) |
| 6247 | (insert "<#/part>\n"))) | 6267 | (insert "<#/part>" hard-newline))) |
| 6248 | 6268 | ||
| 6249 | (defun message-forward-make-body-mml (forward-buffer) | 6269 | (defun message-forward-make-body-mml (forward-buffer) |
| 6250 | (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n") | 6270 | (insert |
| 6271 | hard-newline hard-newline | ||
| 6272 | "<#mml type=message/rfc822 disposition=inline>" | ||
| 6273 | hard-newline) | ||
| 6251 | (let ((b (point)) e) | 6274 | (let ((b (point)) e) |
| 6252 | (if (not message-forward-decoded-p) | 6275 | (if (not message-forward-decoded-p) |
| 6253 | (insert | 6276 | (insert |
| @@ -6270,7 +6293,7 @@ Optional DIGEST will use digest to forward." | |||
| 6270 | (replace-match "X-From-Line: ")) | 6293 | (replace-match "X-From-Line: ")) |
| 6271 | (goto-char (point-max)))) | 6294 | (goto-char (point-max)))) |
| 6272 | (setq e (point)) | 6295 | (setq e (point)) |
| 6273 | (insert "<#/mml>\n") | 6296 | (insert "<#/mml>" hard-newline) |
| 6274 | (when (and (not message-forward-decoded-p) | 6297 | (when (and (not message-forward-decoded-p) |
| 6275 | message-forward-ignored-headers) | 6298 | message-forward-ignored-headers) |
| 6276 | (save-restriction | 6299 | (save-restriction |
| @@ -6282,19 +6305,23 @@ Optional DIGEST will use digest to forward." | |||
| 6282 | 6305 | ||
| 6283 | (defun message-forward-make-body-digest-plain (forward-buffer) | 6306 | (defun message-forward-make-body-digest-plain (forward-buffer) |
| 6284 | (insert | 6307 | (insert |
| 6285 | "\n-------------------- Start of forwarded message --------------------\n") | 6308 | hard-newline |
| 6309 | "-------------------- Start of forwarded message --------------------" | ||
| 6310 | hard-newline) | ||
| 6286 | (let ((b (point)) e) | 6311 | (let ((b (point)) e) |
| 6287 | (mml-insert-buffer forward-buffer) | 6312 | (mml-insert-buffer forward-buffer) |
| 6288 | (setq e (point)) | 6313 | (setq e (point)) |
| 6289 | (insert | 6314 | (insert |
| 6290 | "\n-------------------- End of forwarded message --------------------\n"))) | 6315 | hard-newline |
| 6316 | "-------------------- End of forwarded message --------------------" | ||
| 6317 | hard-newline))) | ||
| 6291 | 6318 | ||
| 6292 | (defun message-forward-make-body-digest-mime (forward-buffer) | 6319 | (defun message-forward-make-body-digest-mime (forward-buffer) |
| 6293 | (insert "\n<#multipart type=digest>\n") | 6320 | (insert hard-newline "<#multipart type=digest>" hard-newline) |
| 6294 | (let ((b (point)) e) | 6321 | (let ((b (point)) e) |
| 6295 | (insert-buffer-substring forward-buffer) | 6322 | (insert-buffer-substring forward-buffer) |
| 6296 | (setq e (point)) | 6323 | (setq e (point)) |
| 6297 | (insert "<#/multipart>\n") | 6324 | (insert "<#/multipart>" hard-newline) |
| 6298 | (save-restriction | 6325 | (save-restriction |
| 6299 | (narrow-to-region b e) | 6326 | (narrow-to-region b e) |
| 6300 | (goto-char b) | 6327 | (goto-char b) |
| @@ -6799,7 +6826,7 @@ regexp VARSTR." | |||
| 6799 | (message-narrow-to-headers-or-head) | 6826 | (message-narrow-to-headers-or-head) |
| 6800 | (message-remove-header "Mime-Version") | 6827 | (message-remove-header "Mime-Version") |
| 6801 | (goto-char (point-max)) | 6828 | (goto-char (point-max)) |
| 6802 | (insert "MIME-Version: 1.0\n") | 6829 | (insert "MIME-Version: 1.0" hard-newline) |
| 6803 | (when lines | 6830 | (when lines |
| 6804 | (insert lines)) | 6831 | (insert lines)) |
| 6805 | (setq content-type-p | 6832 | (setq content-type-p |
| @@ -6819,7 +6846,7 @@ regexp VARSTR." | |||
| 6819 | ;; For unknown reason, MIME-Version doesn't exist. | 6846 | ;; For unknown reason, MIME-Version doesn't exist. |
| 6820 | (when (re-search-forward "^MIME-Version:" nil t) | 6847 | (when (re-search-forward "^MIME-Version:" nil t) |
| 6821 | (forward-line 1) | 6848 | (forward-line 1) |
| 6822 | (insert "Content-Type: text/plain; charset=us-ascii\n")))))) | 6849 | (insert "Content-Type: text/plain; charset=us-ascii" hard-newline)))))) |
| 6823 | 6850 | ||
| 6824 | (defun message-read-from-minibuffer (prompt &optional initial-contents) | 6851 | (defun message-read-from-minibuffer (prompt &optional initial-contents) |
| 6825 | "Read from the minibuffer while providing abbrev expansion." | 6852 | "Read from the minibuffer while providing abbrev expansion." |
| @@ -6848,7 +6875,7 @@ regexp VARSTR." | |||
| 6848 | (pop emails)) | 6875 | (pop emails)) |
| 6849 | (unless (or (not email) (equal email user-mail-address)) | 6876 | (unless (or (not email) (equal email user-mail-address)) |
| 6850 | (goto-char (point-max)) | 6877 | (goto-char (point-max)) |
| 6851 | (insert "From: " email "\n")))) | 6878 | (insert "From: " email hard-newline)))) |
| 6852 | 6879 | ||
| 6853 | (defun message-options-get (symbol) | 6880 | (defun message-options-get (symbol) |
| 6854 | (cdr (assq symbol message-options))) | 6881 | (cdr (assq symbol message-options))) |
diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el index 63f7611bd52..8d565ab61a8 100644 --- a/lisp/hi-lock.el +++ b/lisp/hi-lock.el | |||
| @@ -84,9 +84,10 @@ | |||
| 84 | (eval-and-compile | 84 | (eval-and-compile |
| 85 | (require 'font-lock)) | 85 | (require 'font-lock)) |
| 86 | 86 | ||
| 87 | (defgroup hi-lock-interactive-text-highlighting nil | 87 | (defgroup hi-lock nil |
| 88 | "Interactively add and remove font-lock patterns for highlighting text." | 88 | "Interactively add and remove font-lock patterns for highlighting text." |
| 89 | :group 'faces) | 89 | :link '(custom-manual "(emacs)Highlight Interactively") |
| 90 | :group 'font-lock) | ||
| 90 | 91 | ||
| 91 | ;;;###autoload | 92 | ;;;###autoload |
| 92 | (defcustom hi-lock-mode nil | 93 | (defcustom hi-lock-mode nil |
| @@ -95,7 +96,7 @@ | |||
| 95 | (hi-lock-mode (or value 0))) | 96 | (hi-lock-mode (or value 0))) |
| 96 | :initialize 'custom-initialize-default | 97 | :initialize 'custom-initialize-default |
| 97 | :type 'boolean | 98 | :type 'boolean |
| 98 | :group 'hi-lock-interactive-text-highlighting | 99 | :group 'hi-lock |
| 99 | :require 'hi-lock) | 100 | :require 'hi-lock) |
| 100 | 101 | ||
| 101 | (defcustom hi-lock-file-patterns-range 10000 | 102 | (defcustom hi-lock-file-patterns-range 10000 |
| @@ -104,7 +105,7 @@ When a file is visited and hi-lock mode is on patterns starting | |||
| 104 | up to this limit are added to font-lock's patterns. See documentation | 105 | up to this limit are added to font-lock's patterns. See documentation |
| 105 | of functions `hi-lock-mode' and `hi-lock-find-patterns'." | 106 | of functions `hi-lock-mode' and `hi-lock-find-patterns'." |
| 106 | :type 'integer | 107 | :type 'integer |
| 107 | :group 'hi-lock-interactive-text-highlighting) | 108 | :group 'hi-lock) |
| 108 | 109 | ||
| 109 | (defcustom hi-lock-exclude-modes | 110 | (defcustom hi-lock-exclude-modes |
| 110 | '(rmail-mode mime/viewer-mode gnus-article-mode) | 111 | '(rmail-mode mime/viewer-mode gnus-article-mode) |
| @@ -112,12 +113,13 @@ of functions `hi-lock-mode' and `hi-lock-find-patterns'." | |||
| 112 | For security reasons since font lock patterns can specify function | 113 | For security reasons since font lock patterns can specify function |
| 113 | calls." | 114 | calls." |
| 114 | :type '(repeat symbol) | 115 | :type '(repeat symbol) |
| 115 | :group 'hi-lock-interactive-text-highlighting) | 116 | :group 'hi-lock) |
| 116 | 117 | ||
| 117 | 118 | ||
| 118 | (defgroup hi-lock-faces nil | 119 | (defgroup hi-lock-faces nil |
| 119 | "Faces for hi-lock." | 120 | "Faces for hi-lock." |
| 120 | :group 'hi-lock-interactive-text-highlighting) | 121 | :group 'hi-lock |
| 122 | :group 'faces) | ||
| 121 | 123 | ||
| 122 | (defface hi-yellow | 124 | (defface hi-yellow |
| 123 | '((((min-colors 88) (background dark)) | 125 | '((((min-colors 88) (background dark)) |
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 8ab984cd61b..4e8f8f61221 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el | |||
| @@ -257,7 +257,7 @@ With numeric ARG, enable auto-update if and only if ARG is positive." | |||
| 257 | "Enable or disable filtering by the major mode at point." | 257 | "Enable or disable filtering by the major mode at point." |
| 258 | (interactive "d") | 258 | (interactive "d") |
| 259 | (if (eventp event-or-point) | 259 | (if (eventp event-or-point) |
| 260 | (mouse-set-point event-or-point) | 260 | (posn-set-point (event-end event-or-point)) |
| 261 | (goto-char event-or-point)) | 261 | (goto-char event-or-point)) |
| 262 | (let ((buf (ibuffer-current-buffer))) | 262 | (let ((buf (ibuffer-current-buffer))) |
| 263 | (if (assq 'mode ibuffer-filtering-qualifiers) | 263 | (if (assq 'mode ibuffer-filtering-qualifiers) |
diff --git a/lisp/mail/mailheader.el b/lisp/mail/mailheader.el index 1e9a24da341..aeed54a5ace 100644 --- a/lisp/mail/mailheader.el +++ b/lisp/mail/mailheader.el | |||
| @@ -146,7 +146,7 @@ skip the header altogether if there are no other elements. | |||
| 146 | (insert (capitalize (symbol-name header)) | 146 | (insert (capitalize (symbol-name header)) |
| 147 | ": " | 147 | ": " |
| 148 | (if (consp value) (car value) value) | 148 | (if (consp value) (car value) value) |
| 149 | "\n"))) | 149 | hard-newline))) |
| 150 | 150 | ||
| 151 | (defun mail-header-format (format-rules headers) | 151 | (defun mail-header-format (format-rules headers) |
| 152 | "Use FORMAT-RULES to format HEADERS and insert into current buffer. | 152 | "Use FORMAT-RULES to format HEADERS and insert into current buffer. |
| @@ -187,7 +187,7 @@ A key of nil has as its value a list of defaulted headers to ignore." | |||
| 187 | (if (cdr rule) | 187 | (if (cdr rule) |
| 188 | (funcall (cdr rule) header value) | 188 | (funcall (cdr rule) header value) |
| 189 | (funcall mail-header-format-function header value)))))) | 189 | (funcall mail-header-format-function header value)))))) |
| 190 | (insert "\n"))) | 190 | (insert hard-newline))) |
| 191 | 191 | ||
| 192 | (provide 'mailheader) | 192 | (provide 'mailheader) |
| 193 | 193 | ||
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el index 8e7a71d65ab..e87aebe7cc2 100644 --- a/lisp/mail/sendmail.el +++ b/lisp/mail/sendmail.el | |||
| @@ -446,7 +446,7 @@ actually occur.") | |||
| 446 | ;; has been called and has done so. | 446 | ;; has been called and has done so. |
| 447 | (let ((fill-prefix "\t") | 447 | (let ((fill-prefix "\t") |
| 448 | (address-start (point))) | 448 | (address-start (point))) |
| 449 | (insert to "\n") | 449 | (insert to hard-newline) |
| 450 | (fill-region-as-paragraph address-start (point-max)) | 450 | (fill-region-as-paragraph address-start (point-max)) |
| 451 | (goto-char (point-max)) | 451 | (goto-char (point-max)) |
| 452 | (unless (bolp) | 452 | (unless (bolp) |
| @@ -455,7 +455,7 @@ actually occur.") | |||
| 455 | (if cc | 455 | (if cc |
| 456 | (let ((fill-prefix "\t") | 456 | (let ((fill-prefix "\t") |
| 457 | (address-start (progn (insert "CC: ") (point)))) | 457 | (address-start (progn (insert "CC: ") (point)))) |
| 458 | (insert cc "\n") | 458 | (insert cc hard-newline) |
| 459 | (fill-region-as-paragraph address-start (point-max)) | 459 | (fill-region-as-paragraph address-start (point-max)) |
| 460 | (goto-char (point-max)) | 460 | (goto-char (point-max)) |
| 461 | (unless (bolp) | 461 | (unless (bolp) |
| @@ -464,23 +464,23 @@ actually occur.") | |||
| 464 | (let ((fill-prefix "\t") | 464 | (let ((fill-prefix "\t") |
| 465 | (fill-column 78) | 465 | (fill-column 78) |
| 466 | (address-start (point))) | 466 | (address-start (point))) |
| 467 | (insert "In-reply-to: " in-reply-to "\n") | 467 | (insert "In-reply-to: " in-reply-to hard-newline) |
| 468 | (fill-region-as-paragraph address-start (point-max)) | 468 | (fill-region-as-paragraph address-start (point-max)) |
| 469 | (goto-char (point-max)) | 469 | (goto-char (point-max)) |
| 470 | (unless (bolp) | 470 | (unless (bolp) |
| 471 | (newline)))) | 471 | (newline)))) |
| 472 | (insert "Subject: " (or subject "") "\n") | 472 | (insert "Subject: " (or subject "") hard-newline) |
| 473 | (if mail-default-headers | 473 | (if mail-default-headers |
| 474 | (insert mail-default-headers)) | 474 | (insert mail-default-headers)) |
| 475 | (if mail-default-reply-to | 475 | (if mail-default-reply-to |
| 476 | (insert "Reply-to: " mail-default-reply-to "\n")) | 476 | (insert "Reply-to: " mail-default-reply-to hard-newline)) |
| 477 | (if mail-self-blind | 477 | (if mail-self-blind |
| 478 | (insert "BCC: " user-mail-address "\n")) | 478 | (insert "BCC: " user-mail-address hard-newline)) |
| 479 | (if mail-archive-file-name | 479 | (if mail-archive-file-name |
| 480 | (insert "FCC: " mail-archive-file-name "\n")) | 480 | (insert "FCC: " mail-archive-file-name hard-newline)) |
| 481 | (put-text-property (point) | 481 | (put-text-property (point) |
| 482 | (progn | 482 | (progn |
| 483 | (insert mail-header-separator "\n") | 483 | (insert mail-header-separator hard-newline) |
| 484 | (1- (point))) | 484 | (1- (point))) |
| 485 | 'category 'mail-header-separator) | 485 | 'category 'mail-header-separator) |
| 486 | ;; Insert the signature. But remember the beginning of the message. | 486 | ;; Insert the signature. But remember the beginning of the message. |
| @@ -488,7 +488,7 @@ actually occur.") | |||
| 488 | (cond ((eq mail-signature t) | 488 | (cond ((eq mail-signature t) |
| 489 | (if (file-exists-p mail-signature-file) | 489 | (if (file-exists-p mail-signature-file) |
| 490 | (progn | 490 | (progn |
| 491 | (insert "\n\n-- \n") | 491 | (insert hard-newline hard-newline "-- " hard-newline) |
| 492 | (insert-file-contents mail-signature-file)))) | 492 | (insert-file-contents mail-signature-file)))) |
| 493 | ((stringp mail-signature) | 493 | ((stringp mail-signature) |
| 494 | (insert mail-signature)) | 494 | (insert mail-signature)) |
| @@ -835,14 +835,14 @@ the user from the mailer." | |||
| 835 | (split-string new-header-values | 835 | (split-string new-header-values |
| 836 | ",[[:space:]]+" t)) | 836 | ",[[:space:]]+" t)) |
| 837 | (mapconcat 'identity l ", ")) | 837 | (mapconcat 'identity l ", ")) |
| 838 | "\n")) | 838 | hard-newline)) |
| 839 | ;; Add Mail-Reply-To if none yet | 839 | ;; Add Mail-Reply-To if none yet |
| 840 | (unless (mail-fetch-field "mail-reply-to") | 840 | (unless (mail-fetch-field "mail-reply-to") |
| 841 | (goto-char (mail-header-end)) | 841 | (goto-char (mail-header-end)) |
| 842 | (insert "Mail-Reply-To: " | 842 | (insert "Mail-Reply-To: " |
| 843 | (or (mail-fetch-field "reply-to") | 843 | (or (mail-fetch-field "reply-to") |
| 844 | user-mail-address) | 844 | user-mail-address) |
| 845 | "\n")))))) | 845 | hard-newline)))))) |
| 846 | (unless (memq mail-send-nonascii '(t mime)) | 846 | (unless (memq mail-send-nonascii '(t mime)) |
| 847 | (goto-char (point-min)) | 847 | (goto-char (point-min)) |
| 848 | (skip-chars-forward "\0-\177") | 848 | (skip-chars-forward "\0-\177") |
| @@ -931,7 +931,7 @@ See also the function `select-message-coding-system'.") | |||
| 931 | fullname-end 1) | 931 | fullname-end 1) |
| 932 | (replace-match "\\\\\\&" t)) | 932 | (replace-match "\\\\\\&" t)) |
| 933 | (insert "\"")))) | 933 | (insert "\"")))) |
| 934 | (insert " <" login ">\n")) | 934 | (insert " <" login ">" hard-newline)) |
| 935 | ((eq mail-from-style 'parens) | 935 | ((eq mail-from-style 'parens) |
| 936 | (insert "From: " login " (") | 936 | (insert "From: " login " (") |
| 937 | (let ((fullname-start (point))) | 937 | (let ((fullname-start (point))) |
| @@ -955,9 +955,9 @@ See also the function `select-message-coding-system'.") | |||
| 955 | fullname-end 1) | 955 | fullname-end 1) |
| 956 | (replace-match "\\1(\\3)" t) | 956 | (replace-match "\\1(\\3)" t) |
| 957 | (goto-char fullname-start)))) | 957 | (goto-char fullname-start)))) |
| 958 | (insert ")\n")) | 958 | (insert ")" hard-newline)) |
| 959 | ((null mail-from-style) | 959 | ((null mail-from-style) |
| 960 | (insert "From: " login "\n")) | 960 | (insert "From: " login hard-newline)) |
| 961 | ((eq mail-from-style 'system-default) | 961 | ((eq mail-from-style 'system-default) |
| 962 | nil) | 962 | nil) |
| 963 | (t (error "Invalid value for `mail-from-style'"))))) | 963 | (t (error "Invalid value for `mail-from-style'"))))) |
| @@ -996,7 +996,7 @@ external program defined by `sendmail-program'." | |||
| 996 | (goto-char (point-max)) | 996 | (goto-char (point-max)) |
| 997 | ;; require one newline at the end. | 997 | ;; require one newline at the end. |
| 998 | (or (= (preceding-char) ?\n) | 998 | (or (= (preceding-char) ?\n) |
| 999 | (insert ?\n)) | 999 | (insert hard-newline)) |
| 1000 | ;; Change header-delimiter to be what sendmail expects. | 1000 | ;; Change header-delimiter to be what sendmail expects. |
| 1001 | (goto-char (mail-header-end)) | 1001 | (goto-char (mail-header-end)) |
| 1002 | (delete-region (point) (progn (end-of-line) (point))) | 1002 | (delete-region (point) (progn (end-of-line) (point))) |
| @@ -1008,7 +1008,7 @@ external program defined by `sendmail-program'." | |||
| 1008 | ;; Ignore any blank lines in the header | 1008 | ;; Ignore any blank lines in the header |
| 1009 | (while (and (re-search-forward "\n\n\n*" delimline t) | 1009 | (while (and (re-search-forward "\n\n\n*" delimline t) |
| 1010 | (< (point) delimline)) | 1010 | (< (point) delimline)) |
| 1011 | (replace-match "\n")) | 1011 | (replace-match hard-newline)) |
| 1012 | (goto-char (point-min)) | 1012 | (goto-char (point-min)) |
| 1013 | ;; Look for Resent- headers. They require sending | 1013 | ;; Look for Resent- headers. They require sending |
| 1014 | ;; the message specially. | 1014 | ;; the message specially. |
| @@ -1070,10 +1070,10 @@ external program defined by `sendmail-program'." | |||
| 1070 | (setq charset | 1070 | (setq charset |
| 1071 | (coding-system-get selected-coding 'mime-charset)) | 1071 | (coding-system-get selected-coding 'mime-charset)) |
| 1072 | (goto-char delimline) | 1072 | (goto-char delimline) |
| 1073 | (insert "MIME-version: 1.0\n" | 1073 | (insert "MIME-version: 1.0" hard-newline |
| 1074 | "Content-type: text/plain; charset=" | 1074 | "Content-type: text/plain; charset=" |
| 1075 | (symbol-name charset) "\n" | 1075 | (symbol-name charset) hard-newline |
| 1076 | "Content-Transfer-Encoding: 8bit\n"))) | 1076 | "Content-Transfer-Encoding: 8bit" hard-newline))) |
| 1077 | ;; Insert an extra newline if we need it to work around | 1077 | ;; Insert an extra newline if we need it to work around |
| 1078 | ;; Sun's bug that swallows newlines. | 1078 | ;; Sun's bug that swallows newlines. |
| 1079 | (goto-char (1+ delimline)) | 1079 | (goto-char (1+ delimline)) |
| @@ -1167,8 +1167,8 @@ external program defined by `sendmail-program'." | |||
| 1167 | (set-buffer tembuf) | 1167 | (set-buffer tembuf) |
| 1168 | (erase-buffer) | 1168 | (erase-buffer) |
| 1169 | ;; This initial newline is written out if the fcc file already exists. | 1169 | ;; This initial newline is written out if the fcc file already exists. |
| 1170 | (insert "\nFrom " (user-login-name) " " | 1170 | (insert hard-newline "From " (user-login-name) " " |
| 1171 | (current-time-string time) "\n") | 1171 | (current-time-string time) hard-newline) |
| 1172 | ;; Insert the time zone before the year. | 1172 | ;; Insert the time zone before the year. |
| 1173 | (forward-char -1) | 1173 | (forward-char -1) |
| 1174 | (forward-word -1) | 1174 | (forward-word -1) |
| @@ -1178,7 +1178,7 @@ external program defined by `sendmail-program'." | |||
| 1178 | (insert-buffer-substring rmailbuf) | 1178 | (insert-buffer-substring rmailbuf) |
| 1179 | ;; Make sure messages are separated. | 1179 | ;; Make sure messages are separated. |
| 1180 | (goto-char (point-max)) | 1180 | (goto-char (point-max)) |
| 1181 | (insert ?\n) | 1181 | (insert hard-newline) |
| 1182 | (goto-char 2) | 1182 | (goto-char 2) |
| 1183 | ;; ``Quote'' "^From " as ">From " | 1183 | ;; ``Quote'' "^From " as ">From " |
| 1184 | ;; (note that this isn't really quoting, as there is no requirement | 1184 | ;; (note that this isn't really quoting, as there is no requirement |
| @@ -1220,10 +1220,11 @@ external program defined by `sendmail-program'." | |||
| 1220 | (rmail-maybe-set-message-counters) | 1220 | (rmail-maybe-set-message-counters) |
| 1221 | (widen) | 1221 | (widen) |
| 1222 | (narrow-to-region (point-max) (point-max)) | 1222 | (narrow-to-region (point-max) (point-max)) |
| 1223 | (insert "\C-l\n0, unseen,,\n*** EOOH ***\n" | 1223 | (insert "\C-l" hard-newline "0, unseen,," |
| 1224 | "Date: " (mail-rfc822-date) "\n") | 1224 | hard-newline "*** EOOH ***" hard-newline |
| 1225 | "Date: " (mail-rfc822-date) hard-newline) | ||
| 1225 | (insert-buffer-substring curbuf beg2 end) | 1226 | (insert-buffer-substring curbuf beg2 end) |
| 1226 | (insert "\n\C-_") | 1227 | (insert hard-newline "\C-_") |
| 1227 | (goto-char (point-min)) | 1228 | (goto-char (point-min)) |
| 1228 | (widen) | 1229 | (widen) |
| 1229 | (search-backward "\n\^_") | 1230 | (search-backward "\n\^_") |
| @@ -1261,10 +1262,11 @@ external program defined by `sendmail-program'." | |||
| 1261 | (set-buffer (get-buffer-create " mail-temp")) | 1262 | (set-buffer (get-buffer-create " mail-temp")) |
| 1262 | (setq buffer-read-only nil) | 1263 | (setq buffer-read-only nil) |
| 1263 | (erase-buffer) | 1264 | (erase-buffer) |
| 1264 | (insert "\C-l\n0, unseen,,\n*** EOOH ***\n" | 1265 | (insert "\C-l" hard-newline "0, unseen,," hard-newline |
| 1265 | "Date: " (mail-rfc822-date) "\n") | 1266 | "*** EOOH ***" hard-newline "Date: " |
| 1267 | (mail-rfc822-date) hard-newline) | ||
| 1266 | (insert-buffer-substring curbuf beg2 end) | 1268 | (insert-buffer-substring curbuf beg2 end) |
| 1267 | (insert "\n\C-_") | 1269 | (insert hard-newline "\C-_") |
| 1268 | (write-region (point-min) (point-max) (car fcc-list) t) | 1270 | (write-region (point-min) (point-max) (car fcc-list) t) |
| 1269 | (erase-buffer))) | 1271 | (erase-buffer))) |
| 1270 | (write-region | 1272 | (write-region |
| @@ -1316,7 +1318,7 @@ external program defined by `sendmail-program'." | |||
| 1316 | (expand-abbrev) | 1318 | (expand-abbrev) |
| 1317 | (or (mail-position-on-field "cc" t) | 1319 | (or (mail-position-on-field "cc" t) |
| 1318 | (progn (mail-position-on-field "to") | 1320 | (progn (mail-position-on-field "to") |
| 1319 | (insert "\nCC: ")))) | 1321 | (insert hard-newline "CC: ")))) |
| 1320 | 1322 | ||
| 1321 | (defun mail-bcc () | 1323 | (defun mail-bcc () |
| 1322 | "Move point to end of BCC-field. Create a BCC field if none." | 1324 | "Move point to end of BCC-field. Create a BCC field if none." |
| @@ -1324,7 +1326,7 @@ external program defined by `sendmail-program'." | |||
| 1324 | (expand-abbrev) | 1326 | (expand-abbrev) |
| 1325 | (or (mail-position-on-field "bcc" t) | 1327 | (or (mail-position-on-field "bcc" t) |
| 1326 | (progn (mail-position-on-field "to") | 1328 | (progn (mail-position-on-field "to") |
| 1327 | (insert "\nBCC: ")))) | 1329 | (insert hard-newline "BCC: ")))) |
| 1328 | 1330 | ||
| 1329 | (defun mail-fcc (folder) | 1331 | (defun mail-fcc (folder) |
| 1330 | "Add a new FCC field, with file name completion." | 1332 | "Add a new FCC field, with file name completion." |
| @@ -1332,7 +1334,7 @@ external program defined by `sendmail-program'." | |||
| 1332 | (expand-abbrev) | 1334 | (expand-abbrev) |
| 1333 | (or (mail-position-on-field "fcc" t) ;Put new field after exiting FCC. | 1335 | (or (mail-position-on-field "fcc" t) ;Put new field after exiting FCC. |
| 1334 | (mail-position-on-field "to")) | 1336 | (mail-position-on-field "to")) |
| 1335 | (insert "\nFCC: " folder)) | 1337 | (insert hard-newline "FCC: " folder)) |
| 1336 | 1338 | ||
| 1337 | (defun mail-reply-to () | 1339 | (defun mail-reply-to () |
| 1338 | "Move point to end of Reply-To-field. Create a Reply-To field if none." | 1340 | "Move point to end of Reply-To-field. Create a Reply-To field if none." |
| @@ -1347,7 +1349,7 @@ Create a Mail-Reply-To field if none." | |||
| 1347 | (expand-abbrev) | 1349 | (expand-abbrev) |
| 1348 | (or (mail-position-on-field "mail-reply-to" t) | 1350 | (or (mail-position-on-field "mail-reply-to" t) |
| 1349 | (progn (mail-position-on-field "to") | 1351 | (progn (mail-position-on-field "to") |
| 1350 | (insert "\nMail-Reply-To: ")))) | 1352 | (insert hard-newline "Mail-Reply-To: ")))) |
| 1351 | 1353 | ||
| 1352 | (defun mail-mail-followup-to () | 1354 | (defun mail-mail-followup-to () |
| 1353 | "Move point to end of Mail-Followup-To field. | 1355 | "Move point to end of Mail-Followup-To field. |
| @@ -1356,7 +1358,7 @@ Create a Mail-Followup-To field if none." | |||
| 1356 | (expand-abbrev) | 1358 | (expand-abbrev) |
| 1357 | (or (mail-position-on-field "mail-followup-to" t) | 1359 | (or (mail-position-on-field "mail-followup-to" t) |
| 1358 | (progn (mail-position-on-field "to") | 1360 | (progn (mail-position-on-field "to") |
| 1359 | (insert "\nMail-Followup-To: ")))) | 1361 | (insert hard-newline "Mail-Followup-To: ")))) |
| 1360 | 1362 | ||
| 1361 | (defun mail-position-on-field (field &optional soft) | 1363 | (defun mail-position-on-field (field &optional soft) |
| 1362 | (let (end | 1364 | (let (end |
| @@ -1371,7 +1373,7 @@ Create a Mail-Followup-To field if none." | |||
| 1371 | t) | 1373 | t) |
| 1372 | (or soft | 1374 | (or soft |
| 1373 | (progn (goto-char end) | 1375 | (progn (goto-char end) |
| 1374 | (insert field ": \n") | 1376 | (insert field ": " hard-newline) |
| 1375 | (skip-chars-backward "\n"))) | 1377 | (skip-chars-backward "\n"))) |
| 1376 | nil))) | 1378 | nil))) |
| 1377 | 1379 | ||
| @@ -1394,7 +1396,7 @@ Prefix arg means put contents at point." | |||
| 1394 | (delete-region (point) (point-max))) | 1396 | (delete-region (point) (point-max))) |
| 1395 | (if (stringp mail-signature) | 1397 | (if (stringp mail-signature) |
| 1396 | (insert mail-signature) | 1398 | (insert mail-signature) |
| 1397 | (insert "\n\n-- \n") | 1399 | (insert hard-newline hard-newline "-- " hard-newline) |
| 1398 | (insert-file-contents (expand-file-name mail-signature-file))))) | 1400 | (insert-file-contents (expand-file-name mail-signature-file))))) |
| 1399 | 1401 | ||
| 1400 | (defun mail-fill-yanked-message (&optional justifyp) | 1402 | (defun mail-fill-yanked-message (&optional justifyp) |
| @@ -1480,7 +1482,7 @@ and don't delete any header fields." | |||
| 1480 | ;; loop would deactivate the mark because we inserted text. | 1482 | ;; loop would deactivate the mark because we inserted text. |
| 1481 | (goto-char (prog1 (mark t) | 1483 | (goto-char (prog1 (mark t) |
| 1482 | (set-marker (mark-marker) (point) (current-buffer)))) | 1484 | (set-marker (mark-marker) (point) (current-buffer)))) |
| 1483 | (if (not (eolp)) (insert ?\n))))) | 1485 | (if (not (eolp)) (insert hard-newline))))) |
| 1484 | 1486 | ||
| 1485 | (defun mail-yank-clear-headers (start end) | 1487 | (defun mail-yank-clear-headers (start end) |
| 1486 | (if (< end start) | 1488 | (if (< end start) |
| @@ -1564,7 +1566,8 @@ If the current line has `mail-yank-prefix', insert it on the new line." | |||
| 1564 | (insert-char ?= (max 0 (- 60 (current-column)))) | 1566 | (insert-char ?= (max 0 (- 60 (current-column)))) |
| 1565 | (newline) | 1567 | (newline) |
| 1566 | (setq middle (point)) | 1568 | (setq middle (point)) |
| 1567 | (insert "============================================================\n") | 1569 | (insert "============================================================" |
| 1570 | hard-newline) | ||
| 1568 | (push-mark) | 1571 | (push-mark) |
| 1569 | (goto-char middle) | 1572 | (goto-char middle) |
| 1570 | (insert-file-contents file) | 1573 | (insert-file-contents file) |
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index 6a6d63a169a..6442463796c 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el | |||
| @@ -163,6 +163,7 @@ This is a good place to add Ada environment specific bindings.") | |||
| 163 | 163 | ||
| 164 | (defgroup ada nil | 164 | (defgroup ada nil |
| 165 | "Major mode for editing Ada source in Emacs." | 165 | "Major mode for editing Ada source in Emacs." |
| 166 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 166 | :group 'languages) | 167 | :group 'languages) |
| 167 | 168 | ||
| 168 | (defcustom ada-auto-case t | 169 | (defcustom ada-auto-case t |
diff --git a/lisp/progmodes/asm-mode.el b/lisp/progmodes/asm-mode.el index dc3984e089e..51d58d7c7a9 100644 --- a/lisp/progmodes/asm-mode.el +++ b/lisp/progmodes/asm-mode.el | |||
| @@ -52,6 +52,7 @@ | |||
| 52 | 52 | ||
| 53 | (defgroup asm nil | 53 | (defgroup asm nil |
| 54 | "Mode for editing assembler code." | 54 | "Mode for editing assembler code." |
| 55 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 55 | :group 'languages) | 56 | :group 'languages) |
| 56 | 57 | ||
| 57 | (defcustom asm-comment-char ?\; | 58 | (defcustom asm-comment-char ?\; |
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index f25d5c29081..dd1dcad3cc4 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -170,6 +170,7 @@ | |||
| 170 | 170 | ||
| 171 | (defgroup cperl-faces nil | 171 | (defgroup cperl-faces nil |
| 172 | "Fontification colors." | 172 | "Fontification colors." |
| 173 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 173 | :prefix "cperl-" | 174 | :prefix "cperl-" |
| 174 | :group 'cperl) | 175 | :group 'cperl) |
| 175 | 176 | ||
diff --git a/lisp/progmodes/cpp.el b/lisp/progmodes/cpp.el index c615082814a..11d0ba444f3 100644 --- a/lisp/progmodes/cpp.el +++ b/lisp/progmodes/cpp.el | |||
| @@ -50,6 +50,7 @@ | |||
| 50 | ;;; Customization: | 50 | ;;; Customization: |
| 51 | (defgroup cpp nil | 51 | (defgroup cpp nil |
| 52 | "Highlight or hide text according to cpp conditionals." | 52 | "Highlight or hide text according to cpp conditionals." |
| 53 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 53 | :group 'c | 54 | :group 'c |
| 54 | :prefix "cpp-") | 55 | :prefix "cpp-") |
| 55 | 56 | ||
diff --git a/lisp/progmodes/dcl-mode.el b/lisp/progmodes/dcl-mode.el index c7115eed2ae..16d1d7ba415 100644 --- a/lisp/progmodes/dcl-mode.el +++ b/lisp/progmodes/dcl-mode.el | |||
| @@ -95,6 +95,7 @@ Presently this includes some syntax, .OP.erators, and \"f$\" lexicals.") | |||
| 95 | 95 | ||
| 96 | (defgroup dcl nil | 96 | (defgroup dcl nil |
| 97 | "Major mode for editing DCL command files." | 97 | "Major mode for editing DCL command files." |
| 98 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 98 | :group 'languages) | 99 | :group 'languages) |
| 99 | 100 | ||
| 100 | (defcustom dcl-basic-offset 4 | 101 | (defcustom dcl-basic-offset 4 |
diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el index 807f938776e..3816fc3fb43 100644 --- a/lisp/progmodes/f90.el +++ b/lisp/progmodes/f90.el | |||
| @@ -164,6 +164,7 @@ | |||
| 164 | 164 | ||
| 165 | (defgroup f90 nil | 165 | (defgroup f90 nil |
| 166 | "Major mode for editing free format Fortran 90,95 code." | 166 | "Major mode for editing free format Fortran 90,95 code." |
| 167 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 167 | :group 'languages) | 168 | :group 'languages) |
| 168 | 169 | ||
| 169 | (defgroup f90-indent nil | 170 | (defgroup f90-indent nil |
diff --git a/lisp/progmodes/fortran.el b/lisp/progmodes/fortran.el index 79853cb127b..65e7b8914ae 100644 --- a/lisp/progmodes/fortran.el +++ b/lisp/progmodes/fortran.el | |||
| @@ -63,7 +63,8 @@ | |||
| 63 | 63 | ||
| 64 | (defgroup fortran nil | 64 | (defgroup fortran nil |
| 65 | "Major mode for editing fixed format Fortran code." | 65 | "Major mode for editing fixed format Fortran code." |
| 66 | :link '(custom-manual "(emacs)Fortran") | 66 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) |
| 67 | :link '(custom-manual "(emacs)Fortran") | ||
| 67 | :group 'languages) | 68 | :group 'languages) |
| 68 | 69 | ||
| 69 | (defgroup fortran-indent nil | 70 | (defgroup fortran-indent nil |
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index f8f80ce6f66..92265dd46da 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -337,6 +337,15 @@ With arg, use separate IO iff arg is positive." | |||
| 337 | (file-name-nondirectory file) ":1\n") | 337 | (file-name-nondirectory file) ":1\n") |
| 338 | `(lambda () (gdb-set-gud-minor-mode ,buffer))))))))) | 338 | `(lambda () (gdb-set-gud-minor-mode ,buffer))))))))) |
| 339 | 339 | ||
| 340 | (defun gdb-find-watch-expression () | ||
| 341 | (let* ((var (nth (- (line-number-at-pos (point)) 2) gdb-var-list)) | ||
| 342 | (varno (nth 1 var)) (expr)) | ||
| 343 | (string-match "\\(var[0-9]+\\)\\.\\(.*\\)" varno) | ||
| 344 | (dolist (var1 gdb-var-list) | ||
| 345 | (if (string-equal (nth 1 var1) (match-string 1 varno)) | ||
| 346 | (setq expr (concat (car var1) "." (match-string 2 varno))))) | ||
| 347 | expr)) | ||
| 348 | |||
| 340 | (defun gdb-ann3 () | 349 | (defun gdb-ann3 () |
| 341 | (setq gdb-debug-log nil) | 350 | (setq gdb-debug-log nil) |
| 342 | (set (make-local-variable 'gud-minor-mode) 'gdba) | 351 | (set (make-local-variable 'gud-minor-mode) 'gdba) |
| @@ -369,6 +378,15 @@ With arg, use separate IO iff arg is positive." | |||
| 369 | (gud-def gud-go (gud-call (if gdb-active-process "continue" "run") arg) | 378 | (gud-def gud-go (gud-call (if gdb-active-process "continue" "run") arg) |
| 370 | nil "Start or continue execution.") | 379 | nil "Start or continue execution.") |
| 371 | 380 | ||
| 381 | ;; For debugging Emacs only. | ||
| 382 | (gud-def gud-pp | ||
| 383 | (gud-call | ||
| 384 | (concat | ||
| 385 | "pp1 " (if (eq (buffer-local-value | ||
| 386 | 'major-mode (window-buffer)) 'speedbar-mode) | ||
| 387 | (gdb-find-watch-expression) "%e")) arg) | ||
| 388 | nil "Print the emacs s-expression.") | ||
| 389 | |||
| 372 | (define-key gud-minor-mode-map [left-margin mouse-1] | 390 | (define-key gud-minor-mode-map [left-margin mouse-1] |
| 373 | 'gdb-mouse-set-clear-breakpoint) | 391 | 'gdb-mouse-set-clear-breakpoint) |
| 374 | (define-key gud-minor-mode-map [left-fringe mouse-1] | 392 | (define-key gud-minor-mode-map [left-fringe mouse-1] |
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el index 31223ddc7a9..e045ae76a29 100644 --- a/lisp/progmodes/gud.el +++ b/lisp/progmodes/gud.el | |||
| @@ -389,7 +389,8 @@ t means that there is no stack, and we are in display-file mode.") | |||
| 389 | (define-key gud-speedbar-key-map " " 'speedbar-toggle-line-expansion) | 389 | (define-key gud-speedbar-key-map " " 'speedbar-toggle-line-expansion) |
| 390 | (define-key gud-speedbar-key-map "[" 'speedbar-expand-line-descendants) | 390 | (define-key gud-speedbar-key-map "[" 'speedbar-expand-line-descendants) |
| 391 | (define-key gud-speedbar-key-map "]" 'speedbar-contract-line-descendants) | 391 | (define-key gud-speedbar-key-map "]" 'speedbar-contract-line-descendants) |
| 392 | (define-key gud-speedbar-key-map "D" 'gdb-var-delete)) | 392 | (define-key gud-speedbar-key-map "D" 'gdb-var-delete) |
| 393 | (define-key gud-speedbar-key-map "p" 'gud-pp)) | ||
| 393 | 394 | ||
| 394 | (speedbar-add-expansion-list '("GUD" gud-speedbar-menu-items | 395 | (speedbar-add-expansion-list '("GUD" gud-speedbar-menu-items |
| 395 | gud-speedbar-key-map | 396 | gud-speedbar-key-map |
| @@ -654,7 +655,6 @@ and source-file directory for your debugger." | |||
| 654 | "Evaluate C dereferenced pointer expression at point.") | 655 | "Evaluate C dereferenced pointer expression at point.") |
| 655 | 656 | ||
| 656 | ;; For debugging Emacs only. | 657 | ;; For debugging Emacs only. |
| 657 | (gud-def gud-pp "pp1 %e" nil "Print the emacs s-expression.") | ||
| 658 | (gud-def gud-pv "pv1 %e" "\C-v" "Print the value of the lisp variable.") | 658 | (gud-def gud-pv "pv1 %e" "\C-v" "Print the value of the lisp variable.") |
| 659 | 659 | ||
| 660 | (gud-def gud-until "until %l" "\C-u" "Continue to current line.") | 660 | (gud-def gud-until "until %l" "\C-u" "Continue to current line.") |
diff --git a/lisp/progmodes/icon.el b/lisp/progmodes/icon.el index aad5686c69e..dc2cfd01683 100644 --- a/lisp/progmodes/icon.el +++ b/lisp/progmodes/icon.el | |||
| @@ -84,6 +84,7 @@ | |||
| 84 | 84 | ||
| 85 | (defgroup icon nil | 85 | (defgroup icon nil |
| 86 | "Mode for editing Icon code." | 86 | "Mode for editing Icon code." |
| 87 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 87 | :group 'languages) | 88 | :group 'languages) |
| 88 | 89 | ||
| 89 | (defcustom icon-indent-level 4 | 90 | (defcustom icon-indent-level 4 |
diff --git a/lisp/progmodes/idlwave.el b/lisp/progmodes/idlwave.el index ce689847e9c..3ee01d07b0a 100644 --- a/lisp/progmodes/idlwave.el +++ b/lisp/progmodes/idlwave.el | |||
| @@ -1049,6 +1049,7 @@ IDL process is made." | |||
| 1049 | 1049 | ||
| 1050 | (defgroup idlwave-misc nil | 1050 | (defgroup idlwave-misc nil |
| 1051 | "Miscellaneous options for IDLWAVE mode." | 1051 | "Miscellaneous options for IDLWAVE mode." |
| 1052 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 1052 | :group 'idlwave) | 1053 | :group 'idlwave) |
| 1053 | 1054 | ||
| 1054 | (defcustom idlwave-startup-message t | 1055 | (defcustom idlwave-startup-message t |
diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el index f131576d240..84174e2ca5d 100644 --- a/lisp/progmodes/m4-mode.el +++ b/lisp/progmodes/m4-mode.el | |||
| @@ -44,6 +44,7 @@ | |||
| 44 | 44 | ||
| 45 | (defgroup m4 nil | 45 | (defgroup m4 nil |
| 46 | "m4 code editing commands for Emacs." | 46 | "m4 code editing commands for Emacs." |
| 47 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 47 | :prefix "m4-" | 48 | :prefix "m4-" |
| 48 | :group 'languages) | 49 | :group 'languages) |
| 49 | 50 | ||
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index 3a55129c899..fa481a233cd 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el | |||
| @@ -97,6 +97,7 @@ | |||
| 97 | 97 | ||
| 98 | (defgroup makefile nil | 98 | (defgroup makefile nil |
| 99 | "Makefile editing commands for Emacs." | 99 | "Makefile editing commands for Emacs." |
| 100 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 100 | :group 'tools | 101 | :group 'tools |
| 101 | :prefix "makefile-") | 102 | :prefix "makefile-") |
| 102 | 103 | ||
diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el index f5bbb4d68db..d113f94280f 100644 --- a/lisp/progmodes/meta-mode.el +++ b/lisp/progmodes/meta-mode.el | |||
| @@ -135,6 +135,7 @@ | |||
| 135 | 135 | ||
| 136 | (defgroup meta-font nil | 136 | (defgroup meta-font nil |
| 137 | "Major mode for editing Metafont or MetaPost sources." | 137 | "Major mode for editing Metafont or MetaPost sources." |
| 138 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 138 | :group 'languages) | 139 | :group 'languages) |
| 139 | 140 | ||
| 140 | ;;; Fontification. | 141 | ;;; Fontification. |
diff --git a/lisp/progmodes/modula2.el b/lisp/progmodes/modula2.el index 802ed26eb1f..fde526ab303 100644 --- a/lisp/progmodes/modula2.el +++ b/lisp/progmodes/modula2.el | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | 24 | ||
| 25 | (defgroup modula2 nil | 25 | (defgroup modula2 nil |
| 26 | "Major mode for editing Modula-2 code." | 26 | "Major mode for editing Modula-2 code." |
| 27 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 27 | :prefix "m2-" | 28 | :prefix "m2-" |
| 28 | :group 'languages) | 29 | :group 'languages) |
| 29 | 30 | ||
diff --git a/lisp/progmodes/octave-mod.el b/lisp/progmodes/octave-mod.el index b65ad9eac1a..0cda438fa6a 100644 --- a/lisp/progmodes/octave-mod.el +++ b/lisp/progmodes/octave-mod.el | |||
| @@ -45,6 +45,7 @@ | |||
| 45 | 45 | ||
| 46 | (defgroup octave nil | 46 | (defgroup octave nil |
| 47 | "Major mode for editing Octave source files." | 47 | "Major mode for editing Octave source files." |
| 48 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 48 | :group 'languages) | 49 | :group 'languages) |
| 49 | 50 | ||
| 50 | (defvar inferior-octave-output-list nil) | 51 | (defvar inferior-octave-output-list nil) |
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el index 801096b9b0f..d462557f291 100644 --- a/lisp/progmodes/pascal.el +++ b/lisp/progmodes/pascal.el | |||
| @@ -63,6 +63,7 @@ | |||
| 63 | 63 | ||
| 64 | (defgroup pascal nil | 64 | (defgroup pascal nil |
| 65 | "Major mode for editing Pascal source in Emacs." | 65 | "Major mode for editing Pascal source in Emacs." |
| 66 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 66 | :group 'languages) | 67 | :group 'languages) |
| 67 | 68 | ||
| 68 | (defvar pascal-mode-abbrev-table nil | 69 | (defvar pascal-mode-abbrev-table nil |
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el index 2f814d07469..f5a857f9015 100644 --- a/lisp/progmodes/perl-mode.el +++ b/lisp/progmodes/perl-mode.el | |||
| @@ -113,6 +113,7 @@ | |||
| 113 | 113 | ||
| 114 | (defgroup perl nil | 114 | (defgroup perl nil |
| 115 | "Major mode for editing Perl code." | 115 | "Major mode for editing Perl code." |
| 116 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 116 | :prefix "perl-" | 117 | :prefix "perl-" |
| 117 | :group 'languages) | 118 | :group 'languages) |
| 118 | 119 | ||
diff --git a/lisp/progmodes/prolog.el b/lisp/progmodes/prolog.el index d23dbad0762..9191d5f95ee 100644 --- a/lisp/progmodes/prolog.el +++ b/lisp/progmodes/prolog.el | |||
| @@ -36,6 +36,7 @@ | |||
| 36 | 36 | ||
| 37 | (defgroup prolog nil | 37 | (defgroup prolog nil |
| 38 | "Major mode for editing and running Prolog under Emacs." | 38 | "Major mode for editing and running Prolog under Emacs." |
| 39 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 39 | :group 'languages) | 40 | :group 'languages) |
| 40 | 41 | ||
| 41 | 42 | ||
diff --git a/lisp/progmodes/ps-mode.el b/lisp/progmodes/ps-mode.el index b49fcafe186..299093b29bc 100644 --- a/lisp/progmodes/ps-mode.el +++ b/lisp/progmodes/ps-mode.el | |||
| @@ -43,6 +43,7 @@ | |||
| 43 | 43 | ||
| 44 | (defgroup PostScript-edit nil | 44 | (defgroup PostScript-edit nil |
| 45 | "PostScript editing." | 45 | "PostScript editing." |
| 46 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 46 | :prefix "ps-mode-" | 47 | :prefix "ps-mode-" |
| 47 | :group 'PostScript) | 48 | :group 'PostScript) |
| 48 | 49 | ||
diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index 0b11e4f6b9a..26d6e05fc2c 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el | |||
| @@ -238,6 +238,7 @@ if that value is non-nil." | |||
| 238 | 238 | ||
| 239 | (defgroup scheme nil | 239 | (defgroup scheme nil |
| 240 | "Editing Scheme code." | 240 | "Editing Scheme code." |
| 241 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 241 | :group 'lisp) | 242 | :group 'lisp) |
| 242 | 243 | ||
| 243 | (defcustom scheme-mit-dialect t | 244 | (defcustom scheme-mit-dialect t |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index 2c4543a72fc..bc4ca59f96a 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -211,6 +211,7 @@ | |||
| 211 | 211 | ||
| 212 | (defgroup sh-script nil | 212 | (defgroup sh-script nil |
| 213 | "Shell script mode." | 213 | "Shell script mode." |
| 214 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 214 | :group 'sh | 215 | :group 'sh |
| 215 | :prefix "sh-") | 216 | :prefix "sh-") |
| 216 | 217 | ||
diff --git a/lisp/progmodes/simula.el b/lisp/progmodes/simula.el index 395bee1b226..eba9a03b2ae 100644 --- a/lisp/progmodes/simula.el +++ b/lisp/progmodes/simula.el | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | 40 | ||
| 41 | (defgroup simula nil | 41 | (defgroup simula nil |
| 42 | "Major mode for editing Simula code." | 42 | "Major mode for editing Simula code." |
| 43 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 43 | :prefix "simula-" | 44 | :prefix "simula-" |
| 44 | :group 'languages) | 45 | :group 'languages) |
| 45 | 46 | ||
diff --git a/lisp/progmodes/tcl.el b/lisp/progmodes/tcl.el index e2068607048..2db11a8c000 100644 --- a/lisp/progmodes/tcl.el +++ b/lisp/progmodes/tcl.el | |||
| @@ -119,6 +119,7 @@ | |||
| 119 | 119 | ||
| 120 | (defgroup tcl nil | 120 | (defgroup tcl nil |
| 121 | "Major mode for editing Tcl source in Emacs." | 121 | "Major mode for editing Tcl source in Emacs." |
| 122 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 122 | :group 'languages) | 123 | :group 'languages) |
| 123 | 124 | ||
| 124 | (defcustom tcl-indent-level 4 | 125 | (defcustom tcl-indent-level 4 |
diff --git a/lisp/simple.el b/lisp/simple.el index 5f8c6efa660..35a42965ef7 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -348,6 +348,8 @@ Other major modes are defined by comparison with this one." | |||
| 348 | 348 | ||
| 349 | ;; Making and deleting lines. | 349 | ;; Making and deleting lines. |
| 350 | 350 | ||
| 351 | (defvar hard-newline (propertize "\n" 'hard t 'rear-nonsticky '(hard))) | ||
| 352 | |||
| 351 | (defun newline (&optional arg) | 353 | (defun newline (&optional arg) |
| 352 | "Insert a newline, and move to left margin of the new line if it's blank. | 354 | "Insert a newline, and move to left margin of the new line if it's blank. |
| 353 | If `use-hard-newlines' is non-nil, the newline is marked with the | 355 | If `use-hard-newlines' is non-nil, the newline is marked with the |
| @@ -3328,7 +3330,7 @@ and more reliable (no dependence on goal column, etc.)." | |||
| 3328 | ;; When adding a newline, don't expand an abbrev. | 3330 | ;; When adding a newline, don't expand an abbrev. |
| 3329 | (let ((abbrev-mode nil)) | 3331 | (let ((abbrev-mode nil)) |
| 3330 | (end-of-line) | 3332 | (end-of-line) |
| 3331 | (insert "\n")) | 3333 | (insert hard-newline)) |
| 3332 | (line-move arg nil nil try-vscroll)) | 3334 | (line-move arg nil nil try-vscroll)) |
| 3333 | (if (interactive-p) | 3335 | (if (interactive-p) |
| 3334 | (condition-case nil | 3336 | (condition-case nil |
| @@ -4508,7 +4510,7 @@ See also `read-mail-command' concerning reading mail." | |||
| 4508 | (unless (member-ignore-case (car (car other-headers)) | 4510 | (unless (member-ignore-case (car (car other-headers)) |
| 4509 | '("in-reply-to" "cc" "body")) | 4511 | '("in-reply-to" "cc" "body")) |
| 4510 | (insert (car (car other-headers)) ": " | 4512 | (insert (car (car other-headers)) ": " |
| 4511 | (cdr (car other-headers)) "\n")) | 4513 | (cdr (car other-headers)) hard-newline)) |
| 4512 | (setq other-headers (cdr other-headers))) | 4514 | (setq other-headers (cdr other-headers))) |
| 4513 | (when body | 4515 | (when body |
| 4514 | (forward-line 1) | 4516 | (forward-line 1) |
| @@ -4921,7 +4923,7 @@ is the substring.)") | |||
| 4921 | ;; when completing file names. It's not even clear what | 4923 | ;; when completing file names. It's not even clear what |
| 4922 | ;; is TRT. | 4924 | ;; is TRT. |
| 4923 | 0 | 4925 | 0 |
| 4924 | (- common-string-length (- (point) (point-max)))))) | 4926 | (- common-string-length (- (point-max) (point)))))) |
| 4925 | (with-current-buffer standard-output | 4927 | (with-current-buffer standard-output |
| 4926 | (completion-list-mode) | 4928 | (completion-list-mode) |
| 4927 | (set (make-local-variable 'completion-reference-buffer) mainbuf) | 4929 | (set (make-local-variable 'completion-reference-buffer) mainbuf) |
diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el index 05a740ee390..7fd2db1deb6 100644 --- a/lisp/textmodes/nroff-mode.el +++ b/lisp/textmodes/nroff-mode.el | |||
| @@ -38,6 +38,7 @@ | |||
| 38 | 38 | ||
| 39 | (defgroup nroff nil | 39 | (defgroup nroff nil |
| 40 | "Nroff mode." | 40 | "Nroff mode." |
| 41 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 41 | :group 'wp | 42 | :group 'wp |
| 42 | :prefix "nroff-") | 43 | :prefix "nroff-") |
| 43 | 44 | ||
diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el index 703f5b8dd2a..01e8a1b4ddf 100644 --- a/lisp/textmodes/reftex-vars.el +++ b/lisp/textmodes/reftex-vars.el | |||
| @@ -1704,6 +1704,7 @@ The value of this variable will only have any effect when | |||
| 1704 | 1704 | ||
| 1705 | (defgroup reftex-fontification-configurations nil | 1705 | (defgroup reftex-fontification-configurations nil |
| 1706 | "Options concerning the faces used in RefTeX." | 1706 | "Options concerning the faces used in RefTeX." |
| 1707 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 1707 | :group 'reftex) | 1708 | :group 'reftex) |
| 1708 | 1709 | ||
| 1709 | (defcustom reftex-use-fonts t | 1710 | (defcustom reftex-use-fonts t |
diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index d331ce05ff7..79e41cecfc1 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | 41 | ||
| 42 | (defgroup sgml nil | 42 | (defgroup sgml nil |
| 43 | "SGML editing mode." | 43 | "SGML editing mode." |
| 44 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 44 | :group 'languages) | 45 | :group 'languages) |
| 45 | 46 | ||
| 46 | (defcustom sgml-basic-offset 2 | 47 | (defcustom sgml-basic-offset 2 |
diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el index a10851aa765..8392e56dc00 100644 --- a/lisp/textmodes/texinfo.el +++ b/lisp/textmodes/texinfo.el | |||
| @@ -46,6 +46,7 @@ | |||
| 46 | 46 | ||
| 47 | (defgroup texinfo nil | 47 | (defgroup texinfo nil |
| 48 | "Texinfo Mode." | 48 | "Texinfo Mode." |
| 49 | :link '(custom-group-link :tag "Font Lock Faces group" font-lock-faces) | ||
| 49 | :group 'docs) | 50 | :group 'docs) |
| 50 | 51 | ||
| 51 | ;;;###autoload | 52 | ;;;###autoload |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index d8014b27613..3e07a51a007 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2005-11-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * display.texi (Attribute Functions): Mention :ignore-defface. | ||
| 4 | |||
| 1 | 2005-11-16 Stefan Monnier <monnier@iro.umontreal.ca> | 5 | 2005-11-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 6 | ||
| 3 | * modes.texi (Minor Mode Conventions): Use custom-set-minor-mode. | 7 | * modes.texi (Minor Mode Conventions): Use custom-set-minor-mode. |
diff --git a/lispref/display.texi b/lispref/display.texi index 75a64924516..00d9313aa24 100644 --- a/lispref/display.texi +++ b/lispref/display.texi | |||
| @@ -1859,6 +1859,11 @@ the first face fails to specify a particular attribute, that means the | |||
| 1859 | next face gets a chance. However, the @code{default} face must | 1859 | next face gets a chance. However, the @code{default} face must |
| 1860 | specify all attributes. | 1860 | specify all attributes. |
| 1861 | 1861 | ||
| 1862 | Any attribute can have the value @code{:ignore-defface}. The effect | ||
| 1863 | of this is identical to @code{unspecified}. It exists because of an | ||
| 1864 | technical ambiguity in giving attributes the value @code{unspecified}. | ||
| 1865 | @xref{Attribute Functions}. | ||
| 1866 | |||
| 1862 | Some of these font attributes are meaningful only on certain kinds of | 1867 | Some of these font attributes are meaningful only on certain kinds of |
| 1863 | displays---if your display cannot handle a certain attribute, the | 1868 | displays---if your display cannot handle a certain attribute, the |
| 1864 | attribute is ignored. (The attributes @code{:family}, @code{:width}, | 1869 | attribute is ignored. (The attributes @code{:family}, @code{:width}, |
| @@ -2051,6 +2056,14 @@ This function sets one or more attributes of face @var{face} | |||
| 2051 | for frame @var{frame}. If @var{frame} is @code{nil}, it sets | 2056 | for frame @var{frame}. If @var{frame} is @code{nil}, it sets |
| 2052 | the attribute for all frames, and the defaults for new frames. | 2057 | the attribute for all frames, and the defaults for new frames. |
| 2053 | 2058 | ||
| 2059 | Unless you know what you're doing, don't set an attribute to | ||
| 2060 | @code{unspecified}. This is ambiguous---it is unclear whether it | ||
| 2061 | means to unspecify the value stored in the frame-local copies of the | ||
| 2062 | face (which means reverting to the original face spec), or the value | ||
| 2063 | in the face spec itself. What you probably want is to set the | ||
| 2064 | attribute to @code{:ignore-defface}. This forces the attribute value | ||
| 2065 | to be acquired from some other face during face merging. | ||
| 2066 | |||
| 2054 | The extra arguments @var{arguments} specify the attributes to set, and | 2067 | The extra arguments @var{arguments} specify the attributes to set, and |
| 2055 | the values for them. They should consist of alternating attribute names | 2068 | the values for them. They should consist of alternating attribute names |
| 2056 | (such as @code{:family} or @code{:underline}) and corresponding values. | 2069 | (such as @code{:family} or @code{:underline}) and corresponding values. |
diff --git a/man/ChangeLog b/man/ChangeLog index 0ebbeee7884..55492a523f7 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2005-11-17 Juri Linkov <juri@jurta.org> | ||
| 2 | |||
| 3 | * emacs.texi (Top): | ||
| 4 | * display.texi (Highlight Interactively): Put this font-lock based | ||
| 5 | mode near Font Lock node. | ||
| 6 | |||
| 1 | 2005-11-16 Chong Yidong <cyd@stupidchicken.com> | 7 | 2005-11-16 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 8 | ||
| 3 | * ack.texi (Acknowledgments): Acknowledge Andrew Zhilin for Emacs | 9 | * ack.texi (Acknowledgments): Acknowledge Andrew Zhilin for Emacs |
diff --git a/man/display.texi b/man/display.texi index 58e69ad4e60..ea8bb79d83a 100644 --- a/man/display.texi +++ b/man/display.texi | |||
| @@ -14,8 +14,8 @@ display it. | |||
| 14 | * Faces:: How to change the display style using faces. | 14 | * Faces:: How to change the display style using faces. |
| 15 | * Standard Faces:: Emacs' predefined faces. | 15 | * Standard Faces:: Emacs' predefined faces. |
| 16 | * Font Lock:: Minor mode for syntactic highlighting using faces. | 16 | * Font Lock:: Minor mode for syntactic highlighting using faces. |
| 17 | * Highlight Changes:: Using colors to show where you changed the buffer. | ||
| 18 | * Highlight Interactively:: Tell Emacs what text to highlight. | 17 | * Highlight Interactively:: Tell Emacs what text to highlight. |
| 18 | * Highlight Changes:: Using colors to show where you changed the buffer. | ||
| 19 | * Scrolling:: Moving text up and down in a window. | 19 | * Scrolling:: Moving text up and down in a window. |
| 20 | * Horizontal Scrolling:: Moving text left and right in a window. | 20 | * Horizontal Scrolling:: Moving text left and right in a window. |
| 21 | * Fringes:: Enabling or disabling window fringes. | 21 | * Fringes:: Enabling or disabling window fringes. |
| @@ -385,14 +385,6 @@ control this background fontification, also called @dfn{Just-In-Time} | |||
| 385 | (or @dfn{JIT}) Lock, by customizing variables in the customization | 385 | (or @dfn{JIT}) Lock, by customizing variables in the customization |
| 386 | group @samp{jit-lock}. @xref{Specific Customization}. | 386 | group @samp{jit-lock}. @xref{Specific Customization}. |
| 387 | 387 | ||
| 388 | @node Highlight Changes | ||
| 389 | @section Highlight Changes Mode | ||
| 390 | |||
| 391 | @findex highlight-changes-mode | ||
| 392 | Use @kbd{M-x highlight-changes-mode} to enable a minor mode | ||
| 393 | that uses faces (colors, typically) to indicate which parts of | ||
| 394 | the buffer were changed most recently. | ||
| 395 | |||
| 396 | @node Highlight Interactively | 388 | @node Highlight Interactively |
| 397 | @section Interactive Highlighting by Matching | 389 | @section Interactive Highlighting by Matching |
| 398 | @cindex highlighting by matching | 390 | @cindex highlighting by matching |
| @@ -460,6 +452,14 @@ This command does nothing if the major mode is a member of the list | |||
| 460 | @code{hi-lock-exclude-modes}. | 452 | @code{hi-lock-exclude-modes}. |
| 461 | @end table | 453 | @end table |
| 462 | 454 | ||
| 455 | @node Highlight Changes | ||
| 456 | @section Highlight Changes Mode | ||
| 457 | |||
| 458 | @findex highlight-changes-mode | ||
| 459 | Use @kbd{M-x highlight-changes-mode} to enable a minor mode | ||
| 460 | that uses faces (colors, typically) to indicate which parts of | ||
| 461 | the buffer were changed most recently. | ||
| 462 | |||
| 463 | @node Scrolling | 463 | @node Scrolling |
| 464 | @section Scrolling | 464 | @section Scrolling |
| 465 | 465 | ||
diff --git a/man/emacs.texi b/man/emacs.texi index 8da4e4ed051..23685ef0cd0 100644 --- a/man/emacs.texi +++ b/man/emacs.texi | |||
| @@ -309,8 +309,8 @@ Controlling the Display | |||
| 309 | * Faces:: How to change the display style using faces. | 309 | * Faces:: How to change the display style using faces. |
| 310 | * Standard Faces:: Emacs' predefined faces. | 310 | * Standard Faces:: Emacs' predefined faces. |
| 311 | * Font Lock:: Minor mode for syntactic highlighting using faces. | 311 | * Font Lock:: Minor mode for syntactic highlighting using faces. |
| 312 | * Highlight Changes:: Using colors to show where you changed the buffer. | ||
| 313 | * Highlight Interactively:: Tell Emacs what text to highlight. | 312 | * Highlight Interactively:: Tell Emacs what text to highlight. |
| 313 | * Highlight Changes:: Using colors to show where you changed the buffer. | ||
| 314 | * Scrolling:: Moving text up and down in a window. | 314 | * Scrolling:: Moving text up and down in a window. |
| 315 | * Horizontal Scrolling:: Moving text left and right in a window. | 315 | * Horizontal Scrolling:: Moving text left and right in a window. |
| 316 | * Fringes:: Enabling or disabling window fringes. | 316 | * Fringes:: Enabling or disabling window fringes. |
diff --git a/src/ChangeLog b/src/ChangeLog index 900db33db3d..1a9fd720167 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,18 @@ | |||
| 1 | 2005-11-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * image.c (x_create_bitmap_from_xpm_data): Free attributes on | ||
| 4 | fail. | ||
| 5 | |||
| 6 | * xfaces.c (Qignore_defface): New variable. | ||
| 7 | (syms_of_xfaces): Provide `:ignore-defface'. | ||
| 8 | (IGNORE_DEFFACE_P): New macro. | ||
| 9 | (check_lface_attrs, lface_fully_specified_p) | ||
| 10 | (Finternal_set_lisp_face_attribute) | ||
| 11 | (Fface_attribute_relative_p, Fmerge_face_attribute): Handle | ||
| 12 | Qignore_defface as a possible value. | ||
| 13 | (merge_face_vectors): The merged face is `unspecified' if the | ||
| 14 | mergee specifies `:ignore-defface'. | ||
| 15 | |||
| 1 | 2005-11-16 Stefan Monnier <monnier@iro.umontreal.ca> | 16 | 2005-11-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 17 | ||
| 3 | * lread.c (readevalloop): Add missing GCPROs. | 18 | * lread.c (readevalloop): Add missing GCPROs. |
diff --git a/src/image.c b/src/image.c index 1ba1cd197ff..c7bc71ee909 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -3737,10 +3737,12 @@ x_create_bitmap_from_xpm_data (f, bits) | |||
| 3737 | rc = XpmCreatePixmapFromData (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), | 3737 | rc = XpmCreatePixmapFromData (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
| 3738 | bits, &bitmap, &mask, &attrs); | 3738 | bits, &bitmap, &mask, &attrs); |
| 3739 | if (rc != XpmSuccess) | 3739 | if (rc != XpmSuccess) |
| 3740 | return -1; | 3740 | { |
| 3741 | XpmFreeAttributes (&attrs); | ||
| 3742 | return -1; | ||
| 3743 | } | ||
| 3741 | 3744 | ||
| 3742 | id = x_allocate_bitmap_record (f); | 3745 | id = x_allocate_bitmap_record (f); |
| 3743 | |||
| 3744 | dpyinfo->bitmaps[id - 1].pixmap = bitmap; | 3746 | dpyinfo->bitmaps[id - 1].pixmap = bitmap; |
| 3745 | dpyinfo->bitmaps[id - 1].have_mask = 1; | 3747 | dpyinfo->bitmaps[id - 1].have_mask = 1; |
| 3746 | dpyinfo->bitmaps[id - 1].mask = mask; | 3748 | dpyinfo->bitmaps[id - 1].mask = mask; |
diff --git a/src/xfaces.c b/src/xfaces.c index 4d9ee22b43f..647cf7bb337 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -277,6 +277,10 @@ Boston, MA 02110-1301, USA. */ | |||
| 277 | 277 | ||
| 278 | #define UNSPECIFIEDP(ATTR) EQ ((ATTR), Qunspecified) | 278 | #define UNSPECIFIEDP(ATTR) EQ ((ATTR), Qunspecified) |
| 279 | 279 | ||
| 280 | /* Non-zero if face attribute ATTR is `ignore-defface'. */ | ||
| 281 | |||
| 282 | #define IGNORE_DEFFACE_P(ATTR) EQ ((ATTR), Qignore_defface) | ||
| 283 | |||
| 280 | /* Value is the number of elements of VECTOR. */ | 284 | /* Value is the number of elements of VECTOR. */ |
| 281 | 285 | ||
| 282 | #define DIM(VECTOR) (sizeof (VECTOR) / sizeof *(VECTOR)) | 286 | #define DIM(VECTOR) (sizeof (VECTOR) / sizeof *(VECTOR)) |
| @@ -315,6 +319,7 @@ Lisp_Object Qultra_expanded; | |||
| 315 | Lisp_Object Qreleased_button, Qpressed_button; | 319 | Lisp_Object Qreleased_button, Qpressed_button; |
| 316 | Lisp_Object QCstyle, QCcolor, QCline_width; | 320 | Lisp_Object QCstyle, QCcolor, QCline_width; |
| 317 | Lisp_Object Qunspecified; | 321 | Lisp_Object Qunspecified; |
| 322 | Lisp_Object Qignore_defface; | ||
| 318 | 323 | ||
| 319 | char unspecified_fg[] = "unspecified-fg", unspecified_bg[] = "unspecified-bg"; | 324 | char unspecified_fg[] = "unspecified-fg", unspecified_bg[] = "unspecified-bg"; |
| 320 | 325 | ||
| @@ -3107,48 +3112,64 @@ check_lface_attrs (attrs) | |||
| 3107 | Lisp_Object *attrs; | 3112 | Lisp_Object *attrs; |
| 3108 | { | 3113 | { |
| 3109 | xassert (UNSPECIFIEDP (attrs[LFACE_FAMILY_INDEX]) | 3114 | xassert (UNSPECIFIEDP (attrs[LFACE_FAMILY_INDEX]) |
| 3115 | || IGNORE_DEFFACE_P (attrs[LFACE_FAMILY_INDEX]) | ||
| 3110 | || STRINGP (attrs[LFACE_FAMILY_INDEX])); | 3116 | || STRINGP (attrs[LFACE_FAMILY_INDEX])); |
| 3111 | xassert (UNSPECIFIEDP (attrs[LFACE_SWIDTH_INDEX]) | 3117 | xassert (UNSPECIFIEDP (attrs[LFACE_SWIDTH_INDEX]) |
| 3118 | || IGNORE_DEFFACE_P (attrs[LFACE_SWIDTH_INDEX]) | ||
| 3112 | || SYMBOLP (attrs[LFACE_SWIDTH_INDEX])); | 3119 | || SYMBOLP (attrs[LFACE_SWIDTH_INDEX])); |
| 3113 | xassert (UNSPECIFIEDP (attrs[LFACE_AVGWIDTH_INDEX]) | 3120 | xassert (UNSPECIFIEDP (attrs[LFACE_AVGWIDTH_INDEX]) |
| 3121 | || IGNORE_DEFFACE_P (attrs[LFACE_AVGWIDTH_INDEX]) | ||
| 3114 | || INTEGERP (attrs[LFACE_AVGWIDTH_INDEX])); | 3122 | || INTEGERP (attrs[LFACE_AVGWIDTH_INDEX])); |
| 3115 | xassert (UNSPECIFIEDP (attrs[LFACE_HEIGHT_INDEX]) | 3123 | xassert (UNSPECIFIEDP (attrs[LFACE_HEIGHT_INDEX]) |
| 3124 | || IGNORE_DEFFACE_P (attrs[LFACE_HEIGHT_INDEX]) | ||
| 3116 | || INTEGERP (attrs[LFACE_HEIGHT_INDEX]) | 3125 | || INTEGERP (attrs[LFACE_HEIGHT_INDEX]) |
| 3117 | || FLOATP (attrs[LFACE_HEIGHT_INDEX]) | 3126 | || FLOATP (attrs[LFACE_HEIGHT_INDEX]) |
| 3118 | || FUNCTIONP (attrs[LFACE_HEIGHT_INDEX])); | 3127 | || FUNCTIONP (attrs[LFACE_HEIGHT_INDEX])); |
| 3119 | xassert (UNSPECIFIEDP (attrs[LFACE_WEIGHT_INDEX]) | 3128 | xassert (UNSPECIFIEDP (attrs[LFACE_WEIGHT_INDEX]) |
| 3129 | || IGNORE_DEFFACE_P (attrs[LFACE_WEIGHT_INDEX]) | ||
| 3120 | || SYMBOLP (attrs[LFACE_WEIGHT_INDEX])); | 3130 | || SYMBOLP (attrs[LFACE_WEIGHT_INDEX])); |
| 3121 | xassert (UNSPECIFIEDP (attrs[LFACE_SLANT_INDEX]) | 3131 | xassert (UNSPECIFIEDP (attrs[LFACE_SLANT_INDEX]) |
| 3132 | || IGNORE_DEFFACE_P (attrs[LFACE_SLANT_INDEX]) | ||
| 3122 | || SYMBOLP (attrs[LFACE_SLANT_INDEX])); | 3133 | || SYMBOLP (attrs[LFACE_SLANT_INDEX])); |
| 3123 | xassert (UNSPECIFIEDP (attrs[LFACE_UNDERLINE_INDEX]) | 3134 | xassert (UNSPECIFIEDP (attrs[LFACE_UNDERLINE_INDEX]) |
| 3135 | || IGNORE_DEFFACE_P (attrs[LFACE_UNDERLINE_INDEX]) | ||
| 3124 | || SYMBOLP (attrs[LFACE_UNDERLINE_INDEX]) | 3136 | || SYMBOLP (attrs[LFACE_UNDERLINE_INDEX]) |
| 3125 | || STRINGP (attrs[LFACE_UNDERLINE_INDEX])); | 3137 | || STRINGP (attrs[LFACE_UNDERLINE_INDEX])); |
| 3126 | xassert (UNSPECIFIEDP (attrs[LFACE_OVERLINE_INDEX]) | 3138 | xassert (UNSPECIFIEDP (attrs[LFACE_OVERLINE_INDEX]) |
| 3139 | || IGNORE_DEFFACE_P (attrs[LFACE_OVERLINE_INDEX]) | ||
| 3127 | || SYMBOLP (attrs[LFACE_OVERLINE_INDEX]) | 3140 | || SYMBOLP (attrs[LFACE_OVERLINE_INDEX]) |
| 3128 | || STRINGP (attrs[LFACE_OVERLINE_INDEX])); | 3141 | || STRINGP (attrs[LFACE_OVERLINE_INDEX])); |
| 3129 | xassert (UNSPECIFIEDP (attrs[LFACE_STRIKE_THROUGH_INDEX]) | 3142 | xassert (UNSPECIFIEDP (attrs[LFACE_STRIKE_THROUGH_INDEX]) |
| 3143 | || IGNORE_DEFFACE_P (attrs[LFACE_STRIKE_THROUGH_INDEX]) | ||
| 3130 | || SYMBOLP (attrs[LFACE_STRIKE_THROUGH_INDEX]) | 3144 | || SYMBOLP (attrs[LFACE_STRIKE_THROUGH_INDEX]) |
| 3131 | || STRINGP (attrs[LFACE_STRIKE_THROUGH_INDEX])); | 3145 | || STRINGP (attrs[LFACE_STRIKE_THROUGH_INDEX])); |
| 3132 | xassert (UNSPECIFIEDP (attrs[LFACE_BOX_INDEX]) | 3146 | xassert (UNSPECIFIEDP (attrs[LFACE_BOX_INDEX]) |
| 3147 | || IGNORE_DEFFACE_P (attrs[LFACE_BOX_INDEX]) | ||
| 3133 | || SYMBOLP (attrs[LFACE_BOX_INDEX]) | 3148 | || SYMBOLP (attrs[LFACE_BOX_INDEX]) |
| 3134 | || STRINGP (attrs[LFACE_BOX_INDEX]) | 3149 | || STRINGP (attrs[LFACE_BOX_INDEX]) |
| 3135 | || INTEGERP (attrs[LFACE_BOX_INDEX]) | 3150 | || INTEGERP (attrs[LFACE_BOX_INDEX]) |
| 3136 | || CONSP (attrs[LFACE_BOX_INDEX])); | 3151 | || CONSP (attrs[LFACE_BOX_INDEX])); |
| 3137 | xassert (UNSPECIFIEDP (attrs[LFACE_INVERSE_INDEX]) | 3152 | xassert (UNSPECIFIEDP (attrs[LFACE_INVERSE_INDEX]) |
| 3153 | || IGNORE_DEFFACE_P (attrs[LFACE_INVERSE_INDEX]) | ||
| 3138 | || SYMBOLP (attrs[LFACE_INVERSE_INDEX])); | 3154 | || SYMBOLP (attrs[LFACE_INVERSE_INDEX])); |
| 3139 | xassert (UNSPECIFIEDP (attrs[LFACE_FOREGROUND_INDEX]) | 3155 | xassert (UNSPECIFIEDP (attrs[LFACE_FOREGROUND_INDEX]) |
| 3156 | || IGNORE_DEFFACE_P (attrs[LFACE_FOREGROUND_INDEX]) | ||
| 3140 | || STRINGP (attrs[LFACE_FOREGROUND_INDEX])); | 3157 | || STRINGP (attrs[LFACE_FOREGROUND_INDEX])); |
| 3141 | xassert (UNSPECIFIEDP (attrs[LFACE_BACKGROUND_INDEX]) | 3158 | xassert (UNSPECIFIEDP (attrs[LFACE_BACKGROUND_INDEX]) |
| 3159 | || IGNORE_DEFFACE_P (attrs[LFACE_BACKGROUND_INDEX]) | ||
| 3142 | || STRINGP (attrs[LFACE_BACKGROUND_INDEX])); | 3160 | || STRINGP (attrs[LFACE_BACKGROUND_INDEX])); |
| 3143 | xassert (UNSPECIFIEDP (attrs[LFACE_INHERIT_INDEX]) | 3161 | xassert (UNSPECIFIEDP (attrs[LFACE_INHERIT_INDEX]) |
| 3162 | || IGNORE_DEFFACE_P (attrs[LFACE_INHERIT_INDEX]) | ||
| 3144 | || NILP (attrs[LFACE_INHERIT_INDEX]) | 3163 | || NILP (attrs[LFACE_INHERIT_INDEX]) |
| 3145 | || SYMBOLP (attrs[LFACE_INHERIT_INDEX]) | 3164 | || SYMBOLP (attrs[LFACE_INHERIT_INDEX]) |
| 3146 | || CONSP (attrs[LFACE_INHERIT_INDEX])); | 3165 | || CONSP (attrs[LFACE_INHERIT_INDEX])); |
| 3147 | #ifdef HAVE_WINDOW_SYSTEM | 3166 | #ifdef HAVE_WINDOW_SYSTEM |
| 3148 | xassert (UNSPECIFIEDP (attrs[LFACE_STIPPLE_INDEX]) | 3167 | xassert (UNSPECIFIEDP (attrs[LFACE_STIPPLE_INDEX]) |
| 3168 | || IGNORE_DEFFACE_P (attrs[LFACE_STIPPLE_INDEX]) | ||
| 3149 | || SYMBOLP (attrs[LFACE_STIPPLE_INDEX]) | 3169 | || SYMBOLP (attrs[LFACE_STIPPLE_INDEX]) |
| 3150 | || !NILP (Fbitmap_spec_p (attrs[LFACE_STIPPLE_INDEX]))); | 3170 | || !NILP (Fbitmap_spec_p (attrs[LFACE_STIPPLE_INDEX]))); |
| 3151 | xassert (UNSPECIFIEDP (attrs[LFACE_FONT_INDEX]) | 3171 | xassert (UNSPECIFIEDP (attrs[LFACE_FONT_INDEX]) |
| 3172 | || IGNORE_DEFFACE_P (attrs[LFACE_FONT_INDEX]) | ||
| 3152 | || NILP (attrs[LFACE_FONT_INDEX]) | 3173 | || NILP (attrs[LFACE_FONT_INDEX]) |
| 3153 | || STRINGP (attrs[LFACE_FONT_INDEX])); | 3174 | || STRINGP (attrs[LFACE_FONT_INDEX])); |
| 3154 | #endif | 3175 | #endif |
| @@ -3357,7 +3378,7 @@ lface_fully_specified_p (attrs) | |||
| 3357 | for (i = 1; i < LFACE_VECTOR_SIZE; ++i) | 3378 | for (i = 1; i < LFACE_VECTOR_SIZE; ++i) |
| 3358 | if (i != LFACE_FONT_INDEX && i != LFACE_INHERIT_INDEX | 3379 | if (i != LFACE_FONT_INDEX && i != LFACE_INHERIT_INDEX |
| 3359 | && i != LFACE_AVGWIDTH_INDEX) | 3380 | && i != LFACE_AVGWIDTH_INDEX) |
| 3360 | if (UNSPECIFIEDP (attrs[i]) | 3381 | if ((UNSPECIFIEDP (attrs[i]) || IGNORE_DEFFACE_P (attrs[i])) |
| 3361 | #ifdef MAC_OS | 3382 | #ifdef MAC_OS |
| 3362 | /* MAC_TODO: No stipple support on Mac OS yet, this index is | 3383 | /* MAC_TODO: No stipple support on Mac OS yet, this index is |
| 3363 | always unspecified. */ | 3384 | always unspecified. */ |
| @@ -3572,6 +3593,8 @@ merge_face_vectors (f, from, to, named_merge_points) | |||
| 3572 | { | 3593 | { |
| 3573 | if (i == LFACE_HEIGHT_INDEX && !INTEGERP (from[i])) | 3594 | if (i == LFACE_HEIGHT_INDEX && !INTEGERP (from[i])) |
| 3574 | to[i] = merge_face_heights (from[i], to[i], to[i]); | 3595 | to[i] = merge_face_heights (from[i], to[i], to[i]); |
| 3596 | else if (IGNORE_DEFFACE_P (from[i])) | ||
| 3597 | to[i] = Qunspecified; | ||
| 3575 | else | 3598 | else |
| 3576 | to[i] = from[i]; | 3599 | to[i] = from[i]; |
| 3577 | } | 3600 | } |
| @@ -4064,7 +4087,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4064 | 4087 | ||
| 4065 | if (EQ (attr, QCfamily)) | 4088 | if (EQ (attr, QCfamily)) |
| 4066 | { | 4089 | { |
| 4067 | if (!UNSPECIFIEDP (value)) | 4090 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4068 | { | 4091 | { |
| 4069 | CHECK_STRING (value); | 4092 | CHECK_STRING (value); |
| 4070 | if (SCHARS (value) == 0) | 4093 | if (SCHARS (value) == 0) |
| @@ -4076,7 +4099,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4076 | } | 4099 | } |
| 4077 | else if (EQ (attr, QCheight)) | 4100 | else if (EQ (attr, QCheight)) |
| 4078 | { | 4101 | { |
| 4079 | if (!UNSPECIFIEDP (value)) | 4102 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4080 | { | 4103 | { |
| 4081 | Lisp_Object test; | 4104 | Lisp_Object test; |
| 4082 | 4105 | ||
| @@ -4097,7 +4120,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4097 | } | 4120 | } |
| 4098 | else if (EQ (attr, QCweight)) | 4121 | else if (EQ (attr, QCweight)) |
| 4099 | { | 4122 | { |
| 4100 | if (!UNSPECIFIEDP (value)) | 4123 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4101 | { | 4124 | { |
| 4102 | CHECK_SYMBOL (value); | 4125 | CHECK_SYMBOL (value); |
| 4103 | if (face_numeric_weight (value) < 0) | 4126 | if (face_numeric_weight (value) < 0) |
| @@ -4109,7 +4132,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4109 | } | 4132 | } |
| 4110 | else if (EQ (attr, QCslant)) | 4133 | else if (EQ (attr, QCslant)) |
| 4111 | { | 4134 | { |
| 4112 | if (!UNSPECIFIEDP (value)) | 4135 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4113 | { | 4136 | { |
| 4114 | CHECK_SYMBOL (value); | 4137 | CHECK_SYMBOL (value); |
| 4115 | if (face_numeric_slant (value) < 0) | 4138 | if (face_numeric_slant (value) < 0) |
| @@ -4121,7 +4144,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4121 | } | 4144 | } |
| 4122 | else if (EQ (attr, QCunderline)) | 4145 | else if (EQ (attr, QCunderline)) |
| 4123 | { | 4146 | { |
| 4124 | if (!UNSPECIFIEDP (value)) | 4147 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4125 | if ((SYMBOLP (value) | 4148 | if ((SYMBOLP (value) |
| 4126 | && !EQ (value, Qt) | 4149 | && !EQ (value, Qt) |
| 4127 | && !EQ (value, Qnil)) | 4150 | && !EQ (value, Qnil)) |
| @@ -4135,7 +4158,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4135 | } | 4158 | } |
| 4136 | else if (EQ (attr, QCoverline)) | 4159 | else if (EQ (attr, QCoverline)) |
| 4137 | { | 4160 | { |
| 4138 | if (!UNSPECIFIEDP (value)) | 4161 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4139 | if ((SYMBOLP (value) | 4162 | if ((SYMBOLP (value) |
| 4140 | && !EQ (value, Qt) | 4163 | && !EQ (value, Qt) |
| 4141 | && !EQ (value, Qnil)) | 4164 | && !EQ (value, Qnil)) |
| @@ -4149,7 +4172,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4149 | } | 4172 | } |
| 4150 | else if (EQ (attr, QCstrike_through)) | 4173 | else if (EQ (attr, QCstrike_through)) |
| 4151 | { | 4174 | { |
| 4152 | if (!UNSPECIFIEDP (value)) | 4175 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4153 | if ((SYMBOLP (value) | 4176 | if ((SYMBOLP (value) |
| 4154 | && !EQ (value, Qt) | 4177 | && !EQ (value, Qt) |
| 4155 | && !EQ (value, Qnil)) | 4178 | && !EQ (value, Qnil)) |
| @@ -4170,7 +4193,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4170 | if (EQ (value, Qt)) | 4193 | if (EQ (value, Qt)) |
| 4171 | value = make_number (1); | 4194 | value = make_number (1); |
| 4172 | 4195 | ||
| 4173 | if (UNSPECIFIEDP (value)) | 4196 | if (UNSPECIFIEDP (value) || IGNORE_DEFFACE_P (value)) |
| 4174 | valid_p = 1; | 4197 | valid_p = 1; |
| 4175 | else if (NILP (value)) | 4198 | else if (NILP (value)) |
| 4176 | valid_p = 1; | 4199 | valid_p = 1; |
| @@ -4227,7 +4250,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4227 | else if (EQ (attr, QCinverse_video) | 4250 | else if (EQ (attr, QCinverse_video) |
| 4228 | || EQ (attr, QCreverse_video)) | 4251 | || EQ (attr, QCreverse_video)) |
| 4229 | { | 4252 | { |
| 4230 | if (!UNSPECIFIEDP (value)) | 4253 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4231 | { | 4254 | { |
| 4232 | CHECK_SYMBOL (value); | 4255 | CHECK_SYMBOL (value); |
| 4233 | if (!EQ (value, Qt) && !NILP (value)) | 4256 | if (!EQ (value, Qt) && !NILP (value)) |
| @@ -4238,7 +4261,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4238 | } | 4261 | } |
| 4239 | else if (EQ (attr, QCforeground)) | 4262 | else if (EQ (attr, QCforeground)) |
| 4240 | { | 4263 | { |
| 4241 | if (!UNSPECIFIEDP (value)) | 4264 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4242 | { | 4265 | { |
| 4243 | /* Don't check for valid color names here because it depends | 4266 | /* Don't check for valid color names here because it depends |
| 4244 | on the frame (display) whether the color will be valid | 4267 | on the frame (display) whether the color will be valid |
| @@ -4252,7 +4275,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4252 | } | 4275 | } |
| 4253 | else if (EQ (attr, QCbackground)) | 4276 | else if (EQ (attr, QCbackground)) |
| 4254 | { | 4277 | { |
| 4255 | if (!UNSPECIFIEDP (value)) | 4278 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4256 | { | 4279 | { |
| 4257 | /* Don't check for valid color names here because it depends | 4280 | /* Don't check for valid color names here because it depends |
| 4258 | on the frame (display) whether the color will be valid | 4281 | on the frame (display) whether the color will be valid |
| @@ -4267,7 +4290,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4267 | else if (EQ (attr, QCstipple)) | 4290 | else if (EQ (attr, QCstipple)) |
| 4268 | { | 4291 | { |
| 4269 | #ifdef HAVE_X_WINDOWS | 4292 | #ifdef HAVE_X_WINDOWS |
| 4270 | if (!UNSPECIFIEDP (value) | 4293 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value) |
| 4271 | && !NILP (value) | 4294 | && !NILP (value) |
| 4272 | && NILP (Fbitmap_spec_p (value))) | 4295 | && NILP (Fbitmap_spec_p (value))) |
| 4273 | signal_error ("Invalid stipple attribute", value); | 4296 | signal_error ("Invalid stipple attribute", value); |
| @@ -4277,7 +4300,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4277 | } | 4300 | } |
| 4278 | else if (EQ (attr, QCwidth)) | 4301 | else if (EQ (attr, QCwidth)) |
| 4279 | { | 4302 | { |
| 4280 | if (!UNSPECIFIEDP (value)) | 4303 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4281 | { | 4304 | { |
| 4282 | CHECK_SYMBOL (value); | 4305 | CHECK_SYMBOL (value); |
| 4283 | if (face_numeric_swidth (value) < 0) | 4306 | if (face_numeric_swidth (value) < 0) |
| @@ -4302,7 +4325,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4302 | else | 4325 | else |
| 4303 | f = check_x_frame (frame); | 4326 | f = check_x_frame (frame); |
| 4304 | 4327 | ||
| 4305 | if (!UNSPECIFIEDP (value)) | 4328 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4306 | { | 4329 | { |
| 4307 | CHECK_STRING (value); | 4330 | CHECK_STRING (value); |
| 4308 | 4331 | ||
| @@ -4350,7 +4373,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4350 | signal_error ("Invalid face attribute name", attr); | 4373 | signal_error ("Invalid face attribute name", attr); |
| 4351 | 4374 | ||
| 4352 | if (font_related_attr_p | 4375 | if (font_related_attr_p |
| 4353 | && !UNSPECIFIEDP (value)) | 4376 | && !UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value)) |
| 4354 | /* If a font-related attribute other than QCfont is specified, the | 4377 | /* If a font-related attribute other than QCfont is specified, the |
| 4355 | original `font' attribute nor that of default face is useless | 4378 | original `font' attribute nor that of default face is useless |
| 4356 | to determine a new font. Thus, we set it to nil so that font | 4379 | to determine a new font. Thus, we set it to nil so that font |
| @@ -4371,7 +4394,7 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 4371 | ++windows_or_buffers_changed; | 4394 | ++windows_or_buffers_changed; |
| 4372 | } | 4395 | } |
| 4373 | 4396 | ||
| 4374 | if (!UNSPECIFIEDP (value) | 4397 | if (!UNSPECIFIEDP (value) && !IGNORE_DEFFACE_P (value) |
| 4375 | && NILP (Fequal (old_value, value))) | 4398 | && NILP (Fequal (old_value, value))) |
| 4376 | { | 4399 | { |
| 4377 | Lisp_Object param; | 4400 | Lisp_Object param; |
| @@ -4788,7 +4811,7 @@ DEFUN ("face-attribute-relative-p", Fface_attribute_relative_p, | |||
| 4788 | (attribute, value) | 4811 | (attribute, value) |
| 4789 | Lisp_Object attribute, value; | 4812 | Lisp_Object attribute, value; |
| 4790 | { | 4813 | { |
| 4791 | if (EQ (value, Qunspecified)) | 4814 | if (EQ (value, Qunspecified) || (EQ (value, Qignore_defface))) |
| 4792 | return Qt; | 4815 | return Qt; |
| 4793 | else if (EQ (attribute, QCheight)) | 4816 | else if (EQ (attribute, QCheight)) |
| 4794 | return INTEGERP (value) ? Qnil : Qt; | 4817 | return INTEGERP (value) ? Qnil : Qt; |
| @@ -4804,7 +4827,7 @@ the result will be absolute, otherwise it will be relative. */) | |||
| 4804 | (attribute, value1, value2) | 4827 | (attribute, value1, value2) |
| 4805 | Lisp_Object attribute, value1, value2; | 4828 | Lisp_Object attribute, value1, value2; |
| 4806 | { | 4829 | { |
| 4807 | if (EQ (value1, Qunspecified)) | 4830 | if (EQ (value1, Qunspecified) || EQ (value1, Qignore_defface)) |
| 4808 | return value2; | 4831 | return value2; |
| 4809 | else if (EQ (attribute, QCheight)) | 4832 | else if (EQ (attribute, QCheight)) |
| 4810 | return merge_face_heights (value1, value2, value1); | 4833 | return merge_face_heights (value1, value2, value1); |
| @@ -8035,6 +8058,8 @@ syms_of_xfaces () | |||
| 8035 | staticpro (&Qforeground_color); | 8058 | staticpro (&Qforeground_color); |
| 8036 | Qunspecified = intern ("unspecified"); | 8059 | Qunspecified = intern ("unspecified"); |
| 8037 | staticpro (&Qunspecified); | 8060 | staticpro (&Qunspecified); |
| 8061 | Qignore_defface = intern (":ignore-defface"); | ||
| 8062 | staticpro (&Qignore_defface); | ||
| 8038 | 8063 | ||
| 8039 | Qface_alias = intern ("face-alias"); | 8064 | Qface_alias = intern ("face-alias"); |
| 8040 | staticpro (&Qface_alias); | 8065 | staticpro (&Qface_alias); |