diff options
| author | Karoly Lorentey | 2006-12-03 12:15:03 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2006-12-03 12:15:03 +0000 |
| commit | 14bcc1e098410087a837313e2fc822319ff2e8ca (patch) | |
| tree | e468aebbb8d84438d81eb08bf6b77bfeaf664ea7 | |
| parent | 5665a02fd1d009506f246d5f77896e3995127954 (diff) | |
| parent | 704ec54b3f2a40026ea7835b76e040c7335a56c1 (diff) | |
| download | emacs-14bcc1e098410087a837313e2fc822319ff2e8ca.tar.gz emacs-14bcc1e098410087a837313e2fc822319ff2e8ca.zip | |
Merged from emacs@sv.gnu.org.
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-474
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-475
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-476
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-477
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-478
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-150
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-151
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-152
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-584
47 files changed, 565 insertions, 241 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 7b32f0a985f..ea3016b07ee 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2006-10-15 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * admin.el (set-version): Set version numbers in "mac" subdirectory. | ||
| 4 | |||
| 1 | 2006-10-03 Kenichi Handa <handa@m17n.org> | 5 | 2006-10-03 Kenichi Handa <handa@m17n.org> |
| 2 | 6 | ||
| 3 | * FOR-RELEASE (BUGS): "An iso-8859-6 cannot be saved" fixed. | 7 | * FOR-RELEASE (BUGS): "An iso-8859-6 cannot be saved" fixed. |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index aef0773b89d..68fb5c8d09b 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -43,8 +43,15 @@ to the hack introduced on 2005-07-01 to fix some other Cleartype problem. | |||
| 43 | 43 | ||
| 44 | * BUGS | 44 | * BUGS |
| 45 | 45 | ||
| 46 | ** hashiz@tomba.meridiani.jp, Oct 6: bootstrap failure on FreeBSD 6.2 | 46 | ** Monnier, Oct 15: Strange behavior of C-u in the presence of sit-for in p-c-h |
| 47 | Can't be reproduced on GNU/Linux. | 47 | |
| 48 | ** miyoshi@meadowy.org, Oct 16: Emacs allocates unnecessary memory | ||
| 49 | |||
| 50 | ** david.reitter@gmail.com, Oct 16: url-retrieve may cause hang | ||
| 51 | |||
| 52 | ** id.brep@gmail.com, Oct 17: `.newsrc.eld' saves chinese group name in wrong coding | ||
| 53 | |||
| 54 | ** bojohan+mail@dd.chalmers.se, Oct 17: Formatting `interactive' strings. | ||
| 48 | 55 | ||
| 49 | * DOCUMENTATION | 56 | * DOCUMENTATION |
| 50 | 57 | ||
diff --git a/admin/admin.el b/admin/admin.el index 2f7f085b9d9..6cd090c0805 100644 --- a/admin/admin.el +++ b/admin/admin.el | |||
| @@ -97,12 +97,12 @@ Root must be the root of an Emacs source tree." | |||
| 97 | (comma-version | 97 | (comma-version |
| 98 | (concat (car version-components) "," | 98 | (concat (car version-components) "," |
| 99 | (cadr version-components) "," | 99 | (cadr version-components) "," |
| 100 | (cadr (cdr version-components)) "," | 100 | (cadr (cdr version-components)) "," |
| 101 | (cadr (cdr (cdr version-components))))) | 101 | (cadr (cdr (cdr version-components))))) |
| 102 | (comma-space-version | 102 | (comma-space-version |
| 103 | (concat (car version-components) ", " | 103 | (concat (car version-components) ", " |
| 104 | (cadr version-components) ", " | 104 | (cadr version-components) ", " |
| 105 | (cadr (cdr version-components)) ", " | 105 | (cadr (cdr version-components)) ", " |
| 106 | (cadr (cdr (cdr version-components)))))) | 106 | (cadr (cdr (cdr version-components)))))) |
| 107 | (set-version-in-file root "nt/emacs.rc" comma-version | 107 | (set-version-in-file root "nt/emacs.rc" comma-version |
| 108 | (rx (and "FILEVERSION" (1+ space) | 108 | (rx (and "FILEVERSION" (1+ space) |
| @@ -116,7 +116,43 @@ Root must be the root of an Emacs source tree." | |||
| 116 | (set-version-in-file root "nt/emacs.rc" comma-space-version | 116 | (set-version-in-file root "nt/emacs.rc" comma-space-version |
| 117 | (rx (and "\"ProductVersion\"" (0+ space) ?, | 117 | (rx (and "\"ProductVersion\"" (0+ space) ?, |
| 118 | (0+ space) ?\" (submatch (1+ (in "0-9, "))) | 118 | (0+ space) ?\" (submatch (1+ (in "0-9, "))) |
| 119 | "\\0\""))))) | 119 | "\\0\""))) |
| 120 | ;; Some files in the "mac" subdirectory also contain the version | ||
| 121 | ;; number. | ||
| 122 | (set-version-in-file | ||
| 123 | root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings" | ||
| 124 | version (rx (and "CFBundleShortVersionString" (0+ space) ?= (0+ space) ?\" | ||
| 125 | (submatch (1+ (in "0-9.")))))) | ||
| 126 | (set-version-in-file | ||
| 127 | root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings" | ||
| 128 | version (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space) ?\" | ||
| 129 | (submatch (1+ (in "0-9.")))))) | ||
| 130 | (set-version-in-file root "mac/src/Emacs.r" (car version-components) | ||
| 131 | (rx (and "GNU Emacs " (submatch (1+ (in "0-9"))) | ||
| 132 | " for Mac OS"))) | ||
| 133 | (set-version-in-file root "mac/src/Emacs.r" (car version-components) | ||
| 134 | (rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\, | ||
| 135 | (0+ space) "/* Major revision in BCD */"))) | ||
| 136 | (set-version-in-file root "mac/src/Emacs.r" (cadr version-components) | ||
| 137 | (rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\, | ||
| 138 | (0+ space) "/* Minor revision in BCD */"))) | ||
| 139 | (set-version-in-file root "mac/src/Emacs.r" (cadr (cdr version-components)) | ||
| 140 | (rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\, | ||
| 141 | (0+ space) "/* Non-final release # */"))) | ||
| 142 | (set-version-in-file root "mac/src/Emacs.r" version | ||
| 143 | (rx (and (submatch (1+ (in "0-9."))) (0+ space) ?\" ?\, | ||
| 144 | (0+ space) "/* Short version number */"))) | ||
| 145 | (set-version-in-file root "mac/src/Emacs.r" version | ||
| 146 | (rx (and "/* Short version number */" (0+ space) ?\" | ||
| 147 | (submatch (1+ (in "0-9.")))))) | ||
| 148 | (let* ((third-component (string-to-number (cadr (cdr version-components)))) | ||
| 149 | (release (cond ((>= third-component 90) "alpha") | ||
| 150 | ((>= third-component 50) "development") | ||
| 151 | (t "final")))) | ||
| 152 | (set-version-in-file | ||
| 153 | root "mac/src/Emacs.r" release | ||
| 154 | (rx (and (submatch (1+ (in "a-z"))) (0+ space) ?\, (0+ space) | ||
| 155 | "/* development, alpha, beta, or final (release) */")))))) | ||
| 120 | 156 | ||
| 121 | ;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 | 157 | ;;; arch-tag: 4ea83636-2293-408b-884e-ad64f22a3bf5 |
| 122 | ;; admin.el ends here. | 158 | ;; admin.el ends here. |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8dd343fc8ee..89a00314048 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,12 +1,97 @@ | |||
| 1 | 2006-10-18 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * progmodes/ada-mode.el (ada-83-string-keywords) | ||
| 4 | (ada-last-which-function-line ada-no-auto-case, ada-indent-region) | ||
| 5 | (ada-which-compiler, ada-align-modes, ada-adjust-case-buffer) | ||
| 6 | (ada-looking-at-semi-private, ada-get-body-name): | ||
| 7 | Fix typos in docstrings. | ||
| 8 | (ada-create-case-exception, ada-create-case-exception-substring): | ||
| 9 | Fix typos in error messages. | ||
| 10 | (ada-goto-matching-end, ada-narrow-to-defun): Doc fixes. | ||
| 11 | |||
| 12 | 2006-10-18 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 13 | |||
| 14 | * term/x-win.el (res-geometry): Don't set geometry from Xresources | ||
| 15 | to default-frame-alist if default-frame-alist already contains | ||
| 16 | width/height. | ||
| 17 | |||
| 18 | 2006-10-18 Richard Stallman <rms@gnu.org> | ||
| 19 | |||
| 20 | * emacs-lisp/pp.el (pp-eval-expression): Use `X' to read value. | ||
| 21 | Non-interactive arg is the value, not the expression. | ||
| 22 | |||
| 23 | * simple.el (read-expression-map): Just set it, no defvar. | ||
| 24 | |||
| 25 | * subr.el (insert-for-yank-1): If last inserted char has | ||
| 26 | properties, mark them as rear-nonsticky. | ||
| 27 | |||
| 28 | * recentf.el (recentf-mode): Doc fix. | ||
| 29 | |||
| 30 | * facemenu.el (facemenu-add-new-face): Defend against symbol | ||
| 31 | that isn't a face name. | ||
| 32 | |||
| 33 | * dired-aux.el (dired-do-copy): Doc fix. | ||
| 34 | |||
| 35 | 2006-10-18 Chong Yidong <cyd@stupidchicken.com> | ||
| 36 | |||
| 37 | * simple.el (line-move-1): Ignore fields when moving to the | ||
| 38 | beginning of line to avoid getting point stuck. | ||
| 39 | |||
| 40 | 2006-10-18 Martin Rudalics <rudalics@gmx.at> | ||
| 41 | |||
| 42 | * textmodes/flyspell.el (flyspell-word-search-backward): Set | ||
| 43 | inhibit-point-motion-hooks to avoid looping due to intangibile | ||
| 44 | text. | ||
| 45 | |||
| 46 | 2006-10-16 Richard Stallman <rms@gnu.org> | ||
| 47 | |||
| 48 | * help-fns.el (describe-function-1): Special case optimization | ||
| 49 | for self-insert-command. | ||
| 50 | |||
| 51 | 2006-10-16 Kim F. Storm <storm@cua.dk> | ||
| 52 | |||
| 53 | * ido.el (ido-reread-directory): Work in `dir' mode too. | ||
| 54 | |||
| 55 | 2006-10-15 Martin Rudalics <rudalics@gmx.at> | ||
| 56 | |||
| 57 | * textmodes/table.el: Require 'regexp-opt. | ||
| 58 | |||
| 59 | 2006-10-15 Lennart Borgman <lennart.borgman.073@student.lu.se> | ||
| 60 | |||
| 61 | * progmodes/flymake.el (flymake-get-project-include-dirs-imp): | ||
| 62 | Use shell-quote-argument. | ||
| 63 | |||
| 64 | * shell.el (explicit-bash-args): Likewise. | ||
| 65 | |||
| 66 | * progmodes/ada-xref.el (ada-find-in-src-path): Likewise. | ||
| 67 | Use grep -E rather than egrep. | ||
| 68 | |||
| 69 | 2006-10-15 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org> | ||
| 70 | |||
| 71 | * ido.el (ido-exhibit): Allow `-', `_', and trailing `$' in user id. | ||
| 72 | |||
| 73 | 2006-10-15 Kim F. Storm <storm@cua.dk> | ||
| 74 | |||
| 75 | * filesets.el (filesets-run-cmd--repl-fn): Use shell-quote-argument. | ||
| 76 | |||
| 77 | 2006-10-14 Lennart Borgman <lennart.borgman.073@student.lu.se> | ||
| 78 | |||
| 79 | * filesets.el (filesets-cmd-shell-command): Quote buffer-file-name | ||
| 80 | to protect whitespace and metacharacters from the shell. | ||
| 81 | |||
| 1 | 2006-10-13 Giorgos Keramidas <keramida@ceid.upatras.gr> (tiny change) | 82 | 2006-10-13 Giorgos Keramidas <keramida@ceid.upatras.gr> (tiny change) |
| 2 | 83 | ||
| 3 | * apropos.el (apropos-pattern-quoted): Fix a typo in a doc | 84 | * apropos.el (apropos-pattern-quoted): Fix a typo in a doc string. |
| 4 | string. | ||
| 5 | 85 | ||
| 6 | 2006-10-13 Eli Zaretskii <eliz@gnu.org> | 86 | 2006-10-13 Eli Zaretskii <eliz@gnu.org> |
| 7 | 87 | ||
| 8 | * subr.el (start-process-shell-command): Doc fix. | 88 | * subr.el (start-process-shell-command): Doc fix. |
| 9 | 89 | ||
| 90 | 2006-10-13 Andrea Russo <rastandy@salug.it> (tiny change) | ||
| 91 | |||
| 92 | * info-look.el <maxima-mode, inferior-maxima-mode>: Allow [0-9] in | ||
| 93 | the regexp for Maxima symbols. | ||
| 94 | |||
| 10 | 2006-10-13 Stefan Monnier <monnier@iro.umontreal.ca> | 95 | 2006-10-13 Stefan Monnier <monnier@iro.umontreal.ca> |
| 11 | 96 | ||
| 12 | * vc-hooks.el (vc-ignore-dir-regexp): Make it into a defcustom. | 97 | * vc-hooks.el (vc-ignore-dir-regexp): Make it into a defcustom. |
| @@ -19,8 +104,13 @@ | |||
| 19 | 104 | ||
| 20 | 2006-10-12 Carsten Dominik <dominik@science.uva.nl> | 105 | 2006-10-12 Carsten Dominik <dominik@science.uva.nl> |
| 21 | 106 | ||
| 22 | * textmodes/reftex-global.el (reftex-create-tags-file): Quote file | 107 | * textmodes/reftex-global.el (reftex-create-tags-file): |
| 23 | arguments. | 108 | Quote file arguments. |
| 109 | |||
| 110 | 2006-10-12 Richard Stallman <rms@gnu.org> | ||
| 111 | |||
| 112 | * files.el (file-name-history): Add defvar. | ||
| 113 | (save-some-buffers-action-alist): Improve description strings. | ||
| 24 | 114 | ||
| 25 | 2006-10-12 Andreas Schwab <schwab@suse.de> | 115 | 2006-10-12 Andreas Schwab <schwab@suse.de> |
| 26 | 116 | ||
| @@ -380,7 +470,7 @@ | |||
| 380 | was inverted; | 470 | was inverted; |
| 381 | Support `comment-column' = 0. | 471 | Support `comment-column' = 0. |
| 382 | 472 | ||
| 383 | 2006-10-11 Martin Rudalics <rudalics@gmx.at> | 473 | 2006-10-11 Martin Rudalics <rudalics@gmx.at> |
| 384 | 474 | ||
| 385 | * dnd.el (dnd-handle-one-url): Fix typo in doc-string. | 475 | * dnd.el (dnd-handle-one-url): Fix typo in doc-string. |
| 386 | * help-at-pt.el (scan-buf-move-to-region): Likewise. | 476 | * help-at-pt.el (scan-buf-move-to-region): Likewise. |
| @@ -424,8 +514,8 @@ | |||
| 424 | 514 | ||
| 425 | 2006-10-08 Nick Roberts <nickrob@snap.net.nz> | 515 | 2006-10-08 Nick Roberts <nickrob@snap.net.nz> |
| 426 | 516 | ||
| 427 | * progmodes/gdb-ui.el (gdb-speedbar-expand-node): Burp if | 517 | * progmodes/gdb-ui.el (gdb-speedbar-expand-node): |
| 428 | GUD buffer has been killed. | 518 | Burp if GUD buffer has been killed. |
| 429 | 519 | ||
| 430 | 2006-10-07 Stefan Monnier <monnier@iro.umontreal.ca> | 520 | 2006-10-07 Stefan Monnier <monnier@iro.umontreal.ca> |
| 431 | 521 | ||
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 6082fc180dc..769d98c9530 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el | |||
| @@ -1560,7 +1560,10 @@ When operating on multiple or marked files, you specify a directory, | |||
| 1560 | and new copies of these files are made in that directory | 1560 | and new copies of these files are made in that directory |
| 1561 | with the same names that the files currently have. The default | 1561 | with the same names that the files currently have. The default |
| 1562 | suggested for the target directory depends on the value of | 1562 | suggested for the target directory depends on the value of |
| 1563 | `dired-dwim-target', which see." | 1563 | `dired-dwim-target', which see. |
| 1564 | |||
| 1565 | This command copies symbolic links by creating new ones, | ||
| 1566 | like `cp -d'." | ||
| 1564 | (interactive "P") | 1567 | (interactive "P") |
| 1565 | (let ((dired-recursive-copies dired-recursive-copies)) | 1568 | (let ((dired-recursive-copies dired-recursive-copies)) |
| 1566 | (dired-do-create-files 'copy (function dired-copy-file) | 1569 | (dired-do-create-files 'copy (function dired-copy-file) |
diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el index f30b69ddac0..a9cb2abd741 100644 --- a/lisp/emacs-lisp/pp.el +++ b/lisp/emacs-lisp/pp.el | |||
| @@ -97,13 +97,16 @@ Output stream is STREAM, or value of `standard-output' (which see)." | |||
| 97 | (princ (pp-to-string object) (or stream standard-output))) | 97 | (princ (pp-to-string object) (or stream standard-output))) |
| 98 | 98 | ||
| 99 | ;;;###autoload | 99 | ;;;###autoload |
| 100 | (defun pp-eval-expression (expression) | 100 | (defun pp-eval-expression (expval) |
| 101 | "Evaluate EXPRESSION and pretty-print value into a new display buffer. | 101 | "Evaluate an expression, then pretty-print value EXPVAL into a new buffer. |
| 102 | If the pretty-printed value fits on one line, the message line is used | 102 | If pretty-printed EXPVAL fits on one line, display it in the echo |
| 103 | instead. The value is also consed onto the front of the list | 103 | area instead. Also add EXPVAL to the front of the list |
| 104 | in the variable `values'." | 104 | in the variable `values'. |
| 105 | (interactive "xPp-eval: ") | 105 | |
| 106 | (setq values (cons (eval expression) values)) | 106 | Non-interactively, the argument is the value, EXPVAL, not the expression |
| 107 | to evaluate." | ||
| 108 | (interactive "XPp-eval: ") | ||
| 109 | (setq values (cons expval values)) | ||
| 107 | (let* ((old-show-function temp-buffer-show-function) | 110 | (let* ((old-show-function temp-buffer-show-function) |
| 108 | ;; Use this function to display the buffer. | 111 | ;; Use this function to display the buffer. |
| 109 | ;; This function either decides not to display it at all | 112 | ;; This function either decides not to display it at all |
diff --git a/lisp/facemenu.el b/lisp/facemenu.el index eaaf4dacd72..13cf7fbd734 100644 --- a/lisp/facemenu.el +++ b/lisp/facemenu.el | |||
| @@ -690,6 +690,9 @@ This is called whenever you create a new face, and at other times." | |||
| 690 | (cond ((facemenu-iterate ; check if equivalent face is already in the menu | 690 | (cond ((facemenu-iterate ; check if equivalent face is already in the menu |
| 691 | (lambda (m) (and (listp m) | 691 | (lambda (m) (and (listp m) |
| 692 | (symbolp (car m)) | 692 | (symbolp (car m)) |
| 693 | ;; Avoid error in face-equal | ||
| 694 | ;; when a non-face is erroneously present. | ||
| 695 | (facep (car m)) | ||
| 693 | (face-equal (car m) symbol))) | 696 | (face-equal (car m) symbol))) |
| 694 | (cdr (symbol-function menu)))) | 697 | (cdr (symbol-function menu)))) |
| 695 | ;; Faces with a keyboard equivalent. These go at the front. | 698 | ;; Faces with a keyboard equivalent. These go at the front. |
diff --git a/lisp/filesets.el b/lisp/filesets.el index eb8cdb02617..355c39f8ed7 100644 --- a/lisp/filesets.el +++ b/lisp/filesets.el | |||
| @@ -1603,7 +1603,7 @@ Replace <file-name> or <<file-name>> with filename." | |||
| 1603 | ((equal arg "<file-name>") | 1603 | ((equal arg "<file-name>") |
| 1604 | (buffer-file-name)) | 1604 | (buffer-file-name)) |
| 1605 | ((equal arg "<<file-name>>") | 1605 | ((equal arg "<<file-name>>") |
| 1606 | (filesets-quote (buffer-file-name))) | 1606 | (shell-quote-argument (buffer-file-name))) |
| 1607 | (t | 1607 | (t |
| 1608 | arg)))) | 1608 | arg)))) |
| 1609 | 1609 | ||
| @@ -1701,7 +1701,7 @@ Replace <file-name> or <<file-name>> with filename." | |||
| 1701 | ok) | 1701 | ok) |
| 1702 | t))) | 1702 | t))) |
| 1703 | (when ok | 1703 | (when ok |
| 1704 | (let ((cmd (format txt (buffer-file-name)))) | 1704 | (let ((cmd (format txt (shell-quote-argument (buffer-file-name))))) |
| 1705 | (message "Filesets: %s" cmd) | 1705 | (message "Filesets: %s" cmd) |
| 1706 | (filesets-cmd-show-result cmd | 1706 | (filesets-cmd-show-result cmd |
| 1707 | (shell-command-to-string cmd)))))) | 1707 | (shell-command-to-string cmd)))))) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 63e7f43424d..dba2c407b21 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,23 @@ | |||
| 1 | 2006-10-13 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> | ||
| 2 | |||
| 3 | * mm-uu.el (mm-uu-pgp-signed-extract-1): Use RFC 2440 definition of | ||
| 4 | "blank line" when searching for end of armor headers. | ||
| 5 | |||
| 6 | 2006-10-11 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 7 | |||
| 8 | * gmm-utils.el (gmm-write-region): Fix variable name. | ||
| 9 | |||
| 10 | 2006-10-10 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 11 | |||
| 12 | * gmm-utils.el (gmm-write-region): New function based on compatibility | ||
| 13 | code from `mm-make-temp-file'. | ||
| 14 | |||
| 15 | * mm-util.el (mm-make-temp-file): Use `gmm-write-region'. | ||
| 16 | |||
| 17 | * nnmaildir.el (nnmaildir--update-nov) | ||
| 18 | (nnmaildir-request-replace-article, nnmaildir-request-accept-article): | ||
| 19 | Use `gmm-write-region'. | ||
| 20 | |||
| 1 | 2006-10-04 Reiner Steib <Reiner.Steib@gmx.de> | 21 | 2006-10-04 Reiner Steib <Reiner.Steib@gmx.de> |
| 2 | 22 | ||
| 3 | * gnus-sum.el (gnus-summary-make-menu-bar): Clarify | 23 | * gnus-sum.el (gnus-summary-make-menu-bar): Clarify |
diff --git a/lisp/gnus/gmm-utils.el b/lisp/gnus/gmm-utils.el index e773aa3bfac..59d02927008 100644 --- a/lisp/gnus/gmm-utils.el +++ b/lisp/gnus/gmm-utils.el | |||
| @@ -401,6 +401,21 @@ If mode is nil, use `major-mode' of the curent buffer." | |||
| 401 | (string-match "^\\(.+\\)-mode$" mode) | 401 | (string-match "^\\(.+\\)-mode$" mode) |
| 402 | (match-string 1 mode)))))) | 402 | (match-string 1 mode)))))) |
| 403 | 403 | ||
| 404 | (defun gmm-write-region (start end filename &optional append visit | ||
| 405 | lockname mustbenew) | ||
| 406 | "Compatibility function for `write-region'. | ||
| 407 | |||
| 408 | In XEmacs, the seventh argument of `write-region' specifies the | ||
| 409 | coding-system." | ||
| 410 | (if (and mustbenew | ||
| 411 | (or (featurep 'xemacs) | ||
| 412 | (= emacs-major-version 20))) | ||
| 413 | (if (file-exists-p filename) | ||
| 414 | (signal 'file-already-exists | ||
| 415 | (list "File exists" filename)) | ||
| 416 | (write-region start end filename append visit lockname)) | ||
| 417 | (write-region start end filename append visit lockname mustbenew))) | ||
| 418 | |||
| 404 | (provide 'gmm-utils) | 419 | (provide 'gmm-utils) |
| 405 | 420 | ||
| 406 | ;; arch-tag: e0b60920-2ce6-40c1-bfc0-cadbbe26b602 | 421 | ;; arch-tag: e0b60920-2ce6-40c1-bfc0-cadbbe26b602 |
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index 1c9f9749f85..e75f2ef6d5f 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el | |||
| @@ -1126,17 +1126,11 @@ If SUFFIX is non-nil, add that at the end of the file name." | |||
| 1126 | (setq file (concat file suffix))) | 1126 | (setq file (concat file suffix))) |
| 1127 | (if dir-flag | 1127 | (if dir-flag |
| 1128 | (make-directory file) | 1128 | (make-directory file) |
| 1129 | (if (or (featurep 'xemacs) | 1129 | ;; NOTE: This is unsafe if Emacs 20 |
| 1130 | (= emacs-major-version 20)) | 1130 | ;; users and XEmacs users don't use |
| 1131 | ;; NOTE: This is unsafe if Emacs 20 | 1131 | ;; a secure temp directory. |
| 1132 | ;; users and XEmacs users don't use | 1132 | (gmm-write-region "" nil file nil 'silent |
| 1133 | ;; a secure temp directory. | 1133 | nil 'excl)) |
| 1134 | (if (file-exists-p file) | ||
| 1135 | (signal 'file-already-exists | ||
| 1136 | (list "File exists" file)) | ||
| 1137 | (write-region "" nil file nil 'silent)) | ||
| 1138 | (write-region "" nil file nil 'silent | ||
| 1139 | nil 'excl))) | ||
| 1140 | nil) | 1134 | nil) |
| 1141 | (file-already-exists t) | 1135 | (file-already-exists t) |
| 1142 | ;; The Emacs 20 and XEmacs versions of | 1136 | ;; The Emacs 20 and XEmacs versions of |
diff --git a/lisp/gnus/mm-uu.el b/lisp/gnus/mm-uu.el index 9d9d87a3670..b1ed0b7af4e 100644 --- a/lisp/gnus/mm-uu.el +++ b/lisp/gnus/mm-uu.el | |||
| @@ -373,7 +373,7 @@ Return that buffer." | |||
| 373 | mm-security-handle 'gnus-details | 373 | mm-security-handle 'gnus-details |
| 374 | (format "Clear verification not supported by `%s'.\n" mml2015-use)))) | 374 | (format "Clear verification not supported by `%s'.\n" mml2015-use)))) |
| 375 | (goto-char (point-min)) | 375 | (goto-char (point-min)) |
| 376 | (if (search-forward "\n\n" nil t) | 376 | (if (re-search-forward "\n[\t ]*\n" nil t) |
| 377 | (delete-region (point-min) (point))) | 377 | (delete-region (point-min) (point))) |
| 378 | (if (re-search-forward mm-uu-pgp-beginning-signature nil t) | 378 | (if (re-search-forward mm-uu-pgp-beginning-signature nil t) |
| 379 | (delete-region (match-beginning 0) (point-max))) | 379 | (delete-region (match-beginning 0) (point-max))) |
diff --git a/lisp/gnus/nnmaildir.el b/lisp/gnus/nnmaildir.el index 6024b992061..589c4da8caf 100644 --- a/lisp/gnus/nnmaildir.el +++ b/lisp/gnus/nnmaildir.el | |||
| @@ -428,7 +428,8 @@ by nnmaildir-request-article.") | |||
| 428 | (prin1 (vector storage-version num msgid nov) (current-buffer)) | 428 | (prin1 (vector storage-version num msgid nov) (current-buffer)) |
| 429 | (setq file (concat novfile ":")) | 429 | (setq file (concat novfile ":")) |
| 430 | (nnmaildir--unlink file) | 430 | (nnmaildir--unlink file) |
| 431 | (write-region (point-min) (point-max) file nil 'no-message nil 'excl)) | 431 | (gmm-write-region (point-min) (point-max) file nil 'no-message nil |
| 432 | 'excl)) | ||
| 432 | (rename-file file novfile 'replace) | 433 | (rename-file file novfile 'replace) |
| 433 | (setf (nnmaildir--art-msgid article) msgid) | 434 | (setf (nnmaildir--art-msgid article) msgid) |
| 434 | nov))) | 435 | nov))) |
| @@ -1246,8 +1247,8 @@ by nnmaildir-request-article.") | |||
| 1246 | (throw 'return nil)) | 1247 | (throw 'return nil)) |
| 1247 | (save-excursion | 1248 | (save-excursion |
| 1248 | (set-buffer buffer) | 1249 | (set-buffer buffer) |
| 1249 | (write-region (point-min) (point-max) tmpfile nil 'no-message nil | 1250 | (gmm-write-region (point-min) (point-max) tmpfile nil 'no-message nil |
| 1250 | 'excl)) | 1251 | 'excl)) |
| 1251 | (unix-sync) ;; no fsync :( | 1252 | (unix-sync) ;; no fsync :( |
| 1252 | (rename-file tmpfile (concat (nnmaildir--cur dir) file suffix) 'replace) | 1253 | (rename-file tmpfile (concat (nnmaildir--cur dir) file suffix) 'replace) |
| 1253 | t))) | 1254 | t))) |
| @@ -1341,8 +1342,8 @@ by nnmaildir-request-article.") | |||
| 1341 | (condition-case nil | 1342 | (condition-case nil |
| 1342 | (add-name-to-file nnmaildir--file tmpfile) | 1343 | (add-name-to-file nnmaildir--file tmpfile) |
| 1343 | (error | 1344 | (error |
| 1344 | (write-region (point-min) (point-max) tmpfile nil 'no-message nil | 1345 | (gmm-write-region (point-min) (point-max) tmpfile nil 'no-message nil |
| 1345 | 'excl) | 1346 | 'excl) |
| 1346 | (unix-sync))) ;; no fsync :( | 1347 | (unix-sync))) ;; no fsync :( |
| 1347 | (nnheader-cancel-timer 24h) | 1348 | (nnheader-cancel-timer 24h) |
| 1348 | (condition-case err | 1349 | (condition-case err |
diff --git a/lisp/help-fns.el b/lisp/help-fns.el index d4146b19d60..baffa004224 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el | |||
| @@ -383,35 +383,40 @@ face (according to `face-differs-from-default-p')." | |||
| 383 | (princ ".") | 383 | (princ ".") |
| 384 | (terpri) | 384 | (terpri) |
| 385 | (when (commandp function) | 385 | (when (commandp function) |
| 386 | (let* ((remapped (command-remapping function)) | 386 | (if (and (eq function 'self-insert-command) |
| 387 | (keys (where-is-internal | 387 | (eq (key-binding "a") 'self-insert-command) |
| 388 | (or remapped function) overriding-local-map nil nil)) | 388 | (eq (key-binding "b") 'self-insert-command) |
| 389 | non-modified-keys) | 389 | (eq (key-binding "c") 'self-insert-command)) |
| 390 | ;; Which non-control non-meta keys run this command? | 390 | (princ "It is bound to many ordinary text characters.\n") |
| 391 | (dolist (key keys) | 391 | (let* ((remapped (command-remapping function)) |
| 392 | (if (member (event-modifiers (aref key 0)) '(nil (shift))) | 392 | (keys (where-is-internal |
| 393 | (push key non-modified-keys))) | 393 | (or remapped function) overriding-local-map nil nil)) |
| 394 | (when remapped | 394 | non-modified-keys) |
| 395 | (princ "It is remapped to `") | 395 | ;; Which non-control non-meta keys run this command? |
| 396 | (princ (symbol-name remapped)) | 396 | (dolist (key keys) |
| 397 | (princ "'")) | 397 | (if (member (event-modifiers (aref key 0)) '(nil (shift))) |
| 398 | 398 | (push key non-modified-keys))) | |
| 399 | (when keys | 399 | (when remapped |
| 400 | (princ (if remapped " which is bound to " "It is bound to ")) | 400 | (princ "It is remapped to `") |
| 401 | ;; FIXME: This list can be very long (f.ex. for self-insert-command). | 401 | (princ (symbol-name remapped)) |
| 402 | ;; If there are many, remove them from KEYS. | 402 | (princ "'")) |
| 403 | (if (< (length non-modified-keys) 10) | 403 | |
| 404 | (princ (mapconcat 'key-description keys ", ")) | 404 | (when keys |
| 405 | (dolist (key non-modified-keys) | 405 | (princ (if remapped " which is bound to " "It is bound to ")) |
| 406 | (setq keys (delq key keys))) | 406 | ;; If lots of ordinary text characters run this command, |
| 407 | (if keys | 407 | ;; don't mention them one by one. |
| 408 | (progn | 408 | (if (< (length non-modified-keys) 10) |
| 409 | (princ (mapconcat 'key-description keys ", ")) | 409 | (princ (mapconcat 'key-description keys ", ")) |
| 410 | (princ ", and many ordinary text characters")) | 410 | (dolist (key non-modified-keys) |
| 411 | (princ "many ordinary text characters")))) | 411 | (setq keys (delq key keys))) |
| 412 | (when (or remapped keys non-modified-keys) | 412 | (if keys |
| 413 | (princ ".") | 413 | (progn |
| 414 | (terpri)))) | 414 | (princ (mapconcat 'key-description keys ", ")) |
| 415 | (princ ", and many ordinary text characters")) | ||
| 416 | (princ "many ordinary text characters")))) | ||
| 417 | (when (or remapped keys non-modified-keys) | ||
| 418 | (princ ".") | ||
| 419 | (terpri))))) | ||
| 415 | (let* ((arglist (help-function-arglist def)) | 420 | (let* ((arglist (help-function-arglist def)) |
| 416 | (doc (documentation function)) | 421 | (doc (documentation function)) |
| 417 | (usage (help-split-fundoc doc function))) | 422 | (usage (help-split-fundoc doc function))) |
diff --git a/lisp/ido.el b/lisp/ido.el index ff222b2958c..480b76cd68c 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -2611,7 +2611,7 @@ C-x C-f ... C-d enter dired on current directory." | |||
| 2611 | May be useful if cached version is no longer valid, but directory | 2611 | May be useful if cached version is no longer valid, but directory |
| 2612 | timestamp has not changed (e.g. with ftp or on Windows)." | 2612 | timestamp has not changed (e.g. with ftp or on Windows)." |
| 2613 | (interactive) | 2613 | (interactive) |
| 2614 | (if (and ido-mode (eq ido-cur-item 'file)) | 2614 | (if (and ido-mode (memq ido-cur-item '(file dir))) |
| 2615 | (progn | 2615 | (progn |
| 2616 | (if (ido-is-unc-root) | 2616 | (if (ido-is-unc-root) |
| 2617 | (setq ido-unc-hosts-cache t) | 2617 | (setq ido-unc-hosts-cache t) |
| @@ -4168,7 +4168,7 @@ For details of keybindings, do `\\[describe-function] ido-find-file'." | |||
| 4168 | (setq refresh t)) | 4168 | (setq refresh t)) |
| 4169 | ((string-equal contents "./") | 4169 | ((string-equal contents "./") |
| 4170 | (setq refresh t)) | 4170 | (setq refresh t)) |
| 4171 | ((string-match "\\`~[a-zA-Z0-9]+/\\'" contents) | 4171 | ((string-match "\\`~[-_a-zA-Z0-9]+[$]?/\\'" contents) |
| 4172 | (ido-trace "new home" contents) | 4172 | (ido-trace "new home" contents) |
| 4173 | (ido-set-current-home contents) | 4173 | (ido-set-current-home contents) |
| 4174 | (setq refresh t)) | 4174 | (setq refresh t)) |
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el index 9557844a32a..ac87a93b7a1 100644 --- a/lisp/mail/smtpmail.el +++ b/lisp/mail/smtpmail.el | |||
| @@ -541,6 +541,17 @@ This is relative to `smtpmail-queue-dir'.") | |||
| 541 | (decoded (base64-decode-string challenge)) | 541 | (decoded (base64-decode-string challenge)) |
| 542 | (hash (rfc2104-hash 'md5 64 16 passwd decoded)) | 542 | (hash (rfc2104-hash 'md5 64 16 passwd decoded)) |
| 543 | (response (concat (smtpmail-cred-user cred) " " hash)) | 543 | (response (concat (smtpmail-cred-user cred) " " hash)) |
| 544 | ;; Osamu Yamane <yamane@green.ocn.ne.jp>: | ||
| 545 | ;; SMTP auth fails because the SMTP server identifies | ||
| 546 | ;; only the first part of the string (delimited by | ||
| 547 | ;; new line characters) as a response from the | ||
| 548 | ;; client, and the rest as distinct commands. | ||
| 549 | |||
| 550 | ;; In my case, the response string is 80 characters | ||
| 551 | ;; long. Without the no-line-break option for | ||
| 552 | ;; base64-encode-sting, only the first 76 characters | ||
| 553 | ;; are taken as a response to the server, and the | ||
| 554 | ;; authentication fails. | ||
| 544 | (encoded (base64-encode-string response t))) | 555 | (encoded (base64-encode-string response t))) |
| 545 | (smtpmail-send-command process (format "%s" encoded)) | 556 | (smtpmail-send-command process (format "%s" encoded)) |
| 546 | (if (or (null (car (setq ret (smtpmail-read-response process)))) | 557 | (if (or (null (car (setq ret (smtpmail-read-response process)))) |
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el index bc00d859c2d..b1ca93e2f32 100644 --- a/lisp/progmodes/ada-mode.el +++ b/lisp/progmodes/ada-mode.el | |||
| @@ -218,8 +218,8 @@ These files should contain one word per line, that gives the casing | |||
| 218 | to be used for that word in Ada files. If the line starts with the | 218 | to be used for that word in Ada files. If the line starts with the |
| 219 | character *, then the exception will be used for substrings that either | 219 | character *, then the exception will be used for substrings that either |
| 220 | start at the beginning of a word or after a _ character, and end either | 220 | start at the beginning of a word or after a _ character, and end either |
| 221 | at the end of the word or at a _ character. Each line can be terminated by | 221 | at the end of the word or at a _ character. Each line can be terminated |
| 222 | a comment." | 222 | by a comment." |
| 223 | :type '(repeat (file)) | 223 | :type '(repeat (file)) |
| 224 | :group 'ada) | 224 | :group 'ada) |
| 225 | 225 | ||
| @@ -439,10 +439,10 @@ An example is: | |||
| 439 | (defcustom ada-which-compiler 'gnat | 439 | (defcustom ada-which-compiler 'gnat |
| 440 | "*Name of the compiler to use. | 440 | "*Name of the compiler to use. |
| 441 | This will determine what features are made available through the Ada mode. | 441 | This will determine what features are made available through the Ada mode. |
| 442 | The possible choices are : | 442 | The possible choices are: |
| 443 | `gnat': Use Ada Core Technologies' Gnat compiler. Add some cross-referencing | 443 | `gnat': Use Ada Core Technologies' Gnat compiler. Add some cross-referencing |
| 444 | features | 444 | features. |
| 445 | `generic': Use a generic compiler" | 445 | `generic': Use a generic compiler." |
| 446 | :type '(choice (const gnat) | 446 | :type '(choice (const gnat) |
| 447 | (const generic)) | 447 | (const generic)) |
| 448 | :group 'ada) | 448 | :group 'ada) |
| @@ -485,7 +485,7 @@ The extensions should include a `.' if needed.") | |||
| 485 | "reverse" "select" "separate" "subtype" "task" "terminate" "then" | 485 | "reverse" "select" "separate" "subtype" "task" "terminate" "then" |
| 486 | "type" "use" "when" "while" "with" "xor") | 486 | "type" "use" "when" "while" "with" "xor") |
| 487 | "List of Ada keywords. | 487 | "List of Ada keywords. |
| 488 | This variable is used to define `ada-83-keywords' and `ada-95-keywords'")) | 488 | This variable is used to define `ada-83-keywords' and `ada-95-keywords'.")) |
| 489 | 489 | ||
| 490 | (defvar ada-ret-binding nil | 490 | (defvar ada-ret-binding nil |
| 491 | "Variable to save key binding of RET when casing is activated.") | 491 | "Variable to save key binding of RET when casing is activated.") |
| @@ -532,7 +532,7 @@ See `align-mode-alist' for more information.") | |||
| 532 | (valid . (lambda() (not (ada-in-comment-p)))) | 532 | (valid . (lambda() (not (ada-in-comment-p)))) |
| 533 | (modes . '(ada-mode))) | 533 | (modes . '(ada-mode))) |
| 534 | ) | 534 | ) |
| 535 | "Ada support for align.el >= 2.8 | 535 | "Ada support for align.el >= 2.8. |
| 536 | This variable defines several rules to use to align different lines.") | 536 | This variable defines several rules to use to align different lines.") |
| 537 | 537 | ||
| 538 | (defconst ada-align-region-separate | 538 | (defconst ada-align-region-separate |
| @@ -1439,7 +1439,7 @@ The standard casing rules will no longer apply to this word." | |||
| 1439 | ((listp ada-case-exception-file) | 1439 | ((listp ada-case-exception-file) |
| 1440 | (setq file-name (car ada-case-exception-file))) | 1440 | (setq file-name (car ada-case-exception-file))) |
| 1441 | (t | 1441 | (t |
| 1442 | (error (concat "No exception file specified. " | 1442 | (error (concat "No exception file specified. " |
| 1443 | "See variable ada-case-exception-file")))) | 1443 | "See variable ada-case-exception-file")))) |
| 1444 | 1444 | ||
| 1445 | (set-syntax-table ada-mode-symbol-syntax-table) | 1445 | (set-syntax-table ada-mode-symbol-syntax-table) |
| @@ -1478,7 +1478,7 @@ word itself has a special casing." | |||
| 1478 | ((listp ada-case-exception-file) | 1478 | ((listp ada-case-exception-file) |
| 1479 | (car ada-case-exception-file)) | 1479 | (car ada-case-exception-file)) |
| 1480 | (t | 1480 | (t |
| 1481 | (error (concat "No exception file specified. " | 1481 | (error (concat "No exception file specified. " |
| 1482 | "See variable ada-case-exception-file")))))) | 1482 | "See variable ada-case-exception-file")))))) |
| 1483 | 1483 | ||
| 1484 | ;; Find the substring to define as an exception. Order is: the parameter, | 1484 | ;; Find the substring to define as an exception. Order is: the parameter, |
| @@ -1593,8 +1593,8 @@ word itself has a special casing." | |||
| 1593 | 1593 | ||
| 1594 | (defun ada-adjust-case-identifier () | 1594 | (defun ada-adjust-case-identifier () |
| 1595 | "Adjust case of the previous identifier. | 1595 | "Adjust case of the previous identifier. |
| 1596 | The auto-casing is done according to the value of `ada-case-identifier' and | 1596 | The auto-casing is done according to the value of `ada-case-identifier' |
| 1597 | the exceptions defined in `ada-case-exception-file'." | 1597 | and the exceptions defined in `ada-case-exception-file'." |
| 1598 | (interactive) | 1598 | (interactive) |
| 1599 | (if (or (equal ada-case-exception '()) | 1599 | (if (or (equal ada-case-exception '()) |
| 1600 | (equal (char-after) ?_)) | 1600 | (equal (char-after) ?_)) |
| @@ -1743,7 +1743,7 @@ ARG is ignored, and is there for compatibility with `capitalize-word' only." | |||
| 1743 | (defun ada-no-auto-case (&optional arg) | 1743 | (defun ada-no-auto-case (&optional arg) |
| 1744 | "Do nothing. | 1744 | "Do nothing. |
| 1745 | This function can be used for the auto-casing variables in the Ada mode, to | 1745 | This function can be used for the auto-casing variables in the Ada mode, to |
| 1746 | adapt to unusal auto-casing schemes. Since it does nothing, you can for | 1746 | adapt to unusal auto-casing schemes. Since it does nothing, you can for |
| 1747 | instance use it for `ada-case-identifier' if you don't want any special | 1747 | instance use it for `ada-case-identifier' if you don't want any special |
| 1748 | auto-casing for identifiers, whereas keywords have to be lower-cased. | 1748 | auto-casing for identifiers, whereas keywords have to be lower-cased. |
| 1749 | See also `ada-auto-case' to disable auto casing altogether." | 1749 | See also `ada-auto-case' to disable auto casing altogether." |
| @@ -1806,7 +1806,7 @@ Attention: This function might take very long for big regions!" | |||
| 1806 | (set-syntax-table previous-syntax-table)))) | 1806 | (set-syntax-table previous-syntax-table)))) |
| 1807 | 1807 | ||
| 1808 | (defun ada-adjust-case-buffer () | 1808 | (defun ada-adjust-case-buffer () |
| 1809 | "Adjusts the case of all words in the whole buffer. | 1809 | "Adjust the case of all words in the whole buffer. |
| 1810 | ATTENTION: This function might take very long for big buffers!" | 1810 | ATTENTION: This function might take very long for big buffers!" |
| 1811 | (interactive "*") | 1811 | (interactive "*") |
| 1812 | (ada-adjust-case-region (point-min) (point-max))) | 1812 | (ada-adjust-case-region (point-min) (point-max))) |
| @@ -2138,7 +2138,7 @@ Return the equivalent internal parameter list." | |||
| 2138 | (ada-indent-current)) | 2138 | (ada-indent-current)) |
| 2139 | (forward-line 1) | 2139 | (forward-line 1) |
| 2140 | (setq block-done (1+ block-done))) | 2140 | (setq block-done (1+ block-done))) |
| 2141 | (message "indenting ... done"))) | 2141 | (message "Indenting ... done"))) |
| 2142 | 2142 | ||
| 2143 | (defun ada-indent-newline-indent () | 2143 | (defun ada-indent-newline-indent () |
| 2144 | "Indent the current line, insert a newline and then indent the new line." | 2144 | "Indent the current line, insert a newline and then indent the new line." |
| @@ -3841,7 +3841,7 @@ If GOTOTHEN is non-nil, point moves to the 'then' following 'if'." | |||
| 3841 | (defun ada-goto-matching-end (&optional nest-level noerror) | 3841 | (defun ada-goto-matching-end (&optional nest-level noerror) |
| 3842 | "Move point to the end of a block. | 3842 | "Move point to the end of a block. |
| 3843 | Which block depends on the value of NEST-LEVEL, which defaults to zero. | 3843 | Which block depends on the value of NEST-LEVEL, which defaults to zero. |
| 3844 | If NOERROR is non-nil, it only returns nil if found no matching start." | 3844 | If NOERROR is non-nil, it only returns nil if no matching start found." |
| 3845 | (let ((nest-count (or nest-level 0)) | 3845 | (let ((nest-count (or nest-level 0)) |
| 3846 | (regex (eval-when-compile | 3846 | (regex (eval-when-compile |
| 3847 | (concat "\\<" | 3847 | (concat "\\<" |
| @@ -4058,7 +4058,7 @@ Assumes point to be at the end of a statement." | |||
| 4058 | 4058 | ||
| 4059 | (defun ada-looking-at-semi-private () | 4059 | (defun ada-looking-at-semi-private () |
| 4060 | "Return t if looking at the start of a private section in a package. | 4060 | "Return t if looking at the start of a private section in a package. |
| 4061 | Returns nil if the private is part of the package name, as in | 4061 | Return nil if the private is part of the package name, as in |
| 4062 | 'private package A is...' (this can only happen at top level)." | 4062 | 'private package A is...' (this can only happen at top level)." |
| 4063 | (save-excursion | 4063 | (save-excursion |
| 4064 | (and (looking-at "\\<private\\>") | 4064 | (and (looking-at "\\<private\\>") |
| @@ -4968,7 +4968,7 @@ Redefines the function `ff-which-function-are-we-in'." | |||
| 4968 | 4968 | ||
| 4969 | 4969 | ||
| 4970 | (defvar ada-last-which-function-line -1 | 4970 | (defvar ada-last-which-function-line -1 |
| 4971 | "Last on which `ada-which-function' was called.") | 4971 | "Last line on which `ada-which-function' was called.") |
| 4972 | (defvar ada-last-which-function-subprog 0 | 4972 | (defvar ada-last-which-function-subprog 0 |
| 4973 | "Last subprogram name returned by `ada-which-function'.") | 4973 | "Last subprogram name returned by `ada-which-function'.") |
| 4974 | (make-variable-buffer-local 'ada-last-which-function-subprog) | 4974 | (make-variable-buffer-local 'ada-last-which-function-subprog) |
| @@ -5062,7 +5062,7 @@ Since the search can be long, the results are cached." | |||
| 5062 | (defun ada-get-body-name (&optional spec-name) | 5062 | (defun ada-get-body-name (&optional spec-name) |
| 5063 | "Return the file name for the body of SPEC-NAME. | 5063 | "Return the file name for the body of SPEC-NAME. |
| 5064 | If SPEC-NAME is nil, return the body for the current package. | 5064 | If SPEC-NAME is nil, return the body for the current package. |
| 5065 | Returns nil if no body was found." | 5065 | Return nil if no body was found." |
| 5066 | (interactive) | 5066 | (interactive) |
| 5067 | 5067 | ||
| 5068 | (unless spec-name (setq spec-name (buffer-file-name))) | 5068 | (unless spec-name (setq spec-name (buffer-file-name))) |
| @@ -5223,7 +5223,7 @@ Returns nil if no body was found." | |||
| 5223 | "Make text outside current subprogram invisible. | 5223 | "Make text outside current subprogram invisible. |
| 5224 | The subprogram visible is the one that contains or follow point. | 5224 | The subprogram visible is the one that contains or follow point. |
| 5225 | Optional ARG is ignored. | 5225 | Optional ARG is ignored. |
| 5226 | Use `M-x widen' to go back to the full visibility for the buffer." | 5226 | Use \\[widen] to go back to the full visibility for the buffer." |
| 5227 | 5227 | ||
| 5228 | (interactive) | 5228 | (interactive) |
| 5229 | (save-excursion | 5229 | (save-excursion |
diff --git a/lisp/progmodes/ada-xref.el b/lisp/progmodes/ada-xref.el index 9e3f8e14332..05d2a8bf65b 100644 --- a/lisp/progmodes/ada-xref.el +++ b/lisp/progmodes/ada-xref.el | |||
| @@ -1916,8 +1916,12 @@ is using." | |||
| 1916 | (set-buffer (get-buffer-create "*grep*")) | 1916 | (set-buffer (get-buffer-create "*grep*")) |
| 1917 | (while dirs | 1917 | (while dirs |
| 1918 | (insert (shell-command-to-string | 1918 | (insert (shell-command-to-string |
| 1919 | (concat "egrep -i -h '^X|" regexp "( |$)' " | 1919 | (concat |
| 1920 | (file-name-as-directory (car dirs)) "*.ali"))) | 1920 | "grep -E -i -h " |
| 1921 | (shell-quote-argument (concat "^X|" regexp "( |$)")) | ||
| 1922 | " " | ||
| 1923 | (shell-quote-argument (file-name-as-directory (car dirs))) | ||
| 1924 | "*.ali"))) | ||
| 1921 | (set 'dirs (cdr dirs))) | 1925 | (set 'dirs (cdr dirs))) |
| 1922 | 1926 | ||
| 1923 | ;; Now parse the output | 1927 | ;; Now parse the output |
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 4f197e34bfe..b37be18188c 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el | |||
| @@ -1021,7 +1021,9 @@ For the format of LINE-ERR-INFO, see `flymake-ler-make-ler'." | |||
| 1021 | (progn | 1021 | (progn |
| 1022 | (flymake-get-project-include-dirs-from-cache basedir)) | 1022 | (flymake-get-project-include-dirs-from-cache basedir)) |
| 1023 | ;;else | 1023 | ;;else |
| 1024 | (let* ((command-line (concat "make -C\"" basedir "\" DUMPVARS=INCLUDE_DIRS dumpvars")) | 1024 | (let* ((command-line (concat "make -C " |
| 1025 | (shell-quote-argument basedir) | ||
| 1026 | " DUMPVARS=INCLUDE_DIRS dumpvars")) | ||
| 1025 | (output (shell-command-to-string command-line)) | 1027 | (output (shell-command-to-string command-line)) |
| 1026 | (lines (flymake-split-string output "\n")) | 1028 | (lines (flymake-split-string output "\n")) |
| 1027 | (count (length lines)) | 1029 | (count (length lines)) |
diff --git a/lisp/recentf.el b/lisp/recentf.el index 02e7e712399..ca288100b98 100644 --- a/lisp/recentf.el +++ b/lisp/recentf.el | |||
| @@ -1318,9 +1318,7 @@ With prefix argument ARG, turn on if positive, otherwise off. | |||
| 1318 | Returns non-nil if the new state is enabled. | 1318 | Returns non-nil if the new state is enabled. |
| 1319 | 1319 | ||
| 1320 | When recentf mode is enabled, it maintains a menu for visiting files | 1320 | When recentf mode is enabled, it maintains a menu for visiting files |
| 1321 | that were operated on recently. | 1321 | that were operated on recently." |
| 1322 | |||
| 1323 | \\{recentf-mode-map}" | ||
| 1324 | :global t | 1322 | :global t |
| 1325 | :group 'recentf | 1323 | :group 'recentf |
| 1326 | :keymap recentf-mode-map | 1324 | :keymap recentf-mode-map |
diff --git a/lisp/shell.el b/lisp/shell.el index 2adfc79618a..d3e23251a1f 100644 --- a/lisp/shell.el +++ b/lisp/shell.el | |||
| @@ -298,7 +298,9 @@ Value is a list of strings, which may be nil." | |||
| 298 | (equal name "bash") | 298 | (equal name "bash") |
| 299 | (file-executable-p prog) | 299 | (file-executable-p prog) |
| 300 | (string-match "bad option" | 300 | (string-match "bad option" |
| 301 | (shell-command-to-string (concat prog " --noediting")))) | 301 | (shell-command-to-string |
| 302 | (concat (shell-quote-argument prog) | ||
| 303 | " --noediting")))) | ||
| 302 | '("-i") | 304 | '("-i") |
| 303 | '("--noediting" "-i"))) | 305 | '("--noediting" "-i"))) |
| 304 | "Args passed to inferior shell by \\[shell], if the shell is bash. | 306 | "Args passed to inferior shell by \\[shell], if the shell is bash. |
diff --git a/lisp/simple.el b/lisp/simple.el index 0dff1c73795..8fc0fdf6b48 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -985,12 +985,11 @@ in *Help* buffer. See also the command `describe-char'." | |||
| 985 | (single-key-description char)) | 985 | (single-key-description char)) |
| 986 | encoding-msg pos total percent col hscroll)))))) | 986 | encoding-msg pos total percent col hscroll)))))) |
| 987 | 987 | ||
| 988 | (defvar read-expression-map | 988 | ;; Initialize read-expression-map. It is defined at C level. |
| 989 | (let ((m (make-sparse-keymap))) | 989 | (let ((m (make-sparse-keymap))) |
| 990 | (define-key m "\M-\t" 'lisp-complete-symbol) | 990 | (define-key m "\M-\t" 'lisp-complete-symbol) |
| 991 | (set-keymap-parent m minibuffer-local-map) | 991 | (set-keymap-parent m minibuffer-local-map) |
| 992 | m) | 992 | (setq read-expression-map m)) |
| 993 | "Minibuffer keymap used for reading Lisp expressions.") | ||
| 994 | 993 | ||
| 995 | (defvar read-expression-history nil) | 994 | (defvar read-expression-history nil) |
| 996 | 995 | ||
| @@ -3617,7 +3616,14 @@ Outline mode sets this." | |||
| 3617 | ;; The logic of this is the same as the loop above, | 3616 | ;; The logic of this is the same as the loop above, |
| 3618 | ;; it just goes in the other direction. | 3617 | ;; it just goes in the other direction. |
| 3619 | (while (and (< arg 0) (not done)) | 3618 | (while (and (< arg 0) (not done)) |
| 3620 | (beginning-of-line) | 3619 | ;; For completely consistency with the forward-motion |
| 3620 | ;; case, we should call beginning-of-line here. | ||
| 3621 | ;; However, if point is inside a field and on a | ||
| 3622 | ;; continued line, the call to (vertical-motion -1) | ||
| 3623 | ;; below won't move us back far enough; then we return | ||
| 3624 | ;; to the same column in line-move-finish, and point | ||
| 3625 | ;; gets stuck -- cyd | ||
| 3626 | (forward-line 0) | ||
| 3621 | (cond | 3627 | (cond |
| 3622 | ((bobp) | 3628 | ((bobp) |
| 3623 | (if (not noerror) | 3629 | (if (not noerror) |
diff --git a/lisp/subr.el b/lisp/subr.el index ad3e732c6c6..1f947a795f9 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -2195,6 +2195,12 @@ If UNDO is present and non-nil, it is a function that will be called | |||
| 2195 | 2195 | ||
| 2196 | (unless (nth 2 handler) ;; NOEXCLUDE | 2196 | (unless (nth 2 handler) ;; NOEXCLUDE |
| 2197 | (remove-yank-excluded-properties opoint (point))) | 2197 | (remove-yank-excluded-properties opoint (point))) |
| 2198 | |||
| 2199 | ;; If last inserted char has properties, mark them as rear-nonsticky. | ||
| 2200 | (if (and (> end opoint) | ||
| 2201 | (text-properties-at (1- end))) | ||
| 2202 | (put-text-property (1- end) end 'rear-nonsticky t)) | ||
| 2203 | |||
| 2198 | (if (eq yank-undo-function t) ;; not set by FUNCTION | 2204 | (if (eq yank-undo-function t) ;; not set by FUNCTION |
| 2199 | (setq yank-undo-function (nth 3 handler))) ;; UNDO | 2205 | (setq yank-undo-function (nth 3 handler))) ;; UNDO |
| 2200 | (if (nth 4 handler) ;; COMMAND | 2206 | (if (nth 4 handler) ;; COMMAND |
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el index aba5c6d1e4c..ec058e97c1e 100644 --- a/lisp/term/x-win.el +++ b/lisp/term/x-win.el | |||
| @@ -2477,12 +2477,15 @@ order until succeed.") | |||
| 2477 | (cons '(user-size . t) parsed)))) | 2477 | (cons '(user-size . t) parsed)))) |
| 2478 | ;; All geometry parms apply to the initial frame. | 2478 | ;; All geometry parms apply to the initial frame. |
| 2479 | (setq initial-frame-alist (append initial-frame-alist parsed)) | 2479 | (setq initial-frame-alist (append initial-frame-alist parsed)) |
| 2480 | ;; The size parms apply to all frames. | 2480 | ;; The size parms apply to all frames. Don't set it if there are |
| 2481 | (if (assq 'height parsed) | 2481 | ;; sizes there already (from command line). |
| 2482 | (if (and (assq 'height parsed) | ||
| 2483 | (not (assq 'height default-frame-alist))) | ||
| 2482 | (setq default-frame-alist | 2484 | (setq default-frame-alist |
| 2483 | (cons (cons 'height (cdr (assq 'height parsed))) | 2485 | (cons (cons 'height (cdr (assq 'height parsed))) |
| 2484 | default-frame-alist))) | 2486 | default-frame-alist))) |
| 2485 | (if (assq 'width parsed) | 2487 | (if (and (assq 'width parsed) |
| 2488 | (not (assq 'width default-frame-alist))) | ||
| 2486 | (setq default-frame-alist | 2489 | (setq default-frame-alist |
| 2487 | (cons (cons 'width (cdr (assq 'width parsed))) | 2490 | (cons (cons 'width (cdr (assq 'width parsed))) |
| 2488 | default-frame-alist)))))) | 2491 | default-frame-alist)))))) |
diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index ebee4691e8c..e7b95c9619d 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el | |||
| @@ -959,6 +959,7 @@ Mostly we check word delimiters." | |||
| 959 | (defun flyspell-word-search-backward (word bound) | 959 | (defun flyspell-word-search-backward (word bound) |
| 960 | (save-excursion | 960 | (save-excursion |
| 961 | (let ((r '()) | 961 | (let ((r '()) |
| 962 | (inhibit-point-motion-hooks t) | ||
| 962 | p) | 963 | p) |
| 963 | (while (and (not r) (setq p (search-backward word bound t))) | 964 | (while (and (not r) (setq p (search-backward word bound t))) |
| 964 | (let ((lw (flyspell-get-word '()))) | 965 | (let ((lw (flyspell-get-word '()))) |
| @@ -973,6 +974,7 @@ Mostly we check word delimiters." | |||
| 973 | (defun flyspell-word-search-forward (word bound) | 974 | (defun flyspell-word-search-forward (word bound) |
| 974 | (save-excursion | 975 | (save-excursion |
| 975 | (let ((r '()) | 976 | (let ((r '()) |
| 977 | (inhibit-point-motion-hooks t) | ||
| 976 | p) | 978 | p) |
| 977 | (while (and (not r) (setq p (search-forward word bound t))) | 979 | (while (and (not r) (setq p (search-forward word bound t))) |
| 978 | (let ((lw (flyspell-get-word '()))) | 980 | (let ((lw (flyspell-get-word '()))) |
diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index 002ab9dac11..169eeb249f2 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el | |||
| @@ -614,6 +614,7 @@ | |||
| 614 | ;;; Code: | 614 | ;;; Code: |
| 615 | 615 | ||
| 616 | 616 | ||
| 617 | (require 'regexp-opt) | ||
| 617 | 618 | ||
| 618 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | 619 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 619 | ;;; | 620 | ;;; |
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index 2aa14af8983..2d26bc805a7 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2006-10-16 Magnus Henoch <mange@freemail.hu> | ||
| 2 | |||
| 3 | * url-http.el (url-https-create-secure-wrapper): Always use tls | ||
| 4 | gateway method. | ||
| 5 | |||
| 1 | 2006-10-12 Magnus Henoch <mange@freemail.hu> | 6 | 2006-10-12 Magnus Henoch <mange@freemail.hu> |
| 2 | 7 | ||
| 3 | * url-http.el (url-http-find-free-connection): Handle | 8 | * url-http.el (url-http-find-free-connection): Handle |
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index bf8069ded7e..958d90683e4 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el | |||
| @@ -1261,9 +1261,7 @@ p3p | |||
| 1261 | (defmacro url-https-create-secure-wrapper (method args) | 1261 | (defmacro url-https-create-secure-wrapper (method args) |
| 1262 | `(defun ,(intern (format (if method "url-https-%s" "url-https") method)) ,args | 1262 | `(defun ,(intern (format (if method "url-https-%s" "url-https") method)) ,args |
| 1263 | ,(format "HTTPS wrapper around `%s' call." (or method "url-http")) | 1263 | ,(format "HTTPS wrapper around `%s' call." (or method "url-http")) |
| 1264 | (let ((url-gateway-method (condition-case () | 1264 | (let ((url-gateway-method 'tls)) |
| 1265 | (require 'ssl) | ||
| 1266 | (error 'tls)))) | ||
| 1267 | (,(intern (format (if method "url-http-%s" "url-http") method)) | 1265 | (,(intern (format (if method "url-http-%s" "url-http") method)) |
| 1268 | ,@(remove '&rest (remove '&optional args)))))) | 1266 | ,@(remove '&rest (remove '&optional args)))))) |
| 1269 | 1267 | ||
diff --git a/lisp/woman.el b/lisp/woman.el index 13fa3147487..b25a93d86a8 100644 --- a/lisp/woman.el +++ b/lisp/woman.el | |||
| @@ -4121,7 +4121,11 @@ If `woman-nofill' is non-nil then indent without filling or adjusting." | |||
| 4121 | (eolp) | 4121 | (eolp) |
| 4122 | (skip-syntax-forward " ") | 4122 | (skip-syntax-forward " ") |
| 4123 | (setq woman-leave-blank-lines 1)) | 4123 | (setq woman-leave-blank-lines 1)) |
| 4124 | (beginning-of-line) | 4124 | ;; This shouldn't happen, but in case it does (e.g. for |
| 4125 | ;; badly-formatted manfiles with no terminating newline), | ||
| 4126 | ;; avoid an infinite loop. | ||
| 4127 | (unless (and (eolp) (eobp)) | ||
| 4128 | (beginning-of-line)) | ||
| 4125 | ;; If a single short line then just leave it. | 4129 | ;; If a single short line then just leave it. |
| 4126 | ;; This is necessary to preserve some table layouts. | 4130 | ;; This is necessary to preserve some table layouts. |
| 4127 | ;; PROBABLY NOT NECESSARY WITH SQUEEZE MODIFICATION !!!!! | 4131 | ;; PROBABLY NOT NECESSARY WITH SQUEEZE MODIFICATION !!!!! |
diff --git a/lispref/ChangeLog b/lispref/ChangeLog index b059d238cdd..a09e9a65a4b 100644 --- a/lispref/ChangeLog +++ b/lispref/ChangeLog | |||
| @@ -1,3 +1,32 @@ | |||
| 1 | 2006-10-18 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * control.texi (Processing of Errors): Use @var for an argument, | ||
| 4 | not @code. | ||
| 5 | |||
| 6 | 2006-10-16 Richard Stallman <rms@gnu.org> | ||
| 7 | |||
| 8 | * edebug.texi (Edebug Recursive Edit): Minor cleanup. | ||
| 9 | |||
| 10 | * keymaps.texi (Format of Keymaps): Show all the keymap element | ||
| 11 | patterns that result from menu items. | ||
| 12 | (Key Lookup): Minor cleanups. | ||
| 13 | |||
| 14 | * modes.texi (Precalculated Fontification): Don't say that | ||
| 15 | not setting font-lock-defaults avoids loading font-lock. | ||
| 16 | |||
| 17 | * help.texi (Documentation): Move xref to Emacs Manual here. | ||
| 18 | (Documentation Basics): From here. | ||
| 19 | Also doc emacs-lisp-docstring-fill-column. | ||
| 20 | |||
| 21 | * elisp.texi: Update version and ISBN. | ||
| 22 | |||
| 23 | * commands.texi (Interactive Call): Clarify KEYS arg to | ||
| 24 | call-interactively is a vector. | ||
| 25 | (Command Loop Info): Delete anchor in this-command-keys. | ||
| 26 | Add anchor in this-command-keys-vector. | ||
| 27 | (Recursive Editing): Document how recursive-edit | ||
| 28 | handles the current buffer. | ||
| 29 | |||
| 1 | 2006-10-13 Chong Yidong <cyd@stupidchicken.com> | 30 | 2006-10-13 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 31 | ||
| 3 | * frames.texi (Frame Titles): %c and %l are ignored in | 32 | * frames.texi (Frame Titles): %c and %l are ignored in |
| @@ -2179,7 +2208,7 @@ | |||
| 2179 | * elisp.texi (Top): Update detailed menu for node changes. | 2208 | * elisp.texi (Top): Update detailed menu for node changes. |
| 2180 | 2209 | ||
| 2181 | * modes.texi (Modes): Update Menu. | 2210 | * modes.texi (Modes): Update Menu. |
| 2182 | (Hooks): Move to beginning of chapter. | 2211 | (Hooks): Move to beginning of chapter. |
| 2183 | Most minor modes run mode hooks too. | 2212 | Most minor modes run mode hooks too. |
| 2184 | `add-hook' can handle void hooks or hooks whose value is a single | 2213 | `add-hook' can handle void hooks or hooks whose value is a single |
| 2185 | function. | 2214 | function. |
| @@ -3444,7 +3473,7 @@ | |||
| 3444 | (Quoted Character Input): Clarify description of | 3473 | (Quoted Character Input): Clarify description of |
| 3445 | `read-quoted-char' and fix example. | 3474 | `read-quoted-char' and fix example. |
| 3446 | (Quitting): Add `with-local-quit'. | 3475 | (Quitting): Add `with-local-quit'. |
| 3447 | (Disabling Commands): Correct and clarify descriptions of | 3476 | (Disabling Commands): Correct and clarify descriptions of |
| 3448 | `enable-command' and `disable-command'. | 3477 | `enable-command' and `disable-command'. |
| 3449 | Mention what happens if `disabled-command-hook' is nil. | 3478 | Mention what happens if `disabled-command-hook' is nil. |
| 3450 | (Keyboard Macros): Mention LOOPFUNC arg to `execute-kbd-macro'. | 3479 | (Keyboard Macros): Mention LOOPFUNC arg to `execute-kbd-macro'. |
| @@ -3758,7 +3787,7 @@ | |||
| 3758 | 3787 | ||
| 3759 | 2004-04-04 Luc Teirlinck <teirllm@auburn.edu> | 3788 | 2004-04-04 Luc Teirlinck <teirllm@auburn.edu> |
| 3760 | 3789 | ||
| 3761 | * backups.texi: Various small changes in addition to: | 3790 | * backups.texi: Various small changes in addition to: |
| 3762 | (Making Backups): Mention return value of `backup-buffer'. | 3791 | (Making Backups): Mention return value of `backup-buffer'. |
| 3763 | (Auto-Saving): Mention optional FORCE argument to | 3792 | (Auto-Saving): Mention optional FORCE argument to |
| 3764 | `delete-auto-save-file-if-necessary'. | 3793 | `delete-auto-save-file-if-necessary'. |
| @@ -5339,7 +5368,7 @@ Sat Aug 11 17:39:10 1990 Richard Stallman (rms@sugar-bombs.ai.mit.edu) | |||
| 5339 | 5368 | ||
| 5340 | Tue Jun 26 09:57:26 1990 David Lawrence (tale@geech) | 5369 | Tue Jun 26 09:57:26 1990 David Lawrence (tale@geech) |
| 5341 | 5370 | ||
| 5342 | * files.texi: Noted that completion-ignored-extensions is ignored | 5371 | * files.texi: Noted that completion-ignored-extensions is ignored |
| 5343 | when making *Completions*. | 5372 | when making *Completions*. |
| 5344 | 5373 | ||
| 5345 | Fri Jun 8 16:44:44 EDT 1990 Jay Fenlason (hack@ai.mit.edu) | 5374 | Fri Jun 8 16:44:44 EDT 1990 Jay Fenlason (hack@ai.mit.edu) |
| @@ -5374,7 +5403,7 @@ Mon Apr 24 21:02:55 1989 Robert J. Chassell (bob@rice-chex.ai.mit.edu) | |||
| 5374 | 5403 | ||
| 5375 | Mon Apr 17 18:56:50 1989 Robert J. Chassell (bob@rice-chex.ai.mit.edu) | 5404 | Mon Apr 17 18:56:50 1989 Robert J. Chassell (bob@rice-chex.ai.mit.edu) |
| 5376 | 5405 | ||
| 5377 | * texinfo.tex: temporarily added | 5406 | * texinfo.tex: Temporarily added |
| 5378 | \let\result=\dblarrow | 5407 | \let\result=\dblarrow |
| 5379 | \def\error{{\it ERROR} \longdblarrow} | 5408 | \def\error{{\it ERROR} \longdblarrow} |
| 5380 | We need to do this better soon. | 5409 | We need to do this better soon. |
diff --git a/lispref/commands.texi b/lispref/commands.texi index e27488964d0..16b825d3de3 100644 --- a/lispref/commands.texi +++ b/lispref/commands.texi | |||
| @@ -575,10 +575,11 @@ arguments are unconditionally added to the list @code{command-history}. | |||
| 575 | Otherwise, the command is added only if it uses the minibuffer to read | 575 | Otherwise, the command is added only if it uses the minibuffer to read |
| 576 | an argument. @xref{Command History}. | 576 | an argument. @xref{Command History}. |
| 577 | 577 | ||
| 578 | The argument @var{keys}, if given, specifies the sequence of events to | 578 | The argument @var{keys}, if given, should be a vector which specifies |
| 579 | supply if the command inquires which events were used to invoke it. | 579 | the sequence of events to supply if the command inquires which events |
| 580 | If @var{keys} is omitted or @code{nil}, the return value of | 580 | were used to invoke it. If @var{keys} is omitted or @code{nil}, the |
| 581 | @code{this-command-keys} is used. @xref{Definition of this-command-keys}. | 581 | default is the return value of @code{this-command-keys-vector}. |
| 582 | @xref{Definition of this-command-keys-vector}. | ||
| 582 | @end defun | 583 | @end defun |
| 583 | 584 | ||
| 584 | @defun command-execute command &optional record-flag keys special | 585 | @defun command-execute command &optional record-flag keys special |
| @@ -785,7 +786,6 @@ was specified to run but remapped into another command. | |||
| 785 | @end defvar | 786 | @end defvar |
| 786 | 787 | ||
| 787 | @defun this-command-keys | 788 | @defun this-command-keys |
| 788 | @anchor{Definition of this-command-keys} | ||
| 789 | This function returns a string or vector containing the key sequence | 789 | This function returns a string or vector containing the key sequence |
| 790 | that invoked the present command, plus any previous commands that | 790 | that invoked the present command, plus any previous commands that |
| 791 | generated the prefix argument for this command. Any events read by the | 791 | generated the prefix argument for this command. Any events read by the |
| @@ -806,6 +806,7 @@ fit in a string. @xref{Input Events}. | |||
| 806 | @end defun | 806 | @end defun |
| 807 | 807 | ||
| 808 | @defun this-command-keys-vector | 808 | @defun this-command-keys-vector |
| 809 | @anchor{Definition of this-command-keys-vector} | ||
| 809 | Like @code{this-command-keys}, except that it always returns the events | 810 | Like @code{this-command-keys}, except that it always returns the events |
| 810 | in a vector, so you don't need to deal with the complexities of storing | 811 | in a vector, so you don't need to deal with the complexities of storing |
| 811 | input events in a string (@pxref{Strings of Events}). | 812 | input events in a string (@pxref{Strings of Events}). |
| @@ -3021,7 +3022,12 @@ automatically by the initialization of Emacs, to let the user begin | |||
| 3021 | editing. When called from a Lisp program, it enters a recursive editing | 3022 | editing. When called from a Lisp program, it enters a recursive editing |
| 3022 | level. | 3023 | level. |
| 3023 | 3024 | ||
| 3024 | In the following example, the function @code{simple-rec} first | 3025 | If the current buffer is not the same as the selected window's buffer, |
| 3026 | @code{recursive-edit} saves and restores the current buffer. Otherwise, | ||
| 3027 | if you switch buffers, the buffer you switched to is current after | ||
| 3028 | @code{recursive-edit} returns. | ||
| 3029 | |||
| 3030 | In the following example, the function @code{simple-rec} first | ||
| 3025 | advances point one word, then enters a recursive edit, printing out a | 3031 | advances point one word, then enters a recursive edit, printing out a |
| 3026 | message in the echo area. The user can then do any editing desired, and | 3032 | message in the echo area. The user can then do any editing desired, and |
| 3027 | then type @kbd{C-M-c} to exit and continue executing @code{simple-rec}. | 3033 | then type @kbd{C-M-c} to exit and continue executing @code{simple-rec}. |
diff --git a/lispref/control.texi b/lispref/control.texi index 3ed0b7f90ec..93d5bb36d8c 100644 --- a/lispref/control.texi +++ b/lispref/control.texi | |||
| @@ -862,7 +862,7 @@ handle errors that return control to the Emacs command loop. The | |||
| 862 | function should take three arguments: @var{data}, a list of the same | 862 | function should take three arguments: @var{data}, a list of the same |
| 863 | form that @code{condition-case} would bind to its variable; | 863 | form that @code{condition-case} would bind to its variable; |
| 864 | @var{context}, a string describing the situation in which the error | 864 | @var{context}, a string describing the situation in which the error |
| 865 | occurred, or (more often) @code{nil}; and @code{caller}, the Lisp | 865 | occurred, or (more often) @code{nil}; and @var{caller}, the Lisp |
| 866 | function which called the primitive that signaled the error. | 866 | function which called the primitive that signaled the error. |
| 867 | @end defvar | 867 | @end defvar |
| 868 | 868 | ||
diff --git a/lispref/edebug.texi b/lispref/edebug.texi index b2bab6030ed..98718aba74b 100644 --- a/lispref/edebug.texi +++ b/lispref/edebug.texi | |||
| @@ -1044,9 +1044,9 @@ The variables @code{last-command}, @code{this-command}, | |||
| 1044 | @code{track-mouse}. Commands used within Edebug do not affect these | 1044 | @code{track-mouse}. Commands used within Edebug do not affect these |
| 1045 | variables outside of Edebug. | 1045 | variables outside of Edebug. |
| 1046 | 1046 | ||
| 1047 | The key sequence returned by @code{this-command-keys} is changed by | 1047 | Executing commands within Edebug can change the key sequence that |
| 1048 | executing commands within Edebug and there is no way to reset | 1048 | would be returned by @code{this-command-keys}, and there is no way to |
| 1049 | the key sequence from Lisp. | 1049 | reset the key sequence from Lisp. |
| 1050 | 1050 | ||
| 1051 | Edebug cannot save and restore the value of | 1051 | Edebug cannot save and restore the value of |
| 1052 | @code{unread-command-events}. Entering Edebug while this variable has a | 1052 | @code{unread-command-events}. Entering Edebug while this variable has a |
diff --git a/lispref/elisp.texi b/lispref/elisp.texi index 41a2f1cdde0..9a047dbb332 100644 --- a/lispref/elisp.texi +++ b/lispref/elisp.texi | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | @c Version of the manual and of Emacs. | 7 | @c Version of the manual and of Emacs. |
| 8 | @c Please remember to update the edition number in README as well. | 8 | @c Please remember to update the edition number in README as well. |
| 9 | @set VERSION 2.9 | 9 | @set VERSION 2.9 |
| 10 | @set EMACSVER 22.0.51 | 10 | @set EMACSVER 22.1 |
| 11 | 11 | ||
| 12 | @dircategory Emacs | 12 | @dircategory Emacs |
| 13 | @direntry | 13 | @direntry |
| @@ -74,7 +74,7 @@ Published by the Free Software Foundation @* | |||
| 74 | 51 Franklin St, Fifth Floor @* | 74 | 51 Franklin St, Fifth Floor @* |
| 75 | Boston, MA 02110-1301 @* | 75 | Boston, MA 02110-1301 @* |
| 76 | USA @* | 76 | USA @* |
| 77 | ISBN 1-882114-73-6 | 77 | ISBN 1-882114-74-4 |
| 78 | 78 | ||
| 79 | @sp 1 | 79 | @sp 1 |
| 80 | Cover art by Etienne Suvasa. | 80 | Cover art by Etienne Suvasa. |
diff --git a/lispref/help.texi b/lispref/help.texi index 6173c746d1e..ecccff421c7 100644 --- a/lispref/help.texi +++ b/lispref/help.texi | |||
| @@ -22,6 +22,9 @@ of documentation strings is not sufficient as a manual because a good | |||
| 22 | manual is not organized in that fashion; it is organized in terms of | 22 | manual is not organized in that fashion; it is organized in terms of |
| 23 | topics of discussion. | 23 | topics of discussion. |
| 24 | 24 | ||
| 25 | For commands to access documentation strings, see @ref{Help, , | ||
| 26 | Help, emacs, The GNU Emacs Manual}. | ||
| 27 | |||
| 25 | @menu | 28 | @menu |
| 26 | * Documentation Basics:: Good style for doc strings. | 29 | * Documentation Basics:: Good style for doc strings. |
| 27 | Where to put them. How Emacs stores them. | 30 | Where to put them. How Emacs stores them. |
| @@ -63,6 +66,10 @@ documentation is displayed. This allows documentation strings to refer | |||
| 63 | to the keys for related commands and be accurate even when a user | 66 | to the keys for related commands and be accurate even when a user |
| 64 | rearranges the key bindings. (@xref{Keys in Documentation}.) | 67 | rearranges the key bindings. (@xref{Keys in Documentation}.) |
| 65 | 68 | ||
| 69 | @vindex emacs-lisp-docstring-fill-column | ||
| 70 | Emacs Lisp mode fills documentation strings to the width | ||
| 71 | specified by @code{emacs-lisp-docstring-fill-column}. | ||
| 72 | |||
| 66 | In Emacs Lisp, a documentation string is accessible through the | 73 | In Emacs Lisp, a documentation string is accessible through the |
| 67 | function or variable that it describes: | 74 | function or variable that it describes: |
| 68 | 75 | ||
| @@ -100,9 +107,6 @@ documentation string. The functions @code{documentation} and | |||
| 100 | documentation string from the appropriate file; this is transparent to | 107 | documentation string from the appropriate file; this is transparent to |
| 101 | the user. | 108 | the user. |
| 102 | 109 | ||
| 103 | For information on the uses of documentation strings, see @ref{Help, , | ||
| 104 | Help, emacs, The GNU Emacs Manual}. | ||
| 105 | |||
| 106 | @c Wordy to prevent overfull hbox. --rjc 15mar92 | 110 | @c Wordy to prevent overfull hbox. --rjc 15mar92 |
| 107 | The @file{emacs/lib-src} directory contains two utilities that you can | 111 | The @file{emacs/lib-src} directory contains two utilities that you can |
| 108 | use to print nice-looking hardcopy for the file | 112 | use to print nice-looking hardcopy for the file |
diff --git a/lispref/keymaps.texi b/lispref/keymaps.texi index 6f4c2d9aceb..1f017b1f43e 100644 --- a/lispref/keymaps.texi +++ b/lispref/keymaps.texi | |||
| @@ -174,13 +174,18 @@ ordinary binding applies to events of a particular @dfn{event type}, | |||
| 174 | which is always a character or a symbol. @xref{Classifying Events}. | 174 | which is always a character or a symbol. @xref{Classifying Events}. |
| 175 | In this kind of binding, @var{binding} is a command. | 175 | In this kind of binding, @var{binding} is a command. |
| 176 | 176 | ||
| 177 | @item (@var{type} @var{item-name} .@: @var{binding}) | 177 | @item (@var{type} @var{item-name} @r{[}@var{cache}@r{]} .@: @var{binding}) |
| 178 | This specifies a binding which is also a menu item | 178 | This specifies a binding which is also a simple menu item that |
| 179 | named @var{item-name}. @xref{Simple Menu Items}. | 179 | displays as @var{item-name} in the menu. @var{cache}, if present, |
| 180 | caches certain information for display in the menu. @xref{Simple Menu | ||
| 181 | Items}. | ||
| 182 | |||
| 183 | @item (@var{type} @var{item-name} @var{help-string} @r{[}@var{cache}@r{]} .@: @var{binding}) | ||
| 184 | This is a simple menu item with help string @var{help-string}. | ||
| 180 | 185 | ||
| 181 | @item (@var{type} menu-item .@: @var{details}) | 186 | @item (@var{type} menu-item .@: @var{details}) |
| 182 | This specifies a binding which is also a menu item and allows use of | 187 | This specifies a binding which is also an extended menu item. This |
| 183 | other features. @xref{Extended Menu Items}. | 188 | allows use of other features. @xref{Extended Menu Items}. |
| 184 | 189 | ||
| 185 | @item (t .@: @var{binding}) | 190 | @item (t .@: @var{binding}) |
| 186 | @cindex default key binding | 191 | @cindex default key binding |
| @@ -203,9 +208,10 @@ keymap}. Other keymaps are called @dfn{sparse keymaps}. | |||
| 203 | @cindex keymap prompt string | 208 | @cindex keymap prompt string |
| 204 | @cindex overall prompt string | 209 | @cindex overall prompt string |
| 205 | @cindex prompt string of keymap | 210 | @cindex prompt string of keymap |
| 206 | Aside from bindings, a keymap can also have a string as an element. | 211 | Aside from elements that specify bindings for keys, a keymap can also |
| 207 | This is called the @dfn{overall prompt string} and makes it possible to | 212 | have a string as an element. This is called the @dfn{overall prompt |
| 208 | use the keymap as a menu. @xref{Defining Menus}. | 213 | string} and makes it possible to use the keymap as a menu. |
| 214 | @xref{Defining Menus}. | ||
| 209 | @end table | 215 | @end table |
| 210 | 216 | ||
| 211 | When the binding is @code{nil}, it doesn't constitute a definition | 217 | When the binding is @code{nil}, it doesn't constitute a definition |
| @@ -932,11 +938,11 @@ keymap. | |||
| 932 | 938 | ||
| 933 | Let's use the term @dfn{keymap entry} to describe the value found by | 939 | Let's use the term @dfn{keymap entry} to describe the value found by |
| 934 | looking up an event type in a keymap. (This doesn't include the item | 940 | looking up an event type in a keymap. (This doesn't include the item |
| 935 | string and other extra elements in menu key bindings, because | 941 | string and other extra elements in a keymap element for a menu item, because |
| 936 | @code{lookup-key} and other key lookup functions don't include them in | 942 | @code{lookup-key} and other key lookup functions don't include them in |
| 937 | the returned value.) While any Lisp object may be stored in a keymap as | 943 | the returned value.) While any Lisp object may be stored in a keymap |
| 938 | a keymap entry, not all make sense for key lookup. Here is a table of | 944 | as a keymap entry, not all make sense for key lookup. Here is a table |
| 939 | the meaningful kinds of keymap entries: | 945 | of the meaningful types of keymap entries: |
| 940 | 946 | ||
| 941 | @table @asis | 947 | @table @asis |
| 942 | @item @code{nil} | 948 | @item @code{nil} |
| @@ -964,7 +970,7 @@ event of the key sequence is looked up in @var{keymap}. | |||
| 964 | 970 | ||
| 965 | @item @var{list} | 971 | @item @var{list} |
| 966 | @cindex list in keymap | 972 | @cindex list in keymap |
| 967 | The meaning of a list depends on the types of the elements of the list. | 973 | The meaning of a list depends on what it contains: |
| 968 | 974 | ||
| 969 | @itemize @bullet | 975 | @itemize @bullet |
| 970 | @item | 976 | @item |
diff --git a/lispref/modes.texi b/lispref/modes.texi index bb8d840d0fb..d5e058fa1c8 100644 --- a/lispref/modes.texi +++ b/lispref/modes.texi | |||
| @@ -2816,8 +2816,7 @@ which construct their text programmatically, such as | |||
| 2816 | 2816 | ||
| 2817 | If your mode does not use any of the other machinery of Font Lock | 2817 | If your mode does not use any of the other machinery of Font Lock |
| 2818 | (i.e. it only uses the @code{font-lock-face} property), it should not | 2818 | (i.e. it only uses the @code{font-lock-face} property), it should not |
| 2819 | set the variable @code{font-lock-defaults}. That way, it will not | 2819 | set the variable @code{font-lock-defaults}. |
| 2820 | cause loading of the @file{font-lock} library. | ||
| 2821 | 2820 | ||
| 2822 | @node Faces for Font Lock | 2821 | @node Faces for Font Lock |
| 2823 | @subsection Faces for Font Lock | 2822 | @subsection Faces for Font Lock |
diff --git a/man/ChangeLog b/man/ChangeLog index 8542e0c6067..a9773e7d500 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2006-10-16 Richard Stallman <rms@gnu.org> | ||
| 2 | |||
| 3 | * widget.texi: Use @var instead of capitalization. | ||
| 4 | Clarify many widget type descriptions. | ||
| 5 | |||
| 6 | * emacs.texi: Update ISBN. | ||
| 7 | |||
| 8 | 2006-10-13 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> | ||
| 9 | |||
| 10 | * gnus.texi (Other modes): Fix typo. Add alternative index entry for | ||
| 11 | gnus-dired-attach. | ||
| 12 | (Selecting a Group): Fix typo. | ||
| 13 | |||
| 1 | 2006-10-12 Roberto Rodr,Am(Bguez <lanubeblanca@googlemail.com> | 14 | 2006-10-12 Roberto Rodr,Am(Bguez <lanubeblanca@googlemail.com> |
| 2 | 15 | ||
| 3 | * widget.texi: Fix typos (tiny change) | 16 | * widget.texi: Fix typos (tiny change) |
diff --git a/man/emacs.texi b/man/emacs.texi index 0249cac3cc3..eb16d633d6d 100644 --- a/man/emacs.texi +++ b/man/emacs.texi | |||
| @@ -71,7 +71,7 @@ Software Foundation raise funds for GNU development.'' | |||
| 71 | @insertcopying | 71 | @insertcopying |
| 72 | 72 | ||
| 73 | @sp 2 | 73 | @sp 2 |
| 74 | ISBN 1-882114-06-X @* | 74 | ISBN 1-882114-86-8* |
| 75 | Published by the Free Software Foundation @* | 75 | Published by the Free Software Foundation @* |
| 76 | 51 Franklin Street, Fifth Floor @* | 76 | 51 Franklin Street, Fifth Floor @* |
| 77 | Boston, MA 02110-1301 USA | 77 | Boston, MA 02110-1301 USA |
diff --git a/man/gnus.texi b/man/gnus.texi index 86f52fded7b..a929bb2b208 100644 --- a/man/gnus.texi +++ b/man/gnus.texi | |||
| @@ -2139,7 +2139,7 @@ If @code{gnus-auto-select-first} is non-@code{nil}, select an article | |||
| 2139 | automatically when entering a group with the @kbd{SPACE} command. | 2139 | automatically when entering a group with the @kbd{SPACE} command. |
| 2140 | Which article this is is controlled by the | 2140 | Which article this is is controlled by the |
| 2141 | @code{gnus-auto-select-subject} variable. Valid values for this | 2141 | @code{gnus-auto-select-subject} variable. Valid values for this |
| 2142 | variable is: | 2142 | variable are: |
| 2143 | 2143 | ||
| 2144 | @table @code | 2144 | @table @code |
| 2145 | 2145 | ||
| @@ -24471,7 +24471,7 @@ Save table: (spam-stat-save) | |||
| 24471 | @subsection Dired | 24471 | @subsection Dired |
| 24472 | @cindex dired | 24472 | @cindex dired |
| 24473 | 24473 | ||
| 24474 | @code{gnus-dired-minor-mode} provided some useful functions for dired | 24474 | @code{gnus-dired-minor-mode} provides some useful functions for dired |
| 24475 | buffers. It is enabled with | 24475 | buffers. It is enabled with |
| 24476 | @lisp | 24476 | @lisp |
| 24477 | (add-hook 'dired-mode-hook 'turn-on-gnus-dired-mode) | 24477 | (add-hook 'dired-mode-hook 'turn-on-gnus-dired-mode) |
| @@ -24480,6 +24480,7 @@ buffers. It is enabled with | |||
| 24480 | @table @kbd | 24480 | @table @kbd |
| 24481 | @item C-c C-m C-a | 24481 | @item C-c C-m C-a |
| 24482 | @findex gnus-dired-attach | 24482 | @findex gnus-dired-attach |
| 24483 | @cindex attachments, selection via dired | ||
| 24483 | Send dired's marked files as an attachment (@code{gnus-dired-attach}). | 24484 | Send dired's marked files as an attachment (@code{gnus-dired-attach}). |
| 24484 | You will be prompted for a message buffer. | 24485 | You will be prompted for a message buffer. |
| 24485 | 24486 | ||
diff --git a/man/widget.texi b/man/widget.texi index e273d253fb3..39b62ff3437 100644 --- a/man/widget.texi +++ b/man/widget.texi | |||
| @@ -480,11 +480,11 @@ when not on a button. By default this is @code{global-map}. | |||
| 480 | @comment node-name, next, previous, up | 480 | @comment node-name, next, previous, up |
| 481 | @section Basic Types | 481 | @section Basic Types |
| 482 | 482 | ||
| 483 | The syntax of a type specification is given below: | 483 | This is the general syntax of a type specification: |
| 484 | 484 | ||
| 485 | @example | 485 | @example |
| 486 | NAME ::= (NAME [KEYWORD ARGUMENT]... ARGS) | 486 | @var{name} ::= (@var{name} [@var{keyword} @var{argument}]... @var{args}) |
| 487 | | NAME | 487 | | @var{name} |
| 488 | @end example | 488 | @end example |
| 489 | 489 | ||
| 490 | Where, @var{name} is a widget name, @var{keyword} is the name of a | 490 | Where, @var{name} is a widget name, @var{keyword} is the name of a |
| @@ -724,7 +724,7 @@ If non-@code{nil}, allow glyphs to appear on displays where they are supported. | |||
| 724 | Syntax: | 724 | Syntax: |
| 725 | 725 | ||
| 726 | @example | 726 | @example |
| 727 | TYPE ::= (link [KEYWORD ARGUMENT]... [ VALUE ]) | 727 | @var{type} ::= (link [@var{keyword} @var{argument}]... [ @var{value} ]) |
| 728 | @end example | 728 | @end example |
| 729 | 729 | ||
| 730 | The @var{value}, if present, is used to initialize the @code{:value} | 730 | The @var{value}, if present, is used to initialize the @code{:value} |
| @@ -749,7 +749,7 @@ String to suffix links. | |||
| 749 | Syntax: | 749 | Syntax: |
| 750 | 750 | ||
| 751 | @example | 751 | @example |
| 752 | TYPE ::= (url-link [KEYWORD ARGUMENT]... URL) | 752 | @var{type} ::= (url-link [@var{keyword} @var{argument}]... @var{url}) |
| 753 | @end example | 753 | @end example |
| 754 | 754 | ||
| 755 | @findex browse-url-browser-function@r{, and @code{url-link} widget} | 755 | @findex browse-url-browser-function@r{, and @code{url-link} widget} |
| @@ -764,7 +764,7 @@ When this link is invoked, the @acronym{WWW} browser specified by | |||
| 764 | Syntax: | 764 | Syntax: |
| 765 | 765 | ||
| 766 | @example | 766 | @example |
| 767 | TYPE ::= (info-link [KEYWORD ARGUMENT]... ADDRESS) | 767 | @var{type} ::= (info-link [@var{keyword} @var{argument}]... @var{address}) |
| 768 | @end example | 768 | @end example |
| 769 | 769 | ||
| 770 | When this link is invoked, the built-in Info reader is started on | 770 | When this link is invoked, the built-in Info reader is started on |
| @@ -778,7 +778,7 @@ When this link is invoked, the built-in Info reader is started on | |||
| 778 | Syntax: | 778 | Syntax: |
| 779 | 779 | ||
| 780 | @example | 780 | @example |
| 781 | TYPE ::= (push-button [KEYWORD ARGUMENT]... [ VALUE ]) | 781 | @var{type} ::= (push-button [@var{keyword} @var{argument}]... [ @var{value} ]) |
| 782 | @end example | 782 | @end example |
| 783 | 783 | ||
| 784 | The @var{value}, if present, is used to initialize the @code{:value} | 784 | The @var{value}, if present, is used to initialize the @code{:value} |
| @@ -803,7 +803,7 @@ String to suffix push buttons. | |||
| 803 | Syntax: | 803 | Syntax: |
| 804 | 804 | ||
| 805 | @example | 805 | @example |
| 806 | TYPE ::= (editable-field [KEYWORD ARGUMENT]... [ VALUE ]) | 806 | @var{type} ::= (editable-field [@var{keyword} @var{argument}]... [ @var{value} ]) |
| 807 | @end example | 807 | @end example |
| 808 | 808 | ||
| 809 | The @var{value}, if present, is used to initialize the @code{:value} | 809 | The @var{value}, if present, is used to initialize the @code{:value} |
| @@ -863,7 +863,7 @@ does not rebind the @key{RET} key. | |||
| 863 | Syntax: | 863 | Syntax: |
| 864 | 864 | ||
| 865 | @example | 865 | @example |
| 866 | TYPE ::= (menu-choice [KEYWORD ARGUMENT]... TYPE ... ) | 866 | @var{type} ::= (menu-choice [@var{keyword} @var{argument}]... @var{type} ... ) |
| 867 | @end example | 867 | @end example |
| 868 | 868 | ||
| 869 | The @var{type} argument represents each possible choice. The widget's | 869 | The @var{type} argument represents each possible choice. The widget's |
| @@ -904,13 +904,13 @@ The list of types. | |||
| 904 | Syntax: | 904 | Syntax: |
| 905 | 905 | ||
| 906 | @example | 906 | @example |
| 907 | TYPE ::= (radio-button-choice [KEYWORD ARGUMENT]... TYPE ... ) | 907 | @var{type} ::= (radio-button-choice [@var{keyword} @var{argument}]... @var{type} ... ) |
| 908 | @end example | 908 | @end example |
| 909 | 909 | ||
| 910 | The @var{type} argument represents each possible choice. The widget's | 910 | The component types specify the choices, with one radio button for |
| 911 | value will be that of the chosen @var{type} argument. This widget will | 911 | each. The widget's value will be that of the chosen @var{type} |
| 912 | match any value matching at least one of the specified @var{type} | 912 | argument. This widget matches any value that matching at least one of |
| 913 | arguments. | 913 | the specified @var{type} arguments. |
| 914 | 914 | ||
| 915 | The following extra properties are recognized. | 915 | The following extra properties are recognized. |
| 916 | 916 | ||
| @@ -971,7 +971,7 @@ you call @code{widget-delete}. | |||
| 971 | Syntax: | 971 | Syntax: |
| 972 | 972 | ||
| 973 | @example | 973 | @example |
| 974 | ITEM ::= (item [KEYWORD ARGUMENT]... VALUE) | 974 | @var{item} ::= (item [@var{keyword} @var{argument}]... @var{value}) |
| 975 | @end example | 975 | @end example |
| 976 | 976 | ||
| 977 | The @var{value}, if present, is used to initialize the @code{:value} | 977 | The @var{value}, if present, is used to initialize the @code{:value} |
| @@ -986,7 +986,7 @@ buffer. This widget will only match the specified value. | |||
| 986 | Syntax: | 986 | Syntax: |
| 987 | 987 | ||
| 988 | @example | 988 | @example |
| 989 | ITEM ::= (choice-item [KEYWORD ARGUMENT]... VALUE) | 989 | @var{item} ::= (choice-item [@var{keyword} @var{argument}]... @var{value}) |
| 990 | @end example | 990 | @end example |
| 991 | 991 | ||
| 992 | The @var{value}, if present, is used to initialize the @code{:value} | 992 | The @var{value}, if present, is used to initialize the @code{:value} |
| @@ -1003,7 +1003,7 @@ the specified value. | |||
| 1003 | Syntax: | 1003 | Syntax: |
| 1004 | 1004 | ||
| 1005 | @example | 1005 | @example |
| 1006 | TYPE ::= (toggle [KEYWORD ARGUMENT]...) | 1006 | @var{type} ::= (toggle [@var{keyword} @var{argument}]...) |
| 1007 | @end example | 1007 | @end example |
| 1008 | 1008 | ||
| 1009 | The widget has two possible states, @samp{on} and @samp{off}, which | 1009 | The widget has two possible states, @samp{on} and @samp{off}, which |
| @@ -1039,7 +1039,7 @@ This widget has two possible states, @samp{selected} and | |||
| 1039 | Syntax: | 1039 | Syntax: |
| 1040 | 1040 | ||
| 1041 | @example | 1041 | @example |
| 1042 | TYPE ::= (checkbox [KEYWORD ARGUMENT]...) | 1042 | @var{type} ::= (checkbox [@var{keyword} @var{argument}]...) |
| 1043 | @end example | 1043 | @end example |
| 1044 | 1044 | ||
| 1045 | @node checklist, editable-list, checkbox, Basic Types | 1045 | @node checklist, editable-list, checkbox, Basic Types |
| @@ -1050,7 +1050,7 @@ TYPE ::= (checkbox [KEYWORD ARGUMENT]...) | |||
| 1050 | Syntax: | 1050 | Syntax: |
| 1051 | 1051 | ||
| 1052 | @example | 1052 | @example |
| 1053 | TYPE ::= (checklist [KEYWORD ARGUMENT]... TYPE ... ) | 1053 | @var{type} ::= (checklist [@var{keyword} @var{argument}]... @var{type} ... ) |
| 1054 | @end example | 1054 | @end example |
| 1055 | 1055 | ||
| 1056 | The @var{type} arguments represent each checklist item. The widget's | 1056 | The @var{type} arguments represent each checklist item. The widget's |
| @@ -1108,7 +1108,7 @@ The list of types. | |||
| 1108 | Syntax: | 1108 | Syntax: |
| 1109 | 1109 | ||
| 1110 | @example | 1110 | @example |
| 1111 | TYPE ::= (editable-list [KEYWORD ARGUMENT]... TYPE) | 1111 | @var{type} ::= (editable-list [@var{keyword} @var{argument}]... @var{type}) |
| 1112 | @end example | 1112 | @end example |
| 1113 | 1113 | ||
| 1114 | The value is a list, where each member represents one widget of type | 1114 | The value is a list, where each member represents one widget of type |
| @@ -1168,7 +1168,7 @@ This widget simply group other widgets together. | |||
| 1168 | Syntax: | 1168 | Syntax: |
| 1169 | 1169 | ||
| 1170 | @example | 1170 | @example |
| 1171 | TYPE ::= (group [KEYWORD ARGUMENT]... TYPE...) | 1171 | @var{type} ::= (group [@var{keyword} @var{argument}]... @var{type}...) |
| 1172 | @end example | 1172 | @end example |
| 1173 | 1173 | ||
| 1174 | The value is a list, with one member for each @var{type}. | 1174 | The value is a list, with one member for each @var{type}. |
| @@ -1201,7 +1201,7 @@ of the composite widgets. | |||
| 1201 | The syntax for the @code{const} widget is: | 1201 | The syntax for the @code{const} widget is: |
| 1202 | 1202 | ||
| 1203 | @example | 1203 | @example |
| 1204 | TYPE ::= (const [KEYWORD ARGUMENT]... [ VALUE ]) | 1204 | @var{type} ::= (const [@var{keyword} @var{argument}]... [ @var{value} ]) |
| 1205 | @end example | 1205 | @end example |
| 1206 | 1206 | ||
| 1207 | The @var{value}, if present, is used to initialize the @code{:value} | 1207 | The @var{value}, if present, is used to initialize the @code{:value} |
| @@ -1237,7 +1237,7 @@ user to edit it inline in the buffer. | |||
| 1237 | The syntax for the @code{sexp} widget is: | 1237 | The syntax for the @code{sexp} widget is: |
| 1238 | 1238 | ||
| 1239 | @example | 1239 | @example |
| 1240 | TYPE ::= (sexp [KEYWORD ARGUMENT]... [ VALUE ]) | 1240 | @var{type} ::= (sexp [@var{keyword} @var{argument}]... [ @var{value} ]) |
| 1241 | @end example | 1241 | @end example |
| 1242 | 1242 | ||
| 1243 | @deffn Widget sexp | 1243 | @deffn Widget sexp |
| @@ -1261,7 +1261,7 @@ following widgets. | |||
| 1261 | The syntax for all the atoms are: | 1261 | The syntax for all the atoms are: |
| 1262 | 1262 | ||
| 1263 | @example | 1263 | @example |
| 1264 | TYPE ::= (NAME [KEYWORD ARGUMENT]... [ VALUE ]) | 1264 | @var{type} ::= (@var{construct} [@var{keyword} @var{argument}]... [ @var{value} ]) |
| 1265 | @end example | 1265 | @end example |
| 1266 | 1266 | ||
| 1267 | The @var{value}, if present, is used to initialize the @code{:value} | 1267 | The @var{value}, if present, is used to initialize the @code{:value} |
| @@ -1331,10 +1331,10 @@ either @code{nil} meaning false, or non-@code{nil} meaning true. | |||
| 1331 | @subsection Composite Sexp Widgets | 1331 | @subsection Composite Sexp Widgets |
| 1332 | @cindex composite sexp widgets | 1332 | @cindex composite sexp widgets |
| 1333 | 1333 | ||
| 1334 | The syntax for the composite widget is: | 1334 | The syntax for the composite widget construct is: |
| 1335 | 1335 | ||
| 1336 | @example | 1336 | @example |
| 1337 | TYPE ::= (NAME [KEYWORD ARGUMENT]... COMPONENT...) | 1337 | @var{type} ::= (@var{construct} [@var{keyword} @var{argument}]... @var{component}...) |
| 1338 | @end example | 1338 | @end example |
| 1339 | 1339 | ||
| 1340 | @noindent | 1340 | @noindent |
| @@ -1342,19 +1342,43 @@ where each @var{component} must be a widget type. Each component widget | |||
| 1342 | will be displayed in the buffer, and will be editable by the user. | 1342 | will be displayed in the buffer, and will be editable by the user. |
| 1343 | 1343 | ||
| 1344 | @deffn Widget cons | 1344 | @deffn Widget cons |
| 1345 | The value of a @code{cons} widget is a cons-cell where the @sc{car} is | 1345 | The value of a @code{cons} widget must be a cons-cell whose @sc{car} |
| 1346 | the value of the first component and the @sc{cdr} is the value of the | 1346 | and @sc{cdr} have two specified types. It uses this syntax: |
| 1347 | second component. There must be exactly two components. | 1347 | |
| 1348 | @example | ||
| 1349 | @var{type} ::= (cons [@var{keyword} @var{argument}]... @var{car-type} @var{cdr-type}) | ||
| 1350 | @end example | ||
| 1351 | @end deffn | ||
| 1352 | |||
| 1353 | @deffn Widget choice | ||
| 1354 | The @code{choice} widget specifies a set of values that match any one | ||
| 1355 | of a fixed set of types. Its syntax is as follows: | ||
| 1356 | |||
| 1357 | @example | ||
| 1358 | @var{type} ::= (choice [@var{keyword} @var{argument}]... @var{type} ... ) | ||
| 1359 | @end example | ||
| 1360 | |||
| 1361 | The value of a @code{choice} widget can be anything that matches any of the | ||
| 1362 | @var{types}. | ||
| 1348 | @end deffn | 1363 | @end deffn |
| 1349 | 1364 | ||
| 1350 | @deffn Widget list | 1365 | @deffn Widget list |
| 1351 | The value of a @code{list} widget is a list containing the value of | 1366 | The value of a @code{list} widget must be a list whose element types |
| 1352 | each of its components. | 1367 | match the specified component types: |
| 1368 | |||
| 1369 | @example | ||
| 1370 | @var{type} ::= (list [@var{keyword} @var{argument}]... @var{component-type}...) | ||
| 1371 | @end example | ||
| 1372 | |||
| 1373 | Thus, @code{(list string number)} matches lists of two elements, | ||
| 1374 | the first being a string and the second being a number. | ||
| 1353 | @end deffn | 1375 | @end deffn |
| 1354 | 1376 | ||
| 1355 | @deffn Widget vector | 1377 | @deffn Widget vector |
| 1356 | The value of a @code{vector} widget is a vector containing the value of | 1378 | The @code{vector} widget is like the @code{list} widget but matches |
| 1357 | each of its component. | 1379 | vectors instead of lists. Thus, @code{(vector string number)} matches |
| 1380 | vectors of two elements, the first being a string and the second being | ||
| 1381 | a number. | ||
| 1358 | @end deffn | 1382 | @end deffn |
| 1359 | 1383 | ||
| 1360 | The above suffice for specifying fixed size lists and vectors. To get | 1384 | The above suffice for specifying fixed size lists and vectors. To get |
| @@ -1363,7 +1387,7 @@ variable length lists and vectors, you can use a @code{choice}, | |||
| 1363 | keyword. If any component of a composite widget has the @code{:inline} | 1387 | keyword. If any component of a composite widget has the @code{:inline} |
| 1364 | keyword set, its value must be a list which will then be spliced into | 1388 | keyword set, its value must be a list which will then be spliced into |
| 1365 | the composite. For example, to specify a list whose first element must | 1389 | the composite. For example, to specify a list whose first element must |
| 1366 | be a file name, and whose remaining arguments should either be the | 1390 | be a file name, and whose remaining elements should either be the |
| 1367 | symbol @code{t} or two files, you can use the following widget | 1391 | symbol @code{t} or two files, you can use the following widget |
| 1368 | specification: | 1392 | specification: |
| 1369 | 1393 | ||
| @@ -1376,29 +1400,32 @@ specification: | |||
| 1376 | @end example | 1400 | @end example |
| 1377 | 1401 | ||
| 1378 | The value of a widget of this type will either have the form | 1402 | The value of a widget of this type will either have the form |
| 1379 | @code{(file t)} or @code{(file string string)}. | 1403 | @code{(file t)} or @code{(file @var{string} @var{string})}. |
| 1380 | 1404 | ||
| 1381 | This concept of inline is probably hard to understand. It was certainly | 1405 | This concept of @code{:inline} may be hard to understand. It was |
| 1382 | hard to implement, so instead of confusing you more by trying to explain | 1406 | certainly hard to implement, so instead of confusing you more by |
| 1383 | it here, I'll just suggest you meditate over it for a while. | 1407 | trying to explain it here, I'll just suggest you meditate over it for |
| 1384 | 1408 | a while. | |
| 1385 | @deffn Widget choice | ||
| 1386 | Allows you to edit a sexp which may have one of a fixed set of types. | ||
| 1387 | It is currently implemented with the @code{choice-menu} basic widget, | ||
| 1388 | and has a similar syntax. | ||
| 1389 | @end deffn | ||
| 1390 | 1409 | ||
| 1391 | @deffn Widget set | 1410 | @deffn Widget set |
| 1392 | Allows you to specify a type which must be a list whose elements all | 1411 | Specifies a type whose values are the lists whose elements all belong |
| 1393 | belong to the given set. The elements of the list are not significant. | 1412 | to a given set. The order of elements of the list is not significant. |
| 1394 | This is implemented on top of the @code{checklist} basic widget, and has | 1413 | Here's the syntax: |
| 1395 | a similar syntax. | 1414 | |
| 1415 | @example | ||
| 1416 | @var{type} ::= (set [@var{keyword} @var{argument}]... @var{permitted-element} ... ) | ||
| 1417 | @end example | ||
| 1418 | |||
| 1419 | Use @code{const} to specify each permitted element, like this: | ||
| 1420 | @code{(set (const a) (const b))}. | ||
| 1396 | @end deffn | 1421 | @end deffn |
| 1397 | 1422 | ||
| 1398 | @deffn Widget repeat | 1423 | @deffn Widget repeat |
| 1399 | Allows you to specify a variable length list whose members are all of | 1424 | Specifies a list of any number of elements that fit a certain type. |
| 1400 | the same type. Implemented on top of the @code{editable-list} basic | 1425 | |
| 1401 | widget, and has a similar syntax. | 1426 | @example |
| 1427 | @var{type} ::= (repeat [@var{keyword} @var{argument}]... @var{type}) | ||
| 1428 | @end example | ||
| 1402 | @end deffn | 1429 | @end deffn |
| 1403 | 1430 | ||
| 1404 | @node Widget Properties, Defining New Widgets, Sexp Types, Top | 1431 | @node Widget Properties, Defining New Widgets, Sexp Types, Top |
diff --git a/src/ChangeLog b/src/ChangeLog index f86c4c6a21c..ce3c7d1435b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,26 @@ | |||
| 1 | 2006-10-16 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * gtkutil.c (get_utf8_string): Remove warnings with casts. | ||
| 4 | (xg_tool_bar_button_cb): Ditto | ||
| 5 | (xg_tool_bar_callback): Ditto. | ||
| 6 | |||
| 7 | 2006-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 8 | |||
| 9 | * dispnew.c (adjust_frame_glyphs_for_frame_redisplay): Remove unused | ||
| 10 | variable ch_dim. | ||
| 11 | (adjust_frame_glyphs_for_window_redisplay): Likewise. Don't allocate | ||
| 12 | menu bar window matrices on non-X systems. | ||
| 13 | |||
| 14 | * mac.c (Fmac_get_preference, Fmac_code_convert_string): Add GCPROs. | ||
| 15 | |||
| 16 | * macterm.c (mac_query_char_extents): Don't return glyph ID if layout | ||
| 17 | adjustment is needed. | ||
| 18 | (mac_load_query_font): Check if width and height are positive. | ||
| 19 | |||
| 20 | 2006-10-14 Richard Stallman <rms@gnu.org> | ||
| 21 | |||
| 22 | * sysdep.c (init_sys_modes): Delete DEFVAR_LISP in the wrong place. | ||
| 23 | |||
| 1 | 2006-10-13 Chong Yidong <cyd@stupidchicken.com> | 24 | 2006-10-13 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 25 | ||
| 3 | * xdisp.c (decode_mode_spec): Ignore %c and %l constructs in frame | 26 | * xdisp.c (decode_mode_spec): Ignore %c and %l constructs in frame |
diff --git a/src/dispnew.c b/src/dispnew.c index 394c550fa73..5ace8ac2985 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -1786,11 +1786,9 @@ check_matrix_invariants (w) | |||
| 1786 | 1786 | ||
| 1787 | X and Y are column/row within the frame glyph matrix where | 1787 | X and Y are column/row within the frame glyph matrix where |
| 1788 | sub-matrices for the window tree rooted at WINDOW must be | 1788 | sub-matrices for the window tree rooted at WINDOW must be |
| 1789 | allocated. CH_DIM contains the dimensions of the smallest | 1789 | allocated. DIM_ONLY_P non-zero means that the caller of this |
| 1790 | character that could be used during display. DIM_ONLY_P non-zero | 1790 | function is only interested in the result matrix dimension, and |
| 1791 | means that the caller of this function is only interested in the | 1791 | matrix adjustments should not be performed. |
| 1792 | result matrix dimension, and matrix adjustments should not be | ||
| 1793 | performed. | ||
| 1794 | 1792 | ||
| 1795 | The function returns the total width/height of the sub-matrices of | 1793 | The function returns the total width/height of the sub-matrices of |
| 1796 | the window tree. If called on a frame root window, the computation | 1794 | the window tree. If called on a frame root window, the computation |
| @@ -2038,8 +2036,7 @@ required_matrix_width (w) | |||
| 2038 | 2036 | ||
| 2039 | 2037 | ||
| 2040 | /* Allocate window matrices for window-based redisplay. W is the | 2038 | /* Allocate window matrices for window-based redisplay. W is the |
| 2041 | window whose matrices must be allocated/reallocated. CH_DIM is the | 2039 | window whose matrices must be allocated/reallocated. */ |
| 2042 | size of the smallest character that could potentially be used on W. */ | ||
| 2043 | 2040 | ||
| 2044 | static void | 2041 | static void |
| 2045 | allocate_matrices_for_window_redisplay (w) | 2042 | allocate_matrices_for_window_redisplay (w) |
| @@ -2272,7 +2269,6 @@ static void | |||
| 2272 | adjust_frame_glyphs_for_frame_redisplay (f) | 2269 | adjust_frame_glyphs_for_frame_redisplay (f) |
| 2273 | struct frame *f; | 2270 | struct frame *f; |
| 2274 | { | 2271 | { |
| 2275 | struct dim ch_dim; | ||
| 2276 | struct dim matrix_dim; | 2272 | struct dim matrix_dim; |
| 2277 | int pool_changed_p; | 2273 | int pool_changed_p; |
| 2278 | int window_change_flags; | 2274 | int window_change_flags; |
| @@ -2281,10 +2277,6 @@ adjust_frame_glyphs_for_frame_redisplay (f) | |||
| 2281 | if (!FRAME_LIVE_P (f)) | 2277 | if (!FRAME_LIVE_P (f)) |
| 2282 | return; | 2278 | return; |
| 2283 | 2279 | ||
| 2284 | /* Determine the smallest character in any font for F. On | ||
| 2285 | console windows, all characters have dimension (1, 1). */ | ||
| 2286 | ch_dim.width = ch_dim.height = 1; | ||
| 2287 | |||
| 2288 | top_window_y = FRAME_TOP_MARGIN (f); | 2280 | top_window_y = FRAME_TOP_MARGIN (f); |
| 2289 | 2281 | ||
| 2290 | /* Allocate glyph pool structures if not already done. */ | 2282 | /* Allocate glyph pool structures if not already done. */ |
| @@ -2373,22 +2365,14 @@ static void | |||
| 2373 | adjust_frame_glyphs_for_window_redisplay (f) | 2365 | adjust_frame_glyphs_for_window_redisplay (f) |
| 2374 | struct frame *f; | 2366 | struct frame *f; |
| 2375 | { | 2367 | { |
| 2376 | struct dim ch_dim; | ||
| 2377 | struct window *w; | 2368 | struct window *w; |
| 2378 | 2369 | ||
| 2379 | xassert (FRAME_WINDOW_P (f) && FRAME_LIVE_P (f)); | 2370 | xassert (FRAME_WINDOW_P (f) && FRAME_LIVE_P (f)); |
| 2380 | 2371 | ||
| 2381 | /* Get minimum sizes. */ | ||
| 2382 | #ifdef HAVE_WINDOW_SYSTEM | ||
| 2383 | ch_dim.width = FRAME_SMALLEST_CHAR_WIDTH (f); | ||
| 2384 | ch_dim.height = FRAME_SMALLEST_FONT_HEIGHT (f); | ||
| 2385 | #else | ||
| 2386 | ch_dim.width = ch_dim.height = 1; | ||
| 2387 | #endif | ||
| 2388 | |||
| 2389 | /* Allocate/reallocate window matrices. */ | 2372 | /* Allocate/reallocate window matrices. */ |
| 2390 | allocate_matrices_for_window_redisplay (XWINDOW (FRAME_ROOT_WINDOW (f))); | 2373 | allocate_matrices_for_window_redisplay (XWINDOW (FRAME_ROOT_WINDOW (f))); |
| 2391 | 2374 | ||
| 2375 | #ifdef HAVE_X_WINDOWS | ||
| 2392 | /* Allocate/ reallocate matrices of the dummy window used to display | 2376 | /* Allocate/ reallocate matrices of the dummy window used to display |
| 2393 | the menu bar under X when no X toolkit support is available. */ | 2377 | the menu bar under X when no X toolkit support is available. */ |
| 2394 | #if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) | 2378 | #if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) |
| @@ -2412,7 +2396,8 @@ adjust_frame_glyphs_for_window_redisplay (f) | |||
| 2412 | XSETFASTINT (w->total_cols, FRAME_TOTAL_COLS (f)); | 2396 | XSETFASTINT (w->total_cols, FRAME_TOTAL_COLS (f)); |
| 2413 | allocate_matrices_for_window_redisplay (w); | 2397 | allocate_matrices_for_window_redisplay (w); |
| 2414 | } | 2398 | } |
| 2415 | #endif /* not USE_X_TOOLKIT */ | 2399 | #endif /* not USE_X_TOOLKIT && not USE_GTK */ |
| 2400 | #endif /* HAVE_X_WINDOWS */ | ||
| 2416 | 2401 | ||
| 2417 | #ifndef USE_GTK | 2402 | #ifndef USE_GTK |
| 2418 | /* Allocate/ reallocate matrices of the tool bar window. If we | 2403 | /* Allocate/ reallocate matrices of the tool bar window. If we |
diff --git a/src/gtkutil.c b/src/gtkutil.c index 18b3607fc6f..2370855248a 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -523,8 +523,8 @@ get_utf8_string (str) | |||
| 523 | char *cp, *up; | 523 | char *cp, *up; |
| 524 | GError *error = NULL; | 524 | GError *error = NULL; |
| 525 | 525 | ||
| 526 | while (! (cp = g_locale_to_utf8 (p, -1, &bytes_read, | 526 | while (! (cp = g_locale_to_utf8 ((char *)p, -1, &bytes_read, |
| 527 | &bytes_written, &error)) | 527 | &bytes_written, &error)) |
| 528 | && error->code == G_CONVERT_ERROR_ILLEGAL_SEQUENCE) | 528 | && error->code == G_CONVERT_ERROR_ILLEGAL_SEQUENCE) |
| 529 | { | 529 | { |
| 530 | ++nr_bad; | 530 | ++nr_bad; |
| @@ -541,13 +541,13 @@ get_utf8_string (str) | |||
| 541 | if (cp) g_free (cp); | 541 | if (cp) g_free (cp); |
| 542 | 542 | ||
| 543 | up = utf8_str = xmalloc (strlen (str) + nr_bad * 4 + 1); | 543 | up = utf8_str = xmalloc (strlen (str) + nr_bad * 4 + 1); |
| 544 | p = str; | 544 | p = (unsigned char *)str; |
| 545 | 545 | ||
| 546 | while (! (cp = g_locale_to_utf8 (p, -1, &bytes_read, | 546 | while (! (cp = g_locale_to_utf8 ((char *)p, -1, &bytes_read, |
| 547 | &bytes_written, &error)) | 547 | &bytes_written, &error)) |
| 548 | && error->code == G_CONVERT_ERROR_ILLEGAL_SEQUENCE) | 548 | && error->code == G_CONVERT_ERROR_ILLEGAL_SEQUENCE) |
| 549 | { | 549 | { |
| 550 | strncpy (up, p, bytes_written); | 550 | strncpy (up, (char *)p, bytes_written); |
| 551 | sprintf (up + bytes_written, "\\%03o", p[bytes_written]); | 551 | sprintf (up + bytes_written, "\\%03o", p[bytes_written]); |
| 552 | up[bytes_written+4] = '\0'; | 552 | up[bytes_written+4] = '\0'; |
| 553 | up += bytes_written+4; | 553 | up += bytes_written+4; |
| @@ -3362,8 +3362,9 @@ xg_tool_bar_button_cb (widget, event, user_data) | |||
| 3362 | GdkEventButton *event; | 3362 | GdkEventButton *event; |
| 3363 | gpointer user_data; | 3363 | gpointer user_data; |
| 3364 | { | 3364 | { |
| 3365 | g_object_set_data (G_OBJECT (user_data), XG_TOOL_BAR_LAST_MODIFIER, | 3365 | /* Casts to avoid warnings when gpointer is 64 bits and int is 32 bits */ |
| 3366 | (gpointer) event->state); | 3366 | gpointer ptr = (gpointer) (EMACS_INT) event->state; |
| 3367 | g_object_set_data (G_OBJECT (user_data), XG_TOOL_BAR_LAST_MODIFIER, ptr); | ||
| 3367 | return FALSE; | 3368 | return FALSE; |
| 3368 | } | 3369 | } |
| 3369 | 3370 | ||
| @@ -3375,7 +3376,8 @@ xg_tool_bar_callback (w, client_data) | |||
| 3375 | { | 3376 | { |
| 3376 | /* The EMACS_INT cast avoids a warning. */ | 3377 | /* The EMACS_INT cast avoids a warning. */ |
| 3377 | int idx = (int) (EMACS_INT) client_data; | 3378 | int idx = (int) (EMACS_INT) client_data; |
| 3378 | int mod = (int) g_object_get_data (G_OBJECT (w), XG_TOOL_BAR_LAST_MODIFIER); | 3379 | int mod = (int) (EMACS_INT) g_object_get_data (G_OBJECT (w), |
| 3380 | XG_TOOL_BAR_LAST_MODIFIER); | ||
| 3379 | 3381 | ||
| 3380 | FRAME_PTR f = (FRAME_PTR) g_object_get_data (G_OBJECT (w), XG_FRAME_DATA); | 3382 | FRAME_PTR f = (FRAME_PTR) g_object_get_data (G_OBJECT (w), XG_FRAME_DATA); |
| 3381 | Lisp_Object key, frame; | 3383 | Lisp_Object key, frame; |
| @@ -4611,6 +4611,7 @@ otherwise. */) | |||
| 4611 | CFStringRef app_id, key_str; | 4611 | CFStringRef app_id, key_str; |
| 4612 | CFPropertyListRef app_plist = NULL, plist; | 4612 | CFPropertyListRef app_plist = NULL, plist; |
| 4613 | Lisp_Object result = Qnil, tmp; | 4613 | Lisp_Object result = Qnil, tmp; |
| 4614 | struct gcpro gcpro1, gcpro2; | ||
| 4614 | 4615 | ||
| 4615 | if (STRINGP (key)) | 4616 | if (STRINGP (key)) |
| 4616 | key = Fcons (key, Qnil); | 4617 | key = Fcons (key, Qnil); |
| @@ -4627,6 +4628,8 @@ otherwise. */) | |||
| 4627 | if (!NILP (hash_bound)) | 4628 | if (!NILP (hash_bound)) |
| 4628 | CHECK_NUMBER (hash_bound); | 4629 | CHECK_NUMBER (hash_bound); |
| 4629 | 4630 | ||
| 4631 | GCPRO2 (key, format); | ||
| 4632 | |||
| 4630 | BLOCK_INPUT; | 4633 | BLOCK_INPUT; |
| 4631 | 4634 | ||
| 4632 | app_id = kCFPreferencesCurrentApplication; | 4635 | app_id = kCFPreferencesCurrentApplication; |
| @@ -4681,6 +4684,8 @@ otherwise. */) | |||
| 4681 | 4684 | ||
| 4682 | UNBLOCK_INPUT; | 4685 | UNBLOCK_INPUT; |
| 4683 | 4686 | ||
| 4687 | UNGCPRO; | ||
| 4688 | |||
| 4684 | return result; | 4689 | return result; |
| 4685 | } | 4690 | } |
| 4686 | 4691 | ||
| @@ -4846,6 +4851,7 @@ On successful conversion, return the result string, else return nil. */) | |||
| 4846 | Lisp_Object string, source, target, normalization_form; | 4851 | Lisp_Object string, source, target, normalization_form; |
| 4847 | { | 4852 | { |
| 4848 | Lisp_Object result = Qnil; | 4853 | Lisp_Object result = Qnil; |
| 4854 | struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; | ||
| 4849 | CFStringEncoding src_encoding, tgt_encoding; | 4855 | CFStringEncoding src_encoding, tgt_encoding; |
| 4850 | CFStringRef str = NULL; | 4856 | CFStringRef str = NULL; |
| 4851 | 4857 | ||
| @@ -4856,6 +4862,8 @@ On successful conversion, return the result string, else return nil. */) | |||
| 4856 | CHECK_SYMBOL (target); | 4862 | CHECK_SYMBOL (target); |
| 4857 | CHECK_SYMBOL (normalization_form); | 4863 | CHECK_SYMBOL (normalization_form); |
| 4858 | 4864 | ||
| 4865 | GCPRO4 (string, source, target, normalization_form); | ||
| 4866 | |||
| 4859 | BLOCK_INPUT; | 4867 | BLOCK_INPUT; |
| 4860 | 4868 | ||
| 4861 | src_encoding = get_cfstring_encoding_from_lisp (source); | 4869 | src_encoding = get_cfstring_encoding_from_lisp (source); |
| @@ -4896,6 +4904,8 @@ On successful conversion, return the result string, else return nil. */) | |||
| 4896 | 4904 | ||
| 4897 | UNBLOCK_INPUT; | 4905 | UNBLOCK_INPUT; |
| 4898 | 4906 | ||
| 4907 | UNGCPRO; | ||
| 4908 | |||
| 4899 | return result; | 4909 | return result; |
| 4900 | } | 4910 | } |
| 4901 | 4911 | ||
diff --git a/src/macterm.c b/src/macterm.c index 6902ac72304..d4ce2a1b298 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -1198,7 +1198,12 @@ mac_query_char_extents (style, c, | |||
| 1198 | err1 = ATSUGetGlyphInfo (text_layout, kATSUFromTextBeginning, | 1198 | err1 = ATSUGetGlyphInfo (text_layout, kATSUFromTextBeginning, |
| 1199 | kATSUToTextEnd, &count, | 1199 | kATSUToTextEnd, &count, |
| 1200 | &glyph_info_array); | 1200 | &glyph_info_array); |
| 1201 | if (err1 == noErr) | 1201 | if (err1 == noErr |
| 1202 | /* Make sure that we don't have to make layout | ||
| 1203 | adjustments. */ | ||
| 1204 | && glyph_info_array.glyphs[0].deltaY == 0.0f | ||
| 1205 | && glyph_info_array.glyphs[0].idealX == 0.0f | ||
| 1206 | && glyph_info_array.glyphs[0].screenX == 0) | ||
| 1202 | { | 1207 | { |
| 1203 | xassert (glyph_info_array.glyphs[0].glyphID); | 1208 | xassert (glyph_info_array.glyphs[0].glyphID); |
| 1204 | *cg_glyph = glyph_info_array.glyphs[0].glyphID; | 1209 | *cg_glyph = glyph_info_array.glyphs[0].glyphID; |
| @@ -7963,7 +7968,8 @@ mac_load_query_font (f, fontname) | |||
| 7963 | NULL | 7968 | NULL |
| 7964 | #endif | 7969 | #endif |
| 7965 | ); | 7970 | ); |
| 7966 | if (err != noErr) | 7971 | if (err != noErr |
| 7972 | || space_bounds->width <= 0 || FONT_HEIGHT (font) <= 0) | ||
| 7967 | { | 7973 | { |
| 7968 | mac_unload_font (&one_mac_display_info, font); | 7974 | mac_unload_font (&one_mac_display_info, font); |
| 7969 | return NULL; | 7975 | return NULL; |
diff --git a/src/sysdep.c b/src/sysdep.c index 6d630c4832f..07f5f2e8a30 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1421,16 +1421,6 @@ init_sys_modes (tty_out) | |||
| 1421 | { | 1421 | { |
| 1422 | struct emacs_tty tty; | 1422 | struct emacs_tty tty; |
| 1423 | 1423 | ||
| 1424 | #ifdef MAC_OS8 | ||
| 1425 | /* cus-start.el complains if delete-exited-processes is not defined */ | ||
| 1426 | #ifndef subprocesses | ||
| 1427 | DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes, | ||
| 1428 | doc: /* *Non-nil means delete processes immediately when they exit. | ||
| 1429 | nil means don't delete them until `list-processes' is run. */); | ||
| 1430 | delete_exited_processes = 0; | ||
| 1431 | #endif | ||
| 1432 | #endif /* MAC_OS8 */ | ||
| 1433 | |||
| 1434 | #ifdef VMS | 1424 | #ifdef VMS |
| 1435 | #if 0 | 1425 | #if 0 |
| 1436 | static int oob_chars[2] = {0, 1 << 7}; /* catch C-g's */ | 1426 | static int oob_chars[2] = {0, 1 << 7}; /* catch C-g's */ |