From 2fc3738c631acb7016ddd98a81a6b11e6edb3405 Mon Sep 17 00:00:00 2001 From: Lute Kamstra Date: Tue, 25 Jan 2005 00:38:46 +0000 Subject: [PATCH 01/35] (ispell-dictionary-alist-4): Rewrite the CASECHARS and NOT-CASECHARS regular expressions of the "nederlands" and "nederlands8" dictionaries to prevent a "Range striding over charsets" error. --- lisp/ChangeLog | 7 +++++++ lisp/textmodes/ispell.el | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 902f9da4e1c..46e67c9725c 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2005-01-24 Lute Kamstra + + * textmodes/ispell.el (ispell-dictionary-alist-4): Rewrite the + CASECHARS and NOT-CASECHARS regular expressions of the + "nederlands" and "nederlands8" dictionaries to prevent a "Range + striding over charsets" error. + 2005-01-24 Jay Belanger * calc/calc-store.el (calc-declare-variable): Use calc-var-name to diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 2e8b1ab93c6..11e81f0ad70 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -591,12 +591,12 @@ and then re-start emacs." "[^A-Z\300\301\310\311\314\315\322\323\331\332a-z\340\341\350\351\354\355\363\371\372]" "[-]" nil ("-B" "-d" "italian") "~tex" iso-8859-1) ("nederlands" ; Nederlands.aff - "[A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]" - "[^A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]" + "[A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" + "[^A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[']" t ("-C") nil iso-8859-1) ("nederlands8" ; Dutch8.aff - "[A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]" - "[^A-Za-z\300-\305\307\310-\317\322-\326\331-\334\340-\345\347\350-\357\361\362-\366\371-\374]" + "[A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" + "[^A-Za-z\300\301\302\303\304\305\307\310\311\312\313\314\315\316\317\322\323\324\325\326\331\332\333\334\340\341\342\343\344\345\347\350\351\352\353\354\355\356\357\361\362\363\364\365\366\371\372\373\374]" "[']" t ("-C") nil iso-8859-1))) From b70001a19220e31e26379ffea49f77270ad25904 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 25 Jan 2005 01:26:57 +0000 Subject: [PATCH 02/35] (x_error_quitter): No longer static, and moved after x_error_handler. --- src/xterm.c | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index 3e54a46c714..63783de4f4f 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -7766,12 +7766,30 @@ x_connection_closed (dpy, error_message) error ("%s", error_msg); } +/* This is the first-level handler for X protocol errors. + It calls x_error_quitter or x_error_catcher. */ + +static int +x_error_handler (display, error) + Display *display; + XErrorEvent *error; +{ + if (! NILP (x_error_message_string)) + x_error_catcher (display, error); + else + x_error_quitter (display, error); + return 0; +} /* This is the usual handler for X protocol errors. It kills all frames on the display that we got the error for. If that was the only one, it prints an error message and kills Emacs. */ -static void +/* This is not static because we want to put a breakpoint on it. + It is after x_error_handler so that it won't get inlined in + x_error_handler. */ + +void x_error_quitter (display, error) Display *display; XErrorEvent *error; @@ -7788,21 +7806,6 @@ x_error_quitter (display, error) } -/* This is the first-level handler for X protocol errors. - It calls x_error_quitter or x_error_catcher. */ - -static int -x_error_handler (display, error) - Display *display; - XErrorEvent *error; -{ - if (! NILP (x_error_message_string)) - x_error_catcher (display, error); - else - x_error_quitter (display, error); - return 0; -} - /* This is the handler for X IO errors, always. It kills all frames on the display that we lost touch with. If that was the only one, it prints an error message and kills Emacs. */ From 29099c2f2b06559662d20c3d9bb954477c2de5c2 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Tue, 25 Jan 2005 01:59:39 +0000 Subject: [PATCH 03/35] *** empty log message *** --- admin/FOR-RELEASE | 5 +---- src/ChangeLog | 5 +++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index d6d9060dbf1..30d50c74fd8 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -4,9 +4,6 @@ Tasks needed before the next release. ** Face remapping. -** Make Rmail find the best version of movemail. -To be done by Sergey Poznyakoff . - ** Make VC-over-Tramp work where possible, or at least fail gracefully if something isn't supported over Tramp. To be done by Andre Spiegel . @@ -184,7 +181,7 @@ man/anti.texi man/basic.texi "Luc Teirlinck" man/buffers.texi "Luc Teirlinck" man/building.texi "Ted Zlatanov" -man/calendar.texi +man/calendar.texi Joakim Verona man/cmdargs.texi man/commands.texi "Luc Teirlinck" man/custom.texi diff --git a/src/ChangeLog b/src/ChangeLog index 4fa9eb8adab..6fae79c4e2b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2005-01-24 Richard M. Stallman + + * xterm.c (x_error_quitter): No longer static, and moved after + x_error_handler. + 2005-01-24 Kim F. Storm * xdisp.c (move_it_by_lines): If we move forward after going too From fe86084221cd13a23761628671421b156a50cb4c Mon Sep 17 00:00:00 2001 From: Luc Teirlinck Date: Tue, 25 Jan 2005 03:36:37 +0000 Subject: [PATCH 04/35] (help-at-pt-display-when-idle): Add autoload cookie. --- lisp/ChangeLog | 4 ++++ lisp/help-at-pt.el | 1 + 2 files changed, 5 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 46e67c9725c..bbd99a78ecb 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2005-01-24 Luc Teirlinck + + * help-at-pt.el (help-at-pt-display-when-idle): Add autoload cookie. + 2005-01-24 Lute Kamstra * textmodes/ispell.el (ispell-dictionary-alist-4): Rewrite the diff --git a/lisp/help-at-pt.el b/lisp/help-at-pt.el index 2266c8d5a2a..53af1bdd579 100644 --- a/lisp/help-at-pt.el +++ b/lisp/help-at-pt.el @@ -146,6 +146,7 @@ This is done by setting a timer, if none is currently active." (run-with-idle-timer help-at-pt-timer-delay t #'help-at-pt-maybe-display)))) +;;;###autoload (defcustom help-at-pt-display-when-idle 'never "*Automatically show local help on point-over. If the value is t, the string obtained from any `kbd-help' or From 60fc9395a3197f00a2fa702ef61794ea1dd1b3e1 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Tue, 25 Jan 2005 10:25:49 +0000 Subject: [PATCH 05/35] *** empty log message *** --- lisp/ChangeLog | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index bbd99a78ecb..f6779c54457 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,15 @@ +2005-01-21 Carsten Dominik + + * textmodes/reftex-global.el (reftex-isearch-push-state-function) + (reftex-isearch-pop-state-function) + (reftex-isearch-isearch-search) + (reftex-isearch-switch-to-next-file, reftex-isearch-turn-off) + (reftex-isearch-turn-on, reftex-isearch-minor-mode): New functions. + + * textmodes/reftex.el (reftex-mode-menu): Add entry for reftex + isearch minor mode. + + 2005-01-24 Luc Teirlinck * help-at-pt.el (help-at-pt-display-when-idle): Add autoload cookie. @@ -90,6 +102,7 @@ * term/mac-win.el (process-connection-type): Removed. Controlled now by s/darwin.h:PTY_ITERATION. +>>>>>>> 1.6921 2005-01-20 Stefan Monnier * window.el (handle-select-window): Don't switch window when we're @@ -310,6 +323,7 @@ * ebrowse.el (ebrowse-class-in-tree): Return the tail of the tree rather than the element found, thus enabling the tree to be setcar'd. +>>>>>>> 1.6903 2005-01-14 Carsten Dominik * textmodes/org.el (org-show-following-heading): New option. From a17f6c51a1947cd27a386960ccda7099da34d831 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Tue, 25 Jan 2005 10:29:49 +0000 Subject: [PATCH 06/35] documented `reftex-isearch-minor-mode' --- man/reftex.texi | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/man/reftex.texi b/man/reftex.texi index 21090caf2ea..7de16dcb0e1 100644 --- a/man/reftex.texi +++ b/man/reftex.texi @@ -3520,13 +3520,15 @@ this manual. Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped developing it with their reports. In particular thanks to @i{Fran -Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen, Karl -Eichwalder, Erik Frisk, Peter Galbraith, Kai Grossjohann, Frank Harrell, -Peter Heslin, Stephan Heuel, Alan Ho, Lute Kamstra, Dieter Kraft, David -Kastrup, Adrian Lanz, Rory Molinari, Stefan Monnier, Laurent Mugnier, -Sudeep Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha, Richard -Stanton, Allan Strand, Jan Vroonhof, Christoph Wedler, Alan Williams, -Roland Winkler, Hans-Christoph Wirth, Eli Zaretskii}. +Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen, +Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai Grossjohann, Frank +Harrell, Peter Heslin, Stephan Heuel, Alan Ho, Lute Kamstra, Dieter +Kraft, David Kastrup, Adrian Lanz, Juri Linkov, Rory Molinari, Stefan +Monnier, Laurent Mugnier, Dan Nicolaescu, Sudeep Kumar Palat, Daniel +Polani, Alan Shutko, Robin Socha, Richard Stanton, Allan Strand, Jan +Vroonhof, Christoph Wedler, Alan Williams, Roland Winkler, +Hans-Christoph Wirth, Eli Zaretskii}. + The @code{view-crossref} feature was inspired by @i{Peter Galbraith's} @file{bib-cite.el}. @@ -3668,6 +3670,12 @@ document. With prefix arg, replace only word-delimited matches. No active TAGS table is required. @end deffn +@deffn Command reftex-isearch-minor-mode +Toggle a minor mode which enables incremental search to work globally +on the entire multifile document. Files will be searched in th +sequence they appear in the document. +@end deffn + @deffn Command reftex-goto-label Prompt for a label (with completion) and jump to the location of this label. Optional prefix argument @var{other-window} goes to the label in From 640d0c89af45fe4d08b6ee5eff9043f0efdc99e0 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Tue, 25 Jan 2005 12:43:50 +0000 Subject: [PATCH 07/35] *** empty log message *** --- lisp/ChangeLog | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index f6779c54457..4972476169e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,15 +1,13 @@ -2005-01-21 Carsten Dominik - +2005-01-24 Carsten Dominik + * textmodes/reftex-global.el (reftex-isearch-push-state-function) - (reftex-isearch-pop-state-function) - (reftex-isearch-isearch-search) + (reftex-isearch-pop-state-function, reftex-isearch-isearch-search) (reftex-isearch-switch-to-next-file, reftex-isearch-turn-off) (reftex-isearch-turn-on, reftex-isearch-minor-mode): New functions. * textmodes/reftex.el (reftex-mode-menu): Add entry for reftex isearch minor mode. - 2005-01-24 Luc Teirlinck * help-at-pt.el (help-at-pt-display-when-idle): Add autoload cookie. From 31df23f5679c6483840b74f246880236b6d27dbf Mon Sep 17 00:00:00 2001 From: Lute Kamstra Date: Tue, 25 Jan 2005 17:26:11 +0000 Subject: [PATCH 08/35] (bibtex-format-entry): Use `bibtex-empty-field-re' only on the text of fields, not on entire field lines. (bibtex-autofill-entry): Use `bibtex-empty-field-re' on a string, not on part of a buffer. (bibtex-empty-field-re): Don't match nonempty field text strings like "{letters\\macro{}more letters}". Clarify docstring. (bibtex-sort-entry-class, bibtex-autokey-titleword-ignore) (bibtex-entry-offset, bibtex-parse-association) (bibtex-parse-field-name): Fix typos in docstrings. (bibtex-field-list, bibtex-find-crossref): Fix typos in error messages. --- lisp/ChangeLog | 21 +++++++++++++++++++-- lisp/textmodes/bibtex.el | 29 ++++++++++++++++------------- 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4972476169e..6eaff11c580 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,22 @@ +2005-01-25 Roland Winkler + + * textmodes/bibtex.el (bibtex-format-entry): Use + `bibtex-empty-field-re' only on the text of fields, not on entire + field lines. + (bibtex-autofill-entry): Use `bibtex-empty-field-re' on a string, + not on part of a buffer. + +2005-01-25 Lute Kamstra + + * textmodes/bibtex.el (bibtex-empty-field-re): Don't match + nonempty field text strings like "{letters\\macro{}more letters}". + Clarify docstring. + (bibtex-sort-entry-class, bibtex-autokey-titleword-ignore) + (bibtex-entry-offset, bibtex-parse-association) + (bibtex-parse-field-name): Fix typos in docstrings. + (bibtex-field-list, bibtex-find-crossref): Fix typos in error + messages. + 2005-01-24 Carsten Dominik * textmodes/reftex-global.el (reftex-isearch-push-state-function) @@ -100,7 +119,6 @@ * term/mac-win.el (process-connection-type): Removed. Controlled now by s/darwin.h:PTY_ITERATION. ->>>>>>> 1.6921 2005-01-20 Stefan Monnier * window.el (handle-select-window): Don't switch window when we're @@ -321,7 +339,6 @@ * ebrowse.el (ebrowse-class-in-tree): Return the tail of the tree rather than the element found, thus enabling the tree to be setcar'd. ->>>>>>> 1.6903 2005-01-14 Carsten Dominik * textmodes/org.el (org-show-following-heading): New option. diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index c5209456f83..fc677b3de44 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -173,7 +173,7 @@ See also `bibtex-sort-ignore-string-entries'." If value of `bibtex-maintain-sorted-entries' is `entry-class' entries are ordered according to the classes they belong to. Each class contains a list of entry names. An entry `catch-all' applies -to all entries not explicitely mentioned." +to all entries not explicitly mentioned." :group 'BibTeX :type '(repeat (choice :tag "Class" (const :tag "catch-all" (catch-all)) @@ -654,7 +654,7 @@ See `bibtex-generate-autokey' for details." '("A" "An" "On" "The" "Eine?" "Der" "Die" "Das" "[^A-Z].*" ".*[^A-Z0-9].*") "Determines words from the title that are not to be used in the key. -Each item of the list is a regexp. If a word of the title matchs a +Each item of the list is a regexp. If a word of the title matches a regexp from that list, it is not included in the title part of the key. See `bibtex-generate-autokey' for details." :group 'bibtex-autokey @@ -730,7 +730,7 @@ and must return a string (the key to use)." (defcustom bibtex-entry-offset 0 "Offset for BibTeX entries. -Added to the value of all other variables which determine colums." +Added to the value of all other variables which determine columns." :group 'bibtex :type 'integer) @@ -1115,9 +1115,8 @@ The CDRs of the elements are t for header keys and nil for crossref keys.") t)) "Regexp matching the name of any valid BibTeX entry (including string).") - -(defconst bibtex-empty-field-re "\"\"\\|{}" - "Regexp matching an empty field.") +(defconst bibtex-empty-field-re "\\`\\(\"\"\\|{}\\)\\'" + "Regexp matching the text part (as a string) of an empty field.") (defconst bibtex-font-lock-syntactic-keywords `((,(concat "^[ \t]*\\(" (substring bibtex-comment-start 0 1) "\\)" @@ -1179,7 +1178,7 @@ ARG is ignored." "Parse a string of the format . The functions PARSE-LHS and PARSE-RHS are used to parse the corresponding substrings. These functions are expected to return nil if parsing is not -successfull. If both functions return non-nil, a pair containing the returned +successful. If both functions return non-nil, a pair containing the returned values of the functions PARSE-LHS and PARSE-RHS is returned." (save-match-data (save-excursion @@ -1196,7 +1195,7 @@ values of the functions PARSE-LHS and PARSE-RHS is returned." If the field name is found, return a triple consisting of the position of the very first character of the match, the actual starting position of the name part and end position of the match. Move point to end of field name. -If `bibtex-autoadd-commas' is non-nil add missing comma at end of preceeding +If `bibtex-autoadd-commas' is non-nil add missing comma at end of preceding BibTeX field as necessary." (cond ((looking-at ",[ \t\n]*") (let ((start (point))) @@ -1875,7 +1874,7 @@ Formats current entry according to variable `bibtex-entry-format'." (if opt-alt (+ beg-name 3) beg-name) end-name)) (empty-field (string-match bibtex-empty-field-re (buffer-substring-no-properties - beg-field end-field))) + beg-text end-text))) deleted) ;; We have more elegant high-level functions for several @@ -2824,7 +2823,7 @@ and `bibtex-user-optional-fields'." (let ((e (assoc-string entry-type bibtex-entry-field-alist t)) required optional) (unless e - (error "Bibtex entry type %s not defined" entry-type)) + (error "BibTeX entry type %s not defined" entry-type)) (if (and (member-ignore-case entry-type bibtex-include-OPTcrossref) (nth 2 e)) (setq required (nth 0 (nth 2 e)) @@ -2960,9 +2959,13 @@ entry (for example, the year parts of the keys)." (while (setq bounds (bibtex-parse-field bibtex-field-name)) (let ((text (assoc-string (bibtex-name-in-field bounds t) other t))) - (goto-char (bibtex-start-of-text-in-field bounds)) - (if (not (and (looking-at bibtex-empty-field-re) text)) + (if (not (and text + (string-match bibtex-empty-field-re + (buffer-substring-no-properties + (bibtex-start-of-text-in-field bounds) + (bibtex-end-of-text-in-field bounds))))) (goto-char (bibtex-end-of-field bounds)) + (goto-char (bibtex-start-of-text-in-field bounds)) (delete-region (point) (bibtex-end-of-text-in-field bounds)) (insert (cdr text))))) ;; Finally try to update the text based on the difference between @@ -3269,7 +3272,7 @@ entry and SPLIT is t." (bibtex-reposition-window) (beginning-of-line) (if (and eqb (> pnt pos)) - (error "The referencing entry must preceed the crossrefed entry!"))) + (error "The referencing entry must precede the crossrefed entry!"))) ;; `bibtex-find-crossref' is called noninteractively during ;; clean-up of an entry. Then it is not possible to check ;; whether the current entry and the crossrefed entry have From 5d4ba9da90a6e4e401bc9b7dee2483049e84aea7 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Wed, 26 Jan 2005 08:28:06 +0000 Subject: [PATCH 09/35] * textmodes/reftex.el (reftex-mode-menu): Add entry for reftex isearch minor mode. --- lisp/textmodes/reftex.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el index e177805e9c4..318279b1377 100644 --- a/lisp/textmodes/reftex.el +++ b/lisp/textmodes/reftex.el @@ -2487,7 +2487,9 @@ IGNORE-WORDS List of words which should be removed from the string." "--" "MISC" ["AUC TeX Interface" reftex-toggle-plug-into-AUCTeX - :style toggle :selected reftex-plug-into-AUCTeX]) + :style toggle :selected reftex-plug-into-AUCTeX] + ["isearch whole document" reftex-isearch-minor-mode + :style toggle :selected reftex-isearch-minor-mode]) ("Reference Style" ["Default" (setq reftex-vref-is-default nil reftex-fref-is-default nil) From 0072e19e631a50efef487e02ac3434a429ddc8f6 Mon Sep 17 00:00:00 2001 From: Carsten Dominik Date: Wed, 26 Jan 2005 08:28:31 +0000 Subject: [PATCH 10/35] * textmodes/reftex-global.el (reftex-isearch-push-state-function) (reftex-isearch-pop-state-function, reftex-isearch-isearch-search) (reftex-isearch-switch-to-next-file, reftex-isearch-turn-off) (reftex-isearch-turn-on, reftex-isearch-minor-mode): New functions. --- lisp/textmodes/reftex-global.el | 126 ++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/lisp/textmodes/reftex-global.el b/lisp/textmodes/reftex-global.el index d4d91b476e9..d3ef2dcb788 100644 --- a/lisp/textmodes/reftex-global.el +++ b/lisp/textmodes/reftex-global.el @@ -338,5 +338,131 @@ Also checks if buffers visiting the files are in read-only mode." (buffer-name buf))) (error "Abort")))))) +(defun reftex-isearch-wrap-function () + (if (not isearch-word) + (switch-to-buffer + (funcall isearch-next-buffer-function (current-buffer) t))) + (goto-char (if isearch-forward (point-min) (point-max)))) + +(defun reftex-isearch-push-state-function () + `(lambda (cmd) + (reftex-isearch-pop-state-function cmd ,(current-buffer)))) + +(defun reftex-isearch-pop-state-function (cmd buffer) + (switch-to-buffer buffer)) + +(defun reftex-isearch-isearch-search (string bound noerror) + (let ((nxt-buff nil) + (search-fun + (cond + (isearch-word + (if isearch-forward 'word-search-forward 'word-search-backward)) + (isearch-regexp + (if isearch-forward 're-search-forward 're-search-backward)) + (t + (if isearch-forward 'search-forward 'search-backward))))) + (or + (funcall search-fun string bound noerror) + (unless bound + (condition-case nil + (when isearch-next-buffer-function + (while (not (funcall search-fun string bound noerror)) + (cond + (isearch-forward + (setq nxt-buff + (funcall isearch-next-buffer-function + (current-buffer))) + (if (not nxt-buff) + (progn + (error "Wrap forward")) + (switch-to-buffer nxt-buff) + (goto-char (point-min)))) + (t + (setq nxt-buff + (funcall isearch-next-buffer-function + (current-buffer))) + (if (not nxt-buff) + (progn + (error "Wrap backward")) + (switch-to-buffer nxt-buff) + (goto-char (point-max)))))) + (point)) + (error nil)))))) + +;;; This function is called when isearch reaches the end of a +;;; buffer. For reftex what we want to do is not wrap to the +;;; beginning, but switch to the next buffer in the logical order of +;;; the document. This function looks through list of files in the +;;; document (reftex-all-document-files), searches for the current +;;; buffer and switches to the next/previous one in the logical order +;;; of the document. If WRAPP is true then wrap the search to the +;;; beginning/end of the file list, depending of the search direction. +(defun reftex-isearch-switch-to-next-file (crt-buf &optional wrapp) + (reftex-access-scan-info) + (let* ((cb (buffer-file-name crt-buf)) + (flist (reftex-all-document-files)) + (orig-flist flist)) + (when flist + (if wrapp + (unless isearch-forward + (setq flist (last flist))) + (unless isearch-forward + (setq flist (nreverse (copy-list flist))) + (setq orig-flist flist)) + (while (not (string= (car flist) cb)) + (setq flist (cdr flist))) + (setq flist (cdr flist))) + (when flist + (find-file (car flist)))))) + +;;;###autoload +(defvar reftex-isearch-minor-mode nil) +(make-variable-buffer-local 'reftex-isearch-minor-mode) + +;;;###autoload +(defun reftex-isearch-minor-mode (&optional arg) + "When on, isearch searches the whole document, not only the current file. +This minor mode allows isearch to search through all the files of +the current TeX document. + +With no argument, this command toggles +`reftex-isearch-minor-mode'. With a prefix argument ARG, turn +`reftex-isearch-minor-mode' on iff ARG is positive." + (interactive "P") + (let ((old-reftex-isearch-minor-mode reftex-isearch-minor-mode)) + (setq reftex-isearch-minor-mode + (not (or (and (null arg) reftex-isearch-minor-mode) + (<= (prefix-numeric-value arg) 0)))) + (unless (eq reftex-isearch-minor-mode old-reftex-isearch-minor-mode) + (if reftex-isearch-minor-mode + (progn + (dolist (crt-buf (buffer-list)) + (with-current-buffer crt-buf + (when reftex-mode + (set (make-local-variable 'isearch-wrap-function) + 'reftex-isearch-wrap-function) + (set (make-local-variable 'isearch-search-fun-function) + (lambda () 'reftex-isearch-isearch-search)) + (set (make-local-variable 'isearch-push-state-function) + 'reftex-isearch-push-state-function) + (set (make-local-variable 'isearch-next-buffer-function) + 'reftex-isearch-switch-to-next-file) + (setq reftex-isearch-minor-mode t)))) + (add-hook 'reftex-mode-hook 'reftex-isearch-minor-mode)) + (dolist (crt-buf (buffer-list)) + (with-current-buffer crt-buf + (when reftex-mode + (kill-local-variable 'isearch-wrap-function) + (kill-local-variable 'isearch-search-fun-function) + (kill-local-variable 'isearch-push-state-function) + (kill-local-variable 'isearch-next-buffer-function) + (setq reftex-isearch-minor-mode nil)))) + (remove-hook 'reftex-mode-hook 'reftex-isearch-minor-mode))) + ;; Force modeline redisplay. + (set-buffer-modified-p (buffer-modified-p)))) + +(add-minor-mode 'reftex-isearch-minor-mode "/I" nil nil + 'reftex-isearch-minor-mode) + ;;; arch-tag: 2dbf7633-92c8-4340-8656-7aa019d0f80d ;;; reftex-global.el ends here From 889f36418f495a3a45c484730a1f3aa592cc08ff Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 27 Jan 2005 00:16:00 +0000 Subject: [PATCH 11/35] *** empty log message *** --- src/ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 6fae79c4e2b..78cf11d1d90 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2005-01-27 Kim F. Storm + + * xdisp.c (get_glyph_string_clip_rect): Always show a cursor + glyph, even when row is only partially visible and actual cursor + position is not visible. + 2005-01-24 Richard M. Stallman * xterm.c (x_error_quitter): No longer static, and moved after From 999f5a607e17b7565b90ff4161bebc113f65ada9 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 27 Jan 2005 00:16:28 +0000 Subject: [PATCH 12/35] (get_glyph_string_clip_rect): Always show a cursor glyph, even when row is only partially visible and actual cursor position is not visible. --- src/xdisp.c | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/xdisp.c b/src/xdisp.c index d7c32be09ea..e83004d1741 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -1837,7 +1837,7 @@ get_glyph_string_clip_rect (s, nr) if (s->hl == DRAW_CURSOR) { struct glyph *glyph = s->first_glyph; - int height; + int height, max_y; if (s->x > r.x) { @@ -1846,13 +1846,26 @@ get_glyph_string_clip_rect (s, nr) } r.width = min (r.width, glyph->pixel_width); - /* Don't draw cursor glyph taller than our actual glyph. */ - height = max (FRAME_LINE_HEIGHT (s->f), glyph->ascent + glyph->descent); - if (height < r.height) + /* If r.y is below window bottom, ensure that we still see a cursor. */ + height = min (glyph->ascent + glyph->descent, + min (FRAME_LINE_HEIGHT (s->f), s->row->visible_height)); + max_y = window_text_bottom_y (s->w) - height; + max_y = WINDOW_TO_FRAME_PIXEL_Y (s->w, max_y); + if (s->ybase - glyph->ascent > max_y) { - int max_y = r.y + r.height; - r.y = min (max_y, s->ybase + glyph->descent - height); - r.height = min (max_y - r.y, height); + r.y = max_y; + r.height = height; + } + else + { + /* Don't draw cursor glyph taller than our actual glyph. */ + height = max (FRAME_LINE_HEIGHT (s->f), glyph->ascent + glyph->descent); + if (height < r.height) + { + max_y = r.y + r.height; + r.y = min (max_y, max (r.y, s->ybase + glyph->descent - height)); + r.height = min (max_y - r.y, height); + } } } From 3bf93f74020a5df8e1449b7aecb130e667c78af7 Mon Sep 17 00:00:00 2001 From: Luc Teirlinck Date: Thu, 27 Jan 2005 02:45:20 +0000 Subject: [PATCH 13/35] (all): Add `undo-outer-limit'. --- lisp/ChangeLog | 4 ++++ lisp/cus-start.el | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 6eaff11c580..b5247f7cbfe 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2005-01-26 Luc Teirlinck + + * cus-start.el (all): Add `undo-outer-limit'. + 2005-01-25 Roland Winkler * textmodes/bibtex.el (bibtex-format-entry): Use diff --git a/lisp/cus-start.el b/lisp/cus-start.el index 12ffd93fefd..fc293734495 100644 --- a/lisp/cus-start.el +++ b/lisp/cus-start.el @@ -41,6 +41,17 @@ (gc-cons-threshold alloc integer) (undo-limit undo integer) (undo-strong-limit undo integer) + (undo-outer-limit undo + (choice integer + (const :tag "No limit" + :format "%t\n%d" + :doc + "With this choice, \ +the undo info for the current command never gets discarded. +This should only be chosen under exceptional circumstances, +since it could result in memory overflow and make Emacs crash." + nil)) + "21.4") (garbage-collection-messages alloc boolean) ;; buffer.c (mode-line-format modeline sexp) ;Hard to do right. From 56366094d765e90c933bf6fc88e16bda25ebad87 Mon Sep 17 00:00:00 2001 From: Lute Kamstra Date: Thu, 27 Jan 2005 08:58:52 +0000 Subject: [PATCH 14/35] (Initial Options): Add a cross reference to `Init File'. Mention the `-Q' option at the `--no-site-file' option. --- man/ChangeLog | 5 +++++ man/cmdargs.texi | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/man/ChangeLog b/man/ChangeLog index 63e3591265e..0e4f2a88bbf 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,8 @@ +2005-01-26 Lute Kamstra + + * cmdargs.texi (Initial Options): Add a cross reference to `Init + File'. Mention the `-Q' option at the `--no-site-file' option. + 2005-01-24 David Kastrup * faq.texi: Update AUCTeX version info. diff --git a/man/cmdargs.texi b/man/cmdargs.texi index b06aac4bdb6..960f2d0bd65 100644 --- a/man/cmdargs.texi +++ b/man/cmdargs.texi @@ -169,8 +169,9 @@ sections. Some initial options affect the loading of init files. The normal actions of Emacs are to first load @file{site-start.el} if it exists, then your own init file @file{~/.emacs} if it exists, and finally -@file{default.el} if it exists; certain options prevent loading of some -of these files or substitute other files for them. +@file{default.el} if it exists. @xref{Init File}. Certain options +prevent loading of some of these files or substitute other files for +them. @table @samp @item -t @var{device} @@ -257,8 +258,8 @@ changed with the @kbd{M-x customize} command and its variants. @opindex --no-site-file @cindex @file{site-start.el} file, not loading Do not load @file{site-start.el}. The options @samp{-q}, @samp{-u} -and @samp{--batch} have no effect on the loading of this file---this is -the only option that blocks it. +and @samp{--batch} have no effect on the loading of this file---this +option and @samp{-Q} are the only options that block it. @item -Q @opindex -Q From 6b626913b849a9ab143d932f609ad60b5bdc6b2f Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 27 Jan 2005 14:47:33 +0000 Subject: [PATCH 15/35] (standard-display-european-internal): Don't fiddle with latin-1 non-break space any more since it's now special cased in the C code. Don't "do&undo" setting for 160 (especially, don't undo incorrectly). --- lisp/ChangeLog | 16 +++++++++----- lisp/international/mule-cmds.el | 37 ++++++++++----------------------- 2 files changed, 22 insertions(+), 31 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b5247f7cbfe..9fb3abb4aad 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,11 +1,18 @@ +2005-01-27 Stefan Monnier + + * international/mule-cmds.el (standard-display-european-internal): + Don't fiddle with latin-1 non-break space any more since it's now + special cased in the C code. + Don't "do&undo" setting for 160 (especially, don't undo incorrectly). + 2005-01-26 Luc Teirlinck * cus-start.el (all): Add `undo-outer-limit'. 2005-01-25 Roland Winkler - * textmodes/bibtex.el (bibtex-format-entry): Use - `bibtex-empty-field-re' only on the text of fields, not on entire + * textmodes/bibtex.el (bibtex-format-entry): + Use `bibtex-empty-field-re' only on the text of fields, not on entire field lines. (bibtex-autofill-entry): Use `bibtex-empty-field-re' on a string, not on part of a buffer. @@ -18,8 +25,7 @@ (bibtex-sort-entry-class, bibtex-autokey-titleword-ignore) (bibtex-entry-offset, bibtex-parse-association) (bibtex-parse-field-name): Fix typos in docstrings. - (bibtex-field-list, bibtex-find-crossref): Fix typos in error - messages. + (bibtex-field-list, bibtex-find-crossref): Fix typos in error messages. 2005-01-24 Carsten Dominik @@ -120,7 +126,7 @@ 2005-01-20 Steven Tamm - * term/mac-win.el (process-connection-type): Removed. + * term/mac-win.el (process-connection-type): Remove. Controlled now by s/darwin.h:PTY_ITERATION. 2005-01-20 Stefan Monnier diff --git a/lisp/international/mule-cmds.el b/lisp/international/mule-cmds.el index 75b0d5ed227..cf004fe5ebf 100644 --- a/lisp/international/mule-cmds.el +++ b/lisp/international/mule-cmds.el @@ -1,6 +1,6 @@ ;;; mule-cmds.el --- commands for mulitilingual environment -*-coding: iso-2022-7bit -*- -;; Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. ;; Copyright (C) 1995, 2003 Electrotechnical Laboratory, JAPAN. ;; Licensed to the Free Software Foundation. @@ -1865,12 +1865,14 @@ specifies the character set for the major languages of Western Europe." ;; different there. (or (and (eq window-system 'pc) (not default-enable-multibyte-characters)) (progn - ;; Make non-line-break space display as a plain space. - ;; Most X fonts do the wrong thing for code 160. - (aset standard-display-table 160 [32]) - ;; With luck, non-Latin-1 fonts are more recent and so don't - ;; have this bug. - (aset standard-display-table (make-char 'latin-iso8859-1 160) [32]) + ;; Most X fonts used to do the wrong thing for latin-1 code 160. + (unless (and (eq window-system 'x) + ;; XFree86 4 has fixed the fonts. + (string= "The XFree86 Project, Inc" (x-server-vendor)) + (> (aref (number-to-string (nth 2 (x-server-version))) 0) + ?3)) + ;; Make non-line-break space display as a plain space. + (aset standard-display-table 160 [32])) ;; Most Windows programs send out apostrophes as \222. Most X fonts ;; don't contain a character at that position. Map it to the ASCII ;; apostrophe. [This is actually RIGHT SINGLE QUOTATION MARK, @@ -1878,23 +1880,7 @@ specifies the character set for the major languages of Western Europe." ;; fonts probably have the appropriate glyph at this position, ;; so they could use standard-display-8bit. It's better to use a ;; proper windows-1252 coding system. --fx] - (aset standard-display-table 146 [39]) - ;; XFree86 4 has changed most of the fonts from their designed - ;; versions such that `' no longer appears as balanced quotes. - ;; Assume it has iso10646 fonts installed, so we can display - ;; balanced quotes. - (when (and (eq window-system 'x) - (string= "The XFree86 Project, Inc" (x-server-vendor)) - (> (aref (number-to-string (nth 2 (x-server-version))) 0) - ?3)) - ;; We suppress these setting for the moment because the - ;; above assumption is wrong. - ;; (aset standard-display-table ?' [?$,1ry(B]) - ;; (aset standard-display-table ?` [?$,1rx(B]) - ;; The fonts don't have the relevant bug. - (aset standard-display-table 160 nil) - (aset standard-display-table (make-char 'latin-iso8859-1 160) - nil))))) + (aset standard-display-table 146 [39])))) (defun set-language-environment-coding-systems (language-name &optional eol-type) @@ -1955,8 +1941,7 @@ of `buffer-file-coding-system' set by this function." (setq language-name (symbol-name language-name))) (dolist (feature (get-language-info language-name 'features)) (require feature)) - (let ((doc (get-language-info language-name 'documentation)) - pos) + (let ((doc (get-language-info language-name 'documentation))) (help-setup-xref (list #'describe-language-environment language-name) (interactive-p)) (with-output-to-temp-buffer (help-buffer) From 760ebc9b6c671a6254bd1270e8e18d4ffbc662e0 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 27 Jan 2005 15:36:25 +0000 Subject: [PATCH 16/35] *** empty log message *** --- admin/FOR-RELEASE | 2 ++ 1 file changed, 2 insertions(+) diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index 30d50c74fd8..22d36fe42fd 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE @@ -11,6 +11,8 @@ To be done by Andre Spiegel . ** define-minor-mode should not put :require into defcustom. See msg from rms to emacs-devel on 21 Dec. +** Update Speedbar. + * FATAL ERRORS ** Investigate face cache related crash. From 043f7f73332e93e9c147eb94406b054c26b89272 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 27 Jan 2005 17:00:38 +0000 Subject: [PATCH 17/35] (x_error_quitter): Add a prototype. Make it static again. --- src/ChangeLog | 119 ++++++++++++++++++++++++-------------------------- src/xterm.c | 13 +++--- 2 files changed, 64 insertions(+), 68 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 78cf11d1d90..6c8e1cfc4b0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2005-01-27 Stefan Monnier + + * xterm.c (x_error_quitter): Add a prototype. Make it static again. + 2005-01-27 Kim F. Storm * xdisp.c (get_glyph_string_clip_rect): Always show a cursor @@ -62,7 +66,7 @@ 2005-01-22 Steven Tamm * s/darwin.h: Removed PTY_ITERATION from here. - (DARWIN): Defined. + (DARWIN): Define. * process.c (init_process): Default process-connection-type to nil on darwin 6 or less, t if it is 7 or higher. This way the broken pty behavior is still allowed on darwin 6 for interactive @@ -105,17 +109,16 @@ 2005-01-20 Steven Tamm - * editfns.c (Voperating_system_release): Added. + * editfns.c (Voperating_system_release): Add. (init_editfns): Assign new variable operating-system-release based on call to uname if available. - (get_operating_system_release): Added function to + (get_operating_system_release): Add function to allow c-level access to operating system release. * config.h: Regenerated. - * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or - less. - (MIN_PTY_KERNEL_VERSION): Defined minimum kernel version for + * s/darwin.h (PTY_ITERATION): Don't allow PTYs on darwin 6 or less. + (MIN_PTY_KERNEL_VERSION): Define minimum kernel version for using ptys as '7'. 2005-01-20 Kim F. Storm @@ -157,8 +160,8 @@ 2005-01-17 Kim F. Storm - * dispnew.c (mode_line_string, marginal_area_string): Fix - off-by-one error in search for glyph. + * dispnew.c (mode_line_string, marginal_area_string): + Fix off-by-one error in search for glyph. 2005-01-16 Kim F. Storm @@ -166,7 +169,7 @@ 2005-01-16 Steven Tamm - * macterm.c (mac_to_x_fontname): Removed spurious argument. + * macterm.c (mac_to_x_fontname): Remove spurious argument. 2005-01-16 Andreas Schwab @@ -182,7 +185,7 @@ * keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW) (READABLE_EVENTS_FILTER_EVENTS, READABLE_EVENTS_IGNORE_SQUEEZABLES): New flags for readable_events. - (get_filtered_input_pending, readable_filtered_events): Removed. + (get_filtered_input_pending, readable_filtered_events): Remove. (tracking_off): Call readable_events and get_input_pending with flag READABLE_EVENTS_DO_TIMERS_NOW. (readable_events): Move code from old readable_filtered_events here, @@ -222,8 +225,8 @@ 2005-01-15 YAMAMOTO Mitsuharu - * macfns.c (x_set_foreground_color, x_set_background_color): Sync - with xfns.c. + * macfns.c (x_set_foreground_color, x_set_background_color): + Sync with xfns.c. (mac_window, x_create_tip_frame): Use XSetWindowBackground. * macterm.c (XSetBackground, XSetWindowBackground): New functions. * macterm.h (XSetBackground, XSetWindowBackground): Add externs. @@ -280,8 +283,8 @@ (get_next_display_element): Test Vshow_nonbreak_escape. Do not setup escape_glyph_face. Properly merge escape-glyph face or face from display table with - current face for escape and control characters. Set - it->dpvec_face_id to relevant face id instead of adding it to each + current face for escape and control characters. + Set it->dpvec_face_id to relevant face id instead of adding it to each element of display vector. (next_element_from_display_vector): If it->dpvec_face_id is set, use that instead of lface_id from glyph itself. @@ -305,8 +308,7 @@ * gtkutil.c (xg_gtk_scroll_destroy, xg_create_scroll_bar) (xg_tool_bar_callback, xg_tool_bar_help_callback) - (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler - warning. + (update_frame_tool_bar): Cast to EMACS_INT to avoid compiler warning. * xselect.c (x_get_foreign_selection, x_fill_property_data) (Fx_get_atom_name, Fx_send_client_event): Replace XFLOAT with @@ -364,8 +366,8 @@ [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise. [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a file dialog is in action. - [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise. Reject - only when there are no filename items. Set background color + [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise. + Reject only when there are no filename items. Set background color before (un)highlighting the window below the dragged items. (XTread_socket) [!USE_CARBON_EVENTS]: Don't call do_window_update. @@ -449,8 +451,7 @@ * fileio.c (Finsert_file_contents): Don't use current_buffer->buffer_file_coding_system even if REPLACE is - non-nil. Call Qafter_insert_file_set_coding with the second arg - VISIT. + non-nil. Call Qafter_insert_file_set_coding with the second arg VISIT. * fontset.h (struct font_info): New members space_width and average_width. @@ -463,8 +464,7 @@ * xterm.c (x_new_font): Set FRAME_COLUMN_WIDTH to fontp->average_width, not FONT_WIDTH. Set FRAME_SPACE_WIDTH to fontp->space_width. - (x_load_font): Calculate fontp->space_width and - fontp->average_width. + (x_load_font): Calculate fontp->space_width and fontp->average_width. (x_term_init): Initialize dpyinfo->Xatom_AVERAGE_WIDTH. * xdisp.c (x_produce_glyphs): Calculate tab width by @@ -473,8 +473,7 @@ 2004-12-29 Sanghyuk Suh * macterm.c (SelectionRange): Add Xcode position apple event struct. - (do_ae_open_documents): Handle Xcode-style file position open - events. + (do_ae_open_documents): Handle Xcode-style file position open events. 2004-12-29 Luc Teirlinck @@ -500,11 +499,11 @@ init_mac_drag_n_drop. (mac_do_track_drag): New function and declaration. (install_window_handler): Return OSErr value. - (install_window_handler) [TARGET_API_MAC_CARBON]: Register - handlers for tracking/receiving drag-and-drop items. + (install_window_handler) [TARGET_API_MAC_CARBON]: + Register handlers for tracking/receiving drag-and-drop items. (do_ae_open_documents): Generate unibyte strings for filenames. - (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise. Reject - only non-filename items. Set event modifiers. Set return value. + (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise. + Reject only non-filename items. Set event modifiers, and return value. 2004-12-28 Dan Nicolaescu @@ -528,8 +527,8 @@ * xmenu.c (popup_get_selection): Only pop down dialogs on C-g and Escape. (popup_get_selection): Remove parameter down_on_keypress. - (create_and_show_popup_menu, create_and_show_dialog): Remove - parameter down_on_keypress to popup_get_selection. + (create_and_show_popup_menu, create_and_show_dialog): + Remove parameter down_on_keypress to popup_get_selection. 2004-12-27 YAMAMOTO Mitsuharu @@ -546,8 +545,8 @@ * frame.c (x_set_frame_parameters, x_report_frame_params) (x_set_fullscreen): Remove #ifndef HAVE_CARBON. - (x_set_border_width, Vdefault_frame_scroll_bars): Change - HAVE_CARBON to MAC_OS. + (x_set_border_width, Vdefault_frame_scroll_bars): + Change HAVE_CARBON to MAC_OS. * image.c [MAC_OS]: Include sys/stat.h. [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and @@ -555,8 +554,7 @@ * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern. [!MAC_OSX] (select): Use mac_wait_next_event. - [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to - Vexec_suffixes. + [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes. [!MAC_OSX] (select, run_mac_command): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (mac_clear_font_name_table): Add extern. @@ -575,21 +573,19 @@ * macfns.c (mac_initialized): Remove extern. (stricmp): Put in #if 0. All callers changed to use xstricmp in xfaces.c. - (strnicmp): Decrement `n' at the end of each loop, not the - beginning. - (check_mac): Use the term "Mac native windows" instead of "Mac - OS". + (strnicmp): Decrement `n' at the end of each loop, not the beginning. + (check_mac): Use the term "Mac native windows" instead of "Mac OS". (check_x_display_info, x_display_info_for_name): Sync with xfns.c. (mac_get_rdb_resource): New function (from w32reg.c). (x_get_string_resource): Use it. (install_window_handler): Add extern. (mac_window): New function. - (Fx_create_frame): Use it instead of make_mac_frame. Set - parameter for Qfullscreen. Call x_wm_set_size_hint. + (Fx_create_frame): Use it instead of make_mac_frame. + Set parameter for Qfullscreen. Call x_wm_set_size_hint. (Fx_open_connection, Fx_close_connection): New defuns. (syms_of_macfns): Defsubr them. - (x_create_tip_frame) [TARGET_API_MAC_CARBON]: Add - kWindowNoUpdatesAttribute to the window attribute. + (x_create_tip_frame) [TARGET_API_MAC_CARBON]: + Add kWindowNoUpdatesAttribute to the window attribute. (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow. (x_create_tip_frame): Don't call ShowWindow. (Fx_show_tip): Call ShowWindow. @@ -598,8 +594,7 @@ (mac_frame_parm_handlers): Set handlers for Qfullscreen. (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0. - * macgui.h [!MAC_OSX]: Don't include Controls.h. Include - Windows.h. + * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h. (Window): Typedef to WindowPtr and move outside `#if TARGET_API_MAC_CARBON'. (XSizeHints): New struct. @@ -618,8 +613,7 @@ (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window if the position is neither user-specified nor program-specified. (x_free_frame_resources): Free size_hints. - (x_wm_set_size_hint): Allocate size_hints if needed. Set - size_hints. + (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints. (mac_clear_font_name_table): New function. (mac_do_list_fonts): Initialize font_name_table if needed. (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT @@ -633,8 +627,7 @@ (do_window_update): Add BeginUpdate/EndUpdate for the tooltip window. Use UpdateControls. Get the rectangle that should be updated and restrict the target of expose_frame to it. - (do_grow_window): Set minimum height/width according to - size_hints. + (do_grow_window): Set minimum height/width according to size_hints. (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow. (do_zoom_window): Don't use x_set_window_size. [USE_CARBON_EVENTS] (mac_handle_window_event): New function. @@ -646,10 +639,10 @@ (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event. Update mouse_region when mouse is moved. (make_mac_frame): Remove. - (make_mac_terminal_frame): Put in #ifdef MAC_OS8. Initialize - mouse pointer shapes. Change values of f->left_pos and - f->top_pos. Don't use make_mac_frame. Use NewCWindow. Don't - call ShowWindow. + (make_mac_terminal_frame): Put in #ifdef MAC_OS8. + Initialize mouse pointer shapes. Change values of f->left_pos and + f->top_pos. Don't use make_mac_frame. Use NewCWindow. + Don't call ShowWindow. (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from Vinvocation_name and Vsystem_name. (mac_make_rdb): New function (from w32term.c). @@ -672,17 +665,17 @@ 2004-12-27 Richard M. Stallman - * buffer.c (Fbuffer_disable_undo): Deleted (moved to simple.el). + * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el). (syms_of_buffer): Don't defsubr it. * process.c (list_processes_1): Set undo_list instead of calling Fbuffer_disable_undo. - * xdisp.c (single_display_spec_string_p): Renamed from + * xdisp.c (single_display_spec_string_p): Rename from single_display_prop_string_p. - (single_display_spec_intangible_p): Renamed from + (single_display_spec_intangible_p): Rename from single_display_prop_intangible_p. - (handle_single_display_spec): Renamed from handle_single_display_prop. + (handle_single_display_spec): Rename from handle_single_display_prop. Rewritten to be easier to understand. Change in load-history format. Functions now get (defun . NAME), @@ -766,7 +759,7 @@ * alloc.c (Fgarbage_collect): Update call to truncate_undo_list. Call that at the very start. - (undo_limit, undo_strong_limit, undo_outer_limit): Moved to undo.c. + (undo_limit, undo_strong_limit, undo_outer_limit): Move to undo.c. (syms_of_alloc): Don't define undo-limit, undo-strong-limit and undo-outer-limit here. @@ -801,8 +794,8 @@ 2004-12-18 YAMAMOTO Mitsuharu - * macterm.c (endif, x_font_name_to_mac_font_name): Use - maccentraleurroman instead of maccentraleuropean + * macterm.c (endif, x_font_name_to_mac_font_name): + Use maccentraleurroman instead of maccentraleuropean (mac_c_string_match, mac_do_list_fonts): Speed up font search by quickly finding a specific font without needing regexps. @@ -828,8 +821,8 @@ * sysdep.c (select_alarm): Call SIGNAL_THREAD_CHECK. - * process.c (send_process_trap, sigchld_handler): Call - SIGNAL_THREAD_CHECK. + * process.c (send_process_trap, sigchld_handler): + Call SIGNAL_THREAD_CHECK. * data.c (arith_error): Call SIGNAL_THREAD_CHECK. @@ -919,7 +912,7 @@ * alloc.c: Add comment about the reason for (UN)BLOCK_INPUT_ALLOC. -2004-12-07 Stefan +2004-12-07 Stefan Monnier * eval.c (init_eval_once): Increase max_specpdl_size to 1000. @@ -2072,7 +2065,7 @@ * window.c (Fspecial_display_p): Doc fix. -2004-10-15 Stefan +2004-10-15 Stefan Monnier * doc.c (Fsubstitute_command_keys): Fix remap-handling. Don't ignore menus, because where-is-internal already does it for us. diff --git a/src/xterm.c b/src/xterm.c index 63783de4f4f..49e635c0fa3 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -1,6 +1,6 @@ /* X Communication module for terminals which understand the X protocol. - Copyright (C) 1989, 93, 94, 95, 96, 97, 98, 1999, 2000,01,02,03,04 - Free Software Foundation, Inc. + Copyright (C) 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, + 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -7766,6 +7766,10 @@ x_connection_closed (dpy, error_message) error ("%s", error_msg); } +/* We specifically use it before defining it, so that gcc doesn't inline it, + otherwise gdb doesn't know how to properly put a breakpoint on it. */ +static void x_error_quitter (Display *display, XErrorEvent *error); + /* This is the first-level handler for X protocol errors. It calls x_error_quitter or x_error_catcher. */ @@ -7785,11 +7789,10 @@ x_error_handler (display, error) It kills all frames on the display that we got the error for. If that was the only one, it prints an error message and kills Emacs. */ -/* This is not static because we want to put a breakpoint on it. - It is after x_error_handler so that it won't get inlined in +/* It is after x_error_handler so that it won't get inlined in x_error_handler. */ -void +static void x_error_quitter (display, error) Display *display; XErrorEvent *error; From caf533af494279767953f859b793357fd2c4cae6 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 27 Jan 2005 22:32:41 +0000 Subject: [PATCH 18/35] *** empty log message *** --- src/ChangeLog | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 6c8e1cfc4b0..cd258fa08bd 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,19 @@ +2005-01-27 Kim F. Storm + + * xdisp.c (get_phys_cursor_geometry): New function to calculate + phys cursor position and size for hollow cursor. Position is + aligned with get_glyph_string_clip_rect and ensures that a hollow + cursor is shown, even when the actual glyph is not visible. + + * dispextern.h (get_phys_cursor_geometry): Add prototype. + + * xterm.c (x_clip_to_row): Ensure y >= 0. + (x_draw_hollow_cursor): Use get_phys_cursor_geometry. + + * w32term.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry. + + * macterm.c (x_draw_hollow_cursor): Use get_phys_cursor_geometry. + 2005-01-27 Stefan Monnier * xterm.c (x_error_quitter): Add a prototype. Make it static again. From 4f5d66403882708ed3a2fc45db6bd39c2c7e760e Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 27 Jan 2005 22:33:01 +0000 Subject: [PATCH 19/35] (get_phys_cursor_geometry): Add prototype. --- src/dispextern.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dispextern.h b/src/dispextern.h index 89a8fe39aeb..3b72e54b6d1 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -2644,6 +2644,8 @@ extern void x_fix_overlapping_area P_ ((struct window *, struct glyph_row *, extern void draw_phys_cursor_glyph P_ ((struct window *, struct glyph_row *, enum draw_glyphs_face)); +extern int get_phys_cursor_geometry P_ ((struct window *, struct glyph_row *, + struct glyph *, int *)); extern void erase_phys_cursor P_ ((struct window *)); extern void display_and_set_cursor P_ ((struct window *, int, int, int, int, int)); From 4d91ce74c7a8eb5a2edca77925f2999bf2acd23d Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 27 Jan 2005 22:33:39 +0000 Subject: [PATCH 20/35] (x_draw_hollow_cursor): Use get_phys_cursor_geometry. --- src/macterm.c | 25 +++---------------------- src/w32term.c | 30 ++++-------------------------- 2 files changed, 7 insertions(+), 48 deletions(-) diff --git a/src/macterm.c b/src/macterm.c index 60eee6a4a84..9304a2d62f9 100644 --- a/src/macterm.c +++ b/src/macterm.c @@ -4731,29 +4731,10 @@ x_draw_hollow_cursor (w, row) if (cursor_glyph == NULL) return; - /* Compute the width of the rectangle to draw. If on a stretch - glyph, and `x-stretch-block-cursor' is nil, don't draw a - rectangle as wide as the glyph, but use a canonical character - width instead. */ - wd = cursor_glyph->pixel_width - 1; - if (cursor_glyph->type == STRETCH_GLYPH - && !x_stretch_cursor_p) - wd = min (FRAME_COLUMN_WIDTH (f), wd); - w->phys_cursor_width = wd; - - /* Compute frame-relative coordinates from window-relative - coordinates. */ + /* Compute frame-relative coordinates for phys cursor. */ x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x); - y = WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y); - - /* Compute the proper height and ascent of the rectangle, based - on the actual glyph. Using the full height of the row looks - bad when there are tall images on that row. */ - h = max (min (FRAME_LINE_HEIGHT (f), row->height), - cursor_glyph->ascent + cursor_glyph->descent); - if (h < row->height) - y += row->ascent /* - w->phys_cursor_ascent */ + cursor_glyph->descent - h; - h--; + y = get_phys_cursor_geometry (w, row, cursor_glyph, &h); + wd = w->phys_cursor_width; /* The foreground of cursor_gc is typically the same as the normal background color, which can cause the cursor box to be invisible. */ diff --git a/src/w32term.c b/src/w32term.c index 838e1f57222..738f676ceaf 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -4937,7 +4937,7 @@ x_draw_hollow_cursor (w, row) struct frame *f = XFRAME (WINDOW_FRAME (w)); HDC hdc; RECT rect; - int wd, h; + int h; struct glyph *cursor_glyph; HBRUSH hb = CreateSolidBrush (f->output_data.w32->cursor_pixel); @@ -4947,34 +4947,12 @@ x_draw_hollow_cursor (w, row) if (cursor_glyph == NULL) return; - /* Compute frame-relative coordinates from window-relative - coordinates. */ + /* Compute frame-relative coordinates for phys cursor. */ rect.left = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x); - rect.top = (WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y) - + row->ascent - w->phys_cursor_ascent); - - /* Compute the proper height and ascent of the rectangle, based - on the actual glyph. Using the full height of the row looks - bad when there are tall images on that row. */ - h = max (min (FRAME_LINE_HEIGHT (f), row->height), - cursor_glyph->ascent + cursor_glyph->descent); - if (h < row->height) - rect.top += row->ascent /* - w->phys_cursor_ascent */ + cursor_glyph->descent - h; - h--; - + rect.top = get_phys_cursor_geometry (w, row, cursor_glyph, &h); rect.bottom = rect.top + h; + rect.right = rect.left + w->phys_cursor_width; - /* Compute the width of the rectangle to draw. If on a stretch - glyph, and `x-stretch-block-cursor' is nil, don't draw a - rectangle as wide as the glyph, but use a canonical character - width instead. */ - wd = cursor_glyph->pixel_width; /* TODO: Why off by one compared with X? */ - if (cursor_glyph->type == STRETCH_GLYPH - && !x_stretch_cursor_p) - wd = min (FRAME_COLUMN_WIDTH (f), wd); - w->phys_cursor_width = wd; - - rect.right = rect.left + wd; hdc = get_frame_dc (f); /* Set clipping, draw the rectangle, and reset clipping again. */ w32_clip_to_row (w, row, TEXT_AREA, hdc); From 2049265a5b75d5d5b4899116c27dfaafdbcd13e3 Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 27 Jan 2005 22:33:52 +0000 Subject: [PATCH 21/35] (get_phys_cursor_geometry): New function to calculate phys cursor position and size for hollow cursor. Position is aligned with get_glyph_string_clip_rect and ensures that a hollow cursor is shown, even when the actual glyph is not visible. --- src/xdisp.c | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/src/xdisp.c b/src/xdisp.c index e83004d1741..aec14bcadde 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -1876,6 +1876,64 @@ get_glyph_string_clip_rect (s, nr) #endif } + +/* EXPORT: + Return the position and height of the phys cursor in window W. + Set w->phys_cursor_width to width of phys cursor. +*/ + +int +get_phys_cursor_geometry (w, row, glyph, heightp) + struct window *w; + struct glyph_row *row; + struct glyph *glyph; + int *heightp; +{ + struct frame *f = XFRAME (WINDOW_FRAME (w)); + int x, y, wd, h, h0, y0; + + /* Compute the width of the rectangle to draw. If on a stretch + glyph, and `x-stretch-block-cursor' is nil, don't draw a + rectangle as wide as the glyph, but use a canonical character + width instead. */ + wd = glyph->pixel_width - 1; +#ifdef HAVE_NTGUI + wd++; /* Why? */ +#endif + if (glyph->type == STRETCH_GLYPH + && !x_stretch_cursor_p) + wd = min (FRAME_COLUMN_WIDTH (f), wd); + w->phys_cursor_width = wd; + + y = w->phys_cursor.y + row->ascent - glyph->ascent; + + /* If y is below window bottom, ensure that we still see a cursor. */ + h0 = min (FRAME_LINE_HEIGHT (f), row->visible_height); + + h = max (h0, glyph->ascent + glyph->descent); + h0 = min (h0, glyph->ascent + glyph->descent); + + y0 = WINDOW_HEADER_LINE_HEIGHT (w); + if (y < y0) + { + h = max (h - (y0 - y) + 1, h0); + y = y0 - 1; + } + else + { + y0 = window_text_bottom_y (w) - h0; + if (y > y0) + { + h += y - y0; + y = y0; + } + } + + *heightp = h - 1; + return WINDOW_TO_FRAME_PIXEL_Y (w, y); +} + + #endif /* HAVE_WINDOW_SYSTEM */ From dbd8ee19133e033e98ced28b52bd05eaf1e19dda Mon Sep 17 00:00:00 2001 From: "Kim F. Storm" Date: Thu, 27 Jan 2005 22:34:05 +0000 Subject: [PATCH 22/35] (x_clip_to_row): Ensure y >= 0. (x_draw_hollow_cursor): Use get_phys_cursor_geometry. --- src/xterm.c | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index 49e635c0fa3..2db3379a264 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -7150,7 +7150,7 @@ x_clip_to_row (w, row, area, gc) window_box (w, area, &window_x, &window_y, &window_width, 0); clip_rect.x = window_x; - clip_rect.y = WINDOW_TO_FRAME_PIXEL_Y (w, row->y); + clip_rect.y = WINDOW_TO_FRAME_PIXEL_Y (w, max (0, row->y)); clip_rect.y = max (clip_rect.y, window_y); clip_rect.width = window_width; clip_rect.height = row->visible_height; @@ -7180,29 +7180,10 @@ x_draw_hollow_cursor (w, row) if (cursor_glyph == NULL) return; - /* Compute the width of the rectangle to draw. If on a stretch - glyph, and `x-stretch-block-cursor' is nil, don't draw a - rectangle as wide as the glyph, but use a canonical character - width instead. */ - wd = cursor_glyph->pixel_width - 1; - if (cursor_glyph->type == STRETCH_GLYPH - && !x_stretch_cursor_p) - wd = min (FRAME_COLUMN_WIDTH (f), wd); - w->phys_cursor_width = wd; - - /* Compute frame-relative coordinates from window-relative - coordinates. */ + /* Compute frame-relative coordinates for phys cursor. */ x = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, w->phys_cursor.x); - y = WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y); - - /* Compute the proper height and ascent of the rectangle, based - on the actual glyph. Using the full height of the row looks - bad when there are tall images on that row. */ - h = max (min (FRAME_LINE_HEIGHT (f), row->height), - cursor_glyph->ascent + cursor_glyph->descent); - if (h < row->height) - y += row->ascent /* - w->phys_cursor_ascent */ + cursor_glyph->descent - h; - h--; + y = get_phys_cursor_geometry (w, row, cursor_glyph, &h); + wd = w->phys_cursor_width; /* The foreground of cursor_gc is typically the same as the normal background color, which can cause the cursor box to be invisible. */ From b9fbc167a866c541c2a69509b2e32e4d403187cf Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 02:20:38 +0000 Subject: [PATCH 23/35] Avoid unnecessary use of locate-library. --- lisp/ChangeLog | 2 ++ lisp/speedbar.el | 12 +++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9fb3abb4aad..eb59386e0c0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2005-01-27 Stefan Monnier + * speedbar.el: Avoid unnecessary use of locate-library. + * international/mule-cmds.el (standard-display-european-internal): Don't fiddle with latin-1 non-break space any more since it's now special cased in the C code. diff --git a/lisp/speedbar.el b/lisp/speedbar.el index c182dffdba7..a8f74de0b11 100644 --- a/lisp/speedbar.el +++ b/lisp/speedbar.el @@ -1,6 +1,7 @@ ;;; speedbar.el --- quick access to files and tags in a frame -;;; Copyright (C) 1996, 97, 98, 99, 2000, 01 Free Software Foundation +;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2005 +;; Free Software Foundation ;; Author: Eric M. Ludlam ;; Version: 0.11a @@ -170,6 +171,8 @@ ;; - More functions to create buttons and options ;; - Timeout directories we haven't visited in a while. +;;; Code: + (require 'assoc) (require 'easymenu) @@ -201,7 +204,6 @@ :prefix "speedbar-" :group 'speedbar) -;;; Code: (defvar speedbar-initial-expansion-mode-alist '(("buffers" speedbar-buffer-easymenu-definition speedbar-buffers-key-map speedbar-buffer-buttons) @@ -373,7 +375,7 @@ is attached to." (symbol :tag "Property") (sexp :tag "Value")))) -(defcustom speedbar-use-imenu-flag (stringp (locate-library "imenu")) +(defcustom speedbar-use-imenu-flag (fboundp 'imenu) "*Non-nil means use imenu for file parsing. nil to use etags. XEmacs prior to 20.4 doesn't support imenu, therefore the default is to use etags instead. Etags support is not as robust as imenu support." @@ -3749,7 +3751,7 @@ functions to do caching and flushing if appropriate." nil -(eval-when-compile (if (locate-library "imenu") (require 'imenu))) +(eval-when-compile (condition-case nil (require 'imenu) (error nil))) (defun speedbar-fetch-dynamic-imenu (file) "Load FILE into a buffer, and generate tags using Imenu. @@ -4359,5 +4361,5 @@ If we have an image associated with it, use that image." ;; run load-time hooks (run-hooks 'speedbar-load-hook) -;;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5 +;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5 ;;; speedbar.el ends here From 2d65673fc14d611dbead03799512303324ba44fc Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 28 Jan 2005 16:11:30 +0000 Subject: [PATCH 24/35] Add more keywords. --- lisp/ChangeLog | 4 ++++ lisp/descr-text.el | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index eb59386e0c0..dd0ed80e435 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2005-01-28 Eli Zaretskii + + * descr-text.el: Add more keywords. + 2005-01-27 Stefan Monnier * speedbar.el: Avoid unnecessary use of locate-library. diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 726d3e6e5d8..514958484b2 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el @@ -1,10 +1,10 @@ ;;; descr-text.el --- describe text mode -;; Copyright (c) 1994, 1995, 1996, 2001, 2002, 2003, 2004 +;; Copyright (c) 1994, 1995, 1996, 2001, 2002, 2003, 2004, 2005 ;; Free Software Foundation, Inc. ;; Author: Boris Goldowsky -;; Keywords: faces +;; Keywords: faces, i18n, Unicode, multilingual ;; This file is part of GNU Emacs. From 996f9cdebb49d38bd5b0718d1a0f9f2479ef077a Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 16:25:10 +0000 Subject: [PATCH 25/35] (access_keymap): YAILOM. --- src/keymap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/keymap.c b/src/keymap.c index ff7836ce23b..260d7232bb0 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -1,6 +1,6 @@ /* Manipulation of keymaps - Copyright (C) 1985, 86,87,88,93,94,95,98,99, 2000, 01, 2004 - Free Software Foundation, Inc. + Copyright (C) 1985, 1986, 1987, 1988, 1993, 1994, 1995, 1998, 1999, 2000, + 2001, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -530,7 +530,7 @@ access_keymap (map, idx, t_ok, noinherit, autoload) GCPRO1 (map); /* A strange value in which Meta is set would cause infinite recursion. Protect against that. */ - if (meta_prefix_char & CHAR_META) + if (XINT (meta_prefix_char) & CHAR_META) meta_prefix_char = make_number (27); meta_map = get_keymap (access_keymap (map, meta_prefix_char, t_ok, noinherit, autoload), From f9475d97eec72a62b179f98eb086a406f6c44101 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 16:27:13 +0000 Subject: [PATCH 26/35] (eval-defun-1): Make sure `defvar' always sets the default value. --- lisp/emacs-lisp/lisp-mode.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el index f181f3683f0..86c3ac1bab4 100644 --- a/lisp/emacs-lisp/lisp-mode.el +++ b/lisp/emacs-lisp/lisp-mode.el @@ -1,6 +1,6 @@ ;;; lisp-mode.el --- Lisp mode, and its idiosyncratic commands -;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003, 2004 +;; Copyright (C) 1985, 1986, 1999, 2000, 2001, 2003, 2004, 2005 ;; Free Software Foundation, Inc. ;; Maintainer: FSF @@ -602,7 +602,7 @@ Reinitialize the face according to the `defface' specification." (boundp (cadr form))) ;; Force variable to be re-set. `(progn (defvar ,(nth 1 form) nil ,@(nthcdr 3 form)) - (setq ,(nth 1 form) ,(nth 2 form)))) + (setq-default ,(nth 1 form) ,(nth 2 form)))) ;; `defcustom' is now macroexpanded to ;; `custom-declare-variable' with a quoted value arg. ((and (eq (car form) 'custom-declare-variable) From f5d01350c3c6b5a50d4324cd1e894fb3fdd71f2f Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 16:27:25 +0000 Subject: [PATCH 27/35] (message-beginning-of-line): Change the behavior when invoked between BOL and : so that it first moves backward. --- lisp/gnus/message.el | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 113547741c0..d88fd54b144 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -1,5 +1,5 @@ ;;; message.el --- composing mail and news messages -;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen @@ -800,7 +800,7 @@ variable isn't used." ;; is nil. See: http://article.gmane.org/gmane.emacs.gnus.general/51138 (defcustom message-generate-headers-first '(references) "Which headers should be generated before starting to compose a message. -If `t', generate all required headers. This can also be a list of headers to +If t, generate all required headers. This can also be a list of headers to generate. The variables `message-required-news-headers' and `message-required-mail-headers' specify which headers to generate. @@ -5295,10 +5295,10 @@ outside the message header or if the option `message-beginning-of-line' is nil. If point is in the message header and on a (non-continued) header -line, move point to the beginning of the header value. If point -is already there, move point to beginning of line. Therefore, -repeated calls will toggle point between beginning of field and -beginning of line." +line, move point to the beginning of the header value or the beginning of line, +whichever is closer. If point is already at beginning of line, move point to +beginning of header value. Therefore, repeated calls will toggle point +between beginning of field and beginning of line." (interactive "p") (let ((zrs 'zmacs-region-stays)) (when (and (interactive-p) (boundp zrs)) @@ -5309,9 +5309,9 @@ beginning of line." (bol (progn (beginning-of-line n) (point))) (eol (gnus-point-at-eol)) (eoh (re-search-forward ": *" eol t))) - (if (or (not eoh) (equal here eoh)) - (goto-char bol) - (goto-char eoh))) + (goto-char + (if (and eoh (or (< eoh here) (= bol here))) + eoh bol))) (beginning-of-line n))) (defun message-buffer-name (type &optional to group) @@ -6880,5 +6880,5 @@ regexp VARSTR." ;; coding: iso-8859-1 ;; End: -;;; arch-tag: 94b32cac-4504-4b6c-8181-030ebf380ee0 +;; arch-tag: 94b32cac-4504-4b6c-8181-030ebf380ee0 ;;; message.el ends here From 5c243ee4377a8c2328167147ddec963a1ba988de Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 16:29:27 +0000 Subject: [PATCH 28/35] *** empty log message *** --- lisp/gnus/ChangeLog | 12 ++++++++---- src/ChangeLog | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 77a600427e2..86e279685c1 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,8 @@ +2005-01-28 Stefan Monnier + + * message.el (message-beginning-of-line): Change the behavior when + invoked between BOL and : so that it first moves backward. + 2005-01-20 Katsumi Yamaoka * mm-decode.el (mm-insert-part): Switch the multibyteness of data @@ -14,8 +19,7 @@ * mm-bodies.el (mm-body-encoding): Don't permit 7-bit to be used when mm-use-ultra-safe-encoding is enabled (e.g., for PGP/MIME) - and we have trailing white space. Reported by Werner Koch - . + and we have trailing white space. Reported by Werner Koch . 2004-12-17 Kim F. Storm @@ -58,8 +62,8 @@ 2004-12-13 Katsumi Yamaoka - * gnus-group.el (gnus-group-make-rss-group): Use - gnus-group-make-group instead of gnus-group-unsubscribe-group. + * gnus-group.el (gnus-group-make-rss-group): + Use gnus-group-make-group instead of gnus-group-unsubscribe-group. * gnus-start.el (gnus-setup-news): Honor user's setting to gnus-message-archive-method. Suggested by Lute Kamstra diff --git a/src/ChangeLog b/src/ChangeLog index cd258fa08bd..6030a3a4886 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2005-01-28 Stefan Monnier + + * keymap.c (access_keymap): YAILOM. + 2005-01-27 Kim F. Storm * xdisp.c (get_phys_cursor_geometry): New function to calculate @@ -518,8 +522,13 @@ (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for tracking/receiving drag-and-drop items. (do_ae_open_documents): Generate unibyte strings for filenames. +<<<<<<< ChangeLog + (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise. + Reject only non-filename items. Set event modifiers and return value. +======= (mac_do_receive_drag) [TARGET_API_MAC_CARBON] : Likewise. Reject only non-filename items. Set event modifiers, and return value. +>>>>>>> 1.4187 2004-12-28 Dan Nicolaescu @@ -629,7 +638,12 @@ (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window if the position is neither user-specified nor program-specified. (x_free_frame_resources): Free size_hints. +<<<<<<< ChangeLog + (x_wm_set_size_hint): Allocate size_hints if needed. + Set size_hints. +======= (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints. +>>>>>>> 1.4187 (mac_clear_font_name_table): New function. (mac_do_list_fonts): Initialize font_name_table if needed. (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT @@ -681,7 +695,11 @@ 2004-12-27 Richard M. Stallman +<<<<<<< ChangeLog + * buffer.c (Fbuffer_disable_undo): Delete (moved to simple.el). +======= * buffer.c (Fbuffer_disable_undo): Delete (move to simple.el). +>>>>>>> 1.4187 (syms_of_buffer): Don't defsubr it. * process.c (list_processes_1): Set undo_list instead From 2a4960f909c831e16dc4e85fec39652f9a601bed Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 17:07:57 +0000 Subject: [PATCH 29/35] (describe-char-unicodedata-file): Docstring fix. --- lisp/descr-text.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/descr-text.el b/lisp/descr-text.el index 514958484b2..5ab2fec4fad 100644 --- a/lisp/descr-text.el +++ b/lisp/descr-text.el @@ -217,7 +217,7 @@ otherwise." (defcustom describe-char-unicodedata-file nil "Location of Unicode data file. This is the UnicodeData.txt file from the Unicode consortium, used for -diagnostics. If it is non-nil `describe-char-after' will print data +diagnostics. If it is non-nil `describe-char' will print data looked up from it. This facility is mostly of use to people doing multilingual development. From f7105ede2ef431b621e556c7d09ab9beb957467f Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 18:42:30 +0000 Subject: [PATCH 30/35] (customize-group-other-window, custom-buffer-create-other-window): Don't override special-display-*. --- lisp/cus-edit.el | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 8a60163181a..89206c77e76 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -1,6 +1,7 @@ ;;; cus-edit.el --- tools for customizing Emacs and Lisp packages ;; -;; Copyright (C) 1996,97,1999,2000,01,02,03,2004 Free Software Foundation, Inc. +;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +;; Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Maintainer: FSF @@ -898,8 +899,6 @@ then prompt for the MODE to customize." (let ( ;; Copied from `custom-buffer-create-other-window'. (pop-up-windows t) - (special-display-buffer-names nil) - (special-display-regexps nil) (same-window-buffer-names nil) (same-window-regexps nil)) (pop-to-buffer name)) @@ -1246,8 +1245,6 @@ SYMBOL is a customization option, and WIDGET is a widget for editing that option." (unless name (setq name "*Customization*")) (let ((pop-up-windows t) - (special-display-buffer-names nil) - (special-display-regexps nil) (same-window-buffer-names nil) (same-window-regexps nil)) (pop-to-buffer (custom-get-fresh-buffer name)) @@ -4187,5 +4184,5 @@ if that value is non-nil." (provide 'cus-edit) -;;; arch-tag: 64533aa4-1b1a-48c3-8812-f9dc718e8a6f +;; arch-tag: 64533aa4-1b1a-48c3-8812-f9dc718e8a6f ;;; cus-edit.el ends here From e4105348b2aa19be95a5cc98405b00ce967c34dd Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 18:55:14 +0000 Subject: [PATCH 31/35] (custom-mode-map): Make it dense. --- lisp/cus-edit.el | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 89206c77e76..989a9f16840 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -4069,23 +4069,23 @@ The format is suitable for use with `easy-menu-define'." ;;; The Custom Mode. -(defvar custom-mode-map nil - "Keymap for `custom-mode'.") - -(unless custom-mode-map +(defvar custom-mode-map ;; This keymap should be dense, but a dense keymap would prevent inheriting ;; "\r" bindings from the parent map. - (setq custom-mode-map (make-sparse-keymap)) - (set-keymap-parent custom-mode-map widget-keymap) - (suppress-keymap custom-mode-map) - (define-key custom-mode-map " " 'scroll-up) - (define-key custom-mode-map "\177" 'scroll-down) - (define-key custom-mode-map "\C-x\C-s" 'Custom-save) - (define-key custom-mode-map "q" 'Custom-buffer-done) - (define-key custom-mode-map "u" 'Custom-goto-parent) - (define-key custom-mode-map "n" 'widget-forward) - (define-key custom-mode-map "p" 'widget-backward) - (define-key custom-mode-map [mouse-1] 'Custom-move-and-invoke)) + ;; Actually, this misfeature of dense keymaps was fixed on 2001-11-26. + (let ((map (make-keymap))) + (set-keymap-parent map widget-keymap) + (suppress-keymap map) + (define-key map " " 'scroll-up) + (define-key map "\177" 'scroll-down) + (define-key map "\C-x\C-s" 'Custom-save) + (define-key map "q" 'Custom-buffer-done) + (define-key map "u" 'Custom-goto-parent) + (define-key map "n" 'widget-forward) + (define-key map "p" 'widget-backward) + (define-key map [mouse-1] 'Custom-move-and-invoke) + map) + "Keymap for `custom-mode'.") (defun Custom-move-and-invoke (event) "Move to where you click, and if it is an active field, invoke it." From 150bbae7a4e01c02d3daba544083c10e95494b0b Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 28 Jan 2005 18:57:45 +0000 Subject: [PATCH 32/35] (scheme-mode-variables): Set comment-add. (dsssl-mode): Use define-derived-mode. (scheme-mode-initialize): Remove. (scheme-mode): Use run-mode-hooks. --- lisp/progmodes/scheme.el | 48 ++++++++++++++++------------------------ 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/lisp/progmodes/scheme.el b/lisp/progmodes/scheme.el index 13dd790b6a0..bf0f18d5bba 100644 --- a/lisp/progmodes/scheme.el +++ b/lisp/progmodes/scheme.el @@ -1,6 +1,7 @@ ;;; scheme.el --- Scheme (and DSSSL) editing mode -;; Copyright (C) 1986, 87, 88, 97, 1998 Free Software Foundation, Inc. +;; Copyright (C) 1986, 1987, 1988, 1997, 1998, 2005 +;; Free Software Foundation, Inc. ;; Author: Bill Rozas ;; Adapted-by: Dave Love @@ -144,6 +145,7 @@ (setq outline-regexp ";;; \\|(....") (make-local-variable 'comment-start) (setq comment-start ";") + (set (make-local-variable 'comment-add) 1) (make-local-variable 'comment-start-skip) ;; Look within the line for a ; following an even number of backslashes ;; after either a non-backslash or the line beginning. @@ -171,17 +173,11 @@ (defvar scheme-mode-line-process "") -(defvar scheme-mode-map nil - "Keymap for Scheme mode. -All commands in `lisp-mode-shared-map' are inherited by this map.") - -(unless scheme-mode-map - (let ((map (make-sparse-keymap "Scheme"))) - (setq scheme-mode-map (make-sparse-keymap)) - (set-keymap-parent scheme-mode-map lisp-mode-shared-map) - (define-key scheme-mode-map [menu-bar] (make-sparse-keymap)) - (define-key scheme-mode-map [menu-bar scheme] - (cons "Scheme" map)) +(defvar scheme-mode-map + (let ((smap (make-sparse-keymap)) + (map (make-sparse-keymap "Scheme"))) + (set-keymap-parent smap lisp-mode-shared-map) + (define-key smap [menu-bar scheme] (cons "Scheme" map)) (define-key map [run-scheme] '("Run Inferior Scheme" . run-scheme)) (define-key map [uncomment-region] '("Uncomment Out Region" . (lambda (beg end) @@ -192,7 +188,10 @@ All commands in `lisp-mode-shared-map' are inherited by this map.") (define-key map [indent-line] '("Indent Line" . lisp-indent-line)) (put 'comment-region 'menu-enable 'mark-active) (put 'uncomment-region 'menu-enable 'mark-active) - (put 'indent-region 'menu-enable 'mark-active))) + (put 'indent-region 'menu-enable 'mark-active) + smap) + "Keymap for Scheme mode. +All commands in `lisp-mode-shared-map' are inherited by this map.") ;; Used by cmuscheme (defun scheme-mode-commands (map) @@ -222,14 +221,11 @@ Entry to this mode calls the value of `scheme-mode-hook' if that value is non-nil." (interactive) (kill-all-local-variables) - (scheme-mode-initialize) - (scheme-mode-variables) - (run-hooks 'scheme-mode-hook)) - -(defun scheme-mode-initialize () (use-local-map scheme-mode-map) (setq major-mode 'scheme-mode) - (setq mode-name "Scheme")) + (setq mode-name "Scheme") + (scheme-mode-variables) + (run-mode-hooks 'scheme-mode-hook)) (defgroup scheme nil "Editing Scheme code" @@ -346,7 +342,7 @@ See `run-hooks'." "Default expressions to highlight in Scheme modes.") ;;;###autoload -(defun dsssl-mode () +(define-derived-mode dsssl-mode scheme-mode "DSSSL" "Major mode for editing DSSSL code. Editing commands are similar to those of `lisp-mode'. @@ -357,20 +353,16 @@ Blank lines separate paragraphs. Semicolons start comments. Entering this mode runs the hooks `scheme-mode-hook' and then `dsssl-mode-hook' and inserts the value of `dsssl-sgml-declaration' if that variable's value is a string." - (interactive) - (kill-all-local-variables) - (use-local-map scheme-mode-map) - (scheme-mode-initialize) (make-local-variable 'page-delimiter) (setq page-delimiter "^;;;" ; ^L not valid SGML char major-mode 'dsssl-mode mode-name "DSSSL") ;; Insert a suitable SGML declaration into an empty buffer. + ;; FIXME: This should use `auto-insert-alist' instead. (and (zerop (buffer-size)) (stringp dsssl-sgml-declaration) (not buffer-read-only) (insert dsssl-sgml-declaration)) - (scheme-mode-variables) (setq font-lock-defaults '(dsssl-font-lock-keywords nil t (("+-*/.<>=?$%_&~^:" . "w")) beginning-of-defun @@ -378,9 +370,7 @@ that variable's value is a string." (set (make-local-variable 'imenu-case-fold-search) nil) (setq imenu-generic-expression dsssl-imenu-generic-expression) (set (make-local-variable 'imenu-syntax-alist) - '(("+-*/.<>=?$%_&~^:" . "w"))) - (run-hooks 'scheme-mode-hook) - (run-hooks 'dsssl-mode-hook)) + '(("+-*/.<>=?$%_&~^:" . "w")))) ;; Extra syntax for DSSSL. This isn't separated from Scheme, but ;; shouldn't cause much trouble in scheme-mode. @@ -558,5 +548,5 @@ that variable's value is a string." (provide 'scheme) -;;; arch-tag: a8f06bc1-ad11-42d2-9e36-ce651df37a90 +;; arch-tag: a8f06bc1-ad11-42d2-9e36-ce651df37a90 ;;; scheme.el ends here From c7c87573946cab9307993dbdb0866a1e9d78b015 Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Fri, 28 Jan 2005 21:48:09 +0000 Subject: [PATCH 33/35] *** empty log message *** --- lisp/ChangeLog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index dd0ed80e435..ba56b2688e0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2005-01-29 Nick Roberts + + * progmodes/gdb-ui.el (gdb-info-breakpoints-custom) + (gdb-goto-breakpoint): Make breakpoint handling work on template + functions in C++. Reported by Martin Reed + 2005-01-28 Eli Zaretskii * descr-text.el: Add more keywords. From 14788d12b0a9b2fddd2e88f5d15afed8e2b9862d Mon Sep 17 00:00:00 2001 From: Nick Roberts Date: Fri, 28 Jan 2005 21:48:48 +0000 Subject: [PATCH 34/35] (gdb-info-breakpoints-custom) (gdb-goto-breakpoint): Make breakpoint handling work on template functions in C++. Reported by Martin Reed --- lisp/progmodes/gdb-ui.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 1827589387e..a89f4b1694f 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -1143,7 +1143,7 @@ static char *magick[] = { (setq bptno (match-string 1)) (setq flag (char-after (match-beginning 2))) (beginning-of-line) - (if (re-search-forward "in\\s-+\\S-+\\s-+at\\s-+" nil t) + (if (re-search-forward "in.*at\\s-+" nil t) (progn (looking-at "\\(\\S-+\\):\\([0-9]+\\)") (let ((line (match-string 2)) (buffer-read-only nil) @@ -1298,7 +1298,7 @@ static char *magick[] = { (save-excursion (beginning-of-line 1) (if (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) - (looking-at ".*in\\s-+\\S-+\\s-+at\\s-+\\(\\S-*\\):\\([0-9]+\\)") + (looking-at ".*in.*at\\s-+\\(\\S-*\\):\\([0-9]+\\)") (looking-at "[0-9]+\\s-*\\S-*\\s-*\\S-*\\s-*.\\s-*\\S-*\\s-*\\(\\S-*\\):\\([0-9]+\\)")) (let ((line (match-string 2)) From aba1948af5107ad44c467e4f97792af5ce75a7d7 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Fri, 28 Jan 2005 23:52:19 +0000 Subject: [PATCH 35/35] Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-58 Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-7 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-8 - miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-11 Update from CVS 2005-01-28 Katsumi Yamaoka * lisp/gnus/gnus-art.el (gnus-article-setup-buffer): Kill and re-create the article buffer when editing of the article is discarded. (gnus-article-prepare): Revert. 2005-01-28 Katsumi Yamaoka * lisp/gnus/gnus-art.el (gnus-article-prepare): Remove message-strip-forbidden-properties from the local hook. 2005-01-24 Katsumi Yamaoka * lisp/gnus/mml.el (mml-generate-mime-1): Convert string into unibyte when inserting " *mml*" buffer's contents into a unibyte temp buffer. 2005-01-28 Lars Magne Ingebrigtsen * man/gnus.texi: Some edits based on comments from David Abrahams. 2005-01-24 Katsumi Yamaoka * man/gnus.texi (RSS): Fix the keystroke. --- lisp/gnus/ChangeLog | 16 +++++++ lisp/gnus/gnus-art.el | 19 +++++--- lisp/gnus/mml.el | 6 ++- man/ChangeLog | 8 ++++ man/gnus.texi | 103 ++++++++++++++++++++++++------------------ 5 files changed, 98 insertions(+), 54 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 86e279685c1..2fbab6bea54 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -3,6 +3,22 @@ * message.el (message-beginning-of-line): Change the behavior when invoked between BOL and : so that it first moves backward. +2005-01-28 Katsumi Yamaoka + + * gnus-art.el (gnus-article-setup-buffer): Kill and re-create the + article buffer when editing of the article is discarded. + (gnus-article-prepare): Revert. + +2005-01-28 Katsumi Yamaoka + + * gnus-art.el (gnus-article-prepare): Remove + message-strip-forbidden-properties from the local hook. + +2005-01-24 Katsumi Yamaoka + + * mml.el (mml-generate-mime-1): Convert string into unibyte when + inserting " *mml*" buffer's contents into a unibyte temp buffer. + 2005-01-20 Katsumi Yamaoka * mm-decode.el (mm-insert-part): Switch the multibyteness of data diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 7450fee69ee..8a81176a5f6 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -1,5 +1,5 @@ ;;; gnus-art.el --- article mode commands for Gnus -;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen @@ -3743,14 +3743,19 @@ commands: (mm-enable-multibyte) (setq major-mode 'gnus-original-article-mode) (make-local-variable 'gnus-original-article)) - (if (get-buffer name) + (if (and (get-buffer name) + (with-current-buffer name + (if gnus-article-edit-mode + (if (y-or-n-p "Article mode edit in progress; discard? ") + (progn + (set-buffer-modified-p nil) + (gnus-kill-buffer name) + (message "") + nil) + (error "Action aborted")) + t))) (save-excursion (set-buffer name) - (when (and gnus-article-edit-mode - (buffer-modified-p) - (not - (y-or-n-p "Article mode edit in progress; discard? "))) - (error "Action aborted")) (set (make-local-variable 'gnus-article-edit-mode) nil) (when gnus-article-mime-handles (mm-destroy-parts gnus-article-mime-handles) diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index 8efaede70e0..f774e53499a 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el @@ -1,5 +1,5 @@ ;;; mml.el --- A package for parsing and validating MML documents -;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 +;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen @@ -472,7 +472,9 @@ If MML is non-nil, return the buffer up till the correspondent mml tag." (mm-with-unibyte-buffer (cond ((cdr (assq 'buffer cont)) - (insert-buffer-substring (cdr (assq 'buffer cont)))) + (insert (with-current-buffer (cdr (assq 'buffer cont)) + (mm-with-unibyte-current-buffer + (buffer-string))))) ((and (setq filename (cdr (assq 'filename cont))) (not (equal (cdr (assq 'nofile cont)) "yes"))) (let ((coding-system-for-read mm-binary-coding-system)) diff --git a/man/ChangeLog b/man/ChangeLog index 0e4f2a88bbf..5f69fc7d856 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,11 @@ +2005-01-28 Lars Magne Ingebrigtsen + + * gnus.texi: Some edits based on comments from David Abrahams. + +2005-01-24 Katsumi Yamaoka + + * gnus.texi (RSS): Fix the keystroke. + 2005-01-26 Lute Kamstra * cmdargs.texi (Initial Options): Add a cross reference to `Init diff --git a/man/gnus.texi b/man/gnus.texi index b0feef1bf25..d2812890a1c 100644 --- a/man/gnus.texi +++ b/man/gnus.texi @@ -391,25 +391,25 @@ the program. @end iftex @menu -* Starting Up:: Finding news can be a pain. -* Group Buffer:: Selecting, subscribing and killing groups. -* Summary Buffer:: Reading, saving and posting articles. -* Article Buffer:: Displaying and handling articles. -* Composing Messages:: Information on sending mail and news. -* Select Methods:: Gnus reads all messages from various select methods. -* Scoring:: Assigning values to articles. -* Various:: General purpose settings. -* The End:: Farewell and goodbye. -* Appendices:: Terminology, Emacs intro, @acronym{FAQ}, History, Internals. -* Index:: Variable, function and concept index. -* Key Index:: Key Index. +* Starting Up:: Finding news can be a pain. +* Group Buffer:: Selecting, subscribing and killing groups. +* Summary Buffer:: Reading, saving and posting articles. +* Article Buffer:: Displaying and handling articles. +* Composing Messages:: Information on sending mail and news. +* Select Methods:: Gnus reads all messages from various select methods. +* Scoring:: Assigning values to articles. +* Various:: General purpose settings. +* The End:: Farewell and goodbye. +* Appendices:: Terminology, Emacs intro, @acronym{FAQ}, History, Internals. +* Index:: Variable, function and concept index. +* Key Index:: Key Index. Other related manuals -* Message:(message). Composing messages. -* Emacs-MIME:(emacs-mime). Composing messages; @acronym{MIME}-specific parts. -* Sieve:(sieve). Managing Sieve scripts in Emacs. -* PGG:(pgg). @acronym{PGP/MIME} with Gnus. +* Message:(message). Composing messages. +* Emacs-MIME:(emacs-mime). Composing messages; @acronym{MIME}-specific parts. +* Sieve:(sieve). Managing Sieve scripts in Emacs. +* PGG:(pgg). @acronym{PGP/MIME} with Gnus. @detailmenu --- The Detailed Node Listing --- @@ -951,17 +951,16 @@ If you puzzle at any terms used in this manual, please refer to the terminology section (@pxref{Terminology}). @menu -* Finding the News:: Choosing a method for getting news. -* The First Time:: What does Gnus do the first time you start it? -* The Server is Down:: How can I read my mail then? -* Slave Gnusae:: You can have more than one Gnus active at a time. -* Fetching a Group:: Starting Gnus just to read a group. -* New Groups:: What is Gnus supposed to do with new groups? -* Changing Servers:: You may want to move from one server to another. -* Startup Files:: Those pesky startup files---@file{.newsrc}. -* Auto Save:: Recovering from a crash. -* The Active File:: Reading the active file over a slow line Takes Time. -* Startup Variables:: Other variables you might change. +* Finding the News:: Choosing a method for getting news. +* The First Time:: What does Gnus do the first time you start it? +* The Server is Down:: How can I read my mail then? +* Slave Gnusae:: You can have more than one Gnus active at a time. +* New Groups:: What is Gnus supposed to do with new groups? +* Changing Servers:: You may want to move from one server to another. +* Startup Files:: Those pesky startup files---@file{.newsrc}. +* Auto Save:: Recovering from a crash. +* The Active File:: Reading the active file over a slow line Takes Time. +* Startup Variables:: Other variables you might change. @end menu @@ -992,7 +991,8 @@ If you want to read directly from the local spool, say: If you can use a local spool, you probably should, as it will almost certainly be much faster. But do not use the local spool if your -server is running Leafnode; in this case, use @code{(nntp "localhost")}. +server is running Leafnode (which is a simple, standalone private news +server); in this case, use @code{(nntp "localhost")}. @vindex gnus-nntpserver-file @cindex NNTPSERVER @@ -1051,8 +1051,8 @@ you would typically set this variable to @section The First Time @cindex first time usage -If no startup files exist, Gnus will try to determine what groups should -be subscribed by default. +If no startup files exist (@pxref{Startup Files}), Gnus will try to +determine what groups should be subscribed by default. @vindex gnus-default-subscribed-newsgroups If the variable @code{gnus-default-subscribed-newsgroups} is set, Gnus @@ -1139,16 +1139,6 @@ file. If you answer ``yes'', the unsaved changes to the master will be incorporated into the slave. If you answer ``no'', the slave may see some messages as unread that have been read in the master. -@node Fetching a Group -@section Fetching a Group -@cindex fetching a group - -@findex gnus-fetch-group -It is sometimes convenient to be able to just say ``I want to read this -group and I don't care whether Gnus has been started or not''. This is -perhaps more useful for people who write code than for users, but the -command @code{gnus-fetch-group} provides this functionality in any case. -It takes the group name as a parameter. @node New Groups @@ -1400,8 +1390,10 @@ cache for all groups). @cindex .newsrc.el @cindex .newsrc.eld -Now, you all know about the @file{.newsrc} file. All subscription -information is traditionally stored in this file. +Most common Unix news readers use a shared startup file called +@file{.newsrc}. This file contains all the information about what +groups are subscribed, and which articles in these groups have been +read. Things got a bit more complicated with @sc{gnus}. In addition to keeping the @file{.newsrc} file updated, it also used a file called @@ -1426,8 +1418,10 @@ the file and save some space, as well as exiting from Gnus faster. However, this will make it impossible to use other newsreaders than Gnus. But hey, who would want to, right? Similarly, setting @code{gnus-read-newsrc-file} to @code{nil} makes Gnus ignore the -@file{.newsrc} file and any @file{.newsrc-SERVER} files, which is -convenient if you have a tendency to use Netscape once in a while. +@file{.newsrc} file and any @file{.newsrc-SERVER} files, which can be +convenient if you use a different news reader occasionally, and you +want to read a different subset of the available groups with that +news reader. @vindex gnus-save-killed-list If @code{gnus-save-killed-list} (default @code{t}) is @code{nil}, Gnus @@ -15884,7 +15878,7 @@ Use @kbd{G R} from the summary buffer to subscribe to a feed---you will be prompted for the location of the feed. An easy way to get started with @code{nnrss} is to say something like -the following in the group buffer: @kbd{B nnrss RET y}, then +the following in the group buffer: @kbd{B nnrss RET RET y}, then subscribe to groups. The following @code{nnrss} variables can be altered: @@ -20607,6 +20601,7 @@ four days, Gnus will decay the scores four times, for instance. * Undo:: Some actions can be undone. * Predicate Specifiers:: Specifying predicates. * Moderation:: What to do if you're a moderator. +* Fetching a Group:: Starting Gnus just to read a group. * Image Enhancements:: Modern versions of Emacs/XEmacs can display images. * Fuzzy Matching:: What's the big fuzz? * Thwarting Email Spam:: A how-to on avoiding unsolicited commercial email. @@ -21878,6 +21873,18 @@ To use moderation mode in these two groups, say: @end lisp +@node Fetching a Group +@section Fetching a Group +@cindex fetching a group + +@findex gnus-fetch-group +It is sometimes convenient to be able to just say ``I want to read this +group and I don't care whether Gnus has been started or not''. This is +perhaps more useful for people who write code than for users, but the +command @code{gnus-fetch-group} provides this functionality in any case. +It takes the group name as a parameter. + + @node Image Enhancements @section Image Enhancements @@ -26575,6 +26582,12 @@ The act of asking the server for info on a group and computing the number of unread articles is called @dfn{activating the group}. Un-activated groups are listed with @samp{*} in the group buffer. +@item spool +@cindex spool +News servers store their articles locally in one fashion or other. +One old-fashioned storage method is to have just one file per +article. That's called a ``traditional spool''. + @item server @cindex server A machine one can connect to and get news (or mail) from.