diff options
| author | Miles Bader | 2006-10-03 05:04:21 +0000 |
|---|---|---|
| committer | Miles Bader | 2006-10-03 05:04:21 +0000 |
| commit | f3bbbd11451643c49997116d639612ae434dcaa0 (patch) | |
| tree | 6ce54c0dbf43746478357847960e9621fe3a5719 /lisp | |
| parent | 84356ba74da100da043fea790d1253b2d92e9110 (diff) | |
| parent | 670992917f2ee196a667797e4c3806d89c0f6d61 (diff) | |
| download | emacs-f3bbbd11451643c49997116d639612ae434dcaa0.tar.gz emacs-f3bbbd11451643c49997116d639612ae434dcaa0.zip | |
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 447-459)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 141-144)
- Merge from emacs--devo--0
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-115
Diffstat (limited to 'lisp')
55 files changed, 1114 insertions, 488 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 42ef944476b..49d677c8cfc 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,12 +1,344 @@ | |||
| 1 | 2006-10-03 Denis St,A|(Bnkel <dstuenkel@googlemail.com> (tiny change) | ||
| 2 | |||
| 3 | * ibuf-ext.el (eval, view-and-eval) <define-ibuffer-op>: | ||
| 4 | Use the interactive spec of `eval-expression'. | ||
| 5 | |||
| 6 | 2006-10-02 Michael Welsh Duggan <md5i@cs.cmu.edu> | ||
| 7 | |||
| 8 | * progmodes/sh-script.el (sh-prev-thing): Fix last change. | ||
| 9 | |||
| 10 | 2006-10-02 MIYOSHI Masanori <miyoshi@meadowy.org> (tiny change) | ||
| 11 | |||
| 12 | * mail/smtpmail.el (smtpmail-try-auth-methods): Fix typo in | ||
| 13 | 2006-09-28 commit. | ||
| 14 | |||
| 15 | 2006-10-02 Kenichi Handa <handa@m17n.org> | ||
| 16 | |||
| 17 | * international/code-pages.el (iso-8859-6): Table fixed. | ||
| 18 | |||
| 19 | 2006-10-01 Chris Moore <christopher.ian.moore@gmail.com> (tiny change) | ||
| 20 | |||
| 21 | * dired.el (dired-build-subdir-alist): Fix previous change. | ||
| 22 | |||
| 23 | 2006-10-01 Johan Bockg,Ae(Brd <bojohan+mail@dd.chalmers.se> | ||
| 24 | |||
| 25 | * simple.el (undo-elt-crosses-region): Fix the inequalities. | ||
| 26 | |||
| 27 | 2006-10-01 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 28 | |||
| 29 | * emacs-lisp/find-func.el (find-function-regexp): Don't match | ||
| 30 | "define-button-type". | ||
| 31 | |||
| 32 | * pcvs.el (cvs-update-header): Fix handling of extra newlines so that | ||
| 33 | they don't keep accumulating. | ||
| 34 | |||
| 35 | 2006-10-01 Bob Rogers <rogers-emacs@rgrjr.dyndns.org> (tiny change) | ||
| 36 | |||
| 37 | * ffap.el (ffap-rfc-path): Change the address of the RFC | ||
| 38 | repository to ftp.rfc-editor.org, as ds.internic.net seems to be gone. | ||
| 39 | |||
| 40 | 2006-10-01 Stephen Berman <Stephen.Berman@gmx.net> | ||
| 41 | |||
| 42 | * allout.el (allout-expose-topic): Rectify implementation of "+" | ||
| 43 | spec, so that bodies are not exposed with headlines. | ||
| 44 | |||
| 45 | 2006-10-01 Ken Manheimer <ken.manheimer@gmail.com> | ||
| 46 | |||
| 47 | * allout.el (allout-current-depth): Do aberrent check only at or | ||
| 48 | below doublecheck depth. | ||
| 49 | (allout-chart-subtree): Make it explicit that LEVELS being nil | ||
| 50 | means unlimited depth. Drop undocumented support for LEVELS value | ||
| 51 | t meaning unlimited depth. (This is consistent with | ||
| 52 | allout-chart-to-reveal, but contrary to allout-show-children, | ||
| 53 | which needs to use nil to default to depth of 1.) | ||
| 54 | (allout-goto-prefix-doublechecked): Wrap long docstring line. | ||
| 55 | (allout-chart-to-reveal): Be explicit in docstring about meaning | ||
| 56 | of nil LEVELS, and drop support for LEVELS value t. | ||
| 57 | (allout-show-children): Translate the level spec used by this | ||
| 58 | routine to that used by allout-chart-subtree and | ||
| 59 | allout-chart-to-reveal. | ||
| 60 | (allout-show-to-offshoot): Retry once when stuck, after opening | ||
| 61 | subtree - improvements in discontinuity handling likely will | ||
| 62 | enable progress. | ||
| 63 | |||
| 64 | 2006-09-30 Chong Yidong <cyd@stupidchicken.com> | ||
| 65 | |||
| 66 | * wid-edit.el (widget-button-click-moves-point): New variable. | ||
| 67 | (widget-button-click): If widget-button-click-moves-point is | ||
| 68 | non-nil, set point after performing the button action | ||
| 69 | |||
| 70 | * cus-edit.el (custom-mode): Set widget-button-click-moves-point. | ||
| 71 | |||
| 72 | 2006-09-30 Martin Rudalics <rudalics@gmx.at> | ||
| 73 | |||
| 74 | * files.el (find-file-existing): Modify to not allow wildcards. | ||
| 75 | |||
| 76 | 2006-09-30 Johan Bockg,Ae(Brd <bojohan@dd.chalmers.se> | ||
| 77 | |||
| 78 | * simple.el (undo-more): When undo information for the region is | ||
| 79 | exhausted, say "No further undo information FOR REGION". | ||
| 80 | |||
| 81 | 2006-09-30 Michael Welsh Duggan <md5i@cs.cmu.edu> | ||
| 82 | |||
| 83 | * progmodes/sh-script.el (sh-prev-thing): | ||
| 84 | Take `sh-leading-keywords' into account. | ||
| 85 | |||
| 86 | 2006-09-29 Glenn Morris <rgm@gnu.org> | ||
| 87 | |||
| 88 | * custom.el (defcustom): Doc fix. | ||
| 89 | |||
| 90 | * calendar/calendar.el (european-calendar-style): | ||
| 91 | Call european-calendar or american-calendar as needed when set. | ||
| 92 | (diary-view-entries, list-calendar-holidays): Move autoloads | ||
| 93 | before use. | ||
| 94 | |||
| 95 | 2006-09-29 Juri Linkov <juri@jurta.org> | ||
| 96 | |||
| 97 | * progmodes/cperl-mode.el (cperl-after-expr-p): Don't move point | ||
| 98 | to nil if there is no previous property change. | ||
| 99 | |||
| 100 | 2006-09-26 Micha,Ak(Bl Cadilhac <michael.cadilhac@lrde.org> | ||
| 101 | |||
| 102 | * cus-edit.el (custom-save-all): Switch to emacs-lisp mode before | ||
| 103 | saving anything to be sure that `forward-sexp' behaves correctly. | ||
| 104 | |||
| 105 | 2006-09-29 Chong Yidong <cyd@stupidchicken.com> | ||
| 106 | |||
| 107 | * simple.el (line-move-finish): Ignore field boundaries if the | ||
| 108 | initial and final points have the same `field' property. | ||
| 109 | |||
| 110 | 2006-09-29 Kim F. Storm <storm@cua.dk> | ||
| 111 | |||
| 112 | * ido.el (ido-file-internal): Only bind minibuffer-completing-file-name | ||
| 113 | to t while calling ido-read-internal. | ||
| 114 | |||
| 115 | 2006-09-29 Carsten Dominik <dominik@science.uva.nl> | ||
| 116 | |||
| 117 | * textmodes/org.el (org-file-remote-p): Get regexp from list. | ||
| 118 | (org-archive-subtree): Remove erraneous `]' from character list. | ||
| 119 | |||
| 120 | 2006-09-28 Jonathan Yavner <jyavner@member.fsf.org> | ||
| 121 | |||
| 122 | * ses.el (ses-in-print-area, ses-goto-data, ses-load) | ||
| 123 | (ses-reconstruct-all): Make undo of "insert row" work by keeping | ||
| 124 | markers for data-area and parameters-area. | ||
| 125 | |||
| 126 | 2006-09-28 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 127 | |||
| 128 | * progmodes/make-mode.el (makefile-mode): Don't disable jit-lock. | ||
| 129 | |||
| 130 | * font-lock.el (font-lock-after-change-function): Refontify next line | ||
| 131 | as well if end is at BOL. | ||
| 132 | (font-lock-extend-jit-lock-region-after-change): Be more careful to | ||
| 133 | only extend the region as much as needed. | ||
| 134 | |||
| 135 | 2006-09-28 Richard Stallman <rms@gnu.org> | ||
| 136 | |||
| 137 | * comint.el (comint-mode): Bind font-lock-defaults non-nil. | ||
| 138 | |||
| 139 | * subr.el (insert-for-yank-1): Handle `font-lock-face' specially. | ||
| 140 | |||
| 141 | * international/mule.el (after-insert-file-set-coding): | ||
| 142 | If VISIT, don't let set-buffer-multibyte make undo info. | ||
| 143 | |||
| 144 | 2006-09-28 Osamu Yamane <yamane@green.ocn.ne.jp> (tiny change) | ||
| 145 | |||
| 146 | * mail/smtpmail.el (smtpmail-try-auth-methods): Do not break long | ||
| 147 | lines in base64-encoded authentication response. | ||
| 148 | |||
| 149 | 2006-09-26 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 150 | |||
| 151 | * progmode/ebnf2ps.el: Doc fix. Implement arrow spacing and scaling. | ||
| 152 | (ebnf-version): New version 4.3. | ||
| 153 | (ebnf-arrow-extra-width, ebnf-arrow-scale): New options. | ||
| 154 | (ebnf-prologue): Adjust PostScript programming. | ||
| 155 | (ebnf-begin-file, ebnf-insert-ebnf-prologue, ebnf-terminal-dimension1) | ||
| 156 | (ebnf-repeat-dimension, ebnf-except-dimension): Adjust code. | ||
| 157 | |||
| 158 | 2006-09-26 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 159 | |||
| 160 | * jit-lock.el (jit-lock-force-redisplay): Rename from | ||
| 161 | jit-lock-fontify-again, and undo the mistaken change I've just done. | ||
| 162 | |||
| 163 | * jit-lock.el (jit-lock-fontify-now): Don't fontify the empty text. | ||
| 164 | (jit-lock-fontify-again): Don't refontify text that's not displayed. | ||
| 165 | |||
| 166 | 2006-09-26 Kenichi Handa <handa@m17n.org> | ||
| 167 | |||
| 168 | * startup.el (display-splash-screen): Allow a prefix argument. | ||
| 169 | |||
| 170 | 2006-09-25 Jason Rumney <jasonr@gnu.org> | ||
| 171 | |||
| 172 | * subr.el (shell-quote-argument): Use DOS logic for Windows | ||
| 173 | shells with DOS semantics. | ||
| 174 | |||
| 175 | 2006-09-24 Richard Stallman <rms@gnu.org> | ||
| 176 | |||
| 177 | * progmodes/compile.el (compilation-goto-locus-delete-o): New fn. | ||
| 178 | (compilation-goto-locus): Use compilation-goto-locus-delete-o | ||
| 179 | to delete the overlay. Put it on pre-command-hook. | ||
| 180 | |||
| 181 | * emacs-lisp/timer.el (timer-max-repeats): Doc fix. | ||
| 182 | |||
| 183 | * startup.el (fancy-splash-screens, normal-splash-screen): | ||
| 184 | Call the splash buffer *About GNU Emacs*. | ||
| 185 | |||
| 186 | * simple.el (next-error-highlight, next-error-highlight-no-select): | ||
| 187 | Default to 0.5. | ||
| 188 | (yank-excluded-properties): Add `fontified'. | ||
| 189 | |||
| 190 | * font-lock.el (font-lock-compile-keywords): Allow value of | ||
| 191 | syntax-begin-function to enable paren-column-0 highlighting. | ||
| 192 | |||
| 193 | 2006-09-24 Chris Moore <christopher.ian.moore@gmail.com> (tiny change) | ||
| 194 | |||
| 195 | * dired.el (dired-build-subdir-alist): When file ends in colon, | ||
| 196 | don't exit the loop, just disregard that file. | ||
| 197 | |||
| 198 | 2006-09-24 Chong Yidong <cyd@stupidchicken.com> | ||
| 199 | |||
| 200 | * simple.el (line-move-finish): Handle corner case for fields in | ||
| 201 | continued lines. | ||
| 202 | (line-move-1): Remove flawed test for that case. | ||
| 203 | |||
| 204 | 2006-09-24 Ken Manheimer <ken.manheimer@gmail.com> | ||
| 205 | |||
| 206 | * icomplete.el (icomplete-simple-completing-p): Use the correct | ||
| 207 | name for the new variable, `icomplete-with-completion-tables'. | ||
| 208 | (file local variables): Remove superfluous setting. | ||
| 209 | |||
| 210 | 2006-09-23 Jeff Miller <jmiller@cablespeed.com> (tiny change) | ||
| 211 | |||
| 212 | * calendar/appt.el (appt-check): Fix typo for appointments just | ||
| 213 | after midnight. | ||
| 214 | |||
| 215 | 2006-09-23 Chong Yidong <cyd@stupidchicken.com> | ||
| 216 | |||
| 217 | * help.el (describe-key-briefly, describe-key): Don't expect an | ||
| 218 | extra up event if a down-event is generated by a popup menu. | ||
| 219 | |||
| 220 | 2006-09-23 Michal Nazarewicz <mnazarewicz@gmail.com> (tiny change) | ||
| 221 | |||
| 222 | * textmodes/ispell.el (ispell-change-dictionary): Don't check the | ||
| 223 | local dictionary when changing the global dictionary. | ||
| 224 | |||
| 225 | 2006-09-23 Ken Manheimer <ken.manheimer@gmail.com> | ||
| 226 | |||
| 227 | * icomplete.el (icomplete-with-completion-tables): List of | ||
| 228 | specialized completion tables with which icomplete should | ||
| 229 | operate. Include the new `internal-complete-buffer', so icomplete | ||
| 230 | works with interactive buffer-selection. | ||
| 231 | (icomplete-simple-completing-p): Add acceptance of specialized | ||
| 232 | completion tables listed in icomplete-with-completion-tables. | ||
| 233 | |||
| 234 | 2006-09-23 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 235 | |||
| 236 | * frame.el (focus-follows-mouse): Set default to nil on Mac. | ||
| 237 | |||
| 238 | * startup.el (command-line): Use `custom-reevaluate-setting' for | ||
| 239 | `focus-follows-mouse'. | ||
| 240 | |||
| 241 | 2006-09-22 Richard Stallman <rms@gnu.org> | ||
| 242 | |||
| 243 | * cus-edit.el (custom-buffer-create-internal): In `emacs -q', | ||
| 244 | explain why Save is not available. | ||
| 245 | |||
| 246 | 2006-09-22 Juanma Barranquero <lekktu@gmail.com> | ||
| 247 | |||
| 248 | * woman.el (woman0-so): Use `let*', not `let'. | ||
| 249 | (woman-horizontal-line): Remove unbalanced parenthesis. | ||
| 250 | |||
| 251 | 2006-09-22 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 252 | |||
| 253 | * woman.el: Make sure all the end-of-region markers we use have | ||
| 254 | a non-nil insertion-type. | ||
| 255 | (woman0-so): Move things around so we can use copy-marker. | ||
| 256 | (woman0-roff-buffer, woman2-process-escapes-to-eol, woman2-roff-buffer): | ||
| 257 | Adjust marker type. | ||
| 258 | (woman2-process-escapes): Check marker type. | ||
| 259 | (woman-horizontal-line): Dispense with the use of a marker. | ||
| 260 | |||
| 261 | 2006-09-22 Jay Belanger <belanger@truman.edu> | ||
| 262 | |||
| 263 | * calc/calc-lang.el: Add Greek letters to math-variable-table | ||
| 264 | property of tex. | ||
| 265 | |||
| 266 | 2006-09-22 Chong Yidong <cyd@stupidchicken.com> | ||
| 267 | |||
| 268 | * files.el (save-some-buffers-action-alist): Display diff in | ||
| 269 | view-mode. | ||
| 270 | |||
| 271 | 2006-09-22 Masatake YAMATO <jet@gyve.org> | ||
| 272 | |||
| 273 | * add-log.el (add-log-current-defun): Use `forward-sexp' | ||
| 274 | instead of `forward-word' to pick c++::symbol. | ||
| 275 | Reported by Herbert Euler <herberteuler@hotmail.com>. | ||
| 276 | |||
| 277 | 2006-09-22 Kenichi Handa <handa@m17n.org> | ||
| 278 | |||
| 279 | * bindings.el: Fix setting self-insert-command for multibyte | ||
| 280 | characters in global-map. | ||
| 281 | |||
| 282 | 2006-09-21 David Kastrup <dak@gnu.org> | ||
| 283 | |||
| 284 | * mouse.el (mouse-posn-property): Fix typo for `event-start' in | ||
| 285 | doc string. | ||
| 286 | |||
| 287 | 2006-09-21 Kim F. Storm <storm@cua.dk> | ||
| 288 | |||
| 289 | * emacs-lisp/cl.el (pushnew-internal): Remove defvar. | ||
| 290 | (pushnew): Fix last change. | ||
| 291 | |||
| 292 | 2006-09-21 Kenichi Handa <handa@m17n.org> | ||
| 293 | |||
| 294 | * language/european.el ("Latin-1"): Add windows-1252 to | ||
| 295 | coding-priority. | ||
| 296 | ("German"): Likewise. | ||
| 297 | |||
| 298 | 2006-09-21 Kim F. Storm <storm@cua.dk> | ||
| 299 | |||
| 300 | * emacs-lisp/cl-macs.el (member*): Use memql instead of complex code. | ||
| 301 | Suggested by Miles Bader. | ||
| 302 | |||
| 303 | * emacs-lisp/cl.el (pushnew): Rework 2006-09-10 change. Use memql | ||
| 304 | instead of add-to-list in the simple case. | ||
| 305 | |||
| 306 | 2006-09-20 Kenichi Handa <handa@m17n.org> | ||
| 307 | |||
| 308 | * isearch.el (isearch-process-search-char): Cancel the previous | ||
| 309 | change. | ||
| 310 | (isearch-search-string): New function. | ||
| 311 | (isearch-search): Use isearch-search-string. | ||
| 312 | (isearch-lazy-highlight-search): Likewise. | ||
| 313 | |||
| 314 | 2006-09-20 Vinicius Jose Latorre <viniciusjl@ig.com.br> | ||
| 315 | |||
| 316 | * lpr.el (lpr-page-header-switches): Insert `*' at beginning of doc | ||
| 317 | string to become an option. | ||
| 318 | |||
| 319 | 2006-09-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 320 | |||
| 321 | * files.el (find-buffer-visiting): Don't get fooled by a nil inode. | ||
| 322 | |||
| 323 | 2006-09-20 Kim F. Storm <storm@cua.dk> | ||
| 324 | |||
| 325 | * simple.el (line-move-partial): Call pos-visible-in-window-p with | ||
| 326 | position t instead of trying both window-end and window-end - 1. | ||
| 327 | |||
| 328 | 2006-09-20 Carsten Dominik <dominik@science.uva.nl> | ||
| 329 | |||
| 330 | * textmodes/org.el (org-scan-tags): Find end of subtrees also in | ||
| 331 | hidden trees. | ||
| 332 | |||
| 1 | 2006-09-20 David Kastrup <dak@gnu.org> | 333 | 2006-09-20 David Kastrup <dak@gnu.org> |
| 2 | 334 | ||
| 3 | * mouse.el (mouse-posn-property): Improve doc string. | 335 | * mouse.el (mouse-posn-property): Improve doc string. |
| 4 | (mouse-on-link-p): Change buffers for function calls on links. | 336 | (mouse-on-link-p): Change buffers for function calls on links. |
| 5 | 337 | ||
| 6 | * menu-bar.el (clipboard-yank): bomb out in interactive use if | 338 | * menu-bar.el (clipboard-yank): Bomb out in interactive use if |
| 7 | buffer is read-only. | 339 | buffer is read-only. |
| 8 | 340 | ||
| 9 | 2006-09-18 Ken Manheimer <ken.manheimer@gmail.com> | 341 | 2006-09-20 Ken Manheimer <ken.manheimer@gmail.com> |
| 10 | 342 | ||
| 11 | * allout.el (allout-unprotected): Let inhibit-read-only only when | 343 | * allout.el (allout-unprotected): Let inhibit-read-only only when |
| 12 | buffer-read-only isn't set. | 344 | buffer-read-only isn't set. |
| @@ -17,16 +349,15 @@ | |||
| 17 | rather than allout-exposure-changed-hook, as a stronger assertion. | 349 | rather than allout-exposure-changed-hook, as a stronger assertion. |
| 18 | (allout-keybindings-list): Add bindings for | 350 | (allout-keybindings-list): Add bindings for |
| 19 | allout-copy-line-as-kill and allout-copy-topic-as-kill. | 351 | allout-copy-line-as-kill and allout-copy-topic-as-kill. |
| 20 | (allout-copy-line-as-kill, allout-copy-topic-as-kill): copy | 352 | (allout-copy-line-as-kill, allout-copy-topic-as-kill): |
| 21 | wrappers for allout-kill-line and allout-kill-topic. | 353 | Copy wrappers for allout-kill-line and allout-kill-topic. |
| 22 | (allout-listify-exposed): Position correctly to accumulate lines. | 354 | (allout-listify-exposed): Position correctly to accumulate lines. |
| 23 | 355 | ||
| 24 | 2006-09-19 Chong Yidong <cyd@stupidchicken.com> | 356 | 2006-09-19 Chong Yidong <cyd@stupidchicken.com> |
| 25 | 357 | ||
| 26 | * simple.el (line-move-1): Escape field boundaries occurring | 358 | * simple.el (line-move-1): Escape field boundaries occurring |
| 27 | exactly at point. Update goal column if constrained to a field. | 359 | exactly at point. Update goal column if constrained to a field. |
| 28 | (line-move-finish): Escape field boundaries occurring exactly at | 360 | (line-move-finish): Escape field boundaries occurring exactly at point. |
| 29 | point. | ||
| 30 | 361 | ||
| 31 | 2006-09-19 Stefan Monnier <monnier@iro.umontreal.ca> | 362 | 2006-09-19 Stefan Monnier <monnier@iro.umontreal.ca> |
| 32 | 363 | ||
diff --git a/lisp/add-log.el b/lisp/add-log.el index 393a696d3f1..d60f920244a 100644 --- a/lisp/add-log.el +++ b/lisp/add-log.el | |||
| @@ -914,7 +914,7 @@ Has a preference of looking backwards." | |||
| 914 | ;; Include certain keywords if they | 914 | ;; Include certain keywords if they |
| 915 | ;; precede the name. | 915 | ;; precede the name. |
| 916 | (setq middle (point)) | 916 | (setq middle (point)) |
| 917 | (forward-word -1) | 917 | (forward-sexp -1) |
| 918 | ;; Is this C++ method? | 918 | ;; Is this C++ method? |
| 919 | (when (and (< 2 middle) | 919 | (when (and (< 2 middle) |
| 920 | (string= (buffer-substring (- middle 2) | 920 | (string= (buffer-substring (- middle 2) |
diff --git a/lisp/allout.el b/lisp/allout.el index 2d7a4777df3..5f59e5e0103 100644 --- a/lisp/allout.el +++ b/lisp/allout.el | |||
| @@ -2202,8 +2202,9 @@ Actually, returns prefix beginning point." | |||
| 2202 | (save-excursion | 2202 | (save-excursion |
| 2203 | (allout-beginning-of-current-line) | 2203 | (allout-beginning-of-current-line) |
| 2204 | (and (looking-at allout-regexp) | 2204 | (and (looking-at allout-regexp) |
| 2205 | (not (allout-aberrant-container-p)) | 2205 | (allout-prefix-data) |
| 2206 | (allout-prefix-data)))) | 2206 | (or (> allout-recent-depth allout-doublecheck-at-and-shallower) |
| 2207 | (not (allout-aberrant-container-p)))))) | ||
| 2207 | ;;;_ > allout-on-heading-p () | 2208 | ;;;_ > allout-on-heading-p () |
| 2208 | (defalias 'allout-on-heading-p 'allout-on-current-heading-p) | 2209 | (defalias 'allout-on-heading-p 'allout-on-current-heading-p) |
| 2209 | ;;;_ > allout-e-o-prefix-p () | 2210 | ;;;_ > allout-e-o-prefix-p () |
| @@ -2329,7 +2330,7 @@ If less than this depth, ascend to that depth and count..." | |||
| 2329 | 2330 | ||
| 2330 | (save-excursion | 2331 | (save-excursion |
| 2331 | (cond ((and depth (<= depth 0) 0)) | 2332 | (cond ((and depth (<= depth 0) 0)) |
| 2332 | ((or (not depth) (= depth (allout-depth))) | 2333 | ((or (null depth) (= depth (allout-depth))) |
| 2333 | (let ((index 1)) | 2334 | (let ((index 1)) |
| 2334 | (while (allout-previous-sibling allout-recent-depth nil) | 2335 | (while (allout-previous-sibling allout-recent-depth nil) |
| 2335 | (setq index (1+ index))) | 2336 | (setq index (1+ index))) |
| @@ -2505,13 +2506,13 @@ We skip anomolous low-level topics, a la `allout-aberrant-container-p'." | |||
| 2505 | (defun allout-chart-subtree (&optional levels visible orig-depth prev-depth) | 2506 | (defun allout-chart-subtree (&optional levels visible orig-depth prev-depth) |
| 2506 | "Produce a location \"chart\" of subtopics of the containing topic. | 2507 | "Produce a location \"chart\" of subtopics of the containing topic. |
| 2507 | 2508 | ||
| 2508 | Optional argument LEVELS specifies the depth \(relative to start | 2509 | Optional argument LEVELS specifies a depth limit \(relative to start |
| 2509 | depth) for the chart. | 2510 | depth) for the chart. Null LEVELS means no limit. |
| 2510 | 2511 | ||
| 2511 | When optional argument VISIBLE is non-nil, the chart includes | 2512 | When optional argument VISIBLE is non-nil, the chart includes |
| 2512 | only the visible subelements of the charted subjects. | 2513 | only the visible subelements of the charted subjects. |
| 2513 | 2514 | ||
| 2514 | The remaining optional args are not for internal use by the function. | 2515 | The remaining optional args are for internal use by the function. |
| 2515 | 2516 | ||
| 2516 | Point is left at the end of the subtree. | 2517 | Point is left at the end of the subtree. |
| 2517 | 2518 | ||
| @@ -2618,16 +2619,19 @@ for an explanation of charts." | |||
| 2618 | 2619 | ||
| 2619 | "Return a flat list of hidden points in subtree CHART, up to DEPTH. | 2620 | "Return a flat list of hidden points in subtree CHART, up to DEPTH. |
| 2620 | 2621 | ||
| 2622 | If DEPTH is nil, include hidden points at any depth. | ||
| 2623 | |||
| 2621 | Note that point can be left at any of the points on chart, or at the | 2624 | Note that point can be left at any of the points on chart, or at the |
| 2622 | start point." | 2625 | start point." |
| 2623 | 2626 | ||
| 2624 | (let (result here) | 2627 | (let (result here) |
| 2625 | (while (and (or (eq depth t) (> depth 0)) | 2628 | (while (and (or (null depth) (> depth 0)) |
| 2626 | chart) | 2629 | chart) |
| 2627 | (setq here (car chart)) | 2630 | (setq here (car chart)) |
| 2628 | (if (listp here) | 2631 | (if (listp here) |
| 2629 | (let ((further (allout-chart-to-reveal here (or (eq depth t) | 2632 | (let ((further (allout-chart-to-reveal here (if (null depth) |
| 2630 | (1- depth))))) | 2633 | depth |
| 2634 | (1- depth))))) | ||
| 2631 | ;; We're on the start of a subtree - recurse with it, if there's | 2635 | ;; We're on the start of a subtree - recurse with it, if there's |
| 2632 | ;; more depth to go: | 2636 | ;; more depth to go: |
| 2633 | (if further (setq result (append further result))) | 2637 | (if further (setq result (append further result))) |
| @@ -2697,7 +2701,10 @@ Returns the point at the beginning of the prefix, or nil if none." | |||
| 2697 | (defun allout-goto-prefix-doublechecked () | 2701 | (defun allout-goto-prefix-doublechecked () |
| 2698 | "Put point at beginning of immediately containing outline topic. | 2702 | "Put point at beginning of immediately containing outline topic. |
| 2699 | 2703 | ||
| 2700 | Like `allout-goto-prefix', but shallow topics \(according to `allout-doublecheck-at-and-shallower') are checked and disqualified for child containment discontinuity, according to `allout-aberrant-container-p'." | 2704 | Like `allout-goto-prefix', but shallow topics \(according to |
| 2705 | `allout-doublecheck-at-and-shallower') are checked and | ||
| 2706 | disqualified for child containment discontinuity, according to | ||
| 2707 | `allout-aberrant-container-p'." | ||
| 2701 | (allout-goto-prefix) | 2708 | (allout-goto-prefix) |
| 2702 | (if (and (<= allout-recent-depth allout-doublecheck-at-and-shallower) | 2709 | (if (and (<= allout-recent-depth allout-doublecheck-at-and-shallower) |
| 2703 | (allout-aberrant-container-p)) | 2710 | (allout-aberrant-container-p)) |
| @@ -4620,8 +4627,13 @@ point of non-opened subtree?)" | |||
| 4620 | (allout-beginning-of-current-line) | 4627 | (allout-beginning-of-current-line) |
| 4621 | (save-restriction | 4628 | (save-restriction |
| 4622 | (let* (depth | 4629 | (let* (depth |
| 4623 | (chart (allout-chart-subtree (or level 1))) | 4630 | ;; translate the level spec for this routine to the ones |
| 4624 | (to-reveal (or (allout-chart-to-reveal chart (or level 1)) | 4631 | ;; used by -chart-subtree and -chart-to-reveal: |
| 4632 | (chart-level (cond ((not level) 1) | ||
| 4633 | ((eq level t) nil) | ||
| 4634 | (t level))) | ||
| 4635 | (chart (allout-chart-subtree chart-level)) | ||
| 4636 | (to-reveal (or (allout-chart-to-reveal chart chart-level) | ||
| 4625 | ;; interactive, show discontinuous children: | 4637 | ;; interactive, show discontinuous children: |
| 4626 | (and chart | 4638 | (and chart |
| 4627 | (interactive-p) | 4639 | (interactive-p) |
| @@ -4672,22 +4684,22 @@ Useful for coherently exposing to a random point in a hidden region." | |||
| 4672 | (orig-pt (point)) | 4684 | (orig-pt (point)) |
| 4673 | (orig-pref (allout-goto-prefix-doublechecked)) | 4685 | (orig-pref (allout-goto-prefix-doublechecked)) |
| 4674 | (last-at (point)) | 4686 | (last-at (point)) |
| 4675 | bag-it) | 4687 | (bag-it 0)) |
| 4676 | (while (or bag-it (allout-hidden-p)) | 4688 | (while (or (> bag-it 1) (allout-hidden-p)) |
| 4677 | (while (allout-hidden-p) | 4689 | (while (allout-hidden-p) |
| 4678 | (move-beginning-of-line 1) | 4690 | (move-beginning-of-line 1) |
| 4679 | (if (allout-hidden-p) (forward-char -1))) | 4691 | (if (allout-hidden-p) (forward-char -1))) |
| 4680 | (if (= last-at (setq last-at (point))) | 4692 | (if (= last-at (setq last-at (point))) |
| 4681 | ;; Oops, we're not making any progress! Show the current | 4693 | ;; Oops, we're not making any progress! Show the current topic |
| 4682 | ;; topic completely, and bag this try. | 4694 | ;; completely, and try one more time here, if we haven't already. |
| 4683 | (progn (beginning-of-line) | 4695 | (progn (beginning-of-line) |
| 4684 | (allout-show-current-subtree) | 4696 | (allout-show-current-subtree) |
| 4685 | (goto-char orig-pt) | 4697 | (goto-char orig-pt) |
| 4686 | (setq bag-it t) | 4698 | (setq bag-it (1+ bag-it)) |
| 4687 | (beep) | 4699 | (if (> bag-it 1) |
| 4688 | (message "%s: %s" | 4700 | (error "allout-show-to-offshoot: %s" |
| 4689 | "allout-show-to-offshoot: " | 4701 | "Stumped by aberrant nesting."))) |
| 4690 | "Aberrant nesting encountered.")) | 4702 | (if (> bag-it 0) (setq bag-it 0)) |
| 4691 | (allout-show-children) | 4703 | (allout-show-children) |
| 4692 | (goto-char orig-pref))) | 4704 | (goto-char orig-pref))) |
| 4693 | (goto-char orig-pt))) | 4705 | (goto-char orig-pt))) |
| @@ -4895,7 +4907,10 @@ Examples: | |||
| 4895 | (cond ((eq curr-elem '*) (allout-show-current-subtree) | 4907 | (cond ((eq curr-elem '*) (allout-show-current-subtree) |
| 4896 | (if (> allout-recent-end-of-subtree max-pos) | 4908 | (if (> allout-recent-end-of-subtree max-pos) |
| 4897 | (setq max-pos allout-recent-end-of-subtree))) | 4909 | (setq max-pos allout-recent-end-of-subtree))) |
| 4898 | ((eq curr-elem '+) (allout-show-current-branches) | 4910 | ((eq curr-elem '+) |
| 4911 | (if (not (allout-hidden-p)) | ||
| 4912 | (save-excursion (allout-hide-current-subtree t))) | ||
| 4913 | (allout-show-current-branches) | ||
| 4899 | (if (> allout-recent-end-of-subtree max-pos) | 4914 | (if (> allout-recent-end-of-subtree max-pos) |
| 4900 | (setq max-pos allout-recent-end-of-subtree))) | 4915 | (setq max-pos allout-recent-end-of-subtree))) |
| 4901 | ((eq curr-elem '-) (allout-show-current-entry)) | 4916 | ((eq curr-elem '-) (allout-show-current-entry)) |
diff --git a/lisp/calc/calc-lang.el b/lisp/calc/calc-lang.el index c7f92a13847..07bc0e247f7 100644 --- a/lisp/calc/calc-lang.el +++ b/lisp/calc/calc-lang.el | |||
| @@ -409,13 +409,54 @@ | |||
| 409 | ( \\mu . calcFunc-moebius ))) | 409 | ( \\mu . calcFunc-moebius ))) |
| 410 | 410 | ||
| 411 | (put 'tex 'math-variable-table | 411 | (put 'tex 'math-variable-table |
| 412 | '( ( \\pi . var-pi ) | 412 | '( |
| 413 | ( \\infty . var-inf ) | 413 | ;; The Greek letters |
| 414 | ( \\infty . var-uinf ) | 414 | ( \\alpha . var-alpha ) |
| 415 | ( \\phi . var-phi ) | 415 | ( \\beta . var-beta ) |
| 416 | ( \\gamma . var-gamma ) | 416 | ( \\gamma . var-gamma ) |
| 417 | ( \\sum . (math-parse-tex-sum calcFunc-sum) ) | 417 | ( \\Gamma . var-Gamma ) |
| 418 | ( \\prod . (math-parse-tex-sum calcFunc-prod) ))) | 418 | ( \\delta . var-delta ) |
| 419 | ( \\Delta . var-Delta ) | ||
| 420 | ( \\epsilon . var-epsilon ) | ||
| 421 | ( \\varepsilon . var-varepsilon) | ||
| 422 | ( \\zeta . var-zeta ) | ||
| 423 | ( \\eta . var-eta ) | ||
| 424 | ( \\theta . var-theta ) | ||
| 425 | ( \\vartheta . var-vartheta ) | ||
| 426 | ( \\Theta . var-Theta ) | ||
| 427 | ( \\iota . var-iota ) | ||
| 428 | ( \\kappa . var-kappa ) | ||
| 429 | ( \\lambda . var-lambda ) | ||
| 430 | ( \\Lambda . var-Lambda ) | ||
| 431 | ( \\mu . var-mu ) | ||
| 432 | ( \\nu . var-nu ) | ||
| 433 | ( \\xi . var-xi ) | ||
| 434 | ( \\Xi . var-Xi ) | ||
| 435 | ( \\pi . var-pi ) | ||
| 436 | ( \\varpi . var-varpi ) | ||
| 437 | ( \\Pi . var-Pi ) | ||
| 438 | ( \\rho . var-rho ) | ||
| 439 | ( \\varrho . var-varrho ) | ||
| 440 | ( \\sigma . var-sigma ) | ||
| 441 | ( \\sigma . var-varsigma ) | ||
| 442 | ( \\Sigma . var-Sigma ) | ||
| 443 | ( \\tau . var-tau ) | ||
| 444 | ( \\upsilon . var-upsilon ) | ||
| 445 | ( \\Upsilon . var-Upsilon ) | ||
| 446 | ( \\phi . var-phi ) | ||
| 447 | ( \\varphi . var-varphi ) | ||
| 448 | ( \\Phi . var-Phi ) | ||
| 449 | ( \\chi . var-chi ) | ||
| 450 | ( \\psi . var-psi ) | ||
| 451 | ( \\Psi . var-Psi ) | ||
| 452 | ( \\omega . var-omega ) | ||
| 453 | ( \\Omega . var-Omega ) | ||
| 454 | ;; Others | ||
| 455 | ( \\ell . var-ell ) | ||
| 456 | ( \\infty . var-inf ) | ||
| 457 | ( \\infty . var-uinf ) | ||
| 458 | ( \\sum . (math-parse-tex-sum calcFunc-sum) ) | ||
| 459 | ( \\prod . (math-parse-tex-sum calcFunc-prod) ))) | ||
| 419 | 460 | ||
| 420 | (put 'tex 'math-complex-format 'i) | 461 | (put 'tex 'math-complex-format 'i) |
| 421 | 462 | ||
diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el index 29e6fe56b6e..892c76bba0c 100644 --- a/lisp/calendar/appt.el +++ b/lisp/calendar/appt.el | |||
| @@ -394,8 +394,8 @@ displayed in a window: | |||
| 394 | (if (and (< appt-comp-time appt-message-warning-time) | 394 | (if (and (< appt-comp-time appt-message-warning-time) |
| 395 | (> (+ cur-comp-time appt-message-warning-time) | 395 | (> (+ cur-comp-time appt-message-warning-time) |
| 396 | appt-max-time)) | 396 | appt-max-time)) |
| 397 | (setq min-to-app (+ (- (1+ appt-max-time) cur-comp-time)) | 397 | (setq min-to-app (+ (- (1+ appt-max-time) cur-comp-time) |
| 398 | appt-comp-time)) | 398 | appt-comp-time))) |
| 399 | 399 | ||
| 400 | ;; issue warning if the appointment time is | 400 | ;; issue warning if the appointment time is |
| 401 | ;; within appt-message-warning time | 401 | ;; within appt-message-warning time |
diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 38bcc887ec0..6fc18d05837 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el | |||
| @@ -568,11 +568,20 @@ are | |||
| 568 | 568 | ||
| 569 | Names can be capitalized or not, written in full (as specified by the | 569 | Names can be capitalized or not, written in full (as specified by the |
| 570 | variable `calendar-day-name-array'), or abbreviated (as specified by | 570 | variable `calendar-day-name-array'), or abbreviated (as specified by |
| 571 | `calendar-day-abbrev-array') with or without a period. To take effect, | 571 | `calendar-day-abbrev-array') with or without a period. |
| 572 | this variable should be set before the calendar package and its associates | 572 | |
| 573 | are loaded. Otherwise, use one of the functions `european-calendar' or | 573 | Setting this variable directly does not take effect (if the |
| 574 | `american-calendar' to force the appropriate update." | 574 | calendar package is already loaded). Rather, use either |
| 575 | \\[customize] or the functions `european-calendar' and | ||
| 576 | `american-calendar'." | ||
| 575 | :type 'boolean | 577 | :type 'boolean |
| 578 | ;; Without :initialize (require 'calendar) throws an error because | ||
| 579 | ;; american-calendar is undefined at this point. | ||
| 580 | :initialize 'custom-initialize-default | ||
| 581 | :set (lambda (symbol value) | ||
| 582 | (if value | ||
| 583 | (european-calendar) | ||
| 584 | (american-calendar))) | ||
| 576 | :group 'diary) | 585 | :group 'diary) |
| 577 | 586 | ||
| 578 | ;;;###autoload | 587 | ;;;###autoload |
| @@ -1582,6 +1591,19 @@ See the documentation of that function for more information." | |||
| 1582 | (calendar-only-one-frame-setup arg)) | 1591 | (calendar-only-one-frame-setup arg)) |
| 1583 | (t (calendar-basic-setup arg)))) | 1592 | (t (calendar-basic-setup arg)))) |
| 1584 | 1593 | ||
| 1594 | (autoload 'diary-view-entries "diary-lib" | ||
| 1595 | "Prepare and display a buffer with diary entries. | ||
| 1596 | Searches your diary file for entries that match ARG days starting with | ||
| 1597 | the date indicated by the cursor position in the displayed three-month | ||
| 1598 | calendar." | ||
| 1599 | t) | ||
| 1600 | |||
| 1601 | (autoload 'list-calendar-holidays "holidays" | ||
| 1602 | "Create a buffer containing the holidays for the current calendar window. | ||
| 1603 | The holidays are those in the list `calendar-notable-days'. Returns t if any | ||
| 1604 | holidays are found, nil if not." | ||
| 1605 | t) | ||
| 1606 | |||
| 1585 | (defun calendar-basic-setup (&optional arg) | 1607 | (defun calendar-basic-setup (&optional arg) |
| 1586 | "Display a three-month calendar in another window. | 1608 | "Display a three-month calendar in another window. |
| 1587 | The three months appear side by side, with the current month in the middle | 1609 | The three months appear side by side, with the current month in the middle |
| @@ -1649,13 +1671,6 @@ to be replaced by asterisks to highlight it whenever it is in the window." | |||
| 1649 | (list-calendar-holidays))) | 1671 | (list-calendar-holidays))) |
| 1650 | (run-hooks 'initial-calendar-window-hook)) | 1672 | (run-hooks 'initial-calendar-window-hook)) |
| 1651 | 1673 | ||
| 1652 | (autoload 'diary-view-entries "diary-lib" | ||
| 1653 | "Prepare and display a buffer with diary entries. | ||
| 1654 | Searches your diary file for entries that match ARG days starting with | ||
| 1655 | the date indicated by the cursor position in the displayed three-month | ||
| 1656 | calendar." | ||
| 1657 | t) | ||
| 1658 | |||
| 1659 | (autoload 'view-other-diary-entries "diary-lib" | 1674 | (autoload 'view-other-diary-entries "diary-lib" |
| 1660 | "Prepare and display buffer of diary entries from an alternative diary file. | 1675 | "Prepare and display buffer of diary entries from an alternative diary file. |
| 1661 | Searches for entries that match ARG days, starting with the date indicated | 1676 | Searches for entries that match ARG days, starting with the date indicated |
| @@ -1930,12 +1945,6 @@ to the date indicated by point." | |||
| 1930 | to the date indicated by point." | 1945 | to the date indicated by point." |
| 1931 | t) | 1946 | t) |
| 1932 | 1947 | ||
| 1933 | (autoload 'list-calendar-holidays "holidays" | ||
| 1934 | "Create a buffer containing the holidays for the current calendar window. | ||
| 1935 | The holidays are those in the list `calendar-notable-days'. Returns t if any | ||
| 1936 | holidays are found, nil if not." | ||
| 1937 | t) | ||
| 1938 | |||
| 1939 | (autoload 'cal-tex-cursor-month "cal-tex" | 1948 | (autoload 'cal-tex-cursor-month "cal-tex" |
| 1940 | "Make a buffer with LaTeX commands for the month cursor is on. | 1949 | "Make a buffer with LaTeX commands for the month cursor is on. |
| 1941 | Optional prefix argument specifies number of months to be produced. | 1950 | Optional prefix argument specifies number of months to be produced. |
diff --git a/lisp/comint.el b/lisp/comint.el index 5e223ef8f18..48b747065b5 100644 --- a/lisp/comint.el +++ b/lisp/comint.el | |||
| @@ -650,7 +650,10 @@ Entry to this mode runs the hooks on `comint-mode-hook'." | |||
| 650 | (make-local-variable 'comint-process-echoes) | 650 | (make-local-variable 'comint-process-echoes) |
| 651 | (make-local-variable 'comint-file-name-chars) | 651 | (make-local-variable 'comint-file-name-chars) |
| 652 | (make-local-variable 'comint-file-name-quote-list) | 652 | (make-local-variable 'comint-file-name-quote-list) |
| 653 | (set (make-local-variable 'comint-accum-marker) (make-marker)) | 653 | (make-local-variable 'comint-accum-marker) |
| 654 | (setq comint-accum-marker (make-marker)) | ||
| 655 | (make-local-variable 'font-lock-defaults) | ||
| 656 | (setq font-lock-defaults '(nil)) | ||
| 654 | (add-hook 'change-major-mode-hook 'font-lock-defontify nil t) | 657 | (add-hook 'change-major-mode-hook 'font-lock-defontify nil t) |
| 655 | ;; This behavior is not useful in comint buffers, and is annoying | 658 | ;; This behavior is not useful in comint buffers, and is annoying |
| 656 | (set (make-local-variable 'next-line-add-newlines) nil)) | 659 | (set (make-local-variable 'next-line-add-newlines) nil)) |
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 70552c604b7..ab3f7ec2b92 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el | |||
| @@ -1521,13 +1521,18 @@ Otherwise use brackets." | |||
| 1521 | (widget-insert description)) | 1521 | (widget-insert description)) |
| 1522 | (widget-insert (format ". | 1522 | (widget-insert (format ". |
| 1523 | %s buttons; type RET or click mouse-1 to actuate one. | 1523 | %s buttons; type RET or click mouse-1 to actuate one. |
| 1524 | Editing a setting changes only the text in the buffer. | 1524 | Editing a setting changes only the text in the buffer." |
| 1525 | Use the setting's State button to set it or save changes in it. | ||
| 1526 | Saving a change normally works by editing your Emacs init file. | ||
| 1527 | See " | ||
| 1528 | (if custom-raised-buttons | 1525 | (if custom-raised-buttons |
| 1529 | "`Raised' text indicates" | 1526 | "`Raised' text indicates" |
| 1530 | "Square brackets indicate"))) | 1527 | "Square brackets indicate"))) |
| 1528 | (if init-file-user | ||
| 1529 | (widget-insert " | ||
| 1530 | Use the setting's State button to set it or save changes in it. | ||
| 1531 | Saving a change normally works by editing your Emacs init file.") | ||
| 1532 | (widget-insert " | ||
| 1533 | \nSince you started Emacs with `-q', which inhibits use of the | ||
| 1534 | Emacs init file, you cannot save settings into the Emacs init file.")) | ||
| 1535 | (widget-insert "\nSee ") | ||
| 1531 | (widget-create 'custom-manual | 1536 | (widget-create 'custom-manual |
| 1532 | :tag "Custom file" | 1537 | :tag "Custom file" |
| 1533 | "(emacs)Saving Customizations") | 1538 | "(emacs)Saving Customizations") |
| @@ -4152,6 +4157,8 @@ if only the first line of the docstring is shown.")) | |||
| 4152 | recentf-exclude))) | 4157 | recentf-exclude))) |
| 4153 | (old-buffer (find-buffer-visiting filename))) | 4158 | (old-buffer (find-buffer-visiting filename))) |
| 4154 | (with-current-buffer (or old-buffer (find-file-noselect filename)) | 4159 | (with-current-buffer (or old-buffer (find-file-noselect filename)) |
| 4160 | (unless (eq major-mode 'emacs-lisp-mode) | ||
| 4161 | (emacs-lisp-mode)) | ||
| 4155 | (let ((inhibit-read-only t)) | 4162 | (let ((inhibit-read-only t)) |
| 4156 | (custom-save-variables) | 4163 | (custom-save-variables) |
| 4157 | (custom-save-faces)) | 4164 | (custom-save-faces)) |
| @@ -4548,6 +4555,13 @@ if that value is non-nil." | |||
| 4548 | (setq widget-documentation-face 'custom-documentation) | 4555 | (setq widget-documentation-face 'custom-documentation) |
| 4549 | (make-local-variable 'widget-button-face) | 4556 | (make-local-variable 'widget-button-face) |
| 4550 | (setq widget-button-face custom-button) | 4557 | (setq widget-button-face custom-button) |
| 4558 | |||
| 4559 | ;; We need this because of the "More" button on docstrings. | ||
| 4560 | ;; Otherwise clicking on "More" can push point offscreen, which | ||
| 4561 | ;; causes the window to recenter on point, which pushes the | ||
| 4562 | ;; newly-revealed docstring offscreen; which is annoying. -- cyd. | ||
| 4563 | (set (make-local-variable 'widget-button-click-moves-point) t) | ||
| 4564 | |||
| 4551 | (set (make-local-variable 'widget-button-pressed-face) custom-button-pressed) | 4565 | (set (make-local-variable 'widget-button-pressed-face) custom-button-pressed) |
| 4552 | (set (make-local-variable 'widget-mouse-face) custom-button-mouse) | 4566 | (set (make-local-variable 'widget-mouse-face) custom-button-mouse) |
| 4553 | 4567 | ||
diff --git a/lisp/custom.el b/lisp/custom.el index 104e63126f0..e69e233614a 100644 --- a/lisp/custom.el +++ b/lisp/custom.el | |||
| @@ -210,11 +210,11 @@ The following keywords are meaningful: | |||
| 210 | `custom-initialize-reset'. | 210 | `custom-initialize-reset'. |
| 211 | :set VALUE should be a function to set the value of the symbol. | 211 | :set VALUE should be a function to set the value of the symbol. |
| 212 | It takes two arguments, the symbol to set and the value to | 212 | It takes two arguments, the symbol to set and the value to |
| 213 | give it. The default choice of function is `custom-set-default'. | 213 | give it. The default choice of function is `set-default'. |
| 214 | :get VALUE should be a function to extract the value of symbol. | 214 | :get VALUE should be a function to extract the value of symbol. |
| 215 | The function takes one argument, a symbol, and should return | 215 | The function takes one argument, a symbol, and should return |
| 216 | the current value for that symbol. The default choice of function | 216 | the current value for that symbol. The default choice of function |
| 217 | is `custom-default-value'. | 217 | is `default-value'. |
| 218 | :require | 218 | :require |
| 219 | VALUE should be a feature symbol. If you save a value | 219 | VALUE should be a feature symbol. If you save a value |
| 220 | for this option, then when your `.emacs' file loads the value, | 220 | for this option, then when your `.emacs' file loads the value, |
diff --git a/lisp/delim-col.el b/lisp/delim-col.el index 7433c728405..b89e979ff0b 100644 --- a/lisp/delim-col.el +++ b/lisp/delim-col.el | |||
| @@ -5,10 +5,10 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 8 | ;; Time-stamp: <2006-02-06 13:37:10 ttn> | 8 | ;; Time-stamp: <2006/09/15 17:35:06 vinicius> |
| 9 | ;; Version: 2.1 | 9 | ;; Version: 2.1 |
| 10 | ;; Keywords: internal | 10 | ;; Keywords: internal |
| 11 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ | 11 | ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre |
| 12 | 12 | ||
| 13 | ;; This file is part of GNU Emacs. | 13 | ;; This file is part of GNU Emacs. |
| 14 | 14 | ||
diff --git a/lisp/dired.el b/lisp/dired.el index 2974b386d0b..491ef261c11 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -2204,40 +2204,40 @@ instead of `dired-actual-switches'." | |||
| 2204 | (concat "\\`" (match-string 1 default-directory))))) | 2204 | (concat "\\`" (match-string 1 default-directory))))) |
| 2205 | (goto-char (point-min)) | 2205 | (goto-char (point-min)) |
| 2206 | (setq dired-subdir-alist nil) | 2206 | (setq dired-subdir-alist nil) |
| 2207 | (while (and (re-search-forward dired-subdir-regexp nil t) | 2207 | (while (re-search-forward dired-subdir-regexp nil t) |
| 2208 | ;; Avoid taking a file name ending in a colon | 2208 | ;; Avoid taking a file name ending in a colon |
| 2209 | ;; as a subdir name. | 2209 | ;; as a subdir name. |
| 2210 | (not (save-excursion | 2210 | (unless (save-excursion |
| 2211 | (goto-char (match-beginning 0)) | 2211 | (goto-char (match-beginning 0)) |
| 2212 | (beginning-of-line) | 2212 | (beginning-of-line) |
| 2213 | (forward-char 2) | 2213 | (forward-char 2) |
| 2214 | (save-match-data (looking-at dired-re-perms))))) | 2214 | (save-match-data (looking-at dired-re-perms))) |
| 2215 | (save-excursion | 2215 | (save-excursion |
| 2216 | (goto-char (match-beginning 1)) | 2216 | (goto-char (match-beginning 1)) |
| 2217 | (setq new-dir-name | 2217 | (setq new-dir-name |
| 2218 | (buffer-substring-no-properties (point) (match-end 1)) | 2218 | (buffer-substring-no-properties (point) (match-end 1)) |
| 2219 | new-dir-name | 2219 | new-dir-name |
| 2220 | (save-match-data | 2220 | (save-match-data |
| 2221 | (if (and R-ftp-base-dir-regex | 2221 | (if (and R-ftp-base-dir-regex |
| 2222 | (not (string= new-dir-name default-directory)) | 2222 | (not (string= new-dir-name default-directory)) |
| 2223 | (string-match R-ftp-base-dir-regex new-dir-name)) | 2223 | (string-match R-ftp-base-dir-regex new-dir-name)) |
| 2224 | (concat default-directory | 2224 | (concat default-directory |
| 2225 | (substring new-dir-name (match-end 0))) | 2225 | (substring new-dir-name (match-end 0))) |
| 2226 | (expand-file-name new-dir-name)))) | 2226 | (expand-file-name new-dir-name)))) |
| 2227 | (delete-region (point) (match-end 1)) | 2227 | (delete-region (point) (match-end 1)) |
| 2228 | (insert new-dir-name)) | 2228 | (insert new-dir-name)) |
| 2229 | (setq count (1+ count)) | 2229 | (setq count (1+ count)) |
| 2230 | (dired-alist-add-1 new-dir-name | 2230 | (dired-alist-add-1 new-dir-name |
| 2231 | ;; Place a sub directory boundary between lines. | 2231 | ;; Place a sub directory boundary between lines. |
| 2232 | (save-excursion | 2232 | (save-excursion |
| 2233 | (goto-char (match-beginning 0)) | 2233 | (goto-char (match-beginning 0)) |
| 2234 | (beginning-of-line) | 2234 | (beginning-of-line) |
| 2235 | (point-marker)))) | 2235 | (point-marker))))) |
| 2236 | (if (and (> count 1) (interactive-p)) | 2236 | (if (and (> count 1) (interactive-p)) |
| 2237 | (message "Buffer includes %d directories" count)) | 2237 | (message "Buffer includes %d directories" count))) |
| 2238 | ;; We don't need to sort it because it is in buffer order per | 2238 | ;; We don't need to sort it because it is in buffer order per |
| 2239 | ;; constructionem. Return new alist: | 2239 | ;; constructionem. Return new alist: |
| 2240 | dired-subdir-alist))) | 2240 | dired-subdir-alist)) |
| 2241 | 2241 | ||
| 2242 | (defun dired-alist-add-1 (dir new-marker) | 2242 | (defun dired-alist-add-1 (dir new-marker) |
| 2243 | ;; Add new DIR at NEW-MARKER. Don't sort. | 2243 | ;; Add new DIR at NEW-MARKER. Don't sort. |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 45ec97b3281..ab3bfeccfb3 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -2578,21 +2578,7 @@ surrounded by (block NAME ...). | |||
| 2578 | (cl-const-expr-val (nth 1 keys))))) | 2578 | (cl-const-expr-val (nth 1 keys))))) |
| 2579 | (cond ((eq test 'eq) (list 'memq a list)) | 2579 | (cond ((eq test 'eq) (list 'memq a list)) |
| 2580 | ((eq test 'equal) (list 'member a list)) | 2580 | ((eq test 'equal) (list 'member a list)) |
| 2581 | ((or (null keys) (eq test 'eql)) | 2581 | ((or (null keys) (eq test 'eql)) (list 'memql a list)) |
| 2582 | (if (eq (cl-const-expr-p a) t) | ||
| 2583 | (list (if (floatp-safe (cl-const-expr-val a)) 'member 'memq) | ||
| 2584 | a list) | ||
| 2585 | (if (eq (cl-const-expr-p list) t) | ||
| 2586 | (let ((p (cl-const-expr-val list)) (mb nil) (mq nil)) | ||
| 2587 | (if (not (cdr p)) | ||
| 2588 | (and p (list 'eql a (list 'quote (car p)))) | ||
| 2589 | (while p | ||
| 2590 | (if (floatp-safe (car p)) (setq mb t) | ||
| 2591 | (or (integerp (car p)) (symbolp (car p)) (setq mq t))) | ||
| 2592 | (setq p (cdr p))) | ||
| 2593 | (if (not mb) (list 'memq a list) | ||
| 2594 | (if (not mq) (list 'member a list) form)))) | ||
| 2595 | form))) | ||
| 2596 | (t form)))) | 2582 | (t form)))) |
| 2597 | 2583 | ||
| 2598 | (define-compiler-macro assoc* (&whole form a list &rest keys) | 2584 | (define-compiler-macro assoc* (&whole form a list &rest keys) |
diff --git a/lisp/emacs-lisp/cl.el b/lisp/emacs-lisp/cl.el index 53bec05ddc3..3399f7e7b20 100644 --- a/lisp/emacs-lisp/cl.el +++ b/lisp/emacs-lisp/cl.el | |||
| @@ -159,9 +159,7 @@ an element already on the list. | |||
| 159 | \n(fn X PLACE [KEYWORD VALUE]...)" | 159 | \n(fn X PLACE [KEYWORD VALUE]...)" |
| 160 | (if (symbolp place) | 160 | (if (symbolp place) |
| 161 | (if (null keys) | 161 | (if (null keys) |
| 162 | `(let ((pushnew-internal ,place)) | 162 | `(if (memql ,x ,place) ,place (setq ,place (cons ,x ,place))) |
| 163 | (add-to-list 'pushnew-internal ,x nil 'eql) | ||
| 164 | (setq ,place pushnew-internal)) | ||
| 165 | (list 'setq place (list* 'adjoin x place keys))) | 163 | (list 'setq place (list* 'adjoin x place keys))) |
| 166 | (list* 'callf2 'adjoin x place keys))) | 164 | (list* 'callf2 'adjoin x place keys))) |
| 167 | 165 | ||
diff --git a/lisp/emacs-lisp/find-func.el b/lisp/emacs-lisp/find-func.el index 50b7d8dc9ef..42c5d3183e7 100644 --- a/lisp/emacs-lisp/find-func.el +++ b/lisp/emacs-lisp/find-func.el | |||
| @@ -64,7 +64,7 @@ | |||
| 64 | (concat | 64 | (concat |
| 65 | "^\\s-*(\\(def\\(ine-skeleton\\|ine-generic-mode\\|ine-derived-mode\\|\ | 65 | "^\\s-*(\\(def\\(ine-skeleton\\|ine-generic-mode\\|ine-derived-mode\\|\ |
| 66 | ine\\(?:-global\\)?-minor-mode\\|ine-compilation-mode\\|un-cvs-mode\\|\ | 66 | ine\\(?:-global\\)?-minor-mode\\|ine-compilation-mode\\|un-cvs-mode\\|\ |
| 67 | foo\\|[^cfgv]\\(\\w\\|\\s_\\)+\\*?\\)\\|easy-mmode-define-[a-z-]+\\|easy-menu-define\\|\ | 67 | foo\\|[^icfgv]\\(\\w\\|\\s_\\)+\\*?\\)\\|easy-mmode-define-[a-z-]+\\|easy-menu-define\\|\ |
| 68 | menu-bar-make-toggle\\)" | 68 | menu-bar-make-toggle\\)" |
| 69 | find-function-space-re | 69 | find-function-space-re |
| 70 | "\\('\\|\(quote \\)?%s\\(\\s-\\|$\\|\(\\|\)\\)") | 70 | "\\('\\|\(quote \\)?%s\\(\\s-\\|$\\|\(\\|\)\\)") |
diff --git a/lisp/emacs-lisp/timer.el b/lisp/emacs-lisp/timer.el index 54c5aff305a..0c66a207351 100644 --- a/lisp/emacs-lisp/timer.el +++ b/lisp/emacs-lisp/timer.el | |||
| @@ -300,7 +300,11 @@ and idle timers such as are scheduled by `run-with-idle-timer'." | |||
| 300 | "Third-to-last timer that was run.") | 300 | "Third-to-last timer that was run.") |
| 301 | 301 | ||
| 302 | (defvar timer-max-repeats 10 | 302 | (defvar timer-max-repeats 10 |
| 303 | "*Maximum number of times to repeat a timer, if real time jumps.") | 303 | "*Maximum number of times to repeat a timer, if many repeats are delayed. |
| 304 | Timer invocations can be delayed because Emacs is suspended or busy, | ||
| 305 | or because the system's time changes. If such an occurrence makes it | ||
| 306 | appear that many invocations are overdue, this variable controls | ||
| 307 | how many will really happen.") | ||
| 304 | 308 | ||
| 305 | (defun timer-until (timer time) | 309 | (defun timer-until (timer time) |
| 306 | "Calculate number of seconds from when TIMER will run, until TIME. | 310 | "Calculate number of seconds from when TIMER will run, until TIME. |
diff --git a/lisp/ffap.el b/lisp/ffap.el index 5ff63bfdec2..bd0c213ba6e 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el | |||
| @@ -954,7 +954,7 @@ If t, `ffap-tex-init' will initialize this when needed.") | |||
| 954 | (substring name 2)))) | 954 | (substring name 2)))) |
| 955 | 955 | ||
| 956 | (defvar ffap-rfc-path | 956 | (defvar ffap-rfc-path |
| 957 | (concat (ffap-host-to-filename "ds.internic.net") "/rfc/rfc%s.txt")) | 957 | (concat (ffap-host-to-filename "ftp.rfc-editor.org") "/in-notes/rfc%s.txt")) |
| 958 | 958 | ||
| 959 | (defun ffap-rfc (name) | 959 | (defun ffap-rfc (name) |
| 960 | (format ffap-rfc-path | 960 | (format ffap-rfc-path |
diff --git a/lisp/files.el b/lisp/files.el index 642bd2d9372..3e2cf2ee92d 100644 --- a/lisp/files.el +++ b/lisp/files.el | |||
| @@ -1117,13 +1117,15 @@ expand wildcards (if any) and visit multiple files." | |||
| 1117 | (mapcar 'switch-to-buffer (cdr value)))) | 1117 | (mapcar 'switch-to-buffer (cdr value)))) |
| 1118 | (switch-to-buffer-other-frame value)))) | 1118 | (switch-to-buffer-other-frame value)))) |
| 1119 | 1119 | ||
| 1120 | (defun find-file-existing (filename &optional wildcards) | 1120 | (defun find-file-existing (filename) |
| 1121 | "Edit the existing file FILENAME. | 1121 | "Edit the existing file FILENAME. |
| 1122 | Like \\[find-file] but only allow a file that exists." | 1122 | Like \\[find-file] but only allow a file that exists, and do not allow |
| 1123 | (interactive (find-file-read-args "Find existing file: " t)) | 1123 | file names with wildcards." |
| 1124 | (unless (file-exists-p filename) (error "%s does not exist" filename)) | 1124 | (interactive (nbutlast (find-file-read-args "Find existing file: " t))) |
| 1125 | (find-file filename wildcards) | 1125 | (if (and (not (interactive-p)) (not (file-exists-p filename))) |
| 1126 | (current-buffer)) | 1126 | (error "%s does not exist" filename) |
| 1127 | (find-file filename) | ||
| 1128 | (current-buffer))) | ||
| 1127 | 1129 | ||
| 1128 | (defun find-file-read-only (filename &optional wildcards) | 1130 | (defun find-file-read-only (filename &optional wildcards) |
| 1129 | "Edit file FILENAME but don't allow changes. | 1131 | "Edit file FILENAME but don't allow changes. |
| @@ -1365,7 +1367,7 @@ If there is no such live buffer, return nil." | |||
| 1365 | (number (nthcdr 10 attributes)) | 1367 | (number (nthcdr 10 attributes)) |
| 1366 | (list (buffer-list)) found) | 1368 | (list (buffer-list)) found) |
| 1367 | (and buffer-file-numbers-unique | 1369 | (and buffer-file-numbers-unique |
| 1368 | number | 1370 | (car-safe number) ;Make sure the inode is not just nil. |
| 1369 | (while (and (not found) list) | 1371 | (while (and (not found) list) |
| 1370 | (with-current-buffer (car list) | 1372 | (with-current-buffer (car list) |
| 1371 | (if (and buffer-file-name | 1373 | (if (and buffer-file-name |
| @@ -3729,7 +3731,13 @@ This requires the external program `diff' to be in your `exec-path'." | |||
| 3729 | ;; Return nil to ask about BUF again. | 3731 | ;; Return nil to ask about BUF again. |
| 3730 | nil) | 3732 | nil) |
| 3731 | "view this file") | 3733 | "view this file") |
| 3732 | (?d diff-buffer-with-file | 3734 | (?d (lambda (buf) |
| 3735 | (save-window-excursion | ||
| 3736 | (diff-buffer-with-file buf)) | ||
| 3737 | (view-buffer (get-buffer-create "*Diff*") | ||
| 3738 | (lambda (ignore) (exit-recursive-edit))) | ||
| 3739 | (recursive-edit) | ||
| 3740 | nil) | ||
| 3733 | "view changes in file")) | 3741 | "view changes in file")) |
| 3734 | "ACTION-ALIST argument used in call to `map-y-or-n-p'.") | 3742 | "ACTION-ALIST argument used in call to `map-y-or-n-p'.") |
| 3735 | 3743 | ||
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index 60a4b3c00b1..1bae9cba362 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -1168,7 +1168,12 @@ what properties to clear before refontifying a region.") | |||
| 1168 | ;; number of lines. | 1168 | ;; number of lines. |
| 1169 | ;; (setq beg (progn (goto-char beg) (line-beginning-position)) | 1169 | ;; (setq beg (progn (goto-char beg) (line-beginning-position)) |
| 1170 | ;; end (progn (goto-char end) (line-beginning-position 2))) | 1170 | ;; end (progn (goto-char end) (line-beginning-position 2))) |
| 1171 | ) | 1171 | (unless (eq end (point-max)) |
| 1172 | ;; Rounding up to a whole number of lines should include the | ||
| 1173 | ;; line right after `end'. Typical case: the first char of | ||
| 1174 | ;; the line was deleted. Or a \n was inserted in the middle | ||
| 1175 | ;; of a line. | ||
| 1176 | (setq end (1+ end)))) | ||
| 1172 | (font-lock-fontify-region beg end))))) | 1177 | (font-lock-fontify-region beg end))))) |
| 1173 | 1178 | ||
| 1174 | (defvar jit-lock-start) (defvar jit-lock-end) | 1179 | (defvar jit-lock-start) (defvar jit-lock-end) |
| @@ -1205,9 +1210,17 @@ This function does 2 things: | |||
| 1205 | (setq beg (or (previous-single-property-change | 1210 | (setq beg (or (previous-single-property-change |
| 1206 | beg 'font-lock-multiline) | 1211 | beg 'font-lock-multiline) |
| 1207 | (point-min)))) | 1212 | (point-min)))) |
| 1208 | (setq end (or (text-property-any end (point-max) | 1213 | (when (< end (point-max)) |
| 1209 | 'font-lock-multiline nil) | 1214 | (setq end |
| 1210 | (point-max))) | 1215 | (if (get-text-property end 'font-lock-multiline) |
| 1216 | (or (text-property-any end (point-max) | ||
| 1217 | 'font-lock-multiline nil) | ||
| 1218 | (point-max)) | ||
| 1219 | ;; Rounding up to a whole number of lines should include the | ||
| 1220 | ;; line right after `end'. Typical case: the first char of | ||
| 1221 | ;; the line was deleted. Or a \n was inserted in the middle | ||
| 1222 | ;; of a line. | ||
| 1223 | (1+ end)))) | ||
| 1211 | ;; Finally, pre-enlarge the region to a whole number of lines, to try | 1224 | ;; Finally, pre-enlarge the region to a whole number of lines, to try |
| 1212 | ;; and anticipate what font-lock-default-fontify-region will do, so as to | 1225 | ;; and anticipate what font-lock-default-fontify-region will do, so as to |
| 1213 | ;; avoid double-redisplay. | 1226 | ;; avoid double-redisplay. |
| @@ -1217,11 +1230,11 @@ This function does 2 things: | |||
| 1217 | (when (memq 'font-lock-extend-region-wholelines | 1230 | (when (memq 'font-lock-extend-region-wholelines |
| 1218 | font-lock-extend-region-functions) | 1231 | font-lock-extend-region-functions) |
| 1219 | (goto-char beg) | 1232 | (goto-char beg) |
| 1220 | (forward-line 0) | 1233 | (setq jit-lock-start (min jit-lock-start (line-beginning-position))) |
| 1221 | (setq jit-lock-start (min jit-lock-start (point))) | ||
| 1222 | (goto-char end) | 1234 | (goto-char end) |
| 1223 | (forward-line 1) | 1235 | (setq jit-lock-end |
| 1224 | (setq jit-lock-end (max jit-lock-end (point))))))) | 1236 | (max jit-lock-end |
| 1237 | (if (bolp) (point) (line-beginning-position 2)))))))) | ||
| 1225 | 1238 | ||
| 1226 | (defun font-lock-fontify-block (&optional arg) | 1239 | (defun font-lock-fontify-block (&optional arg) |
| 1227 | "Fontify some lines the way `font-lock-fontify-buffer' would. | 1240 | "Fontify some lines the way `font-lock-fontify-buffer' would. |
| @@ -1646,9 +1659,11 @@ If SYNTACTIC-KEYWORDS is non-nil, it means these keywords are used for | |||
| 1646 | (cons t (cons keywords | 1659 | (cons t (cons keywords |
| 1647 | (mapcar 'font-lock-compile-keyword keywords)))) | 1660 | (mapcar 'font-lock-compile-keyword keywords)))) |
| 1648 | (if (and (not syntactic-keywords) | 1661 | (if (and (not syntactic-keywords) |
| 1649 | (eq (or syntax-begin-function | 1662 | (let ((beg-function |
| 1650 | font-lock-beginning-of-syntax-function) | 1663 | (or font-lock-beginning-of-syntax-function |
| 1651 | 'beginning-of-defun) | 1664 | syntax-begin-function))) |
| 1665 | (or (eq beg-function 'beginning-of-defun) | ||
| 1666 | (get beg-function 'font-lock-syntax-paren-check))) | ||
| 1652 | (not beginning-of-defun-function)) | 1667 | (not beginning-of-defun-function)) |
| 1653 | ;; Try to detect when a string or comment contains something that | 1668 | ;; Try to detect when a string or comment contains something that |
| 1654 | ;; looks like a defun and would thus confuse font-lock. | 1669 | ;; looks like a defun and would thus confuse font-lock. |
diff --git a/lisp/frame.el b/lisp/frame.el index 8f7fdf1fd5c..9aba8c54089 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -681,7 +681,7 @@ the user during startup." | |||
| 681 | (nreverse frame-initial-geometry-arguments)) | 681 | (nreverse frame-initial-geometry-arguments)) |
| 682 | (cdr param-list)) | 682 | (cdr param-list)) |
| 683 | 683 | ||
| 684 | (defcustom focus-follows-mouse t | 684 | (defcustom focus-follows-mouse (not (eq window-system 'mac)) |
| 685 | "*Non-nil if window system changes focus when you move the mouse. | 685 | "*Non-nil if window system changes focus when you move the mouse. |
| 686 | You should set this variable to tell Emacs how your window manager | 686 | You should set this variable to tell Emacs how your window manager |
| 687 | handles focus, since there is no way in general for Emacs to find out | 687 | handles focus, since there is no way in general for Emacs to find out |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index dbd88f32180..ad3c6ad919e 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2006-09-28 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 2 | |||
| 3 | * gmm-utils.el (gmm): Adjust custom version. | ||
| 4 | |||
| 5 | * mm-util.el (mm-charset-override-alist, mm-charset-eval-alist): Adjust | ||
| 6 | custom version. | ||
| 7 | |||
| 8 | * gnus-draft.el (gnus-draft-mode): Don't call `mml-mode'. | ||
| 9 | |||
| 10 | 2006-09-25 Chong Yidong <cyd@stupidchicken.com> | ||
| 11 | |||
| 12 | * gnus-demon.el (gnus-demon): Use with-local-quit to avoid hangs. | ||
| 13 | |||
| 1 | 2006-09-19 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> | 14 | 2006-09-19 Andreas Seltenreich <uwi7@rz.uni-karlsruhe.de> |
| 2 | 15 | ||
| 3 | * nnslashdot.el (nnslashdot-request-article): Update end-of-article | 16 | * nnslashdot.el (nnslashdot-request-article): Update end-of-article |
diff --git a/lisp/gnus/gmm-utils.el b/lisp/gnus/gmm-utils.el index f314d0e81d7..e773aa3bfac 100644 --- a/lisp/gnus/gmm-utils.el +++ b/lisp/gnus/gmm-utils.el | |||
| @@ -35,7 +35,7 @@ | |||
| 35 | (defgroup gmm nil | 35 | (defgroup gmm nil |
| 36 | "Utility functions for Gnus, Message and MML" | 36 | "Utility functions for Gnus, Message and MML" |
| 37 | :prefix "gmm-" | 37 | :prefix "gmm-" |
| 38 | :version "23.0" ;; No Gnus | 38 | :version "22.1" ;; Gnus 5.10.9 |
| 39 | :group 'lisp) | 39 | :group 'lisp) |
| 40 | 40 | ||
| 41 | ;; Helper functions from `gnus-utils.el': gmm-verbose, gmm-message, gmm-error | 41 | ;; Helper functions from `gnus-utils.el': gmm-verbose, gmm-message, gmm-error |
diff --git a/lisp/gnus/gnus-demon.el b/lisp/gnus/gnus-demon.el index 8df3a3b0e70..bf35f1ddee7 100644 --- a/lisp/gnus/gnus-demon.el +++ b/lisp/gnus/gnus-demon.el | |||
| @@ -218,7 +218,7 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's." | |||
| 218 | (< idle gnus-demon-idle-time)) ; Idle timed out. | 218 | (< idle gnus-demon-idle-time)) ; Idle timed out. |
| 219 | (t (< 0 gnus-demon-idle-time)))) ; Or just need to be idle. | 219 | (t (< 0 gnus-demon-idle-time)))) ; Or just need to be idle. |
| 220 | ;; So we call the handler. | 220 | ;; So we call the handler. |
| 221 | (progn | 221 | (with-local-quit |
| 222 | (ignore-errors (funcall (car handler))) | 222 | (ignore-errors (funcall (car handler))) |
| 223 | ;; And reset the timer. | 223 | ;; And reset the timer. |
| 224 | (setcar (nthcdr 1 handler) | 224 | (setcar (nthcdr 1 handler) |
| @@ -232,14 +232,15 @@ time Emacs has been idle for IDLE `gnus-demon-timestep's." | |||
| 232 | (gnus-demon-is-idle-p)) | 232 | (gnus-demon-is-idle-p)) |
| 233 | ;; We want to call this handler each and every time that | 233 | ;; We want to call this handler each and every time that |
| 234 | ;; Emacs is idle. | 234 | ;; Emacs is idle. |
| 235 | (ignore-errors (funcall (car handler)))) | 235 | (with-local-quit |
| 236 | (ignore-errors (funcall (car handler))))) | ||
| 236 | (t | 237 | (t |
| 237 | ;; We want to call this handler only if Emacs has been idle | 238 | ;; We want to call this handler only if Emacs has been idle |
| 238 | ;; for a specified number of timesteps. | 239 | ;; for a specified number of timesteps. |
| 239 | (and (not (memq (car handler) gnus-demon-idle-has-been-called)) | 240 | (and (not (memq (car handler) gnus-demon-idle-has-been-called)) |
| 240 | (< idle gnus-demon-idle-time) | 241 | (< idle gnus-demon-idle-time) |
| 241 | (gnus-demon-is-idle-p) | 242 | (gnus-demon-is-idle-p) |
| 242 | (progn | 243 | (with-local-quit |
| 243 | (ignore-errors (funcall (car handler))) | 244 | (ignore-errors (funcall (car handler))) |
| 244 | ;; Make sure the handler won't be called once more in | 245 | ;; Make sure the handler won't be called once more in |
| 245 | ;; this idle-cycle. | 246 | ;; this idle-cycle. |
diff --git a/lisp/gnus/gnus-draft.el b/lisp/gnus/gnus-draft.el index 125e5bebd49..013be410632 100644 --- a/lisp/gnus/gnus-draft.el +++ b/lisp/gnus/gnus-draft.el | |||
| @@ -76,7 +76,6 @@ | |||
| 76 | (when (gnus-visual-p 'draft-menu 'menu) | 76 | (when (gnus-visual-p 'draft-menu 'menu) |
| 77 | (gnus-draft-make-menu-bar)) | 77 | (gnus-draft-make-menu-bar)) |
| 78 | (gnus-add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map) | 78 | (gnus-add-minor-mode 'gnus-draft-mode " Draft" gnus-draft-mode-map) |
| 79 | (mml-mode) | ||
| 80 | (gnus-run-hooks 'gnus-draft-mode-hook)))) | 79 | (gnus-run-hooks 'gnus-draft-mode-hook)))) |
| 81 | 80 | ||
| 82 | ;;; Commands | 81 | ;;; Commands |
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el index 22bbecf7e39..8778d0a4b57 100644 --- a/lisp/gnus/mm-util.el +++ b/lisp/gnus/mm-util.el | |||
| @@ -253,7 +253,7 @@ superset of iso-8859-1." | |||
| 253 | :tag "Other options" | 253 | :tag "Other options" |
| 254 | (cons (symbol :tag "From charset") | 254 | (cons (symbol :tag "From charset") |
| 255 | (symbol :tag "To charset")))) | 255 | (symbol :tag "To charset")))) |
| 256 | :version "23.0" ;; No Gnus | 256 | :version "22.1" ;; Gnus 5.10.9 |
| 257 | :group 'mime) | 257 | :group 'mime) |
| 258 | 258 | ||
| 259 | (defcustom mm-charset-eval-alist | 259 | (defcustom mm-charset-eval-alist |
| @@ -270,7 +270,7 @@ If an article is encoded in an unknown CHARSET, FORM is | |||
| 270 | evaluated. This allows to load additional libraries providing | 270 | evaluated. This allows to load additional libraries providing |
| 271 | charsets on demand. If supported by your Emacs version, you | 271 | charsets on demand. If supported by your Emacs version, you |
| 272 | could use `autoload-coding-system' here." | 272 | could use `autoload-coding-system' here." |
| 273 | :version "23.0" ;; No Gnus | 273 | :version "22.1" ;; Gnus 5.10.9 |
| 274 | :type '(list (set :inline t | 274 | :type '(list (set :inline t |
| 275 | (const (windows-1250 . (mm-codepage-setup 1250 t))) | 275 | (const (windows-1250 . (mm-codepage-setup 1250 t))) |
| 276 | (const (windows-1251 . (mm-codepage-setup 1251 t))) | 276 | (const (windows-1251 . (mm-codepage-setup 1251 t))) |
diff --git a/lisp/help.el b/lisp/help.el index fafe6e57ed0..b79e028b633 100644 --- a/lisp/help.el +++ b/lisp/help.el | |||
| @@ -571,11 +571,9 @@ temporarily enables it to allow getting help on disabled items and buttons." | |||
| 571 | ;; down-events on scroll bars and mode lines: the actual | 571 | ;; down-events on scroll bars and mode lines: the actual |
| 572 | ;; event then is in the second element of the vector. | 572 | ;; event then is in the second element of the vector. |
| 573 | (and (vectorp key) | 573 | (and (vectorp key) |
| 574 | (or (and (eventp (aref key 0)) | 574 | (let ((last-idx (1- (length key)))) |
| 575 | (memq 'down (event-modifiers (aref key 0)))) | 575 | (and (eventp (aref key last-idx)) |
| 576 | (and (> (length key) 1) | 576 | (memq 'down (event-modifiers (aref key last-idx))))) |
| 577 | (eventp (aref key 1)) | ||
| 578 | (memq 'down (event-modifiers (aref key 1))))) | ||
| 579 | (read-event)) | 577 | (read-event)) |
| 580 | (list | 578 | (list |
| 581 | key | 579 | key |
| @@ -643,11 +641,21 @@ temporarily enables it to allow getting help on disabled items and buttons." | |||
| 643 | (list | 641 | (list |
| 644 | key | 642 | key |
| 645 | (prefix-numeric-value current-prefix-arg) | 643 | (prefix-numeric-value current-prefix-arg) |
| 646 | ;; If KEY is a down-event, read the corresponding up-event | 644 | ;; If KEY is a down-event, read and discard the |
| 647 | ;; and use it as the third argument. | 645 | ;; corresponding up-event. Note that there are also |
| 646 | ;; down-events on scroll bars and mode lines: the actual | ||
| 647 | ;; event then is in the second element of the vector. | ||
| 648 | (and (vectorp key) | 648 | (and (vectorp key) |
| 649 | (let ((last-idx (1- (length key)))) | ||
| 650 | (and (eventp (aref key last-idx)) | ||
| 651 | (memq 'down (event-modifiers (aref key last-idx))))) | ||
| 649 | (or (and (eventp (aref key 0)) | 652 | (or (and (eventp (aref key 0)) |
| 650 | (memq 'down (event-modifiers (aref key 0)))) | 653 | (memq 'down (event-modifiers (aref key 0))) |
| 654 | ;; However, for the C-down-mouse-2 popup | ||
| 655 | ;; menu, there is no subsequent up-event. In | ||
| 656 | ;; this case, the up-event is the next | ||
| 657 | ;; element in the supplied vector. | ||
| 658 | (= (length key) 1)) | ||
| 651 | (and (> (length key) 1) | 659 | (and (> (length key) 1) |
| 652 | (eventp (aref key 1)) | 660 | (eventp (aref key 1)) |
| 653 | (memq 'down (event-modifiers (aref key 1))))) | 661 | (memq 'down (event-modifiers (aref key 1))))) |
diff --git a/lisp/ibuf-ext.el b/lisp/ibuf-ext.el index 292e158c097..4ab7b9eda41 100644 --- a/lisp/ibuf-ext.el +++ b/lisp/ibuf-ext.el | |||
| @@ -370,7 +370,11 @@ With numeric ARG, enable auto-update if and only if ARG is positive." | |||
| 370 | "Evaluate FORM in each of the buffers. | 370 | "Evaluate FORM in each of the buffers. |
| 371 | Does not display the buffer during evaluation. See | 371 | Does not display the buffer during evaluation. See |
| 372 | `ibuffer-do-view-and-eval' for that." | 372 | `ibuffer-do-view-and-eval' for that." |
| 373 | (:interactive "xEval in buffers (form): " | 373 | (:interactive |
| 374 | (list | ||
| 375 | (read-from-minibuffer | ||
| 376 | "Eval in buffers (form): " | ||
| 377 | nil read-expression-map t 'read-expression-history)) | ||
| 374 | :opstring "evaluated in" | 378 | :opstring "evaluated in" |
| 375 | :modifier-p :maybe) | 379 | :modifier-p :maybe) |
| 376 | (eval form)) | 380 | (eval form)) |
| @@ -379,7 +383,11 @@ Does not display the buffer during evaluation. See | |||
| 379 | (define-ibuffer-op view-and-eval (form) | 383 | (define-ibuffer-op view-and-eval (form) |
| 380 | "Evaluate FORM while displaying each of the marked buffers. | 384 | "Evaluate FORM while displaying each of the marked buffers. |
| 381 | To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." | 385 | To evaluate a form without viewing the buffer, see `ibuffer-do-eval'." |
| 382 | (:interactive "xEval viewing buffers (form): " | 386 | (:interactive |
| 387 | (list | ||
| 388 | (read-from-minibuffer | ||
| 389 | "Eval viewing in buffers (form): " | ||
| 390 | nil read-expression-map t 'read-expression-history)) | ||
| 383 | :opstring "evaluated in" | 391 | :opstring "evaluated in" |
| 384 | :complex t | 392 | :complex t |
| 385 | :modifier-p :maybe) | 393 | :modifier-p :maybe) |
diff --git a/lisp/icomplete.el b/lisp/icomplete.el index f53ef7c91d1..6687c13275b 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el | |||
| @@ -157,6 +157,12 @@ is minibuffer." | |||
| 157 | (< (length x) (length y)))) | 157 | (< (length x) (length y)))) |
| 158 | ", ") | 158 | ", ") |
| 159 | ">")))))) | 159 | ">")))))) |
| 160 | ;;;_ = icomplete-with-completion-tables | ||
| 161 | (defvar icomplete-with-completion-tables '(internal-complete-buffer) | ||
| 162 | "Specialized completion tables with which icomplete should operate. | ||
| 163 | |||
| 164 | Icomplete does not operate with any specialized completion tables | ||
| 165 | except those on this list.") | ||
| 160 | 166 | ||
| 161 | ;;;_ > icomplete-mode (&optional prefix) | 167 | ;;;_ > icomplete-mode (&optional prefix) |
| 162 | ;;;###autoload | 168 | ;;;###autoload |
| @@ -184,8 +190,9 @@ Conditions are: | |||
| 184 | (and (window-minibuffer-p (selected-window)) | 190 | (and (window-minibuffer-p (selected-window)) |
| 185 | (not executing-kbd-macro) | 191 | (not executing-kbd-macro) |
| 186 | minibuffer-completion-table | 192 | minibuffer-completion-table |
| 187 | ;; (or minibuffer-completing-file-name | 193 | (or (not (functionp minibuffer-completion-table)) |
| 188 | (not (functionp minibuffer-completion-table)))) ;; ) | 194 | (member minibuffer-completion-table |
| 195 | icomplete-with-completion-tables)))) | ||
| 189 | 196 | ||
| 190 | ;;;_ > icomplete-minibuffer-setup () | 197 | ;;;_ > icomplete-minibuffer-setup () |
| 191 | (defun icomplete-minibuffer-setup () | 198 | (defun icomplete-minibuffer-setup () |
diff --git a/lisp/ido.el b/lisp/ido.el index 432347717f5..b68a4622ef8 100644 --- a/lisp/ido.el +++ b/lisp/ido.el | |||
| @@ -2224,7 +2224,6 @@ If INITIAL is non-nil, it specifies the initial input string." | |||
| 2224 | (let ((ido-current-directory (ido-expand-directory default)) | 2224 | (let ((ido-current-directory (ido-expand-directory default)) |
| 2225 | (ido-context-switch-command switch-cmd) | 2225 | (ido-context-switch-command switch-cmd) |
| 2226 | ido-directory-nonreadable ido-directory-too-big | 2226 | ido-directory-nonreadable ido-directory-too-big |
| 2227 | (minibuffer-completing-file-name t) | ||
| 2228 | filename) | 2227 | filename) |
| 2229 | 2228 | ||
| 2230 | (if (or (not ido-mode) (ido-is-slow-ftp-host)) | 2229 | (if (or (not ido-mode) (ido-is-slow-ftp-host)) |
| @@ -2268,9 +2267,10 @@ If INITIAL is non-nil, it specifies the initial input string." | |||
| 2268 | 2267 | ||
| 2269 | (unless filename | 2268 | (unless filename |
| 2270 | (setq ido-saved-vc-hb vc-handled-backends) | 2269 | (setq ido-saved-vc-hb vc-handled-backends) |
| 2271 | (setq filename (ido-read-internal item | 2270 | (let ((minibuffer-completing-file-name t)) |
| 2272 | (or prompt "Find file: ") | 2271 | (setq filename (ido-read-internal item |
| 2273 | 'ido-file-history nil nil initial))) | 2272 | (or prompt "Find file: ") |
| 2273 | 'ido-file-history nil nil initial)))) | ||
| 2274 | 2274 | ||
| 2275 | ;; Choose the file name: either the text typed in, or the head | 2275 | ;; Choose the file name: either the text typed in, or the head |
| 2276 | ;; of the list of matches | 2276 | ;; of the list of matches |
diff --git a/lisp/isearch.el b/lisp/isearch.el index b3455b13ab8..0d253211da4 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el | |||
| @@ -1803,8 +1803,6 @@ Isearch mode." | |||
| 1803 | ((eq char ?|) (isearch-fallback t nil t))) | 1803 | ((eq char ?|) (isearch-fallback t nil t))) |
| 1804 | 1804 | ||
| 1805 | ;; Append the char to the search string, update the message and re-search. | 1805 | ;; Append the char to the search string, update the message and re-search. |
| 1806 | (if (char-table-p translation-table-for-input) | ||
| 1807 | (setq char (or (aref translation-table-for-input char) char))) | ||
| 1808 | (isearch-process-search-string | 1806 | (isearch-process-search-string |
| 1809 | (char-to-string char) | 1807 | (char-to-string char) |
| 1810 | (if (>= char ?\200) | 1808 | (if (>= char ?\200) |
| @@ -1989,6 +1987,36 @@ Can be changed via `isearch-search-fun-function' for special needs." | |||
| 1989 | (t | 1987 | (t |
| 1990 | (if isearch-forward 'search-forward 'search-backward))))) | 1988 | (if isearch-forward 'search-forward 'search-backward))))) |
| 1991 | 1989 | ||
| 1990 | (defun isearch-search-string (string bound noerror) | ||
| 1991 | ;; Search for the first occurance of STRING or its translation. If | ||
| 1992 | ;; found, move point to the end of the occurance, update | ||
| 1993 | ;; isearch-match-beg and isearch-match-end, and return point. | ||
| 1994 | (let ((func (isearch-search-fun)) | ||
| 1995 | (len (length string)) | ||
| 1996 | pos1 pos2) | ||
| 1997 | (setq pos1 (save-excursion (funcall func string bound noerror))) | ||
| 1998 | (if (and (char-table-p translation-table-for-input) | ||
| 1999 | (> (string-bytes string) len)) | ||
| 2000 | (let (translated match-data) | ||
| 2001 | (dotimes (i len) | ||
| 2002 | (let ((x (aref translation-table-for-input (aref string i)))) | ||
| 2003 | (when x | ||
| 2004 | (or translated (setq translated (copy-sequence string))) | ||
| 2005 | (aset translated i x)))) | ||
| 2006 | (when translated | ||
| 2007 | (save-match-data | ||
| 2008 | (save-excursion | ||
| 2009 | (if (setq pos2 (funcall func translated bound noerror)) | ||
| 2010 | (setq match-data (match-data t))))) | ||
| 2011 | (when (and pos2 | ||
| 2012 | (or (not pos1) | ||
| 2013 | (if isearch-forward (< pos2 pos1) (> pos2 pos1)))) | ||
| 2014 | (setq pos1 pos2) | ||
| 2015 | (set-match-data match-data))))) | ||
| 2016 | (if pos1 | ||
| 2017 | (goto-char pos1)) | ||
| 2018 | pos1)) | ||
| 2019 | |||
| 1992 | (defun isearch-search () | 2020 | (defun isearch-search () |
| 1993 | ;; Do the search with the current search string. | 2021 | ;; Do the search with the current search string. |
| 1994 | (isearch-message nil t) | 2022 | (isearch-message nil t) |
| @@ -2004,9 +2032,7 @@ Can be changed via `isearch-search-fun-function' for special needs." | |||
| 2004 | (setq isearch-error nil) | 2032 | (setq isearch-error nil) |
| 2005 | (while retry | 2033 | (while retry |
| 2006 | (setq isearch-success | 2034 | (setq isearch-success |
| 2007 | (funcall | 2035 | (isearch-search-string isearch-string nil t)) |
| 2008 | (isearch-search-fun) | ||
| 2009 | isearch-string nil t)) | ||
| 2010 | ;; Clear RETRY unless we matched some invisible text | 2036 | ;; Clear RETRY unless we matched some invisible text |
| 2011 | ;; and we aren't supposed to do that. | 2037 | ;; and we aren't supposed to do that. |
| 2012 | (if (or (eq search-invisible t) | 2038 | (if (or (eq search-invisible t) |
| @@ -2349,7 +2375,7 @@ Attempt to do the search exactly the way the pending isearch would." | |||
| 2349 | (isearch-regexp isearch-lazy-highlight-regexp) | 2375 | (isearch-regexp isearch-lazy-highlight-regexp) |
| 2350 | (search-spaces-regexp search-whitespace-regexp)) | 2376 | (search-spaces-regexp search-whitespace-regexp)) |
| 2351 | (condition-case nil | 2377 | (condition-case nil |
| 2352 | (funcall (isearch-search-fun) | 2378 | (isearch-search-string |
| 2353 | isearch-lazy-highlight-last-string | 2379 | isearch-lazy-highlight-last-string |
| 2354 | (if isearch-forward | 2380 | (if isearch-forward |
| 2355 | (min (or isearch-lazy-highlight-end-limit (point-max)) | 2381 | (min (or isearch-lazy-highlight-end-limit (point-max)) |
diff --git a/lisp/jit-lock.el b/lisp/jit-lock.el index 4cbc7da4511..e049579d463 100644 --- a/lisp/jit-lock.el +++ b/lisp/jit-lock.el | |||
| @@ -349,7 +349,7 @@ Defaults to the whole buffer. END can be out of bounds." | |||
| 349 | ;; Fontify chunks beginning at START. The end of a | 349 | ;; Fontify chunks beginning at START. The end of a |
| 350 | ;; chunk is either `end', or the start of a region | 350 | ;; chunk is either `end', or the start of a region |
| 351 | ;; before `end' that has already been fontified. | 351 | ;; before `end' that has already been fontified. |
| 352 | (while start | 352 | (while (and start (< start end)) |
| 353 | ;; Determine the end of this chunk. | 353 | ;; Determine the end of this chunk. |
| 354 | (setq next (or (text-property-any start end 'fontified t) | 354 | (setq next (or (text-property-any start end 'fontified t) |
| 355 | end)) | 355 | end)) |
| @@ -397,16 +397,18 @@ Defaults to the whole buffer. END can be out of bounds." | |||
| 397 | ;; eagerly extend the refontified region with | 397 | ;; eagerly extend the refontified region with |
| 398 | ;; jit-lock-after-change-extend-region-functions. | 398 | ;; jit-lock-after-change-extend-region-functions. |
| 399 | (when (< start orig-start) | 399 | (when (< start orig-start) |
| 400 | (run-with-timer 0 nil 'jit-lock-fontify-again | 400 | (run-with-timer 0 nil 'jit-lock-force-redisplay |
| 401 | (current-buffer) start orig-start)) | 401 | (current-buffer) start orig-start)) |
| 402 | 402 | ||
| 403 | ;; Find the start of the next chunk, if any. | 403 | ;; Find the start of the next chunk, if any. |
| 404 | (setq start (text-property-any next end 'fontified nil)))))))) | 404 | (setq start (text-property-any next end 'fontified nil)))))))) |
| 405 | 405 | ||
| 406 | (defun jit-lock-fontify-again (buf start end) | 406 | (defun jit-lock-force-redisplay (buf start end) |
| 407 | "Fontify in buffer BUF from START to END." | 407 | "Force the display engine to re-render buffer BUF from START to END." |
| 408 | (with-current-buffer buf | 408 | (with-current-buffer buf |
| 409 | (with-buffer-prepared-for-jit-lock | 409 | (with-buffer-prepared-for-jit-lock |
| 410 | ;; Don't cause refontification (it's already been done), but just do | ||
| 411 | ;; some random buffer change, so as to force redisplay. | ||
| 410 | (put-text-property start end 'fontified t)))) | 412 | (put-text-property start end 'fontified t)))) |
| 411 | 413 | ||
| 412 | 414 | ||
diff --git a/lisp/lpr.el b/lisp/lpr.el index dd39eb24349..2c2e8c872c4 100644 --- a/lisp/lpr.el +++ b/lisp/lpr.el | |||
| @@ -141,7 +141,7 @@ See definition of `print-region-1' for calling conventions." | |||
| 141 | ;; Berkeley systems support -F, and GNU pr supports both -f and -F, | 141 | ;; Berkeley systems support -F, and GNU pr supports both -f and -F, |
| 142 | ;; So it looks like -F is a better default. | 142 | ;; So it looks like -F is a better default. |
| 143 | (defcustom lpr-page-header-switches '("-h %s" "-F") | 143 | (defcustom lpr-page-header-switches '("-h %s" "-F") |
| 144 | "List of strings to use as options for the page-header-generating program. | 144 | "*List of strings to use as options for the page-header-generating program. |
| 145 | If `%s' appears in one of the strings, it is substituted by the page title. | 145 | If `%s' appears in one of the strings, it is substituted by the page title. |
| 146 | The variable `lpr-page-header-program' specifies the program to use." | 146 | The variable `lpr-page-header-program' specifies the program to use." |
| 147 | :type '(repeat string) | 147 | :type '(repeat string) |
diff --git a/lisp/mail/smtpmail.el b/lisp/mail/smtpmail.el index 3fc0477a0a0..9557844a32a 100644 --- a/lisp/mail/smtpmail.el +++ b/lisp/mail/smtpmail.el | |||
| @@ -541,7 +541,7 @@ This is relative to `smtpmail-queue-dir'.") | |||
| 541 | (decoded (base64-decode-string challenge)) | 541 | (decoded (base64-decode-string challenge)) |
| 542 | (hash (rfc2104-hash 'md5 64 16 passwd decoded)) | 542 | (hash (rfc2104-hash 'md5 64 16 passwd decoded)) |
| 543 | (response (concat (smtpmail-cred-user cred) " " hash)) | 543 | (response (concat (smtpmail-cred-user cred) " " hash)) |
| 544 | (encoded (base64-encode-string response))) | 544 | (encoded (base64-encode-string response t))) |
| 545 | (smtpmail-send-command process (format "%s" encoded)) | 545 | (smtpmail-send-command process (format "%s" encoded)) |
| 546 | (if (or (null (car (setq ret (smtpmail-read-response process)))) | 546 | (if (or (null (car (setq ret (smtpmail-read-response process)))) |
| 547 | (not (integerp (car ret))) | 547 | (not (integerp (car ret))) |
| @@ -554,12 +554,12 @@ This is relative to `smtpmail-queue-dir'.") | |||
| 554 | (>= (car ret) 400)) | 554 | (>= (car ret) 400)) |
| 555 | (throw 'done nil)) | 555 | (throw 'done nil)) |
| 556 | (smtpmail-send-command | 556 | (smtpmail-send-command |
| 557 | process (base64-encode-string (smtpmail-cred-user cred))) | 557 | process (base64-encode-string (smtpmail-cred-user cred) t)) |
| 558 | (if (or (null (car (setq ret (smtpmail-read-response process)))) | 558 | (if (or (null (car (setq ret (smtpmail-read-response process)))) |
| 559 | (not (integerp (car ret))) | 559 | (not (integerp (car ret))) |
| 560 | (>= (car ret) 400)) | 560 | (>= (car ret) 400)) |
| 561 | (throw 'done nil)) | 561 | (throw 'done nil)) |
| 562 | (smtpmail-send-command process (base64-encode-string passwd)) | 562 | (smtpmail-send-command process (base64-encode-string passwd t)) |
| 563 | (if (or (null (car (setq ret (smtpmail-read-response process)))) | 563 | (if (or (null (car (setq ret (smtpmail-read-response process)))) |
| 564 | (not (integerp (car ret))) | 564 | (not (integerp (car ret))) |
| 565 | (>= (car ret) 400)) | 565 | (>= (car ret) 400)) |
| @@ -576,7 +576,7 @@ This is relative to `smtpmail-queue-dir'.") | |||
| 576 | (concat "\0" | 576 | (concat "\0" |
| 577 | (smtpmail-cred-user cred) | 577 | (smtpmail-cred-user cred) |
| 578 | "\0" | 578 | "\0" |
| 579 | passwd)))) | 579 | passwd) t))) |
| 580 | (if (or (null (car (setq ret (smtpmail-read-response process)))) | 580 | (if (or (null (car (setq ret (smtpmail-read-response process)))) |
| 581 | (not (integerp (car ret))) | 581 | (not (integerp (car ret))) |
| 582 | (not (equal (car ret) 235))) | 582 | (not (equal (car ret) 235))) |
diff --git a/lisp/mh-e/ChangeLog b/lisp/mh-e/ChangeLog index a49e3b2a4a3..76875b2849b 100644 --- a/lisp/mh-e/ChangeLog +++ b/lisp/mh-e/ChangeLog | |||
| @@ -1,3 +1,18 @@ | |||
| 1 | 2006-09-25 Stephen Gildea <gildea@stop.mail-abuse.org> | ||
| 2 | |||
| 3 | * mh-junk.el (mh-spamassassin-whitelist): Add two missing | ||
| 4 | quotation marks, so that the last two arguments of sa-learn | ||
| 5 | are separated properly (closes SF #1565460). | ||
| 6 | |||
| 7 | * (mh-spamassassin-blacklist): In example .procmailrc, add | ||
| 8 | PATH element to find mhparam on Debian. | ||
| 9 | |||
| 10 | 2006-09-24 Stephen Gildea <gildea@stop.mail-abuse.org> | ||
| 11 | |||
| 12 | * mh-comp.el (mh-send-args): Initialize to "" instead of nil | ||
| 13 | so that we always have a valid string for split-string even if | ||
| 14 | nothing is added in mh-send-letter (closes SF #1564742). | ||
| 15 | |||
| 1 | 2006-07-03 Bill Wohler <wohler@newt.com> | 16 | 2006-07-03 Bill Wohler <wohler@newt.com> |
| 2 | 17 | ||
| 3 | Release MH-E version 8.0.2. | 18 | Release MH-E version 8.0.2. |
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el index 7156b0cf318..a967a2c8d9e 100644 --- a/lisp/mh-e/mh-comp.el +++ b/lisp/mh-e/mh-comp.el | |||
| @@ -127,7 +127,7 @@ Used by the \\[mh-edit-again] and \\[mh-extract-rejected-mail] commands.") | |||
| 127 | (make-syntax-table text-mode-syntax-table)) | 127 | (make-syntax-table text-mode-syntax-table)) |
| 128 | (modify-syntax-entry ?% "." mh-letter-mode-syntax-table)) | 128 | (modify-syntax-entry ?% "." mh-letter-mode-syntax-table)) |
| 129 | 129 | ||
| 130 | (defvar mh-send-args nil | 130 | (defvar mh-send-args "" |
| 131 | "Extra args to pass to \"send\" command.") | 131 | "Extra args to pass to \"send\" command.") |
| 132 | 132 | ||
| 133 | (defvar mh-annotate-char nil | 133 | (defvar mh-annotate-char nil |
diff --git a/lisp/mh-e/mh-junk.el b/lisp/mh-e/mh-junk.el index 9d02db0dc11..67f267d672f 100644 --- a/lisp/mh-e/mh-junk.el +++ b/lisp/mh-e/mh-junk.el | |||
| @@ -115,6 +115,9 @@ http://spamassassin.org/. | |||
| 115 | To use SpamAssassin, add the following recipes to | 115 | To use SpamAssassin, add the following recipes to |
| 116 | \".procmailrc\": | 116 | \".procmailrc\": |
| 117 | 117 | ||
| 118 | # Append to $PATH the location of mhparam in some distros. | ||
| 119 | PATH=$PATH:/usr/bin/mh | ||
| 120 | |||
| 118 | MAILDIR=$HOME/`mhparam Path` | 121 | MAILDIR=$HOME/`mhparam Path` |
| 119 | 122 | ||
| 120 | # Fight spam with SpamAssassin. | 123 | # Fight spam with SpamAssassin. |
| @@ -244,7 +247,7 @@ See `mh-spamassassin-blacklist' for more information." | |||
| 244 | (when mh-sa-learn-executable | 247 | (when mh-sa-learn-executable |
| 245 | (message "Recategorizing this message as ham...") | 248 | (message "Recategorizing this message as ham...") |
| 246 | (call-process mh-sa-learn-executable msg-file mh-temp-buffer nil | 249 | (call-process mh-sa-learn-executable msg-file mh-temp-buffer nil |
| 247 | "--single" "--ham" "--local --no-rebuild")) | 250 | "--single" "--ham" "--local" "--no-rebuild")) |
| 248 | (message "Whitelisting message %d..." msg) | 251 | (message "Whitelisting message %d..." msg) |
| 249 | (setq from | 252 | (setq from |
| 250 | (car (mh-funcall-if-exists | 253 | (car (mh-funcall-if-exists |
diff --git a/lisp/mouse.el b/lisp/mouse.el index 18b16c6460d..0b6cccd86c6 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -778,7 +778,7 @@ If the click is in the echo area, display the `*Messages*' buffer." | |||
| 778 | (defun mouse-posn-property (pos property) | 778 | (defun mouse-posn-property (pos property) |
| 779 | "Look for a property at click position. | 779 | "Look for a property at click position. |
| 780 | POS may be either a buffer position or a click position like | 780 | POS may be either a buffer position or a click position like |
| 781 | those returned from `start-event'. If the click position is on | 781 | those returned from `event-start'. If the click position is on |
| 782 | a string, the text property PROPERTY is examined. | 782 | a string, the text property PROPERTY is examined. |
| 783 | If this is nil or the click is not on a string, then | 783 | If this is nil or the click is not on a string, then |
| 784 | the corresponding buffer position is searched for PROPERTY. | 784 | the corresponding buffer position is searched for PROPERTY. |
diff --git a/lisp/pcvs.el b/lisp/pcvs.el index a9105227bfd..1f2bad13dcd 100644 --- a/lisp/pcvs.el +++ b/lisp/pcvs.el | |||
| @@ -618,7 +618,6 @@ If non-nil, NEW means to create a new buffer no matter what." | |||
| 618 | (str (car hf)) | 618 | (str (car hf)) |
| 619 | (done "") | 619 | (done "") |
| 620 | (tin (ewoc-nth cvs-cookies 0))) | 620 | (tin (ewoc-nth cvs-cookies 0))) |
| 621 | (if (eq (length str) 2) (setq str "")) | ||
| 622 | ;; look for the first *real* fileinfo (to determine emptyness) | 621 | ;; look for the first *real* fileinfo (to determine emptyness) |
| 623 | (while | 622 | (while |
| 624 | (and tin | 623 | (and tin |
| @@ -626,14 +625,17 @@ If non-nil, NEW means to create a new buffer no matter what." | |||
| 626 | '(MESSAGE DIRCHANGE))) | 625 | '(MESSAGE DIRCHANGE))) |
| 627 | (setq tin (ewoc-next cvs-cookies tin))) | 626 | (setq tin (ewoc-next cvs-cookies tin))) |
| 628 | (if add | 627 | (if add |
| 629 | (setq str (concat "-- Running " cmd " ...\n" str)) | 628 | (progn |
| 629 | ;; Remove the default empty line, if applicable. | ||
| 630 | (if (not (string-match "." str)) (setq str "\n")) | ||
| 631 | (setq str (concat "-- Running " cmd " ...\n" str))) | ||
| 630 | (if (not (string-match | 632 | (if (not (string-match |
| 631 | (concat "^-- Running " (regexp-quote cmd) " \\.\\.\\.\n") str)) | 633 | (concat "^-- Running " (regexp-quote cmd) " \\.\\.\\.\n") str)) |
| 632 | (error "Internal PCL-CVS error while removing message") | 634 | (error "Internal PCL-CVS error while removing message") |
| 633 | (setq str (replace-match "" t t str)) | 635 | (setq str (replace-match "" t t str)) |
| 634 | (if (zerop (length str)) (setq str "\n")) | 636 | ;; Re-add the default empty line, if applicable. |
| 635 | (setq done (concat "-- last cmd: " cmd " --")))) | 637 | (if (not (string-match "." str)) (setq str "\n\n")) |
| 636 | (setq str (concat str "\n") done (concat done "\n")) | 638 | (setq done (concat "-- last cmd: " cmd " --\n")))) |
| 637 | ;; set the new header and footer | 639 | ;; set the new header and footer |
| 638 | (ewoc-set-hf cvs-cookies | 640 | (ewoc-set-hf cvs-cookies |
| 639 | str (concat "\n--------------------- " | 641 | str (concat "\n--------------------- " |
diff --git a/lisp/printing.el b/lisp/printing.el index 94be3dfbfab..18252155e49 100644 --- a/lisp/printing.el +++ b/lisp/printing.el | |||
| @@ -5,10 +5,10 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 8 | ;; Time-stamp: <2006-02-06 15:06:40 ttn> | 8 | ;; Time-stamp: <2006/09/15 18:53:14 vinicius> |
| 9 | ;; Keywords: wp, print, PostScript | 9 | ;; Keywords: wp, print, PostScript |
| 10 | ;; Version: 6.8.4 | 10 | ;; Version: 6.8.4 |
| 11 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ | 11 | ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre |
| 12 | 12 | ||
| 13 | (defconst pr-version "6.8.4" | 13 | (defconst pr-version "6.8.4" |
| 14 | "printing.el, v 6.8.4 <2005/06/11 vinicius> | 14 | "printing.el, v 6.8.4 <2005/06/11 vinicius> |
| @@ -2799,7 +2799,7 @@ See `pr-ps-printer-alist'.") | |||
| 2799 | 2799 | ||
| 2800 | 2800 | ||
| 2801 | (defalias 'pr-get-symbol | 2801 | (defalias 'pr-get-symbol |
| 2802 | (if (fboundp 'easy-menu-intern) | 2802 | (if (fboundp 'easy-menu-intern) ; hacked from easymenu.el |
| 2803 | 'easy-menu-intern | 2803 | 'easy-menu-intern |
| 2804 | (lambda (s) (if (stringp s) (intern s) s)))) | 2804 | (lambda (s) (if (stringp s) (intern s) s)))) |
| 2805 | 2805 | ||
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index e6a6a8ed9c5..7d9ce41229c 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el | |||
| @@ -1784,17 +1784,31 @@ and overlay is highlighted between MK and END-MK." | |||
| 1784 | (current-buffer))) | 1784 | (current-buffer))) |
| 1785 | (move-overlay compilation-highlight-overlay | 1785 | (move-overlay compilation-highlight-overlay |
| 1786 | (point) end (current-buffer))) | 1786 | (point) end (current-buffer))) |
| 1787 | (if (numberp next-error-highlight) | 1787 | (if (or (eq next-error-highlight t) |
| 1788 | (setq next-error-highlight-timer | 1788 | (numberp next-error-highlight)) |
| 1789 | (run-at-time next-error-highlight nil 'delete-overlay | 1789 | ;; We want highlighting: delete overlay on next input. |
| 1790 | compilation-highlight-overlay))) | 1790 | (add-hook 'pre-command-hook |
| 1791 | (if (not (or (eq next-error-highlight t) | 1791 | 'compilation-goto-locus-delete-o) |
| 1792 | (numberp next-error-highlight))) | 1792 | ;; We don't want highlighting: delete overlay now. |
| 1793 | (delete-overlay compilation-highlight-overlay)))))) | 1793 | (delete-overlay compilation-highlight-overlay)) |
| 1794 | ;; We want highlighting for a limited time: | ||
| 1795 | ;; set up a timer to delete it. | ||
| 1796 | (when (numberp next-error-highlight) | ||
| 1797 | (setq next-error-highlight-timer | ||
| 1798 | (run-at-time next-error-highlight nil | ||
| 1799 | 'compilation-goto-locus-delete-o))))))) | ||
| 1794 | (when (and (eq next-error-highlight 'fringe-arrow)) | 1800 | (when (and (eq next-error-highlight 'fringe-arrow)) |
| 1801 | ;; We want a fringe arrow (instead of highlighting). | ||
| 1795 | (setq next-error-overlay-arrow-position | 1802 | (setq next-error-overlay-arrow-position |
| 1796 | (copy-marker (line-beginning-position)))))) | 1803 | (copy-marker (line-beginning-position)))))) |
| 1797 | 1804 | ||
| 1805 | (defun compilation-goto-locus-delete-o () | ||
| 1806 | (delete-overlay compilation-highlight-overlay) | ||
| 1807 | ;; Get rid of timer and hook that would try to do this again. | ||
| 1808 | (if (timerp next-error-highlight-timer) | ||
| 1809 | (cancel-timer next-error-highlight-timer)) | ||
| 1810 | (remove-hook 'pre-command-hook | ||
| 1811 | 'compilation-goto-locus-delete-o)) | ||
| 1798 | 1812 | ||
| 1799 | (defun compilation-find-file (marker filename directory &rest formats) | 1813 | (defun compilation-find-file (marker filename directory &rest formats) |
| 1800 | "Find a buffer for file FILENAME. | 1814 | "Find a buffer for file FILENAME. |
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index ad44753f352..69f4549a0bf 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el | |||
| @@ -3914,12 +3914,14 @@ CHARS is a string that contains good characters to have before us (however, | |||
| 3914 | (if (get-text-property (point) 'here-doc-group) | 3914 | (if (get-text-property (point) 'here-doc-group) |
| 3915 | (progn | 3915 | (progn |
| 3916 | (goto-char | 3916 | (goto-char |
| 3917 | (previous-single-property-change (point) 'here-doc-group)) | 3917 | (or (previous-single-property-change (point) 'here-doc-group) |
| 3918 | (point))) | ||
| 3918 | (beginning-of-line 0))) | 3919 | (beginning-of-line 0))) |
| 3919 | (if (get-text-property (point) 'in-pod) | 3920 | (if (get-text-property (point) 'in-pod) |
| 3920 | (progn | 3921 | (progn |
| 3921 | (goto-char | 3922 | (goto-char |
| 3922 | (previous-single-property-change (point) 'in-pod)) | 3923 | (or (previous-single-property-change (point) 'in-pod) |
| 3924 | (point))) | ||
| 3923 | (beginning-of-line 0))) | 3925 | (beginning-of-line 0))) |
| 3924 | (if (looking-at "^[ \t]*\\(#\\|$\\)") nil ; Only comment, skip | 3926 | (if (looking-at "^[ \t]*\\(#\\|$\\)") nil ; Only comment, skip |
| 3925 | ;; Else: last iteration, or a label | 3927 | ;; Else: last iteration, or a label |
diff --git a/lisp/progmodes/ebnf2ps.el b/lisp/progmodes/ebnf2ps.el index bce4381c614..9f27c8a60f1 100644 --- a/lisp/progmodes/ebnf2ps.el +++ b/lisp/progmodes/ebnf2ps.el | |||
| @@ -5,10 +5,10 @@ | |||
| 5 | 5 | ||
| 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 6 | ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> | 7 | ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br> |
| 8 | ;; Time-stamp: <2005-09-18 07:27:20 deego> | 8 | ;; Time-stamp: <2006/09/26 21:49:46 vinicius> |
| 9 | ;; Keywords: wp, ebnf, PostScript | 9 | ;; Keywords: wp, ebnf, PostScript |
| 10 | ;; Version: 4.2 | 10 | ;; Version: 4.3 |
| 11 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ | 11 | ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre |
| 12 | 12 | ||
| 13 | ;; This file is part of GNU Emacs. | 13 | ;; This file is part of GNU Emacs. |
| 14 | 14 | ||
| @@ -27,8 +27,8 @@ | |||
| 27 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 27 | ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 28 | ;; Boston, MA 02110-1301, USA. | 28 | ;; Boston, MA 02110-1301, USA. |
| 29 | 29 | ||
| 30 | (defconst ebnf-version "4.2" | 30 | (defconst ebnf-version "4.3" |
| 31 | "ebnf2ps.el, v 4.2 <2004/04/04 vinicius> | 31 | "ebnf2ps.el, v 4.3 <2006/09/26 vinicius> |
| 32 | 32 | ||
| 33 | Vinicius's last change version. When reporting bugs, please also | 33 | Vinicius's last change version. When reporting bugs, please also |
| 34 | report the version of Emacs, if any, that ebnf2ps was running with. | 34 | report the version of Emacs, if any, that ebnf2ps was running with. |
| @@ -73,18 +73,18 @@ Please send all bug fixes and enhancements to | |||
| 73 | ;; ebnf2ps provides the following commands for generating PostScript syntactic | 73 | ;; ebnf2ps provides the following commands for generating PostScript syntactic |
| 74 | ;; chart images of Emacs buffers: | 74 | ;; chart images of Emacs buffers: |
| 75 | ;; | 75 | ;; |
| 76 | ;; ebnf-print-directory | 76 | ;; ebnf-print-directory |
| 77 | ;; ebnf-print-file | 77 | ;; ebnf-print-file |
| 78 | ;; ebnf-print-buffer | 78 | ;; ebnf-print-buffer |
| 79 | ;; ebnf-print-region | 79 | ;; ebnf-print-region |
| 80 | ;; ebnf-spool-directory | 80 | ;; ebnf-spool-directory |
| 81 | ;; ebnf-spool-file | 81 | ;; ebnf-spool-file |
| 82 | ;; ebnf-spool-buffer | 82 | ;; ebnf-spool-buffer |
| 83 | ;; ebnf-spool-region | 83 | ;; ebnf-spool-region |
| 84 | ;; ebnf-eps-directory | 84 | ;; ebnf-eps-directory |
| 85 | ;; ebnf-eps-file | 85 | ;; ebnf-eps-file |
| 86 | ;; ebnf-eps-buffer | 86 | ;; ebnf-eps-buffer |
| 87 | ;; ebnf-eps-region | 87 | ;; ebnf-eps-region |
| 88 | ;; | 88 | ;; |
| 89 | ;; These commands all perform essentially the same function: they generate | 89 | ;; These commands all perform essentially the same function: they generate |
| 90 | ;; PostScript syntactic chart images suitable for printing on a PostScript | 90 | ;; PostScript syntactic chart images suitable for printing on a PostScript |
| @@ -94,14 +94,14 @@ Please send all bug fixes and enhancements to | |||
| 94 | ;; The word "print", "spool" and "eps" in the command name determines when the | 94 | ;; The word "print", "spool" and "eps" in the command name determines when the |
| 95 | ;; PostScript image is sent to the printer (or file): | 95 | ;; PostScript image is sent to the printer (or file): |
| 96 | ;; | 96 | ;; |
| 97 | ;; print - The PostScript image is immediately sent to the printer; | 97 | ;; print - The PostScript image is immediately sent to the printer; |
| 98 | ;; | 98 | ;; |
| 99 | ;; spool - The PostScript image is saved temporarily in an Emacs buffer. | 99 | ;; spool - The PostScript image is saved temporarily in an Emacs buffer. |
| 100 | ;; Many images may be spooled locally before printing them. To | 100 | ;; Many images may be spooled locally before printing them. To |
| 101 | ;; send the spooled images to the printer, use the command | 101 | ;; send the spooled images to the printer, use the command |
| 102 | ;; `ebnf-despool'. | 102 | ;; `ebnf-despool'. |
| 103 | ;; | 103 | ;; |
| 104 | ;; eps - The PostScript image is immediately sent to a EPS file. | 104 | ;; eps - The PostScript image is immediately sent to a EPS file. |
| 105 | ;; | 105 | ;; |
| 106 | ;; The spooling mechanism is the same as used by ps-print and was designed for | 106 | ;; The spooling mechanism is the same as used by ps-print and was designed for |
| 107 | ;; printing lots of small files to save paper that would otherwise be wasted on | 107 | ;; printing lots of small files to save paper that would otherwise be wasted on |
| @@ -120,22 +120,22 @@ Please send all bug fixes and enhancements to | |||
| 120 | ;; The word "directory", "file", "buffer" or "region" in the command name | 120 | ;; The word "directory", "file", "buffer" or "region" in the command name |
| 121 | ;; determines how much of the buffer is printed: | 121 | ;; determines how much of the buffer is printed: |
| 122 | ;; | 122 | ;; |
| 123 | ;; directory - Read files in the directory and print them. | 123 | ;; directory - Read files in the directory and print them. |
| 124 | ;; | 124 | ;; |
| 125 | ;; file - Read file and print it. | 125 | ;; file - Read file and print it. |
| 126 | ;; | 126 | ;; |
| 127 | ;; buffer - Print the entire buffer. | 127 | ;; buffer - Print the entire buffer. |
| 128 | ;; | 128 | ;; |
| 129 | ;; region - Print just the current region. | 129 | ;; region - Print just the current region. |
| 130 | ;; | 130 | ;; |
| 131 | ;; Two ebnf- command examples: | 131 | ;; Two ebnf- command examples: |
| 132 | ;; | 132 | ;; |
| 133 | ;; ebnf-print-buffer - translate and print the entire buffer, and send it | 133 | ;; ebnf-print-buffer - translate and print the entire buffer, and send it |
| 134 | ;; immediately to the printer. | 134 | ;; immediately to the printer. |
| 135 | ;; | 135 | ;; |
| 136 | ;; ebnf-spool-region - translate and print just the current region, and | 136 | ;; ebnf-spool-region - translate and print just the current region, and |
| 137 | ;; spool the image in Emacs to send to the printer | 137 | ;; spool the image in Emacs to send to the printer |
| 138 | ;; later. | 138 | ;; later. |
| 139 | ;; | 139 | ;; |
| 140 | ;; Note that `ebnf-eps-directory', `ebnf-eps-file', `ebnf-eps-buffer' and | 140 | ;; Note that `ebnf-eps-directory', `ebnf-eps-file', `ebnf-eps-buffer' and |
| 141 | ;; `ebnf-eps-region' never spool the EPS image, so they don't use the ps-print | 141 | ;; `ebnf-eps-region' never spool the EPS image, so they don't use the ps-print |
| @@ -148,13 +148,13 @@ Please send all bug fixes and enhancements to | |||
| 148 | ;; | 148 | ;; |
| 149 | ;; To translate and print your buffer, type | 149 | ;; To translate and print your buffer, type |
| 150 | ;; | 150 | ;; |
| 151 | ;; M-x ebnf-print-buffer | 151 | ;; M-x ebnf-print-buffer |
| 152 | ;; | 152 | ;; |
| 153 | ;; or substitute one of the other four ebnf- commands. The command will | 153 | ;; or substitute one of the other four ebnf- commands. The command will |
| 154 | ;; generate the PostScript image and print or spool it as specified. By giving | 154 | ;; generate the PostScript image and print or spool it as specified. By giving |
| 155 | ;; the command a prefix argument | 155 | ;; the command a prefix argument |
| 156 | ;; | 156 | ;; |
| 157 | ;; C-u M-x ebnf-print-buffer | 157 | ;; C-u M-x ebnf-print-buffer |
| 158 | ;; | 158 | ;; |
| 159 | ;; it will save the PostScript image to a file instead of sending it to the | 159 | ;; it will save the PostScript image to a file instead of sending it to the |
| 160 | ;; printer; you will be prompted for the name of the file to save the image to. | 160 | ;; printer; you will be prompted for the name of the file to save the image to. |
| @@ -162,7 +162,7 @@ Please send all bug fixes and enhancements to | |||
| 162 | ;; you may save the spooled images to a file by giving a prefix argument to | 162 | ;; you may save the spooled images to a file by giving a prefix argument to |
| 163 | ;; `ebnf-despool': | 163 | ;; `ebnf-despool': |
| 164 | ;; | 164 | ;; |
| 165 | ;; C-u M-x ebnf-despool | 165 | ;; C-u M-x ebnf-despool |
| 166 | ;; | 166 | ;; |
| 167 | ;; When invoked this way, `ebnf-despool' will prompt you for the name of the | 167 | ;; When invoked this way, `ebnf-despool' will prompt you for the name of the |
| 168 | ;; file to save to. | 168 | ;; file to save to. |
| @@ -172,9 +172,9 @@ Please send all bug fixes and enhancements to | |||
| 172 | ;; | 172 | ;; |
| 173 | ;; Any of the `ebnf-' commands can be bound to keys. Here are some examples: | 173 | ;; Any of the `ebnf-' commands can be bound to keys. Here are some examples: |
| 174 | ;; | 174 | ;; |
| 175 | ;; (global-set-key 'f22 'ebnf-print-buffer) ;f22 is prsc | 175 | ;; (global-set-key 'f22 'ebnf-print-buffer) ;f22 is prsc |
| 176 | ;; (global-set-key '(shift f22) 'ebnf-print-region) | 176 | ;; (global-set-key '(shift f22) 'ebnf-print-region) |
| 177 | ;; (global-set-key '(control f22) 'ebnf-despool) | 177 | ;; (global-set-key '(control f22) 'ebnf-despool) |
| 178 | ;; | 178 | ;; |
| 179 | ;; | 179 | ;; |
| 180 | ;; Invoking Ebnf2ps in Batch | 180 | ;; Invoking Ebnf2ps in Batch |
| @@ -523,14 +523,14 @@ Please send all bug fixes and enhancements to | |||
| 523 | ;; | 523 | ;; |
| 524 | ;; The following table summarizes the results: | 524 | ;; The following table summarizes the results: |
| 525 | ;; | 525 | ;; |
| 526 | ;; EPS FILE NAME NO SORT ASCENDING SORT DESCENDING SORT | 526 | ;; EPS FILE NAME NO SORT ASCENDING SORT DESCENDING SORT |
| 527 | ;; ebnf--AA.eps A C A C C A | 527 | ;; ebnf--AA.eps A C A C C A |
| 528 | ;; ebnf--BB.eps C B B C C B | 528 | ;; ebnf--BB.eps C B B C C B |
| 529 | ;; ebnf--CC.eps A C B F A B C F F C B A | 529 | ;; ebnf--CC.eps A C B F A B C F F C B A |
| 530 | ;; ebnf--D.eps D D D | 530 | ;; ebnf--D.eps D D D |
| 531 | ;; ebnf--E.eps E E E | 531 | ;; ebnf--E.eps E E E |
| 532 | ;; ebnf--G.eps G G G | 532 | ;; ebnf--G.eps G G G |
| 533 | ;; ebnf--Z.eps Z Z Z | 533 | ;; ebnf--Z.eps Z Z Z |
| 534 | ;; | 534 | ;; |
| 535 | ;; As you can see if EPS actions is not used, each single production is | 535 | ;; As you can see if EPS actions is not used, each single production is |
| 536 | ;; generated per EPS file. To avoid overriding EPS files, use names in ;[ that | 536 | ;; generated per EPS file. To avoid overriding EPS files, use names in ;[ that |
| @@ -692,6 +692,11 @@ Please send all bug fixes and enhancements to | |||
| 692 | ;; | 692 | ;; |
| 693 | ;; `ebnf-line-color' Specify flow line color. | 693 | ;; `ebnf-line-color' Specify flow line color. |
| 694 | ;; | 694 | ;; |
| 695 | ;; `ebnf-arrow-extra-width' Specify extra width for arrow shape | ||
| 696 | ;; drawing. | ||
| 697 | ;; | ||
| 698 | ;; `ebnf-arrow-scale' Specify the arrow scale. | ||
| 699 | ;; | ||
| 695 | ;; `ebnf-user-arrow' Specify a sexp for user arrow shape (a | 700 | ;; `ebnf-user-arrow' Specify a sexp for user arrow shape (a |
| 696 | ;; PostScript code). | 701 | ;; PostScript code). |
| 697 | ;; | 702 | ;; |
| @@ -824,6 +829,8 @@ Please send all bug fixes and enhancements to | |||
| 824 | ;; entry is the vertical position used to know where it should | 829 | ;; entry is the vertical position used to know where it should |
| 825 | ;; be drawn the flow line in the current element. | 830 | ;; be drawn the flow line in the current element. |
| 826 | ;; | 831 | ;; |
| 832 | ;; extra is given by `ebnf-arrow-extra-width'. | ||
| 833 | ;; | ||
| 827 | ;; | 834 | ;; |
| 828 | ;; * SPECIAL, TERMINAL and NON-TERMINAL | 835 | ;; * SPECIAL, TERMINAL and NON-TERMINAL |
| 829 | ;; | 836 | ;; |
| @@ -835,17 +842,17 @@ Please send all bug fixes and enhancements to | |||
| 835 | ;; : | : : | : } font height / 2 } | 842 | ;; : | : : | : } font height / 2 } |
| 836 | ;; : +==============+...:............................... | 843 | ;; : +==============+...:............................... |
| 837 | ;; : : : : : : | 844 | ;; : : : : : : |
| 838 | ;; : : : : : :...................... | 845 | ;; : : : : : :......................... |
| 839 | ;; : : : : : } font height } | 846 | ;; : : : : : } font height } |
| 840 | ;; : : : : :....... } | 847 | ;; : : : : :....... } |
| 841 | ;; : : : : } font height / 2 } | 848 | ;; : : : : } font height / 2 } |
| 842 | ;; : : : :........... } | 849 | ;; : : : :........... } |
| 843 | ;; : : : } text width } width | 850 | ;; : : : } text width } width |
| 844 | ;; : : :.................. } | 851 | ;; : : :.................. } |
| 845 | ;; : : } font height / 2 } | 852 | ;; : : } font height / 2 } |
| 846 | ;; : :...................... } | 853 | ;; : :...................... } |
| 847 | ;; : } font height } | 854 | ;; : } font height + extra } |
| 848 | ;; :............................................. | 855 | ;; :................................................. |
| 849 | ;; | 856 | ;; |
| 850 | ;; | 857 | ;; |
| 851 | ;; * OPTIONAL | 858 | ;; * OPTIONAL |
| @@ -976,21 +983,21 @@ Please send all bug fixes and enhancements to | |||
| 976 | ;; : | : : : : | : } font height / 2 } | 983 | ;; : | : : : : | : } font height / 2 } |
| 977 | ;; : +================+...:............................... | 984 | ;; : +================+...:............................... |
| 978 | ;; : : : : : : : : | 985 | ;; : : : : : : : : |
| 979 | ;; : : : : : : : :...................... | 986 | ;; : : : : : : : :.......................... |
| 980 | ;; : : : : : : : } font height } | 987 | ;; : : : : : : : } font height } |
| 981 | ;; : : : : : : :....... } | 988 | ;; : : : : : : :....... } |
| 982 | ;; : : : : : : } font height / 2 } | 989 | ;; : : : : : : } font height / 2 } |
| 983 | ;; : : : : : :........... } | 990 | ;; : : : : : :........... } |
| 984 | ;; : : : : : } X width } | 991 | ;; : : : : : } X width } |
| 985 | ;; : : : : :............... } | 992 | ;; : : : : :............... } |
| 986 | ;; : : : : } font height / 2 } width | 993 | ;; : : : : } font height / 2 } width |
| 987 | ;; : : : :.................. } | 994 | ;; : : : :.................. } |
| 988 | ;; : : : } text width } | 995 | ;; : : : } text width } |
| 989 | ;; : : :..................... } | 996 | ;; : : :..................... } |
| 990 | ;; : : } font height / 2 } | 997 | ;; : : } font height / 2 } |
| 991 | ;; : :........................ } | 998 | ;; : :........................ } |
| 992 | ;; : } font height } | 999 | ;; : } font height + extra } |
| 993 | ;; :............................................... | 1000 | ;; :................................................... |
| 994 | ;; | 1001 | ;; |
| 995 | ;; | 1002 | ;; |
| 996 | ;; * EXCEPT | 1003 | ;; * EXCEPT |
| @@ -1003,21 +1010,21 @@ Please send all bug fixes and enhancements to | |||
| 1003 | ;; : | : : : : | : } font height / 2 } | 1010 | ;; : | : : : : | : } font height / 2 } |
| 1004 | ;; : +==================+...:............................... | 1011 | ;; : +==================+...:............................... |
| 1005 | ;; : : : : : : : : | 1012 | ;; : : : : : : : : |
| 1006 | ;; : : : : : : : :...................... | 1013 | ;; : : : : : : : :.......................... |
| 1007 | ;; : : : : : : : } font height } | 1014 | ;; : : : : : : : } font height } |
| 1008 | ;; : : : : : : :....... } | 1015 | ;; : : : : : : :....... } |
| 1009 | ;; : : : : : : } font height / 2 } | 1016 | ;; : : : : : : } font height / 2 } |
| 1010 | ;; : : : : : :........... } | 1017 | ;; : : : : : :........... } |
| 1011 | ;; : : : : : } Y width } | 1018 | ;; : : : : : } Y width } |
| 1012 | ;; : : : : :............... } | 1019 | ;; : : : : :............... } |
| 1013 | ;; : : : : } font height } width | 1020 | ;; : : : : } font height } width |
| 1014 | ;; : : : :................... } | 1021 | ;; : : : :................... } |
| 1015 | ;; : : : } X width } | 1022 | ;; : : : } X width } |
| 1016 | ;; : : :....................... } | 1023 | ;; : : :....................... } |
| 1017 | ;; : : } font height / 2 } | 1024 | ;; : : } font height / 2 } |
| 1018 | ;; : :.......................... } | 1025 | ;; : :.......................... } |
| 1019 | ;; : } font height } | 1026 | ;; : } font height + extra } |
| 1020 | ;; :................................................. | 1027 | ;; :..................................................... |
| 1021 | ;; | 1028 | ;; |
| 1022 | ;; NOTE: If Y element is empty, it's draw nothing at Y place. | 1029 | ;; NOTE: If Y element is empty, it's draw nothing at Y place. |
| 1023 | ;; | 1030 | ;; |
| @@ -1089,7 +1096,8 @@ Please send all bug fixes and enhancements to | |||
| 1089 | ;; ---------------- | 1096 | ;; ---------------- |
| 1090 | ;; | 1097 | ;; |
| 1091 | ;; Thanks to Drew Adams <drew.adams@oracle.com> for suggestions: | 1098 | ;; Thanks to Drew Adams <drew.adams@oracle.com> for suggestions: |
| 1092 | ;; - `ebnf-production-name-p', `ebnf-stop-on-error', | 1099 | ;; - `ebnf-arrow-extra-width', `ebnf-arrow-scale', |
| 1100 | ;; `ebnf-production-name-p', `ebnf-stop-on-error', | ||
| 1093 | ;; `ebnf-file-suffix-regexp'and `ebnf-special-show-delimiter' variables. | 1101 | ;; `ebnf-file-suffix-regexp'and `ebnf-special-show-delimiter' variables. |
| 1094 | ;; - `ebnf-delete-style', `ebnf-eps-file' and `ebnf-eps-directory' | 1102 | ;; - `ebnf-delete-style', `ebnf-eps-file' and `ebnf-eps-directory' |
| 1095 | ;; commands. | 1103 | ;; commands. |
| @@ -1911,6 +1919,29 @@ special." | |||
| 1911 | :group 'ebnf2ps) | 1919 | :group 'ebnf2ps) |
| 1912 | 1920 | ||
| 1913 | 1921 | ||
| 1922 | (defcustom ebnf-arrow-extra-width | ||
| 1923 | (if (eq ebnf-arrow-shape 'none) | ||
| 1924 | 0.0 | ||
| 1925 | (* (sqrt 5.0) 0.65 ebnf-line-width)) | ||
| 1926 | "*Specify extra width for arrow shape drawing. | ||
| 1927 | |||
| 1928 | The extra width is used to avoid that the arrowhead and the terminal border | ||
| 1929 | overlap. It depens on `ebnf-arrow-shape' and `ebnf-line-width'." | ||
| 1930 | :type 'number | ||
| 1931 | :version "22" | ||
| 1932 | :group 'ebnf-shape) | ||
| 1933 | |||
| 1934 | |||
| 1935 | (defcustom ebnf-arrow-scale 1.0 | ||
| 1936 | "*Specify the arrow scale. | ||
| 1937 | |||
| 1938 | Values lower than 1.0, shrink the arrow. | ||
| 1939 | Values greater than 1.0, expand the arrow." | ||
| 1940 | :type 'number | ||
| 1941 | :version "22" | ||
| 1942 | :group 'ebnf-shape) | ||
| 1943 | |||
| 1944 | |||
| 1914 | (defcustom ebnf-debug-ps nil | 1945 | (defcustom ebnf-debug-ps nil |
| 1915 | "*Non-nil means to generate PostScript debug procedures. | 1946 | "*Non-nil means to generate PostScript debug procedures. |
| 1916 | 1947 | ||
| @@ -2859,9 +2890,9 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and | |||
| 2859 | /HeightNT FontHeight FontHeight add def | 2890 | /HeightNT FontHeight FontHeight add def |
| 2860 | 2891 | ||
| 2861 | /T HeightT HeightNT add 0.5 mul def | 2892 | /T HeightT HeightNT add 0.5 mul def |
| 2862 | /hT T 0.5 mul def | 2893 | /hT T 0.5 mul def |
| 2863 | /hT2 hT 0.5 mul def | 2894 | /hT2 hT 0.5 mul ArrowScale mul def |
| 2864 | /hT4 hT 0.25 mul def | 2895 | /hT4 hT 0.25 mul ArrowScale mul def |
| 2865 | 2896 | ||
| 2866 | /Er 0.1 def % Error factor | 2897 | /Er 0.1 def % Error factor |
| 2867 | 2898 | ||
| @@ -2947,6 +2978,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and | |||
| 2947 | RA-vector ArrowShape get exec | 2978 | RA-vector ArrowShape get exec |
| 2948 | Gstroke | 2979 | Gstroke |
| 2949 | moveto | 2980 | moveto |
| 2981 | ExtraWidth 0 rmoveto | ||
| 2950 | }def | 2982 | }def |
| 2951 | 2983 | ||
| 2952 | % rotation DrawArrow | 2984 | % rotation DrawArrow |
| @@ -3245,7 +3277,7 @@ See documentation for `ebnf-terminal-shape', `ebnf-non-terminal-shape' and | |||
| 3245 | % string width prepare-width |- string | 3277 | % string width prepare-width |- string |
| 3246 | /prepare-width | 3278 | /prepare-width |
| 3247 | {/width exch def | 3279 | {/width exch def |
| 3248 | dup stringwidth pop space add space add width exch sub 0.5 mul | 3280 | dup stringwidth pop space add space add width exch sub ExtraWidth sub 0.5 mul |
| 3249 | /w exch def | 3281 | /w exch def |
| 3250 | }def | 3282 | }def |
| 3251 | 3283 | ||
| @@ -4877,7 +4909,6 @@ killed after process termination." | |||
| 4877 | (progn | 4909 | (progn |
| 4878 | ;; adjust creator comment | 4910 | ;; adjust creator comment |
| 4879 | (end-of-line) | 4911 | (end-of-line) |
| 4880 | (backward-char) | ||
| 4881 | (insert " & ebnf2ps v" ebnf-version) | 4912 | (insert " & ebnf2ps v" ebnf-version) |
| 4882 | ;; insert ebnf settings & engine | 4913 | ;; insert ebnf settings & engine |
| 4883 | (goto-char (point-max)) | 4914 | (goto-char (point-max)) |
| @@ -5066,6 +5097,10 @@ killed after process termination." | |||
| 5066 | (format "/ShadowR %s def\n" | 5097 | (format "/ShadowR %s def\n" |
| 5067 | (ebnf-boolean ebnf-repeat-shadow)) | 5098 | (ebnf-boolean ebnf-repeat-shadow)) |
| 5068 | ;; miscellaneous | 5099 | ;; miscellaneous |
| 5100 | (format "/ExtraWidth %s def\n" | ||
| 5101 | (ebnf-format-float ebnf-arrow-extra-width)) | ||
| 5102 | (format "/ArrowScale %s def\n" | ||
| 5103 | (ebnf-format-float ebnf-arrow-scale)) | ||
| 5069 | (format "/DefaultWidth %s def\n" | 5104 | (format "/DefaultWidth %s def\n" |
| 5070 | (ebnf-format-float ebnf-default-width)) | 5105 | (ebnf-format-float ebnf-default-width)) |
| 5071 | (format "/LineWidth %s def\n" | 5106 | (format "/LineWidth %s def\n" |
| @@ -5152,7 +5187,7 @@ killed after process termination." | |||
| 5152 | (len (length (ebnf-node-name node)))) | 5187 | (len (length (ebnf-node-name node)))) |
| 5153 | (ebnf-node-entry node (* height 0.5)) | 5188 | (ebnf-node-entry node (* height 0.5)) |
| 5154 | (ebnf-node-height node height) | 5189 | (ebnf-node-height node height) |
| 5155 | (ebnf-node-width node (+ ebnf-basic-width space | 5190 | (ebnf-node-width node (+ ebnf-basic-width ebnf-arrow-extra-width space |
| 5156 | (* len font-width) | 5191 | (* len font-width) |
| 5157 | space ebnf-basic-width)))) | 5192 | space ebnf-basic-width)))) |
| 5158 | 5193 | ||
| @@ -5173,6 +5208,7 @@ killed after process termination." | |||
| 5173 | ebnf-font-height-S) | 5208 | ebnf-font-height-S) |
| 5174 | ebnf-space-R ebnf-space-R)) | 5209 | ebnf-space-R ebnf-space-R)) |
| 5175 | (ebnf-node-width repeat (+ (ebnf-node-width element) | 5210 | (ebnf-node-width repeat (+ (ebnf-node-width element) |
| 5211 | ebnf-arrow-extra-width | ||
| 5176 | ebnf-space-R ebnf-space-R ebnf-space-R | 5212 | ebnf-space-R ebnf-space-R ebnf-space-R |
| 5177 | ebnf-horizontal-space | 5213 | ebnf-horizontal-space |
| 5178 | (* (length times) ebnf-font-width-R))))) | 5214 | (* (length times) ebnf-font-width-R))))) |
| @@ -5194,6 +5230,7 @@ killed after process termination." | |||
| 5194 | ebnf-space-E ebnf-space-E)) | 5230 | ebnf-space-E ebnf-space-E)) |
| 5195 | (ebnf-node-width except (+ (ebnf-node-width factor) | 5231 | (ebnf-node-width except (+ (ebnf-node-width factor) |
| 5196 | (ebnf-node-width element) | 5232 | (ebnf-node-width element) |
| 5233 | ebnf-arrow-extra-width | ||
| 5197 | ebnf-space-E ebnf-space-E | 5234 | ebnf-space-E ebnf-space-E |
| 5198 | ebnf-space-E ebnf-space-E | 5235 | ebnf-space-E ebnf-space-E |
| 5199 | ebnf-font-width-E | 5236 | ebnf-font-width-E |
diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el index 109455e9e61..c7341a9f871 100644 --- a/lisp/progmodes/make-mode.el +++ b/lisp/progmodes/make-mode.el | |||
| @@ -836,8 +836,8 @@ Makefile mode can be configured by modifying the following variables: | |||
| 836 | nil nil | 836 | nil nil |
| 837 | ((?$ . ".")) | 837 | ((?$ . ".")) |
| 838 | backward-paragraph | 838 | backward-paragraph |
| 839 | (font-lock-syntactic-keywords . makefile-font-lock-syntactic-keywords) | 839 | (font-lock-syntactic-keywords |
| 840 | (font-lock-support-mode))) ; JIT breaks on long series of continuation lines. | 840 | . makefile-font-lock-syntactic-keywords))) |
| 841 | 841 | ||
| 842 | ;; Add-log. | 842 | ;; Add-log. |
| 843 | (make-local-variable 'add-log-current-defun-function) | 843 | (make-local-variable 'add-log-current-defun-function) |
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el index a08f999f089..ba10393a89f 100644 --- a/lisp/progmodes/sh-script.el +++ b/lisp/progmodes/sh-script.el | |||
| @@ -2472,34 +2472,43 @@ we go to the end of the previous line and do not check for continuations." | |||
| 2472 | (point)) | 2472 | (point)) |
| 2473 | (skip-chars-backward " \t;") | 2473 | (skip-chars-backward " \t;") |
| 2474 | (unless (looking-at "\\s-*;;") | 2474 | (unless (looking-at "\\s-*;;") |
| 2475 | (skip-chars-backward "^)}];\"'`({[") | 2475 | (skip-chars-backward "^)}];\"'`({[") |
| 2476 | (setq c (char-before)))) | 2476 | (setq c (char-before))) |
| 2477 | (sh-debug "stopping at %d c is %s start=%d min-point=%d" | 2477 | (sh-debug "stopping at %d c is %s start=%d min-point=%d" |
| 2478 | (point) c start min-point) | 2478 | (point) c start min-point) |
| 2479 | (if (< (point) min-point) | 2479 | (if (< (point) min-point) |
| 2480 | (error "point %d < min-point %d" (point) min-point)) | 2480 | (error "point %d < min-point %d" (point) min-point)) |
| 2481 | (cond | 2481 | (cond |
| 2482 | ((looking-at "\\s-*;;") | 2482 | ((looking-at "\\s-*;;") |
| 2483 | ;; (message "Found ;; !") | 2483 | ;; (message "Found ;; !") |
| 2484 | ";;") | 2484 | ";;") |
| 2485 | ((or (eq c ?\n) | 2485 | ((or (eq c ?\n) |
| 2486 | (eq c nil) | 2486 | (eq c nil) |
| 2487 | (eq c ?\;)) | 2487 | (eq c ?\;)) |
| 2488 | (save-excursion | 2488 | (let (done kwd next |
| 2489 | ;; skip forward over white space newline and \ at eol | 2489 | (boundary (point))) |
| 2490 | (skip-chars-forward " \t\n\\\\") | 2490 | (skip-chars-forward " \t\n\\\\") |
| 2491 | (sh-debug "Now at %d start=%d" (point) start) | 2491 | (while (and (not done) (not (eobp))) |
| 2492 | (if (>= (point) start) | 2492 | (if next (setq boundary next)) |
| 2493 | (progn | 2493 | ;; skip forward over white space newline and \ at eol |
| 2494 | (sh-debug "point: %d >= start: %d" (point) start) | 2494 | (sh-debug "Now at %d start=%d" (point) start) |
| 2495 | nil) | 2495 | (if (>= (point) start) |
| 2496 | (sh-get-word)) | 2496 | (progn |
| 2497 | )) | 2497 | (sh-debug "point: %d >= start: %d" (point) start) |
| 2498 | (t | 2498 | nil) |
| 2499 | ;; c -- return a string | 2499 | (setq kwd (sh-get-word)) |
| 2500 | (char-to-string c) | 2500 | (unless (eobp) (forward-char 1)) |
| 2501 | )) | 2501 | (if (member kwd (sh-feature sh-leading-keywords)) |
| 2502 | ))) | 2502 | (setq next (point)) |
| 2503 | (setq done t))) | ||
| 2504 | (skip-chars-forward " \t\n\\\\")) | ||
| 2505 | (goto-char boundary) | ||
| 2506 | kwd)) | ||
| 2507 | (t | ||
| 2508 | ;; c -- return a string | ||
| 2509 | (char-to-string c) | ||
| 2510 | )) | ||
| 2511 | )))) | ||
| 2503 | 2512 | ||
| 2504 | 2513 | ||
| 2505 | (defun sh-this-is-a-continuation () | 2514 | (defun sh-this-is-a-continuation () |
diff --git a/lisp/ps-print.el b/lisp/ps-print.el index 59605c22c5b..d072b905e4a 100644 --- a/lisp/ps-print.el +++ b/lisp/ps-print.el | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | ;; Keywords: wp, print, PostScript | 12 | ;; Keywords: wp, print, PostScript |
| 13 | ;; Time-stamp: <2005/06/27 00:57:22 vinicius> | 13 | ;; Time-stamp: <2005/06/27 00:57:22 vinicius> |
| 14 | ;; Version: 6.6.7 | 14 | ;; Version: 6.6.7 |
| 15 | ;; X-URL: http://www.cpqd.com.br/~vinicius/emacs/ | 15 | ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre |
| 16 | 16 | ||
| 17 | (defconst ps-print-version "6.6.7" | 17 | (defconst ps-print-version "6.6.7" |
| 18 | "ps-print.el, v 6.6.7 <2005/06/27 vinicius> | 18 | "ps-print.el, v 6.6.7 <2005/06/27 vinicius> |
diff --git a/lisp/ses.el b/lisp/ses.el index fc594167187..85f6f8db378 100644 --- a/lisp/ses.el +++ b/lisp/ses.el | |||
| @@ -237,13 +237,6 @@ Each function is called with ARG=1." | |||
| 237 | ses-initial-file-trailer) | 237 | ses-initial-file-trailer) |
| 238 | "The initial contents of an empty spreadsheet.") | 238 | "The initial contents of an empty spreadsheet.") |
| 239 | 239 | ||
| 240 | (defconst ses-paramlines-plist | ||
| 241 | '(ses--col-widths 2 ses--col-printers 3 ses--default-printer 4 | ||
| 242 | ses--header-row 5 ses--file-format 8 ses--numrows 9 | ||
| 243 | ses--numcols 10) | ||
| 244 | "Offsets from last cell line to various parameter lines in the data area | ||
| 245 | of a spreadsheet.") | ||
| 246 | |||
| 247 | (defconst ses-box-prop '(:box (:line-width 2 :style released-button)) | 240 | (defconst ses-box-prop '(:box (:line-width 2 :style released-button)) |
| 248 | "Display properties to create a raised box for cells in the header line.") | 241 | "Display properties to create a raised box for cells in the header line.") |
| 249 | 242 | ||
| @@ -255,13 +248,19 @@ functions. None of these standard-printer functions is suitable for use as a | |||
| 255 | column printer or a global-default printer because they invoke the column or | 248 | column printer or a global-default printer because they invoke the column or |
| 256 | default printer and then modify its output.") | 249 | default printer and then modify its output.") |
| 257 | 250 | ||
| 251 | |||
| 252 | ;;---------------------------------------------------------------------------- | ||
| 253 | ;; Local variables and constants | ||
| 254 | ;;---------------------------------------------------------------------------- | ||
| 255 | |||
| 258 | (eval-and-compile | 256 | (eval-and-compile |
| 259 | (defconst ses-localvars | 257 | (defconst ses-localvars |
| 260 | '(ses--blank-line ses--cells ses--col-printers ses--col-widths ses--curcell | 258 | '(ses--blank-line ses--cells ses--col-printers ses--col-widths ses--curcell |
| 261 | ses--curcell-overlay ses--default-printer ses--deferred-narrow | 259 | ses--curcell-overlay ses--default-printer ses--deferred-narrow |
| 262 | ses--deferred-recalc ses--deferred-write ses--file-format | 260 | ses--deferred-recalc ses--deferred-write ses--file-format |
| 263 | ses--header-hscroll ses--header-row ses--header-string ses--linewidth | 261 | ses--header-hscroll ses--header-row ses--header-string ses--linewidth |
| 264 | ses--numcols ses--numrows ses--symbolic-formulas | 262 | ses--numcols ses--numrows ses--symbolic-formulas ses--data-marker |
| 263 | ses--params-marker | ||
| 265 | ;;Global variables that we override | 264 | ;;Global variables that we override |
| 266 | mode-line-process next-line-add-newlines transient-mark-mode) | 265 | mode-line-process next-line-add-newlines transient-mark-mode) |
| 267 | "Buffer-local variables used by SES.")) | 266 | "Buffer-local variables used by SES.")) |
| @@ -272,6 +271,13 @@ default printer and then modify its output.") | |||
| 272 | (make-local-variable x) | 271 | (make-local-variable x) |
| 273 | (set x nil))) | 272 | (set x nil))) |
| 274 | 273 | ||
| 274 | (defconst ses-paramlines-plist | ||
| 275 | '(ses--col-widths -5 ses--col-printers -4 ses--default-printer -3 | ||
| 276 | ses--header-row -2 ses--file-format 1 ses--numrows 2 | ||
| 277 | ses--numcols 3) | ||
| 278 | "Offsets from 'Global parameters' line to various parameter lines in the | ||
| 279 | data area of a spreadsheet.") | ||
| 280 | |||
| 275 | 281 | ||
| 276 | ;; | 282 | ;; |
| 277 | ;; "Side-effect variables". They are set in one function, altered in | 283 | ;; "Side-effect variables". They are set in one function, altered in |
| @@ -408,6 +414,7 @@ for safety. This is a macro to prevent propagate-on-load viruses." | |||
| 408 | "Execute BODY repeatedly, with the variables `row' and `col' set to each | 414 | "Execute BODY repeatedly, with the variables `row' and `col' set to each |
| 409 | cell in the range specified by CURCELL. The range is available in the | 415 | cell in the range specified by CURCELL. The range is available in the |
| 410 | variables `minrow', `maxrow', `mincol', and `maxcol'." | 416 | variables `minrow', `maxrow', `mincol', and `maxcol'." |
| 417 | (declare (indent defun) (debug (form body))) | ||
| 411 | (let ((cur (make-symbol "cur")) | 418 | (let ((cur (make-symbol "cur")) |
| 412 | (min (make-symbol "min")) | 419 | (min (make-symbol "min")) |
| 413 | (max (make-symbol "max")) | 420 | (max (make-symbol "max")) |
| @@ -429,9 +436,6 @@ variables `minrow', `maxrow', `mincol', and `maxcol'." | |||
| 429 | (setq col (+ ,c mincol)) | 436 | (setq col (+ ,c mincol)) |
| 430 | ,@body)))))) | 437 | ,@body)))))) |
| 431 | 438 | ||
| 432 | (put 'ses-dorange 'lisp-indent-function 'defun) | ||
| 433 | (def-edebug-spec ses-dorange (form body)) | ||
| 434 | |||
| 435 | ;;Support for coverage testing. | 439 | ;;Support for coverage testing. |
| 436 | (defmacro 1value (form) | 440 | (defmacro 1value (form) |
| 437 | "For code-coverage testing, indicate that FORM is expected to always have | 441 | "For code-coverage testing, indicate that FORM is expected to always have |
| @@ -650,7 +654,7 @@ the old and FORCE is nil." | |||
| 650 | (defun ses-update-cells (list &optional force) | 654 | (defun ses-update-cells (list &optional force) |
| 651 | "Recalculate cells in LIST, checking for dependency loops. Prints | 655 | "Recalculate cells in LIST, checking for dependency loops. Prints |
| 652 | progress messages every second. Dependent cells are not recalculated | 656 | progress messages every second. Dependent cells are not recalculated |
| 653 | if the cell's value is unchanged if FORCE is nil." | 657 | if the cell's value is unchanged and FORCE is nil." |
| 654 | (let ((ses--deferred-recalc list) | 658 | (let ((ses--deferred-recalc list) |
| 655 | (nextlist list) | 659 | (nextlist list) |
| 656 | (pos (point)) | 660 | (pos (point)) |
| @@ -709,7 +713,7 @@ if the cell's value is unchanged if FORCE is nil." | |||
| 709 | 713 | ||
| 710 | (defun ses-in-print-area () | 714 | (defun ses-in-print-area () |
| 711 | "Returns t if point is in print area of spreadsheet." | 715 | "Returns t if point is in print area of spreadsheet." |
| 712 | (eq (get-text-property (point) 'keymap) 'ses-mode-print-map)) | 716 | (<= (point) ses--data-marker)) |
| 713 | 717 | ||
| 714 | ;;We turn off point-motion-hooks and explicitly position the cursor, in case | 718 | ;;We turn off point-motion-hooks and explicitly position the cursor, in case |
| 715 | ;;the intangible properties have gotten screwed up (e.g., when | 719 | ;;the intangible properties have gotten screwed up (e.g., when |
| @@ -953,14 +957,16 @@ is one of the symbols ses--col-widths, ses--col-printers, | |||
| 953 | ses--default-printer, ses--numrows, or ses--numcols." | 957 | ses--default-printer, ses--numrows, or ses--numcols." |
| 954 | (ses-widen) | 958 | (ses-widen) |
| 955 | (let ((inhibit-point-motion-hooks t)) ;In case intangible attrs are wrong | 959 | (let ((inhibit-point-motion-hooks t)) ;In case intangible attrs are wrong |
| 956 | (goto-char (point-min)) | ||
| 957 | (if col | 960 | (if col |
| 958 | ;;It's a cell | 961 | ;;It's a cell |
| 959 | (forward-line (+ ses--numrows 2 (* def (1+ ses--numcols)) col)) | 962 | (progn |
| 960 | ;;Convert def-symbol to offset | 963 | (goto-char ses--data-marker) |
| 961 | (setq def (plist-get ses-paramlines-plist def)) | 964 | (forward-line (+ 1 (* def (1+ ses--numcols)) col))) |
| 962 | (or def (signal 'args-out-of-range nil)) | 965 | ;;Convert def-symbol to offset |
| 963 | (forward-line (+ (* ses--numrows (+ ses--numcols 2)) def))))) | 966 | (setq def (plist-get ses-paramlines-plist def)) |
| 967 | (or def (signal 'args-out-of-range nil)) | ||
| 968 | (goto-char ses--params-marker) | ||
| 969 | (forward-line def)))) | ||
| 964 | 970 | ||
| 965 | (defun ses-set-parameter (def value &optional elem) | 971 | (defun ses-set-parameter (def value &optional elem) |
| 966 | "Set parameter DEF to VALUE (with undo) and write the value to the data area. | 972 | "Set parameter DEF to VALUE (with undo) and write the value to the data area. |
| @@ -1070,6 +1076,23 @@ or t to get a wrong-type-argument error when the first reference is found." | |||
| 1070 | )))) | 1076 | )))) |
| 1071 | result-so-far) | 1077 | result-so-far) |
| 1072 | 1078 | ||
| 1079 | (defsubst ses-relocate-symbol (sym rowcol startrow startcol rowincr colincr) | ||
| 1080 | "Relocate one symbol SYM, whichs corresponds to ROWCOL (a cons of ROW and | ||
| 1081 | COL). Cells starting at (STARTROW,STARTCOL) are being shifted | ||
| 1082 | by (ROWINCR,COLINCR)." | ||
| 1083 | (let ((row (car rowcol)) | ||
| 1084 | (col (cdr rowcol))) | ||
| 1085 | (if (or (< row startrow) (< col startcol)) | ||
| 1086 | sym | ||
| 1087 | (setq row (+ row rowincr) | ||
| 1088 | col (+ col colincr)) | ||
| 1089 | (if (and (>= row startrow) (>= col startcol) | ||
| 1090 | (< row ses--numrows) (< col ses--numcols)) | ||
| 1091 | ;;Relocate this variable | ||
| 1092 | (ses-create-cell-symbol row col) | ||
| 1093 | ;;Delete reference to a deleted cell | ||
| 1094 | nil)))) | ||
| 1095 | |||
| 1073 | (defun ses-relocate-formula (formula startrow startcol rowincr colincr) | 1096 | (defun ses-relocate-formula (formula startrow startcol rowincr colincr) |
| 1074 | "Produce a copy of FORMULA where all symbols that refer to cells in row | 1097 | "Produce a copy of FORMULA where all symbols that refer to cells in row |
| 1075 | STARTROW or above and col STARTCOL or above are altered by adding ROWINCR | 1098 | STARTROW or above and col STARTCOL or above are altered by adding ROWINCR |
| @@ -1114,23 +1137,6 @@ Sets `ses-relocate-return' to 'delete if cell-references were removed." | |||
| 1114 | result)))) | 1137 | result)))) |
| 1115 | (nreverse result)))) | 1138 | (nreverse result)))) |
| 1116 | 1139 | ||
| 1117 | (defun ses-relocate-symbol (sym rowcol startrow startcol rowincr colincr) | ||
| 1118 | "Relocate one symbol SYM, whichs corresponds to ROWCOL (a cons of ROW and | ||
| 1119 | COL). Cells starting at (STARTROW,STARTCOL) are being shifted | ||
| 1120 | by (ROWINCR,COLINCR)." | ||
| 1121 | (let ((row (car rowcol)) | ||
| 1122 | (col (cdr rowcol))) | ||
| 1123 | (if (or (< row startrow) (< col startcol)) | ||
| 1124 | sym | ||
| 1125 | (setq row (+ row rowincr) | ||
| 1126 | col (+ col colincr)) | ||
| 1127 | (if (and (>= row startrow) (>= col startcol) | ||
| 1128 | (< row ses--numrows) (< col ses--numcols)) | ||
| 1129 | ;;Relocate this variable | ||
| 1130 | (ses-create-cell-symbol row col) | ||
| 1131 | ;;Delete reference to a deleted cell | ||
| 1132 | nil)))) | ||
| 1133 | |||
| 1134 | (defun ses-relocate-range (range startrow startcol rowincr colincr) | 1140 | (defun ses-relocate-range (range startrow startcol rowincr colincr) |
| 1135 | "Relocate one RANGE, of the form '(ses-range min max). Cells starting | 1141 | "Relocate one RANGE, of the form '(ses-range min max). Cells starting |
| 1136 | at (STARTROW,STARTCOL) are being shifted by (ROWINCR,COLINCR). Result is the | 1142 | at (STARTROW,STARTCOL) are being shifted by (ROWINCR,COLINCR). Result is the |
| @@ -1337,6 +1343,7 @@ execute cell formulas or print functions." | |||
| 1337 | (goto-char (point-max)) | 1343 | (goto-char (point-max)) |
| 1338 | (search-backward ";; Local Variables:\n" nil t) | 1344 | (search-backward ";; Local Variables:\n" nil t) |
| 1339 | (backward-list 1) | 1345 | (backward-list 1) |
| 1346 | (setq ses--params-marker (point-marker)) | ||
| 1340 | (let ((params (condition-case nil (read (current-buffer)) (error nil)))) | 1347 | (let ((params (condition-case nil (read (current-buffer)) (error nil)))) |
| 1341 | (or (and (= (safe-length params) 3) | 1348 | (or (and (= (safe-length params) 3) |
| 1342 | (numberp (car params)) | 1349 | (numberp (car params)) |
| @@ -1366,7 +1373,9 @@ execute cell formulas or print functions." | |||
| 1366 | (forward-line ses--numrows) | 1373 | (forward-line ses--numrows) |
| 1367 | (or (looking-at ses-print-data-boundary) | 1374 | (or (looking-at ses-print-data-boundary) |
| 1368 | (error "Missing marker between print and data areas")) | 1375 | (error "Missing marker between print and data areas")) |
| 1369 | (forward-char (length ses-print-data-boundary)) | 1376 | (forward-char 1) |
| 1377 | (setq ses--data-marker (point-marker)) | ||
| 1378 | (forward-char (1- (length ses-print-data-boundary))) | ||
| 1370 | ;;Initialize printer and symbol lists | 1379 | ;;Initialize printer and symbol lists |
| 1371 | (mapc 'ses-printer-record ses-standard-printer-functions) | 1380 | (mapc 'ses-printer-record ses-standard-printer-functions) |
| 1372 | (setq ses--symbolic-formulas nil) | 1381 | (setq ses--symbolic-formulas nil) |
| @@ -1573,10 +1582,7 @@ narrows the buffer now." | |||
| 1573 | ;;We're not allowed to narrow the buffer until after-find-file has | 1582 | ;;We're not allowed to narrow the buffer until after-find-file has |
| 1574 | ;;read the local variables at the end of the file. Now it's safe to | 1583 | ;;read the local variables at the end of the file. Now it's safe to |
| 1575 | ;;do the narrowing. | 1584 | ;;do the narrowing. |
| 1576 | (save-excursion | 1585 | (narrow-to-region (point-min) ses--data-marker) |
| 1577 | (goto-char (point-min)) | ||
| 1578 | (forward-line ses--numrows) | ||
| 1579 | (narrow-to-region (point-min) (point))) | ||
| 1580 | (setq ses--deferred-narrow nil)) | 1586 | (setq ses--deferred-narrow nil)) |
| 1581 | ;;Update the modeline | 1587 | ;;Update the modeline |
| 1582 | (let ((oldcell ses--curcell)) | 1588 | (let ((oldcell ses--curcell)) |
| @@ -1803,11 +1809,17 @@ cells." | |||
| 1803 | (dotimes (row ses--numrows) | 1809 | (dotimes (row ses--numrows) |
| 1804 | (insert ses--blank-line)) | 1810 | (insert ses--blank-line)) |
| 1805 | (insert ses-print-data-boundary) | 1811 | (insert ses-print-data-boundary) |
| 1812 | (backward-char (1- (length ses-print-data-boundary))) | ||
| 1813 | (setq ses--data-marker (point-marker)) | ||
| 1814 | (forward-char (1- (length ses-print-data-boundary))) | ||
| 1806 | ;;Placeholders for cell data | 1815 | ;;Placeholders for cell data |
| 1807 | (insert (make-string (* ses--numrows (1+ ses--numcols)) ?\n)) | 1816 | (insert (make-string (* ses--numrows (1+ ses--numcols)) ?\n)) |
| 1808 | ;;Placeholders for col-widths, col-printers, default-printer, header-row | 1817 | ;;Placeholders for col-widths, col-printers, default-printer, header-row |
| 1809 | (insert "\n\n\n\n") | 1818 | (insert "\n\n\n\n") |
| 1810 | (insert ses-initial-global-parameters)) | 1819 | (insert ses-initial-global-parameters) |
| 1820 | (backward-char (1- (length ses-initial-global-parameters))) | ||
| 1821 | (setq ses--params-marker (point-marker)) | ||
| 1822 | (forward-char (1- (length ses-initial-global-parameters)))) | ||
| 1811 | (ses-set-parameter 'ses--col-widths ses--col-widths) | 1823 | (ses-set-parameter 'ses--col-widths ses--col-widths) |
| 1812 | (ses-set-parameter 'ses--col-printers ses--col-printers) | 1824 | (ses-set-parameter 'ses--col-printers ses--col-printers) |
| 1813 | (ses-set-parameter 'ses--default-printer ses--default-printer) | 1825 | (ses-set-parameter 'ses--default-printer ses--default-printer) |
| @@ -2880,7 +2892,8 @@ TEST is evaluated." | |||
| 2880 | (cons 'list result))) | 2892 | (cons 'list result))) |
| 2881 | 2893 | ||
| 2882 | ;;All standard formulas are safe | 2894 | ;;All standard formulas are safe |
| 2883 | (dolist (x '(ses-range ses-delete-blanks ses+ ses-average ses-select)) | 2895 | (dolist (x '(ses-cell-value ses-range ses-delete-blanks ses+ ses-average |
| 2896 | ses-select)) | ||
| 2884 | (put x 'side-effect-free t)) | 2897 | (put x 'side-effect-free t)) |
| 2885 | 2898 | ||
| 2886 | 2899 | ||
diff --git a/lisp/simple.el b/lisp/simple.el index a289f87f4d9..55f476213fd 100644 --- a/lisp/simple.el +++ b/lisp/simple.el | |||
| @@ -128,7 +128,7 @@ If no other buffer exists, the buffer `*scratch*' is returned." | |||
| 128 | :group 'next-error | 128 | :group 'next-error |
| 129 | :version "22.1") | 129 | :version "22.1") |
| 130 | 130 | ||
| 131 | (defcustom next-error-highlight 0.1 | 131 | (defcustom next-error-highlight 0.5 |
| 132 | "*Highlighting of locations in selected source buffers. | 132 | "*Highlighting of locations in selected source buffers. |
| 133 | If number, highlight the locus in `next-error' face for given time in seconds. | 133 | If number, highlight the locus in `next-error' face for given time in seconds. |
| 134 | If t, highlight the locus indefinitely until some other locus replaces it. | 134 | If t, highlight the locus indefinitely until some other locus replaces it. |
| @@ -141,8 +141,8 @@ If `fringe-arrow', indicate the locus by the fringe arrow." | |||
| 141 | :group 'next-error | 141 | :group 'next-error |
| 142 | :version "22.1") | 142 | :version "22.1") |
| 143 | 143 | ||
| 144 | (defcustom next-error-highlight-no-select 0.1 | 144 | (defcustom next-error-highlight-no-select 0.5 |
| 145 | "*Highlighting of locations in non-selected source buffers. | 145 | "*Highlighting of locations in `next-error-no-select'. |
| 146 | If number, highlight the locus in `next-error' face for given time in seconds. | 146 | If number, highlight the locus in `next-error' face for given time in seconds. |
| 147 | If t, highlight the locus indefinitely until some other locus replaces it. | 147 | If t, highlight the locus indefinitely until some other locus replaces it. |
| 148 | If nil, don't highlight the locus in the source buffer. | 148 | If nil, don't highlight the locus in the source buffer. |
| @@ -1501,8 +1501,7 @@ Call `undo-start' to get ready to undo recent changes, | |||
| 1501 | then call `undo-more' one or more times to undo them." | 1501 | then call `undo-more' one or more times to undo them." |
| 1502 | (or (listp pending-undo-list) | 1502 | (or (listp pending-undo-list) |
| 1503 | (error (concat "No further undo information" | 1503 | (error (concat "No further undo information" |
| 1504 | (and transient-mark-mode mark-active | 1504 | (and undo-in-region " for region")))) |
| 1505 | " for region")))) | ||
| 1506 | (let ((undo-in-progress t)) | 1505 | (let ((undo-in-progress t)) |
| 1507 | (setq pending-undo-list (primitive-undo n pending-undo-list)) | 1506 | (setq pending-undo-list (primitive-undo n pending-undo-list)) |
| 1508 | (if (null pending-undo-list) | 1507 | (if (null pending-undo-list) |
| @@ -1649,12 +1648,12 @@ is not *inside* the region START...END." | |||
| 1649 | ((null (car undo-elt)) | 1648 | ((null (car undo-elt)) |
| 1650 | ;; (nil PROPERTY VALUE BEG . END) | 1649 | ;; (nil PROPERTY VALUE BEG . END) |
| 1651 | (let ((tail (nthcdr 3 undo-elt))) | 1650 | (let ((tail (nthcdr 3 undo-elt))) |
| 1652 | (not (or (< (car tail) end) | 1651 | (and (< (car tail) end) |
| 1653 | (> (cdr tail) start))))) | 1652 | (> (cdr tail) start)))) |
| 1654 | ((integerp (car undo-elt)) | 1653 | ((integerp (car undo-elt)) |
| 1655 | ;; (BEGIN . END) | 1654 | ;; (BEGIN . END) |
| 1656 | (not (or (< (car undo-elt) end) | 1655 | (and (< (car undo-elt) end) |
| 1657 | (> (cdr undo-elt) start)))))) | 1656 | (> (cdr undo-elt) start))))) |
| 1658 | 1657 | ||
| 1659 | ;; Return the first affected buffer position and the delta for an undo element | 1658 | ;; Return the first affected buffer position and the delta for an undo element |
| 1660 | ;; delta is defined as the change in subsequent buffer positions if we *did* | 1659 | ;; delta is defined as the change in subsequent buffer positions if we *did* |
| @@ -2659,7 +2658,7 @@ The argument is used for internal purposes; do not supply one." | |||
| 2659 | ;; This is actually used in subr.el but defcustom does not work there. | 2658 | ;; This is actually used in subr.el but defcustom does not work there. |
| 2660 | (defcustom yank-excluded-properties | 2659 | (defcustom yank-excluded-properties |
| 2661 | '(read-only invisible intangible field mouse-face help-echo local-map keymap | 2660 | '(read-only invisible intangible field mouse-face help-echo local-map keymap |
| 2662 | yank-handler follow-link) | 2661 | yank-handler follow-link fontified) |
| 2663 | "*Text properties to discard when yanking. | 2662 | "*Text properties to discard when yanking. |
| 2664 | The value should be a list of text properties to discard or t, | 2663 | The value should be a list of text properties to discard or t, |
| 2665 | which means to discard all text properties." | 2664 | which means to discard all text properties." |
| @@ -3496,11 +3495,9 @@ Outline mode sets this." | |||
| 3496 | (>= rbot (frame-char-height)) | 3495 | (>= rbot (frame-char-height)) |
| 3497 | (<= ypos (- (frame-char-height)))) | 3496 | (<= ypos (- (frame-char-height)))) |
| 3498 | (unless lh | 3497 | (unless lh |
| 3499 | (let* ((wend (window-end nil t)) | 3498 | (let ((wend (pos-visible-in-window-p t nil t))) |
| 3500 | (evis (or (pos-visible-in-window-p wend nil t) | 3499 | (setq rbot (nth 3 wend) |
| 3501 | (pos-visible-in-window-p (1- wend) nil t)))) | 3500 | vpos (nth 5 wend)))) |
| 3502 | (setq rbot (nth 3 evis) | ||
| 3503 | vpos (nth 5 evis)))) | ||
| 3504 | (cond | 3501 | (cond |
| 3505 | ;; If last line of window is fully visible, move forward. | 3502 | ;; If last line of window is fully visible, move forward. |
| 3506 | ((or (null rbot) (= rbot 0)) | 3503 | ((or (null rbot) (= rbot 0)) |
| @@ -3606,15 +3603,6 @@ Outline mode sets this." | |||
| 3606 | (let ((inhibit-field-text-motion t)) | 3603 | (let ((inhibit-field-text-motion t)) |
| 3607 | (setq line-end (line-end-position))) | 3604 | (setq line-end (line-end-position))) |
| 3608 | (goto-char (constrain-to-field line-end (point) t t)) | 3605 | (goto-char (constrain-to-field line-end (point) t t)) |
| 3609 | ;; When moving a single line, update the goal-column | ||
| 3610 | ;; if we couldn't move to the end of line due to a | ||
| 3611 | ;; field boundary. Otherwise we'll get stuck at the | ||
| 3612 | ;; original position during the column motion in | ||
| 3613 | ;; line-move-finish. | ||
| 3614 | (and (/= line-end (point)) | ||
| 3615 | (= orig-arg 1) | ||
| 3616 | (setq temporary-goal-column | ||
| 3617 | (max temporary-goal-column (current-column)))) | ||
| 3618 | ;; If there's no invisibility here, move over the newline. | 3606 | ;; If there's no invisibility here, move over the newline. |
| 3619 | (cond | 3607 | (cond |
| 3620 | ((eobp) | 3608 | ((eobp) |
| @@ -3681,6 +3669,7 @@ Outline mode sets this." | |||
| 3681 | (setq repeat nil) | 3669 | (setq repeat nil) |
| 3682 | 3670 | ||
| 3683 | (let (new | 3671 | (let (new |
| 3672 | (old (point)) | ||
| 3684 | (line-beg (save-excursion (beginning-of-line) (point))) | 3673 | (line-beg (save-excursion (beginning-of-line) (point))) |
| 3685 | (line-end | 3674 | (line-end |
| 3686 | ;; Compute the end of the line | 3675 | ;; Compute the end of the line |
| @@ -3695,6 +3684,17 @@ Outline mode sets this." | |||
| 3695 | 3684 | ||
| 3696 | ;; Move to the desired column. | 3685 | ;; Move to the desired column. |
| 3697 | (line-move-to-column column) | 3686 | (line-move-to-column column) |
| 3687 | |||
| 3688 | ;; Corner case: suppose we start out in a field boundary in | ||
| 3689 | ;; the middle of a continued line. When we get to | ||
| 3690 | ;; line-move-finish, point is at the start of a new *screen* | ||
| 3691 | ;; line but the same text line; then line-move-to-column would | ||
| 3692 | ;; move us backwards. Test using C-n with point on the "x" in | ||
| 3693 | ;; (insert "a" (propertize "x" 'field t) (make-string 89 ?y)) | ||
| 3694 | (and forward | ||
| 3695 | (< (point) old) | ||
| 3696 | (goto-char old)) | ||
| 3697 | |||
| 3698 | (setq new (point)) | 3698 | (setq new (point)) |
| 3699 | 3699 | ||
| 3700 | ;; Process intangibility within a line. | 3700 | ;; Process intangibility within a line. |
| @@ -3734,8 +3734,15 @@ Outline mode sets this." | |||
| 3734 | (goto-char opoint) | 3734 | (goto-char opoint) |
| 3735 | (let ((inhibit-point-motion-hooks nil)) | 3735 | (let ((inhibit-point-motion-hooks nil)) |
| 3736 | (goto-char | 3736 | (goto-char |
| 3737 | (constrain-to-field new opoint t t | 3737 | ;; Ignore field boundaries if the initial and final |
| 3738 | 'inhibit-line-move-field-capture))) | 3738 | ;; positions have the same `field' property, even if the |
| 3739 | ;; fields are non-contiguous. This seems to be "nicer" | ||
| 3740 | ;; behavior in many situations. | ||
| 3741 | (if (eq (get-char-property new 'field) | ||
| 3742 | (get-char-property opoint 'field)) | ||
| 3743 | new | ||
| 3744 | (constrain-to-field new opoint t t | ||
| 3745 | 'inhibit-line-move-field-capture)))) | ||
| 3739 | 3746 | ||
| 3740 | ;; If all this moved us to a different line, | 3747 | ;; If all this moved us to a different line, |
| 3741 | ;; retry everything within that new line. | 3748 | ;; retry everything within that new line. |
diff --git a/lisp/startup.el b/lisp/startup.el index 2b9dd02ab9b..ba740a721d5 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -779,6 +779,7 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'." | |||
| 779 | (custom-reevaluate-setting 'mouse-wheel-up-event) | 779 | (custom-reevaluate-setting 'mouse-wheel-up-event) |
| 780 | (custom-reevaluate-setting 'file-name-shadow-mode) | 780 | (custom-reevaluate-setting 'file-name-shadow-mode) |
| 781 | (custom-reevaluate-setting 'send-mail-function) | 781 | (custom-reevaluate-setting 'send-mail-function) |
| 782 | (custom-reevaluate-setting 'focus-follows-mouse) | ||
| 782 | (custom-reevaluate-setting 'global-auto-composition-mode) | 783 | (custom-reevaluate-setting 'global-auto-composition-mode) |
| 783 | 784 | ||
| 784 | ;; Register default TTY colors for the case the terminal hasn't a | 785 | ;; Register default TTY colors for the case the terminal hasn't a |
| @@ -1392,7 +1393,7 @@ mouse." | |||
| 1392 | (if (or (window-minibuffer-p) | 1393 | (if (or (window-minibuffer-p) |
| 1393 | (window-dedicated-p (selected-window))) | 1394 | (window-dedicated-p (selected-window))) |
| 1394 | (pop-to-buffer (current-buffer)) | 1395 | (pop-to-buffer (current-buffer)) |
| 1395 | (switch-to-buffer "GNU Emacs")) | 1396 | (switch-to-buffer "*About GNU Emacs*")) |
| 1396 | (setq buffer-read-only nil) | 1397 | (setq buffer-read-only nil) |
| 1397 | (erase-buffer) | 1398 | (erase-buffer) |
| 1398 | (if pure-space-overflow | 1399 | (if pure-space-overflow |
| @@ -1608,7 +1609,9 @@ Type \\[describe-distribution] for information on getting the latest version.")) | |||
| 1608 | (error (pop-to-buffer (current-buffer)))))) | 1609 | (error (pop-to-buffer (current-buffer)))))) |
| 1609 | ;; Unwind ... ensure splash buffer is killed | 1610 | ;; Unwind ... ensure splash buffer is killed |
| 1610 | (if hide-on-input | 1611 | (if hide-on-input |
| 1611 | (kill-buffer "GNU Emacs"))))) | 1612 | (kill-buffer "GNU Emacs") |
| 1613 | (switch-to-buffer "GNU Emacs") | ||
| 1614 | (rename-buffer "*About GNU Emacs*" t))))) | ||
| 1612 | 1615 | ||
| 1613 | 1616 | ||
| 1614 | (defun startup-echo-area-message () | 1617 | (defun startup-echo-area-message () |
| @@ -1627,8 +1630,9 @@ Type \\[describe-distribution] for information on getting the latest version.")) | |||
| 1627 | (defun display-splash-screen (&optional hide-on-input) | 1630 | (defun display-splash-screen (&optional hide-on-input) |
| 1628 | "Display splash screen according to display. | 1631 | "Display splash screen according to display. |
| 1629 | Fancy splash screens are used on graphic displays, | 1632 | Fancy splash screens are used on graphic displays, |
| 1630 | normal otherwise." | 1633 | normal otherwise. |
| 1631 | (interactive) | 1634 | With a prefix argument, any user input hides the splash screen." |
| 1635 | (interactive "P") | ||
| 1632 | (if (use-fancy-splash-screens-p) | 1636 | (if (use-fancy-splash-screens-p) |
| 1633 | (fancy-splash-screens hide-on-input) | 1637 | (fancy-splash-screens hide-on-input) |
| 1634 | (normal-splash-screen hide-on-input))) | 1638 | (normal-splash-screen hide-on-input))) |
diff --git a/lisp/subr.el b/lisp/subr.el index b165e8e9ad3..0d0bf7c7cc3 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -2053,7 +2053,8 @@ a system-dependent default device name is used." | |||
| 2053 | 2053 | ||
| 2054 | (defun shell-quote-argument (argument) | 2054 | (defun shell-quote-argument (argument) |
| 2055 | "Quote an argument for passing as argument to an inferior shell." | 2055 | "Quote an argument for passing as argument to an inferior shell." |
| 2056 | (if (eq system-type 'ms-dos) | 2056 | (if (or (eq system-type 'ms-dos) |
| 2057 | (and (eq system-type 'windows-nt) (w32-shell-dos-semantics))) | ||
| 2057 | ;; Quote using double quotes, but escape any existing quotes in | 2058 | ;; Quote using double quotes, but escape any existing quotes in |
| 2058 | ;; the argument with backslashes. | 2059 | ;; the argument with backslashes. |
| 2059 | (let ((result "") | 2060 | (let ((result "") |
| @@ -2067,19 +2068,17 @@ a system-dependent default device name is used." | |||
| 2067 | "\\" (substring argument end (1+ end))) | 2068 | "\\" (substring argument end (1+ end))) |
| 2068 | start (1+ end)))) | 2069 | start (1+ end)))) |
| 2069 | (concat "\"" result (substring argument start) "\"")) | 2070 | (concat "\"" result (substring argument start) "\"")) |
| 2070 | (if (eq system-type 'windows-nt) | 2071 | (if (equal argument "") |
| 2071 | (concat "\"" argument "\"") | 2072 | "''" |
| 2072 | (if (equal argument "") | 2073 | ;; Quote everything except POSIX filename characters. |
| 2073 | "''" | 2074 | ;; This should be safe enough even for really weird shells. |
| 2074 | ;; Quote everything except POSIX filename characters. | 2075 | (let ((result "") (start 0) end) |
| 2075 | ;; This should be safe enough even for really weird shells. | 2076 | (while (string-match "[^-0-9a-zA-Z_./]" argument start) |
| 2076 | (let ((result "") (start 0) end) | 2077 | (setq end (match-beginning 0) |
| 2077 | (while (string-match "[^-0-9a-zA-Z_./]" argument start) | 2078 | result (concat result (substring argument start end) |
| 2078 | (setq end (match-beginning 0) | 2079 | "\\" (substring argument end (1+ end))) |
| 2079 | result (concat result (substring argument start end) | 2080 | start (1+ end))) |
| 2080 | "\\" (substring argument end (1+ end))) | 2081 | (concat result (substring argument start)))))) |
| 2081 | start (1+ end))) | ||
| 2082 | (concat result (substring argument start))))))) | ||
| 2083 | 2082 | ||
| 2084 | (defun string-or-null-p (object) | 2083 | (defun string-or-null-p (object) |
| 2085 | "Return t if OBJECT is a string or nil. | 2084 | "Return t if OBJECT is a string or nil. |
| @@ -2168,11 +2167,32 @@ If UNDO is present and non-nil, it is a function that will be called | |||
| 2168 | (let* ((handler (and (stringp string) | 2167 | (let* ((handler (and (stringp string) |
| 2169 | (get-text-property 0 'yank-handler string))) | 2168 | (get-text-property 0 'yank-handler string))) |
| 2170 | (param (or (nth 1 handler) string)) | 2169 | (param (or (nth 1 handler) string)) |
| 2171 | (opoint (point))) | 2170 | (opoint (point)) |
| 2171 | end) | ||
| 2172 | |||
| 2172 | (setq yank-undo-function t) | 2173 | (setq yank-undo-function t) |
| 2173 | (if (nth 0 handler) ;; FUNCTION | 2174 | (if (nth 0 handler) ;; FUNCTION |
| 2174 | (funcall (car handler) param) | 2175 | (funcall (car handler) param) |
| 2175 | (insert param)) | 2176 | (insert param)) |
| 2177 | (setq end (point)) | ||
| 2178 | |||
| 2179 | ;; What should we do with `font-lock-face' properties? | ||
| 2180 | (if font-lock-defaults | ||
| 2181 | ;; No, just wipe them. | ||
| 2182 | (remove-list-of-text-properties opoint end '(font-lock-face)) | ||
| 2183 | ;; Convert them to `face'. | ||
| 2184 | (save-excursion | ||
| 2185 | (goto-char opoint) | ||
| 2186 | (while (< (point) end) | ||
| 2187 | (let ((face (get-text-property (point) 'font-lock-face)) | ||
| 2188 | run-end) | ||
| 2189 | (setq run-end | ||
| 2190 | (next-single-property-change (point) 'font-lock-face nil end)) | ||
| 2191 | (when face | ||
| 2192 | (remove-text-properties (point) run-end '(font-lock-face nil)) | ||
| 2193 | (put-text-property (point) run-end 'face face)) | ||
| 2194 | (goto-char run-end))))) | ||
| 2195 | |||
| 2176 | (unless (nth 2 handler) ;; NOEXCLUDE | 2196 | (unless (nth 2 handler) ;; NOEXCLUDE |
| 2177 | (remove-yank-excluded-properties opoint (point))) | 2197 | (remove-yank-excluded-properties opoint (point))) |
| 2178 | (if (eq yank-undo-function t) ;; not set by FUNCTION | 2198 | (if (eq yank-undo-function t) ;; not set by FUNCTION |
| @@ -3106,8 +3126,8 @@ Usually the separator is \".\", but it can be any other string.") | |||
| 3106 | 3126 | ||
| 3107 | (defvar version-regexp-alist | 3127 | (defvar version-regexp-alist |
| 3108 | '(("^[-_+ ]?a\\(lpha\\)?$" . -3) | 3128 | '(("^[-_+ ]?a\\(lpha\\)?$" . -3) |
| 3109 | ("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases | 3129 | ("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases |
| 3110 | ("^[-_+ ]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release | 3130 | ("^[-_+ ]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release |
| 3111 | ("^[-_+ ]?b\\(eta\\)?$" . -2) | 3131 | ("^[-_+ ]?b\\(eta\\)?$" . -2) |
| 3112 | ("^[-_+ ]?\\(pre\\|rc\\)$" . -1)) | 3132 | ("^[-_+ ]?\\(pre\\|rc\\)$" . -1)) |
| 3113 | "*Specify association between non-numeric version part and a priority. | 3133 | "*Specify association between non-numeric version part and a priority. |
diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 75b043af835..53cc61c48a2 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el | |||
| @@ -2583,8 +2583,9 @@ By just answering RET you can find out what the current dictionary is." | |||
| 2583 | (cond ((equal dict "") | 2583 | (cond ((equal dict "") |
| 2584 | (ispell-internal-change-dictionary) | 2584 | (ispell-internal-change-dictionary) |
| 2585 | (message "Using %s dictionary" | 2585 | (message "Using %s dictionary" |
| 2586 | (or ispell-local-dictionary ispell-dictionary "default"))) | 2586 | (or (and (not arg) ispell-local-dictionary) |
| 2587 | ((equal dict (or ispell-local-dictionary | 2587 | ispell-dictionary "default"))) |
| 2588 | ((equal dict (or (and (not arg) ispell-local-dictionary) | ||
| 2588 | ispell-dictionary "default")) | 2589 | ispell-dictionary "default")) |
| 2589 | ;; Specified dictionary is the default already. Could reload | 2590 | ;; Specified dictionary is the default already. Could reload |
| 2590 | ;; the dictionaries if needed. | 2591 | ;; the dictionaries if needed. |
diff --git a/lisp/textmodes/org.el b/lisp/textmodes/org.el index 64fbb0542ff..c8ecc3df63d 100644 --- a/lisp/textmodes/org.el +++ b/lisp/textmodes/org.el | |||
| @@ -4569,7 +4569,7 @@ this heading. " | |||
| 4569 | ;; Make the subtree visible | 4569 | ;; Make the subtree visible |
| 4570 | (show-subtree) | 4570 | (show-subtree) |
| 4571 | (org-end-of-subtree t) | 4571 | (org-end-of-subtree t) |
| 4572 | (skip-chars-backward " \t\r\n]") | 4572 | (skip-chars-backward " \t\r\n") |
| 4573 | (and (looking-at "[ \t\r\n]*") | 4573 | (and (looking-at "[ \t\r\n]*") |
| 4574 | (replace-match "\n\n"))) | 4574 | (replace-match "\n\n"))) |
| 4575 | ;; No specific heading, just go to end of file. | 4575 | ;; No specific heading, just go to end of file. |
| @@ -8660,7 +8660,7 @@ are included in the output." | |||
| 8660 | (push txt rtn)) | 8660 | (push txt rtn)) |
| 8661 | ;; if we are to skip sublevels, jump to end of subtree | 8661 | ;; if we are to skip sublevels, jump to end of subtree |
| 8662 | (point) | 8662 | (point) |
| 8663 | (or org-tags-match-list-sublevels (org-end-of-subtree)))))) | 8663 | (or org-tags-match-list-sublevels (org-end-of-subtree t)))))) |
| 8664 | (when (and (eq action 'sparse-tree) | 8664 | (when (and (eq action 'sparse-tree) |
| 8665 | (not org-sparse-tree-open-archived-trees)) | 8665 | (not org-sparse-tree-open-archived-trees)) |
| 8666 | (org-hide-archived-subtrees (point-min) (point-max))) | 8666 | (org-hide-archived-subtrees (point-min) (point-max))) |
| @@ -9816,7 +9816,7 @@ on the system \"/user@host:\"." | |||
| 9816 | ((fboundp 'tramp-handle-file-remote-p) | 9816 | ((fboundp 'tramp-handle-file-remote-p) |
| 9817 | (tramp-handle-file-remote-p file)) | 9817 | (tramp-handle-file-remote-p file)) |
| 9818 | ((and (boundp 'ange-ftp-name-format) | 9818 | ((and (boundp 'ange-ftp-name-format) |
| 9819 | (string-match ange-ftp-name-format file)) | 9819 | (string-match (car ange-ftp-name-format) file)) |
| 9820 | t) | 9820 | t) |
| 9821 | (t nil))) | 9821 | (t nil))) |
| 9822 | 9822 | ||
diff --git a/lisp/url/ChangeLog b/lisp/url/ChangeLog index fdd735193c9..a6afb0ba20f 100644 --- a/lisp/url/ChangeLog +++ b/lisp/url/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2006-09-20 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * url-dav.el (url-dav-file-attributes): Simplify. | ||
| 4 | |||
| 5 | * url-http.el (url-http-head-file-attributes): Add device "info". | ||
| 6 | |||
| 1 | 2006-09-18 Michael Olson <mwolson@gnu.org> | 7 | 2006-09-18 Michael Olson <mwolson@gnu.org> |
| 2 | 8 | ||
| 3 | * url-methods.el (url-scheme-register-proxy): Handle case where | 9 | * url-methods.el (url-scheme-register-proxy): Handle case where |
diff --git a/lisp/url/url-dav.el b/lisp/url/url-dav.el index 449d8a510b5..546d744558d 100644 --- a/lisp/url/url-dav.el +++ b/lisp/url/url-dav.el | |||
| @@ -621,59 +621,56 @@ Returns t iff the lock was successfully released." | |||
| 621 | (autoload 'url-http-head-file-attributes "url-http") | 621 | (autoload 'url-http-head-file-attributes "url-http") |
| 622 | 622 | ||
| 623 | (defun url-dav-file-attributes (url &optional id-format) | 623 | (defun url-dav-file-attributes (url &optional id-format) |
| 624 | (let ((properties (cdar (url-dav-get-properties url))) | 624 | (let ((properties (cdar (url-dav-get-properties url)))) |
| 625 | (attributes nil)) | ||
| 626 | (if (and properties | 625 | (if (and properties |
| 627 | (url-dav-http-success-p (plist-get properties 'DAV:status))) | 626 | (url-dav-http-success-p (plist-get properties 'DAV:status))) |
| 628 | ;; We got a good DAV response back.. | 627 | ;; We got a good DAV response back.. |
| 629 | (setq attributes | 628 | (list |
| 630 | (list | 629 | ;; t for directory, string for symbolic link, or nil |
| 631 | ;; t for directory, string for symbolic link, or nil | 630 | ;; Need to support DAV Bindings to figure out the |
| 632 | ;; Need to support DAV Bindings to figure out the | 631 | ;; symbolic link issues. |
| 633 | ;; symbolic link issues. | 632 | (if (memq 'DAV:collection (plist-get properties 'DAV:resourcetype)) t nil) |
| 634 | (if (memq 'DAV:collection (plist-get properties 'DAV:resourcetype)) t nil) | ||
| 635 | 633 | ||
| 636 | ;; Number of links to file... Needs DAV Bindings. | 634 | ;; Number of links to file... Needs DAV Bindings. |
| 637 | 1 | 635 | 1 |
| 638 | 636 | ||
| 639 | ;; File uid - no way to figure out? | 637 | ;; File uid - no way to figure out? |
| 640 | 0 | 638 | 0 |
| 641 | 639 | ||
| 642 | ;; File gid - no way to figure out? | 640 | ;; File gid - no way to figure out? |
| 643 | 0 | 641 | 0 |
| 644 | 642 | ||
| 645 | ;; Last access time - ??? | 643 | ;; Last access time - ??? |
| 646 | nil | 644 | nil |
| 647 | 645 | ||
| 648 | ;; Last modification time | 646 | ;; Last modification time |
| 649 | (plist-get properties 'DAV:getlastmodified) | 647 | (plist-get properties 'DAV:getlastmodified) |
| 650 | 648 | ||
| 651 | ;; Last status change time... just reuse last-modified | 649 | ;; Last status change time... just reuse last-modified |
| 652 | ;; for now. | 650 | ;; for now. |
| 653 | (plist-get properties 'DAV:getlastmodified) | 651 | (plist-get properties 'DAV:getlastmodified) |
| 654 | 652 | ||
| 655 | ;; size in bytes | 653 | ;; size in bytes |
| 656 | (or (plist-get properties 'DAV:getcontentlength) 0) | 654 | (or (plist-get properties 'DAV:getcontentlength) 0) |
| 657 | 655 | ||
| 658 | ;; file modes as a string like `ls -l' | 656 | ;; file modes as a string like `ls -l' |
| 659 | ;; | 657 | ;; |
| 660 | ;; Should be able to build this up from the | 658 | ;; Should be able to build this up from the |
| 661 | ;; DAV:supportedlock attribute pretty easily. Getting | 659 | ;; DAV:supportedlock attribute pretty easily. Getting |
| 662 | ;; the group info could be impossible though. | 660 | ;; the group info could be impossible though. |
| 663 | (url-dav-file-attributes-mode-string properties) | 661 | (url-dav-file-attributes-mode-string properties) |
| 664 | 662 | ||
| 665 | ;; t iff file's gid would change if it were deleted & | 663 | ;; t iff file's gid would change if it were deleted & |
| 666 | ;; recreated. No way for us to know that thru DAV. | 664 | ;; recreated. No way for us to know that thru DAV. |
| 667 | nil | 665 | nil |
| 668 | 666 | ||
| 669 | ;; inode number - meaningless | 667 | ;; inode number - meaningless |
| 670 | nil | 668 | nil |
| 671 | 669 | ||
| 672 | ;; device number - meaningless | 670 | ;; device number - meaningless |
| 673 | nil)) | 671 | nil) |
| 674 | ;; Fall back to just the normal http way of doing things. | 672 | ;; Fall back to just the normal http way of doing things. |
| 675 | (setq attributes (url-http-head-file-attributes url id-format))) | 673 | (url-http-head-file-attributes url id-format)))) |
| 676 | attributes)) | ||
| 677 | 674 | ||
| 678 | (defun url-dav-save-resource (url obj &optional content-type lock-token) | 675 | (defun url-dav-save-resource (url obj &optional content-type lock-token) |
| 679 | "Save OBJ as URL using WebDAV. | 676 | "Save OBJ as URL using WebDAV. |
diff --git a/lisp/url/url-http.el b/lisp/url/url-http.el index a1d87e1bd31..1b8bc459f49 100644 --- a/lisp/url/url-http.el +++ b/lisp/url/url-http.el | |||
| @@ -1151,19 +1151,19 @@ CBARGS as the arguments." | |||
| 1151 | (defalias 'url-http-file-readable-p 'url-http-file-exists-p) | 1151 | (defalias 'url-http-file-readable-p 'url-http-file-exists-p) |
| 1152 | 1152 | ||
| 1153 | (defun url-http-head-file-attributes (url &optional id-format) | 1153 | (defun url-http-head-file-attributes (url &optional id-format) |
| 1154 | (let ((buffer (url-http-head url)) | 1154 | (let ((buffer (url-http-head url))) |
| 1155 | (attributes nil)) | ||
| 1156 | (when buffer | 1155 | (when buffer |
| 1157 | (setq attributes (make-list 11 nil)) | 1156 | (prog1 |
| 1158 | (setf (nth 1 attributes) 1) ; Number of links to file | 1157 | (list |
| 1159 | (setf (nth 2 attributes) 0) ; file uid | 1158 | nil ;dir / link / normal file |
| 1160 | (setf (nth 3 attributes) 0) ; file gid | 1159 | 1 ;number of links to file. |
| 1161 | (setf (nth 7 attributes) ; file size | 1160 | 0 0 ;uid ; gid |
| 1162 | (url-http-symbol-value-in-buffer 'url-http-content-length | 1161 | nil nil nil ;atime ; mtime ; ctime |
| 1163 | buffer -1)) | 1162 | (url-http-symbol-value-in-buffer 'url-http-content-length |
| 1164 | (setf (nth 8 attributes) (eval-when-compile (make-string 10 ?-))) | 1163 | buffer -1) |
| 1165 | (kill-buffer buffer)) | 1164 | (eval-when-compile (make-string 10 ?-)) |
| 1166 | attributes)) | 1165 | nil nil nil) ;whether gid would change ; inode ; device. |
| 1166 | (kill-buffer buffer))))) | ||
| 1167 | 1167 | ||
| 1168 | ;;;###autoload | 1168 | ;;;###autoload |
| 1169 | (defun url-http-file-attributes (url &optional id-format) | 1169 | (defun url-http-file-attributes (url &optional id-format) |
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index ba7a9b4a0a1..bef49d71a00 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el | |||
| @@ -912,6 +912,10 @@ Recommended as a parent keymap for modes using widgets.") | |||
| 912 | ;; backward-compatibility alias | 912 | ;; backward-compatibility alias |
| 913 | (put 'widget-button-pressed-face 'face-alias 'widget-button-pressed) | 913 | (put 'widget-button-pressed-face 'face-alias 'widget-button-pressed) |
| 914 | 914 | ||
| 915 | (defvar widget-button-click-moves-point nil | ||
| 916 | "If non-nil, `widget-button-click' moves point to a button after invoking it. | ||
| 917 | If nil, point returns to its original position after invoking a button.") | ||
| 918 | |||
| 915 | (defun widget-button-click (event) | 919 | (defun widget-button-click (event) |
| 916 | "Invoke the button that the mouse is pointing at." | 920 | "Invoke the button that the mouse is pointing at." |
| 917 | (interactive "e") | 921 | (interactive "e") |
| @@ -922,7 +926,8 @@ Recommended as a parent keymap for modes using widgets.") | |||
| 922 | (start (event-start event)) | 926 | (start (event-start event)) |
| 923 | (button (get-char-property | 927 | (button (get-char-property |
| 924 | pos 'button (and (windowp (posn-window start)) | 928 | pos 'button (and (windowp (posn-window start)) |
| 925 | (window-buffer (posn-window start)))))) | 929 | (window-buffer (posn-window start))))) |
| 930 | newpoint) | ||
| 926 | (when (or (null button) | 931 | (when (or (null button) |
| 927 | (catch 'button-press-cancelled | 932 | (catch 'button-press-cancelled |
| 928 | ;; Mouse click on a widget button. Do the following | 933 | ;; Mouse click on a widget button. Do the following |
| @@ -974,12 +979,15 @@ Recommended as a parent keymap for modes using widgets.") | |||
| 974 | 979 | ||
| 975 | ;; When mouse is released over the button, run | 980 | ;; When mouse is released over the button, run |
| 976 | ;; its action function. | 981 | ;; its action function. |
| 977 | (when (and pos | 982 | (when (and pos (eq (get-char-property pos 'button) button)) |
| 978 | (eq (get-char-property pos 'button) button)) | 983 | (goto-char pos) |
| 979 | (widget-apply-action button event))) | 984 | (widget-apply-action button event) |
| 985 | (if widget-button-click-moves-point | ||
| 986 | (setq newpoint (point))))) | ||
| 980 | (overlay-put overlay 'face face) | 987 | (overlay-put overlay 'face face) |
| 981 | (overlay-put overlay 'mouse-face mouse-face)))) | 988 | (overlay-put overlay 'mouse-face mouse-face)))) |
| 982 | 989 | ||
| 990 | (if newpoint (goto-char newpoint)) | ||
| 983 | ;; This loses if the widget action switches windows. -- cyd | 991 | ;; This loses if the widget action switches windows. -- cyd |
| 984 | ;; (unless (pos-visible-in-window-p (widget-event-point event)) | 992 | ;; (unless (pos-visible-in-window-p (widget-event-point event)) |
| 985 | ;; (mouse-set-point event) | 993 | ;; (mouse-set-point event) |
diff --git a/lisp/woman.el b/lisp/woman.el index 3ee3e3f98d6..13fa3147487 100644 --- a/lisp/woman.el +++ b/lisp/woman.el | |||
| @@ -438,6 +438,7 @@ | |||
| 438 | 438 | ||
| 439 | (eval-when-compile ; to avoid compiler warnings | 439 | (eval-when-compile ; to avoid compiler warnings |
| 440 | (require 'dired) | 440 | (require 'dired) |
| 441 | (require 'cl) | ||
| 441 | (require 'apropos)) | 442 | (require 'apropos)) |
| 442 | 443 | ||
| 443 | (defun woman-mapcan (fn x) | 444 | (defun woman-mapcan (fn x) |
| @@ -2467,6 +2468,7 @@ Start at FROM and re-scan new text as appropriate." | |||
| 2467 | (woman0-search-regex | 2468 | (woman0-search-regex |
| 2468 | (concat woman0-search-regex-start woman0-search-regex-end)) | 2469 | (concat woman0-search-regex-start woman0-search-regex-end)) |
| 2469 | woman0-rename-alist) | 2470 | woman0-rename-alist) |
| 2471 | (set-marker-insertion-type woman0-if-to t) | ||
| 2470 | (while (re-search-forward woman0-search-regex nil t) | 2472 | (while (re-search-forward woman0-search-regex nil t) |
| 2471 | (setq request (match-string 1)) | 2473 | (setq request (match-string 1)) |
| 2472 | (cond ((string= request "ig") (woman0-ig)) | 2474 | (cond ((string= request "ig") (woman0-ig)) |
| @@ -2540,7 +2542,7 @@ REQUEST is the invoking directive without the leading dot." | |||
| 2540 | ;; String delimiter can be any non-numeric character, | 2542 | ;; String delimiter can be any non-numeric character, |
| 2541 | ;; including a special character escape: | 2543 | ;; including a special character escape: |
| 2542 | (looking-at "\\(\\\\(..\\|[^0-9]\\)\\(.*\\)\\1\\(.*\\)\\1\\'")) | 2544 | (looking-at "\\(\\\\(..\\|[^0-9]\\)\\(.*\\)\\1\\(.*\\)\\1\\'")) |
| 2543 | (let ((end1 (copy-marker (match-end 2)))) ; end of first string | 2545 | (let ((end1 (copy-marker (match-end 2) t))) ; End of first string. |
| 2544 | ;; Delete 2nd and 3rd delimiters to avoid processing them: | 2546 | ;; Delete 2nd and 3rd delimiters to avoid processing them: |
| 2545 | (delete-region (match-end 3) woman0-if-to) | 2547 | (delete-region (match-end 3) woman0-if-to) |
| 2546 | (delete-region (match-end 2) (match-beginning 3)) | 2548 | (delete-region (match-end 2) (match-beginning 3)) |
| @@ -2655,10 +2657,9 @@ If DELETE is non-nil then delete from point." | |||
| 2655 | (error "File `%s' not found" name)) | 2657 | (error "File `%s' not found" name)) |
| 2656 | (beginning-of-line) | 2658 | (beginning-of-line) |
| 2657 | (woman-delete-line 1) | 2659 | (woman-delete-line 1) |
| 2658 | (let ((from (point)) | 2660 | (let* ((from (point)) |
| 2659 | (to (make-marker)) | 2661 | (length (woman-insert-file-contents filename 0)) |
| 2660 | (length (woman-insert-file-contents filename 0))) | 2662 | (to (copy-marker (+ from length) t))) |
| 2661 | (set-marker to (+ from length)) | ||
| 2662 | (woman-pre-process-region from to) | 2663 | (woman-pre-process-region from to) |
| 2663 | (set-marker to nil) | 2664 | (set-marker to nil) |
| 2664 | (goto-char from) | 2665 | (goto-char from) |
| @@ -3442,9 +3443,7 @@ Also bound locally in `woman2-roff-buffer'.") | |||
| 3442 | (defsubst woman2-process-escapes-to-eol (&optional numeric) | 3443 | (defsubst woman2-process-escapes-to-eol (&optional numeric) |
| 3443 | "Process remaining escape sequences up to eol. | 3444 | "Process remaining escape sequences up to eol. |
| 3444 | Handle numeric arguments specially if optional argument NUMERIC is non-nil." | 3445 | Handle numeric arguments specially if optional argument NUMERIC is non-nil." |
| 3445 | (woman2-process-escapes | 3446 | (woman2-process-escapes (copy-marker (line-end-position) t) numeric)) |
| 3446 | (save-excursion (end-of-line) (point-marker)) | ||
| 3447 | numeric)) | ||
| 3448 | 3447 | ||
| 3449 | (defun woman2-nr (to) | 3448 | (defun woman2-nr (to) |
| 3450 | ".nr R +/-N M -- Assign +/-N (wrt to previous value, if any) to register R. | 3449 | ".nr R +/-N M -- Assign +/-N (wrt to previous value, if any) to register R. |
| @@ -3645,6 +3644,7 @@ expression in parentheses. Leaves point after the value." | |||
| 3645 | (woman-registers woman-registers) | 3644 | (woman-registers woman-registers) |
| 3646 | fn request translations | 3645 | fn request translations |
| 3647 | tab-stop-list) | 3646 | tab-stop-list) |
| 3647 | (set-marker-insertion-type to t) | ||
| 3648 | ;; ?roff does not squeeze multiple spaces, but does fill, so... | 3648 | ;; ?roff does not squeeze multiple spaces, but does fill, so... |
| 3649 | (fset 'canonically-space-region 'ignore) | 3649 | (fset 'canonically-space-region 'ignore) |
| 3650 | ;; Try to avoid spaces inheriting underlines from preceding text! | 3650 | ;; Try to avoid spaces inheriting underlines from preceding text! |
| @@ -3687,7 +3687,8 @@ expression in parentheses. Leaves point after the value." | |||
| 3687 | ;; Call the appropriate function: | 3687 | ;; Call the appropriate function: |
| 3688 | (funcall fn to))) | 3688 | (funcall fn to))) |
| 3689 | (if (not (eobp)) ; This should not happen, but ... | 3689 | (if (not (eobp)) ; This should not happen, but ... |
| 3690 | (woman2-format-paragraphs (point-max-marker) woman-left-margin)) | 3690 | (woman2-format-paragraphs (copy-marker (point-max) t) |
| 3691 | woman-left-margin)) | ||
| 3691 | (fset 'canonically-space-region canonically-space-region) | 3692 | (fset 'canonically-space-region canonically-space-region) |
| 3692 | (fset 'set-text-properties set-text-properties) | 3693 | (fset 'set-text-properties set-text-properties) |
| 3693 | (fset 'insert-and-inherit insert-and-inherit) | 3694 | (fset 'insert-and-inherit insert-and-inherit) |
| @@ -3899,6 +3900,7 @@ Leave 1 blank line. Format paragraphs upto TO." | |||
| 3899 | (defun woman2-process-escapes (to &optional numeric) | 3900 | (defun woman2-process-escapes (to &optional numeric) |
| 3900 | "Process remaining escape sequences up to marker TO, preserving point. | 3901 | "Process remaining escape sequences up to marker TO, preserving point. |
| 3901 | Optional argument NUMERIC, if non-nil, means the argument is numeric." | 3902 | Optional argument NUMERIC, if non-nil, means the argument is numeric." |
| 3903 | (assert (and (markerp to) (marker-insertion-type to))) | ||
| 3902 | ;; The first two cases below could be merged (maybe)! | 3904 | ;; The first two cases below could be merged (maybe)! |
| 3903 | (let ((from (point))) | 3905 | (let ((from (point))) |
| 3904 | ;; Discard zero width filler character used to hide leading dots | 3906 | ;; Discard zero width filler character used to hide leading dots |
| @@ -3968,15 +3970,13 @@ Optional argument NUMERIC, if non-nil, means the argument is numeric." | |||
| 3968 | (delete-char -1) | 3970 | (delete-char -1) |
| 3969 | (delete-char 1) | 3971 | (delete-char 1) |
| 3970 | (looking-at "\\(.\\)\\(.*\\)\\1") | 3972 | (looking-at "\\(.\\)\\(.*\\)\\1") |
| 3971 | (let ((to (make-marker)) from N c) | 3973 | (forward-char 1) |
| 3972 | (set-marker to (match-end 2)) | 3974 | (let* ((to (match-end 2)) |
| 3973 | (delete-char 1) | 3975 | (from (match-beginning 0)) |
| 3974 | (setq from (point) | 3976 | (N (woman-parse-numeric-arg)) |
| 3975 | N (woman-parse-numeric-arg)) | 3977 | (c (if (< (point) to) (following-char) ?_))) |
| 3976 | (setq c (if (< (point) to) (following-char) ?_)) | ||
| 3977 | (delete-region from to) | 3978 | (delete-region from to) |
| 3978 | (delete-char 1) | 3979 | (delete-char 1) |
| 3979 | (set-marker to nil) | ||
| 3980 | (insert (make-string N c)) | 3980 | (insert (make-string N c)) |
| 3981 | )) | 3981 | )) |
| 3982 | 3982 | ||