diff options
Diffstat (limited to 'man')
| -rw-r--r-- | man/ChangeLog | 6 | ||||
| -rw-r--r-- | man/ediff.texi | 15 | ||||
| -rw-r--r-- | man/ses.texi | 131 | ||||
| -rw-r--r-- | man/viper.texi | 31 |
4 files changed, 173 insertions, 10 deletions
diff --git a/man/ChangeLog b/man/ChangeLog index bcba521884c..beb8925ec45 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2005-02-18 Jonathan Yavner <jyavner@member.fsf.org> | ||
| 2 | |||
| 3 | * ses.texi: Add concept/function/variable indices (this work was | ||
| 4 | donated by Brad Collins <brad@chenla.org>, copyright-assignment | ||
| 5 | papers on file at FSF). | ||
| 6 | |||
| 1 | 2005-02-16 Luc Teirlinck <teirllm@auburn.edu> | 7 | 2005-02-16 Luc Teirlinck <teirllm@auburn.edu> |
| 2 | 8 | ||
| 3 | * emacs.texi (Top): Update menu for splitting of node in | 9 | * emacs.texi (Top): Update menu for splitting of node in |
diff --git a/man/ediff.texi b/man/ediff.texi index 954efe4e027..318ac9e5c3f 100644 --- a/man/ediff.texi +++ b/man/ediff.texi | |||
| @@ -1106,10 +1106,18 @@ multi-file patch. This is because, in the latter-style sessions, there are | |||
| 1106 | many ways to create diff output, and it is easier to handle by running | 1106 | many ways to create diff output, and it is easier to handle by running |
| 1107 | Ediff on the inactive sessions. | 1107 | Ediff on the inactive sessions. |
| 1108 | 1108 | ||
| 1109 | Last, but not least, by typing @kbd{=}, you can quickly find out which | 1109 | Last, but not least, by typing @kbd{==}, you can quickly find out which |
| 1110 | sessions have identical files, so you won't have to run Ediff on those | 1110 | sessions have identical entries, so you won't have to run Ediff on those |
| 1111 | sessions. This, however, works only on local, uncompressed files. | 1111 | sessions. This, however, works only on local, uncompressed files. |
| 1112 | For compressed or remote files, this command won't report anything. | 1112 | For compressed or remote files, this command won't report anything. |
| 1113 | Likewise, you can use @kbd{=h} to mark sessions with identical entries | ||
| 1114 | for hiding or, with @kbd{=m}, for further operations. | ||
| 1115 | |||
| 1116 | The comparison operations @kbd{==}, @kbd{=h}, and @kbd{=m} can recurse into | ||
| 1117 | subdirectories to see if they have identical contents (so the user will not | ||
| 1118 | need to descend into those subdirectories manually). These commands ask the | ||
| 1119 | user whether or not to do a recursive descent. | ||
| 1120 | |||
| 1113 | 1121 | ||
| 1114 | 1122 | ||
| 1115 | @node Remote and Compressed Files, Customization, Session Groups, Top | 1123 | @node Remote and Compressed Files, Customization, Session Groups, Top |
| @@ -2395,11 +2403,13 @@ Jay Finger (jayf@@microsoft.com), | |||
| 2395 | Xavier Fornari (xavier@@europe.cma.fr), | 2403 | Xavier Fornari (xavier@@europe.cma.fr), |
| 2396 | Eric Freudenthal (freudent@@jan.ultra.nyu.edu), | 2404 | Eric Freudenthal (freudent@@jan.ultra.nyu.edu), |
| 2397 | Job Ganzevoort (Job.Ganzevoort@@cwi.nl), | 2405 | Job Ganzevoort (Job.Ganzevoort@@cwi.nl), |
| 2406 | Felix Heinrich Gatzemeier (felix.g@@tzemeier.info), | ||
| 2398 | Boris Goldowsky (boris@@cs.rochester.edu), | 2407 | Boris Goldowsky (boris@@cs.rochester.edu), |
| 2399 | Allan Gottlieb (gottlieb@@allan.ultra.nyu.edu), | 2408 | Allan Gottlieb (gottlieb@@allan.ultra.nyu.edu), |
| 2400 | Aaron Gross (aaron@@bfr.co.il), | 2409 | Aaron Gross (aaron@@bfr.co.il), |
| 2401 | Thorbjoern Hansen (thorbjoern.hansen@@mchp.siemens.de), | 2410 | Thorbjoern Hansen (thorbjoern.hansen@@mchp.siemens.de), |
| 2402 | Marcus Harnisch (marcus_harnisch@@mint-tech.com), | 2411 | Marcus Harnisch (marcus_harnisch@@mint-tech.com), |
| 2412 | Steven E. Harris (seh@@panix.com), | ||
| 2403 | Xiaoli Huang (hxl@@epic.com), | 2413 | Xiaoli Huang (hxl@@epic.com), |
| 2404 | Andreas Jaeger (aj@@suse.de), | 2414 | Andreas Jaeger (aj@@suse.de), |
| 2405 | Lars Magne Ingebrigtsen (larsi@@ifi.uio.no), | 2415 | Lars Magne Ingebrigtsen (larsi@@ifi.uio.no), |
| @@ -2428,6 +2438,7 @@ Chris Murphy (murphycm@@sun.aston.ac.uk), | |||
| 2428 | Erik Naggum (erik@@naggum.no), | 2438 | Erik Naggum (erik@@naggum.no), |
| 2429 | Eyvind Ness (Eyvind.Ness@@hrp.no), | 2439 | Eyvind Ness (Eyvind.Ness@@hrp.no), |
| 2430 | Ray Nickson (nickson@@cs.uq.oz.au), | 2440 | Ray Nickson (nickson@@cs.uq.oz.au), |
| 2441 | Dan Nicolaescu (dann@@ics.uci.edu), | ||
| 2431 | David Petchey (petchey_david@@jpmorgan.com), | 2442 | David Petchey (petchey_david@@jpmorgan.com), |
| 2432 | Benjamin Pierce (benjamin.pierce@@cl.cam.ac.uk), | 2443 | Benjamin Pierce (benjamin.pierce@@cl.cam.ac.uk), |
| 2433 | Francois Pinard (pinard@@iro.umontreal.ca), | 2444 | Francois Pinard (pinard@@iro.umontreal.ca), |
diff --git a/man/ses.texi b/man/ses.texi index b648f6eef9a..9b0137d2002 100644 --- a/man/ses.texi +++ b/man/ses.texi | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This file documents SES: the Simple Emacs Spreadsheet. | 9 | This file documents SES: the Simple Emacs Spreadsheet. |
| 10 | 10 | ||
| 11 | Copyright @copyright{} 2002 Free Software Foundation, Inc. | 11 | Copyright @copyright{} 2002, 2005 Free Software Foundation, Inc. |
| 12 | 12 | ||
| 13 | @quotation | 13 | @quotation |
| 14 | Permission is granted to copy, distribute and/or modify this document | 14 | Permission is granted to copy, distribute and/or modify this document |
| @@ -71,6 +71,7 @@ To report bugs, send email to @email{jyavner@@member.fsf.org}. | |||
| 71 | * The Basics:: Basic spreadsheet commands | 71 | * The Basics:: Basic spreadsheet commands |
| 72 | * Advanced Features:: Want to know more? | 72 | * Advanced Features:: Want to know more? |
| 73 | * For Gurus:: Want to know @emph{even more}? | 73 | * For Gurus:: Want to know @emph{even more}? |
| 74 | * Index:: Concept, Function and Variable Index | ||
| 74 | * Acknowledgements:: Acknowledgements | 75 | * Acknowledgements:: Acknowledgements |
| 75 | @end menu | 76 | @end menu |
| 76 | 77 | ||
| @@ -79,6 +80,7 @@ To report bugs, send email to @email{jyavner@@member.fsf.org}. | |||
| 79 | @node Sales Pitch, The Basics, Top, Top | 80 | @node Sales Pitch, The Basics, Top, Top |
| 80 | @comment node-name, next, previous, up | 81 | @comment node-name, next, previous, up |
| 81 | @chapter Sales Pitch | 82 | @chapter Sales Pitch |
| 83 | @cindex features | ||
| 82 | 84 | ||
| 83 | @itemize @bullet | 85 | @itemize @bullet |
| 84 | @item Create and edit simple spreadsheets with a minimum of fuss. | 86 | @item Create and edit simple spreadsheets with a minimum of fuss. |
| @@ -100,6 +102,13 @@ To report bugs, send email to @email{jyavner@@member.fsf.org}. | |||
| 100 | @node The Basics, Advanced Features, Sales Pitch, Top | 102 | @node The Basics, Advanced Features, Sales Pitch, Top |
| 101 | @comment node-name, next, previous, up | 103 | @comment node-name, next, previous, up |
| 102 | @chapter The Basics | 104 | @chapter The Basics |
| 105 | @cindex basic commands | ||
| 106 | @findex ses-jump | ||
| 107 | @findex ses-mark-row | ||
| 108 | @findex ses-mark-column | ||
| 109 | @findex ses-mark-whole-buffer | ||
| 110 | @findex set-mark-command | ||
| 111 | @findex keyboard-quit | ||
| 103 | 112 | ||
| 104 | A @dfn{cell identifier} is a symbol with a column letter and a row | 113 | A @dfn{cell identifier} is a symbol with a column letter and a row |
| 105 | number. Cell B7 is the 2nd column of the 7th row. For very wide | 114 | number. Cell B7 is the 2nd column of the 7th row. For very wide |
| @@ -147,6 +156,13 @@ Highlight all cells (@code{mark-whole-buffer}). | |||
| 147 | 156 | ||
| 148 | @node Formulas, Resizing, The Basics, The Basics | 157 | @node Formulas, Resizing, The Basics, The Basics |
| 149 | @section Cell formulas | 158 | @section Cell formulas |
| 159 | @cindex formulas | ||
| 160 | @cindex formulas, entering | ||
| 161 | @findex ses-read-cell | ||
| 162 | @findex ses-read-symbol | ||
| 163 | @findex ses-edit-cell | ||
| 164 | @findex ses-recalculate-cell | ||
| 165 | @findex ses-recalculate-all | ||
| 150 | 166 | ||
| 151 | To enter a number into the current cell, just start typing: | 167 | To enter a number into the current cell, just start typing: |
| 152 | 168 | ||
| @@ -193,6 +209,15 @@ Recalculate the entire spreadsheet (@code{ses-recalculate-all}). | |||
| 193 | 209 | ||
| 194 | @node Resizing, Printer functions, Formulas, The Basics | 210 | @node Resizing, Printer functions, Formulas, The Basics |
| 195 | @section Resizing the spreadsheet | 211 | @section Resizing the spreadsheet |
| 212 | @cindex resizing spreadsheets | ||
| 213 | @findex ses-insert-row | ||
| 214 | @findex ses-insert-column | ||
| 215 | @findex ses-delete-row | ||
| 216 | @findex ses-delete-column | ||
| 217 | @findex ses-set-column-width | ||
| 218 | @findex ses-forward-or-insert | ||
| 219 | @findex ses-append-row-jump-first-column | ||
| 220 | |||
| 196 | 221 | ||
| 197 | Basic commands: | 222 | Basic commands: |
| 198 | 223 | ||
| @@ -240,6 +265,16 @@ Undo previous action (@code{(undo)}). | |||
| 240 | 265 | ||
| 241 | @node Printer functions, Clearing cells, Resizing, The Basics | 266 | @node Printer functions, Clearing cells, Resizing, The Basics |
| 242 | @section Printer functions | 267 | @section Printer functions |
| 268 | @cindex printer functions | ||
| 269 | @findex ses-read-cell-printer | ||
| 270 | @findex ses-read-column-printer | ||
| 271 | @findex ses-read-default-printer | ||
| 272 | @findex ses-center | ||
| 273 | @findex ses-center-span | ||
| 274 | @findex ses-dashfill | ||
| 275 | @findex ses-dashfill-span | ||
| 276 | @findex ses-tildefill-span | ||
| 277 | |||
| 243 | 278 | ||
| 244 | Printer functions convert binary cell values into the print forms that | 279 | Printer functions convert binary cell values into the print forms that |
| 245 | Emacs will display on the screen. | 280 | Emacs will display on the screen. |
| @@ -295,6 +330,9 @@ Centering with tildes (~) and spill-over. | |||
| 295 | 330 | ||
| 296 | @node Clearing cells, Copy/cut/paste, Printer functions, The Basics | 331 | @node Clearing cells, Copy/cut/paste, Printer functions, The Basics |
| 297 | @section Clearing cells | 332 | @section Clearing cells |
| 333 | @cindex clearing commands | ||
| 334 | @findex ses-clear-cell-backward | ||
| 335 | @findex ses-clear-cell-forward | ||
| 298 | 336 | ||
| 299 | These commands set both formula and printer to @code{nil}: | 337 | These commands set both formula and printer to @code{nil}: |
| 300 | 338 | ||
| @@ -309,6 +347,18 @@ Clear cell and move right (@code{ses-clear-cell-forward}). | |||
| 309 | 347 | ||
| 310 | @node Copy/cut/paste, Customizing SES, Clearing cells, The Basics | 348 | @node Copy/cut/paste, Customizing SES, Clearing cells, The Basics |
| 311 | @section Copy, cut, and paste | 349 | @section Copy, cut, and paste |
| 350 | @cindex copy | ||
| 351 | @cindex cut | ||
| 352 | @cindex paste | ||
| 353 | @findex kill-ring-save | ||
| 354 | @findex mouse-set-region | ||
| 355 | @findex mouse-set-secondary | ||
| 356 | @findex ses-kill-override | ||
| 357 | @findex yank | ||
| 358 | @findex clipboard-yank | ||
| 359 | @findex mouse-yank-at-click | ||
| 360 | @findex mouse-yank-at-secondary | ||
| 361 | @findex ses-yank-pop | ||
| 312 | 362 | ||
| 313 | The copy functions work on rectangular regions of cells. You can paste the | 363 | The copy functions work on rectangular regions of cells. You can paste the |
| 314 | copies into non-SES buffers to export the print text. | 364 | copies into non-SES buffers to export the print text. |
| @@ -372,6 +422,12 @@ yank. This doesn't make any difference? | |||
| 372 | 422 | ||
| 373 | @node Customizing SES, , Copy/cut/paste, The Basics | 423 | @node Customizing SES, , Copy/cut/paste, The Basics |
| 374 | @section Customizing SES | 424 | @section Customizing SES |
| 425 | @cindex customizing | ||
| 426 | @vindex enable-local-eval | ||
| 427 | @vindex ses-mode-hook | ||
| 428 | @vindex safe-functions | ||
| 429 | @vindex enable-local-eval | ||
| 430 | |||
| 375 | 431 | ||
| 376 | By default, a newly-created spreadsheet has 1 row and 1 column. The | 432 | By default, a newly-created spreadsheet has 1 row and 1 column. The |
| 377 | column width is 7 and the default printer is @samp{"%.7g"}. Each of these | 433 | column width is 7 and the default printer is @samp{"%.7g"}. Each of these |
| @@ -403,6 +459,9 @@ safety belts! | |||
| 403 | 459 | ||
| 404 | @node Advanced Features, For Gurus, The Basics, Top | 460 | @node Advanced Features, For Gurus, The Basics, Top |
| 405 | @chapter Advanced Features | 461 | @chapter Advanced Features |
| 462 | @cindex advanced features | ||
| 463 | @findex ses-read-header-row | ||
| 464 | |||
| 406 | 465 | ||
| 407 | @table @kbd | 466 | @table @kbd |
| 408 | @item C-c M-C-h | 467 | @item C-c M-C-h |
| @@ -430,6 +489,10 @@ column letters. | |||
| 430 | 489 | ||
| 431 | @node The print area, Ranges in formulas, Advanced Features, Advanced Features | 490 | @node The print area, Ranges in formulas, Advanced Features, Advanced Features |
| 432 | @section The print area | 491 | @section The print area |
| 492 | @cindex print area | ||
| 493 | @findex widen | ||
| 494 | @findex ses-renarrow-buffer | ||
| 495 | @findex ses-reprint-all | ||
| 433 | 496 | ||
| 434 | A SES file consists of a print area and a data area. Normally the | 497 | A SES file consists of a print area and a data area. Normally the |
| 435 | buffer is narrowed to show only the print area. The print area is | 498 | buffer is narrowed to show only the print area. The print area is |
| @@ -452,6 +515,13 @@ Recreate print area by reevaluating printer functions for all cells | |||
| 452 | 515 | ||
| 453 | @node Ranges in formulas, Sorting by column, The print area, Advanced Features | 516 | @node Ranges in formulas, Sorting by column, The print area, Advanced Features |
| 454 | @section Ranges in formulas | 517 | @section Ranges in formulas |
| 518 | @cindex ranges | ||
| 519 | @findex ses-insert-range-click | ||
| 520 | @findex ses-insert-range | ||
| 521 | @findex ses-insert-ses-range-click | ||
| 522 | @findex ses-insert-ses-range | ||
| 523 | @vindex from | ||
| 524 | @vindex to | ||
| 455 | 525 | ||
| 456 | A formula like | 526 | A formula like |
| 457 | @lisp | 527 | @lisp |
| @@ -505,6 +575,9 @@ the range. New cells inserted just before a range are not included. | |||
| 505 | 575 | ||
| 506 | @node Sorting by column, Standard formula functions, Ranges in formulas, Advanced Features | 576 | @node Sorting by column, Standard formula functions, Ranges in formulas, Advanced Features |
| 507 | @section Sorting by column | 577 | @section Sorting by column |
| 578 | @cindex sorting | ||
| 579 | @findex ses-sort-column | ||
| 580 | @findex ses-sort-column-click | ||
| 508 | 581 | ||
| 509 | @table @kbd | 582 | @table @kbd |
| 510 | @item C-c M-C-s | 583 | @item C-c M-C-s |
| @@ -531,6 +604,12 @@ range. | |||
| 531 | 604 | ||
| 532 | @node Standard formula functions, More on cell printing, Sorting by column, Advanced Features | 605 | @node Standard formula functions, More on cell printing, Sorting by column, Advanced Features |
| 533 | @section Standard formula functions | 606 | @section Standard formula functions |
| 607 | @cindex standard formula functions | ||
| 608 | @cindex *skip* | ||
| 609 | @cindex *error* | ||
| 610 | @findex ses-delete-blanks | ||
| 611 | @findex ses-average | ||
| 612 | @findex ses+ | ||
| 534 | 613 | ||
| 535 | Oftentimes you want a calculation to exclude the blank cells. Here | 614 | Oftentimes you want a calculation to exclude the blank cells. Here |
| 536 | are some useful functions to call from your formulas: | 615 | are some useful functions to call from your formulas: |
| @@ -550,6 +629,9 @@ as a single argument, since you'll probably use it with @code{ses-range}. | |||
| 550 | 629 | ||
| 551 | @node More on cell printing, Import and export, Standard formula functions, Advanced Features | 630 | @node More on cell printing, Import and export, Standard formula functions, Advanced Features |
| 552 | @section More on cell printing | 631 | @section More on cell printing |
| 632 | @cindex cell printing, more | ||
| 633 | @findex ses-truncate-cell | ||
| 634 | @findex ses-recalculate-cell | ||
| 553 | 635 | ||
| 554 | Special cell values: | 636 | Special cell values: |
| 555 | @itemize | 637 | @itemize |
| @@ -590,6 +672,10 @@ is numeric-only and you use a string as a cell value. | |||
| 590 | 672 | ||
| 591 | @node Import and export, Virus protection, More on cell printing, Advanced Features | 673 | @node Import and export, Virus protection, More on cell printing, Advanced Features |
| 592 | @section Import and export | 674 | @section Import and export |
| 675 | @cindex import and export | ||
| 676 | @cindex export, and import | ||
| 677 | @findex ses-export-tsv | ||
| 678 | @findex ses-export-tsf | ||
| 593 | 679 | ||
| 594 | @table @kbd | 680 | @table @kbd |
| 595 | @item x t | 681 | @item x t |
| @@ -606,6 +692,7 @@ contains tabs and/or newlines. Imported formulas are not relocated. | |||
| 606 | 692 | ||
| 607 | @node Virus protection, Spreadsheets with details and summary, Import and export, Advanced Features | 693 | @node Virus protection, Spreadsheets with details and summary, Import and export, Advanced Features |
| 608 | @section Virus protection | 694 | @section Virus protection |
| 695 | @cindex virus protection | ||
| 609 | 696 | ||
| 610 | Whenever a formula or printer is read from a file or is pasted into | 697 | Whenever a formula or printer is read from a file or is pasted into |
| 611 | the spreadsheet, it receives a ``needs safety check'' marking. Later, | 698 | the spreadsheet, it receives a ``needs safety check'' marking. Later, |
| @@ -632,6 +719,8 @@ for more info on how Lisp forms are classified as safe or unsafe. | |||
| 632 | 719 | ||
| 633 | @node Spreadsheets with details and summary, , Virus protection, Advanced Features | 720 | @node Spreadsheets with details and summary, , Virus protection, Advanced Features |
| 634 | @section Spreadsheets with details and summary | 721 | @section Spreadsheets with details and summary |
| 722 | @cindex details and summary | ||
| 723 | @cindex summary, and details | ||
| 635 | 724 | ||
| 636 | A common organization for spreadsheets is to have a bunch of ``detail'' | 725 | A common organization for spreadsheets is to have a bunch of ``detail'' |
| 637 | rows, each perhaps describing a transaction, and then a set of | 726 | rows, each perhaps describing a transaction, and then a set of |
| @@ -664,8 +753,9 @@ details-and-summary spreadsheet. | |||
| 664 | 753 | ||
| 665 | @c =================================================================== | 754 | @c =================================================================== |
| 666 | 755 | ||
| 667 | @node For Gurus, Acknowledgements, Advanced Features, Top | 756 | @node For Gurus, Index, Advanced Features, Top |
| 668 | @chapter For Gurus | 757 | @chapter For Gurus |
| 758 | @cindex advanced features | ||
| 669 | 759 | ||
| 670 | @menu | 760 | @menu |
| 671 | * Deferred updates:: | 761 | * Deferred updates:: |
| @@ -677,6 +767,9 @@ details-and-summary spreadsheet. | |||
| 677 | 767 | ||
| 678 | @node Deferred updates, Nonrelocatable references, For Gurus, For Gurus | 768 | @node Deferred updates, Nonrelocatable references, For Gurus, For Gurus |
| 679 | @section Deferred updates | 769 | @section Deferred updates |
| 770 | @cindex deferred updates | ||
| 771 | @cindex updates, deferred | ||
| 772 | @vindex run-with-idle-timer | ||
| 680 | 773 | ||
| 681 | To save time by avoiding redundant computations, cells that need | 774 | To save time by avoiding redundant computations, cells that need |
| 682 | recalculation due to changes in other cells are added to a set. At | 775 | recalculation due to changes in other cells are added to a set. At |
| @@ -706,6 +799,8 @@ can type ahead without worrying about the glitch. | |||
| 706 | 799 | ||
| 707 | @node Nonrelocatable references, The data area, Deferred updates, For Gurus | 800 | @node Nonrelocatable references, The data area, Deferred updates, For Gurus |
| 708 | @section Nonrelocatable references | 801 | @section Nonrelocatable references |
| 802 | @cindex nonrelocatable references | ||
| 803 | @cindex references, nonrelocatable | ||
| 709 | 804 | ||
| 710 | @kbd{C-y} relocates all cell-references in a pasted formula, while | 805 | @kbd{C-y} relocates all cell-references in a pasted formula, while |
| 711 | @kbd{C-u C-y} relocates none of the cell-references. What about mixed | 806 | @kbd{C-u C-y} relocates none of the cell-references. What about mixed |
| @@ -732,6 +827,8 @@ kind of dependency is also not recorded. | |||
| 732 | 827 | ||
| 733 | @node The data area, Buffer-local variables in spreadsheets, Nonrelocatable references, For Gurus | 828 | @node The data area, Buffer-local variables in spreadsheets, Nonrelocatable references, For Gurus |
| 734 | @section The data area | 829 | @section The data area |
| 830 | @cindex data area | ||
| 831 | @findex ses-reconstruct-all | ||
| 735 | 832 | ||
| 736 | Begins with an 014 character, followed by sets of cell-definition | 833 | Begins with an 014 character, followed by sets of cell-definition |
| 737 | macros for each row, followed by column-widths, column-printers, | 834 | macros for each row, followed by column-widths, column-printers, |
| @@ -762,6 +859,8 @@ data structures: | |||
| 762 | 859 | ||
| 763 | @node Buffer-local variables in spreadsheets, Uses of defadvice in SES, The data area, For Gurus | 860 | @node Buffer-local variables in spreadsheets, Uses of defadvice in SES, The data area, For Gurus |
| 764 | @section Buffer-local variables in spreadsheets | 861 | @section Buffer-local variables in spreadsheets |
| 862 | @cindex buffer-local variables | ||
| 863 | @cindex variables, buffer-local | ||
| 765 | 864 | ||
| 766 | You can add additional local variables to the list at the bottom of | 865 | You can add additional local variables to the list at the bottom of |
| 767 | the data area, such as hidden constants you want to refer to in your | 866 | the data area, such as hidden constants you want to refer to in your |
| @@ -794,6 +893,10 @@ avoid virus warnings, each function used in a formula needs | |||
| 794 | 893 | ||
| 795 | @node Uses of defadvice in SES, , Buffer-local variables in spreadsheets, For Gurus | 894 | @node Uses of defadvice in SES, , Buffer-local variables in spreadsheets, For Gurus |
| 796 | @section Uses of defadvice in SES | 895 | @section Uses of defadvice in SES |
| 896 | @cindex defadvice | ||
| 897 | @cindex undo-more | ||
| 898 | @cindex copy-region-as-kill | ||
| 899 | @cindex yank | ||
| 797 | 900 | ||
| 798 | @table @code | 901 | @table @code |
| 799 | @item undo-more | 902 | @item undo-more |
| @@ -814,10 +917,24 @@ formulas, then (if all else fails) as a single formula for the current | |||
| 814 | cell. | 917 | cell. |
| 815 | @end table | 918 | @end table |
| 816 | 919 | ||
| 920 | @c =================================================================== | ||
| 921 | @node Index, Acknowledgements, For Gurus, Top | ||
| 922 | @unnumbered Concept Index | ||
| 923 | |||
| 924 | @printindex cp | ||
| 925 | |||
| 926 | @heading Function Index | ||
| 927 | |||
| 928 | @printindex fn | ||
| 929 | |||
| 930 | @heading Variable Index | ||
| 931 | |||
| 932 | @printindex vr | ||
| 933 | |||
| 817 | 934 | ||
| 818 | @c =================================================================== | 935 | @c =================================================================== |
| 819 | 936 | ||
| 820 | @node Acknowledgements, , For Gurus, Top | 937 | @node Acknowledgements, , Index, Top |
| 821 | @chapter Acknowledgements | 938 | @chapter Acknowledgements |
| 822 | 939 | ||
| 823 | Coding by: | 940 | Coding by: |
| @@ -826,6 +943,14 @@ Jonathan Yavner @email{jyavner@@member.fsf.org}@* | |||
| 826 | Stefan Monnier @email{monnier@@gnu.org} | 943 | Stefan Monnier @email{monnier@@gnu.org} |
| 827 | @end quotation | 944 | @end quotation |
| 828 | 945 | ||
| 946 | @noindent | ||
| 947 | Texinfo manual by: | ||
| 948 | @quotation | ||
| 949 | Jonathan Yavner @email{jyavner@@member.fsf.org}@* | ||
| 950 | Brad Collins <brad@@chenla.org> | ||
| 951 | @end quotation | ||
| 952 | |||
| 953 | @noindent | ||
| 829 | Ideas from: | 954 | Ideas from: |
| 830 | @quotation | 955 | @quotation |
| 831 | Christoph Conrad @email{christoph.conrad@@gmx.de}@* | 956 | Christoph Conrad @email{christoph.conrad@@gmx.de}@* |
diff --git a/man/viper.texi b/man/viper.texi index 654f6c9355f..7b3a888c8ca 100644 --- a/man/viper.texi +++ b/man/viper.texi | |||
| @@ -2285,7 +2285,7 @@ It is also possible to impose Vi on some major modes, even though they may | |||
| 2285 | bind common keys to specialized commands. This might make sense for modes | 2285 | bind common keys to specialized commands. This might make sense for modes |
| 2286 | that bind only a small number of common keys. For instance, Viper subverts | 2286 | that bind only a small number of common keys. For instance, Viper subverts |
| 2287 | the Shell mode by changing the bindings for @kbd{C-m} and @kbd{C-d} using | 2287 | the Shell mode by changing the bindings for @kbd{C-m} and @kbd{C-d} using |
| 2288 | @code{viper-add-local-keys} described in section on customization | 2288 | @code{viper-add-local-keys} described in the section on customization |
| 2289 | (@pxref{Customization}). | 2289 | (@pxref{Customization}). |
| 2290 | 2290 | ||
| 2291 | In some cases, some @emph{minor} modes might override certain essential | 2291 | In some cases, some @emph{minor} modes might override certain essential |
| @@ -2294,7 +2294,7 @@ can happen only in the beginning, when the minor mode kicks in. Typing | |||
| 2294 | @code{M-x viper-mode} will correct the situation. Viper knows about | 2294 | @code{M-x viper-mode} will correct the situation. Viper knows about |
| 2295 | several such minor modes and takes care of them, so the above trick | 2295 | several such minor modes and takes care of them, so the above trick |
| 2296 | is usually not necessary. If you find that some minor mode, e.g., | 2296 | is usually not necessary. If you find that some minor mode, e.g., |
| 2297 | @code{nasty-mode.el} interferes with Viper, putting the following in | 2297 | @code{nasty-mode} interferes with Viper, putting the following in |
| 2298 | @file{.viper} should fix the problem: | 2298 | @file{.viper} should fix the problem: |
| 2299 | @lisp | 2299 | @lisp |
| 2300 | (viper-harness-minor-mode "nasty-mode") | 2300 | (viper-harness-minor-mode "nasty-mode") |
| @@ -2305,7 +2305,7 @@ offending minor mode with the suffixes @file{.el} and @file{.elc} removed. | |||
| 2305 | 2305 | ||
| 2306 | It may not be always obvious which minor mode is at fault. The only | 2306 | It may not be always obvious which minor mode is at fault. The only |
| 2307 | guidance here is to look into the file that defines the minor mode you are | 2307 | guidance here is to look into the file that defines the minor mode you are |
| 2308 | suspecting, say @code{nasty-mode.el}, and see if it has a variable called | 2308 | suspecting, say @file{nasty-mode.el}, and see if it has a variable called |
| 2309 | @code{nasty-mode-map}. Then check if there is a statement of the form | 2309 | @code{nasty-mode-map}. Then check if there is a statement of the form |
| 2310 | @lisp | 2310 | @lisp |
| 2311 | (define-key nasty-mode-map key function) | 2311 | (define-key nasty-mode-map key function) |
| @@ -2316,6 +2316,18 @@ keys. If so, use the above line to harness @code{nasty-mode}. If your | |||
| 2316 | suspicion is wrong, no harm is done if you harness a minor mode that | 2316 | suspicion is wrong, no harm is done if you harness a minor mode that |
| 2317 | doesn't need to be harnessed. | 2317 | doesn't need to be harnessed. |
| 2318 | 2318 | ||
| 2319 | It is recommended to harness even those minor modes that don't override | ||
| 2320 | Viper keys, but still have their own keymaps. A general way to | ||
| 2321 | make a minor mode, @code{my-mode}, | ||
| 2322 | compatible with Viper is to have the file @file{my-mode.el} include the following code: | ||
| 2323 | |||
| 2324 | @lisp | ||
| 2325 | (when (fboundp 'viper-harness-minor-mode) | ||
| 2326 | (let ((lib (file-name-sans-extension | ||
| 2327 | (file-name-nondirectory load-file-name)))) | ||
| 2328 | (viper-harness-minor-mode lib))) | ||
| 2329 | @end lisp | ||
| 2330 | |||
| 2319 | @vindex @code{viper-want-emacs-keys-in-vi} | 2331 | @vindex @code{viper-want-emacs-keys-in-vi} |
| 2320 | @vindex @code{viper-want-emacs-keys-in-insert} | 2332 | @vindex @code{viper-want-emacs-keys-in-insert} |
| 2321 | @vindex @code{viper-always} | 2333 | @vindex @code{viper-always} |
| @@ -2371,11 +2383,19 @@ this in @file{~/.viper}: | |||
| 2371 | @end example | 2383 | @end example |
| 2372 | @findex @code{viper-set-searchstyle-toggling-macros} | 2384 | @findex @code{viper-set-searchstyle-toggling-macros} |
| 2373 | 2385 | ||
| 2386 | If you don't like this feature as a default, but would still like to have | ||
| 2387 | it in some major modes, you can do so by first unsetting it globally, as | ||
| 2388 | shown above, and then setting it in the desired major modes as follows: | ||
| 2389 | @example | ||
| 2390 | (viper-set-searchstyle-toggling-macros nil 'c-mode) | ||
| 2391 | (viper-set-searchstyle-toggling-macros nil 'lisp-mode) | ||
| 2392 | @end example | ||
| 2393 | |||
| 2374 | @item Vi-isms in Emacs state | 2394 | @item Vi-isms in Emacs state |
| 2375 | Some people find it useful to use the Vi-style search key, `/', to invoke | 2395 | Some people find it useful to use the Vi-style search key, `/', to invoke |
| 2376 | search in modes which Viper leaves in emacs-state. These modes are: | 2396 | search in modes which Viper leaves in emacs-state. These modes are: |
| 2377 | @code{dired-mode}, @code{mh-folder-mode}, @code{gnus-group-mode}, | 2397 | @code{dired-mode}, @code{mh-folder-mode}, |
| 2378 | @code{gnus-summary-mode}, @code{Info-mode}, and @code{Buffer-menu-mode} | 2398 | @code{Info-mode}, and @code{Buffer-menu-mode} |
| 2379 | (more may be added in the future). So, in the above modes, Viper binds `/' | 2399 | (more may be added in the future). So, in the above modes, Viper binds `/' |
| 2380 | so that it will behave Vi-style. Furthermore, in those major modes, Viper | 2400 | so that it will behave Vi-style. Furthermore, in those major modes, Viper |
| 2381 | binds `:' to invoke ex-style commands, like in vi-state. And, as described | 2401 | binds `:' to invoke ex-style commands, like in vi-state. And, as described |
| @@ -4470,6 +4490,7 @@ gviswana@@cs.wisc.edu (Guhan Viswanathan), | |||
| 4470 | gvr@@halcyon.com (George V.@: Reilly), | 4490 | gvr@@halcyon.com (George V.@: Reilly), |
| 4471 | hatazaki@@bach.convex.com (Takao Hatazaki), | 4491 | hatazaki@@bach.convex.com (Takao Hatazaki), |
| 4472 | hpz@@ibmhpz.aug.ipp-garching.mpg.de (Hans-Peter Zehrfeld), | 4492 | hpz@@ibmhpz.aug.ipp-garching.mpg.de (Hans-Peter Zehrfeld), |
| 4493 | irie@@t.email.ne.jp (Irie Tetsuya), | ||
| 4473 | jackr@@dblues.engr.sgi.com (Jack Repenning), | 4494 | jackr@@dblues.engr.sgi.com (Jack Repenning), |
| 4474 | jamesm@@bga.com (D.J.@: Miller II), | 4495 | jamesm@@bga.com (D.J.@: Miller II), |
| 4475 | jjm@@hplb.hpl.hp.com (Jean-Jacques Moreau), | 4496 | jjm@@hplb.hpl.hp.com (Jean-Jacques Moreau), |