1Fredraw-frame 2Clear frame FRAME and output again what is supposed to appear on it. 3 4(redraw-frame FRAME)Fredraw-frame 5Clear frame FRAME and output again what is supposed to appear on it. 6 7(redraw-frame FRAME)Fredraw-display 8Clear and redisplay all visible frames. 9 10(redraw-display)Fopen-termscript 11Start writing all terminal output to FILE as well as the terminal. 12FILE = nil means just close any termscript file currently open. 13 14(open-termscript FILE)Fsend-string-to-terminal 15Send STRING to the terminal without alteration. 16Control characters in STRING will have terminal-dependent effects. 17 18(send-string-to-terminal STR)Fding 19Beep, or flash the screen. 20Also, unless an argument is given, 21terminate any keyboard macro currently executing. 22 23(ding &optional ARG)Fsleep-for 24Pause, without updating display, for SECONDS seconds. 25SECONDS may be a floating-point value, meaning that you can wait for a 26fraction of a second. Optional second arg MILLISECONDS specifies an 27additional wait period, in milliseconds; this may be useful if your 28Emacs was built without floating point support. 29(Not all operating systems support waiting for a fraction of a second.) 30 31(sleep-for SECONDS &optional MILLISECONDS)Fsit-for 32Perform redisplay, then wait for SECONDS seconds or until input is available. 33SECONDS may be a floating-point value, meaning that you can wait for a 34fraction of a second. Optional second arg MILLISECONDS specifies an 35additional wait period, in milliseconds; this may be useful if your 36Emacs was built without floating point support. 37(Not all operating systems support waiting for a fraction of a second.) 38Optional third arg non-nil means don't redisplay, just wait for input. 39Redisplay is preempted as always if input arrives, and does not happen 40if input is available before it starts. 41Value is t if waited the full time with no input arriving. 42 43(sit-for SECONDS &optional MILLISECONDS NODISP)Vbaud-rate 44The output baud rate of the terminal. 45On most systems, changing this value will affect the amount of padding 46and the other strategic decisions made during redisplay.Vinverse-video 47*Non-nil means invert the entire frame display. 48This means everything is in inverse video which otherwise would not be.Vvisible-bell 49*Non-nil means try to flash the frame to represent a bell.Vno-redraw-on-reenter 50*Non-nil means no need to redraw entire frame after suspending. 51A non-nil value is useful if the terminal can automatically preserve 52Emacs's frame display when you reenter Emacs. 53It is up to you to set this variable if your terminal can do that.Vwindow-system 54A symbol naming the window-system under which Emacs is running 55(such as `x'), or nil if emacs is running on an ordinary terminal.Vwindow-system-version 56The version number of the window system in use. 57For X windows, this is 10 or 11.Vcursor-in-echo-area 58Non-nil means put cursor in minibuffer, at end of any message there.Vglyph-table 59Table defining how to output a glyph code to the frame. 60If not nil, this is a vector indexed by glyph code to define the glyph. 61Each element can be: 62 integer: a glyph code which this glyph is an alias for. 63 string: output this glyph using that string (not impl. in X windows). 64 nil: this glyph mod 256 is char code to output, 65 and this glyph / 256 is face code for X windows (see `face-id').Vstandard-display-table 66Display table to use for buffers that specify none. 67See `buffer-display-table' for more information.Fframep 68Return non-nil if OBJECT is a frame. 69Value is t for a termcap frame (a character-only terminal), 70`x' for an Emacs frame that is really an X window. 71Also see `live-frame-p'. 72 73(framep OBJECT)Fframe-live-p 74Return non-nil if OBJECT is a frame which has not been deleted. 75Value is nil if OBJECT is not a live frame. If object is a live 76frame, the return value indicates what sort of output device it is 77displayed on. Value is t for a termcap frame (a character-only 78terminal), `x' for an Emacs frame being displayed in an X window. 79 80(frame-live-p OBJECT)Fselect-frame 81Select the frame FRAME. 82Subsequent editing commands apply to its selected window. 83The selection of FRAME lasts until the next time the user does 84something to select a different frame, or until the next time this 85function is called. 86 87(select-frame FRAME &optional NO-ENTER)Fhandle-switch-frame 88Handle a switch-frame event EVENT. 89Switch-frame events are usually bound to this function. 90A switch-frame event tells Emacs that the window manager has requested 91that the user's events be directed to the frame mentioned in the event. 92This function selects the selected window of the frame of EVENT. 93 94If EVENT is frame object, handle it as if it were a switch-frame event 95to that frame. 96 97(handle-switch-frame FRAME &optional NO-ENTER)Fselected-frame 98Return the frame that is now selected. 99 100(selected-frame)Fwindow-frame 101Return the frame object that window WINDOW is on. 102 103(window-frame WINDOW)Fframe-first-window 104Returns the topmost, leftmost window of FRAME. 105If omitted, FRAME defaults to the currently selected frame. 106 107(frame-first-window &optional FRAME)Fframe-root-window 108Returns the root-window of FRAME. 109If omitted, FRAME defaults to the currently selected frame. 110 111(frame-root-window &optional FRAME)Fframe-selected-window 112Return the selected window of frame object FRAME. 113If omitted, FRAME defaults to the currently selected frame. 114 115(frame-selected-window &optional FRAME)Fset-frame-selected-window 116Set the selected window of frame object FRAME to WINDOW. 117If FRAME is nil, the selected frame is used. 118If FRAME is the selected frame, this makes WINDOW the selected window. 119 120(set-frame-selected-window FRAME WINDOW)Fframe-list 121Return a list of all frames. 122 123(frame-list)Fnext-frame 124Return the next frame in the frame list after FRAME. 125By default, skip minibuffer-only frames. 126If omitted, FRAME defaults to the selected frame. 127If optional argument MINIFRAME is nil, exclude minibuffer-only frames. 128If MINIFRAME is a window, include only frames using that window for their 129minibuffer. 130If MINIFRAME is `visible', include all visible frames. 131Otherwise, include all frames. 132 133(next-frame &optional FRAME MINIFRAME)Fprevious-frame 134Return the previous frame in the frame list before FRAME. 135By default, skip minibuffer-only frames. 136If omitted, FRAME defaults to the selected frame. 137If optional argument MINIFRAME is nil, exclude minibuffer-only frames. 138If MINIFRAME is a window, include only frames using that window for their 139minibuffer. 140If MINIFRAME is `visible', include all visible frames. 141Otherwise, include all frames. 142 143(previous-frame &optional FRAME MINIFRAME)Fdelete-frame 144Delete FRAME, permanently eliminating it from use. 145If omitted, FRAME defaults to the selected frame. 146A frame may not be deleted if its minibuffer is used by other frames. 147Normally, you may not delete a frame if all other frames are invisible, 148but if the second optional argument FORCE is non-nil, you may do so. 149 150(delete-frame &optional FRAME FORCE)Fmouse-position 151Return a list (FRAME X . Y) giving the current mouse frame and position. 152The position is given in character cells, where (0, 0) is the 153upper-left corner. 154If Emacs is running on a mouseless terminal or hasn't been programmed 155to read the mouse position, it returns the selected frame for FRAME 156and nil for X and Y. 157 158(mouse-position)Fmouse-pixel-position 159Return a list (FRAME X . Y) giving the current mouse frame and position. 160The position is given in pixel units, where (0, 0) is the 161upper-left corner. 162If Emacs is running on a mouseless terminal or hasn't been programmed 163to read the mouse position, it returns the selected frame for FRAME 164and nil for X and Y. 165 166(mouse-pixel-position)Fset-mouse-position 167Move the mouse pointer to the center of character cell (X,Y) in FRAME. 168WARNING: If you use this under X windows, 169you should call `unfocus-frame' afterwards. 170 171(set-mouse-position FRAME X Y)Fset-mouse-pixel-position 172Move the mouse pointer to pixel position (X,Y) in FRAME. 173WARNING: If you use this under X windows, 174you should call `unfocus-frame' afterwards. 175 176(set-mouse-pixel-position FRAME X Y)Fmake-frame-visible 177Make the frame FRAME visible (assuming it is an X-window). 178If omitted, FRAME defaults to the currently selected frame. 179 180(make-frame-visible &optional FRAME)Fmake-frame-invisible 181Make the frame FRAME invisible (assuming it is an X-window). 182If omitted, FRAME defaults to the currently selected frame. 183Normally you may not make FRAME invisible if all other frames are invisible, 184but if the second optional argument FORCE is non-nil, you may do so. 185 186(make-frame-invisible &optional FRAME FORCE)Ficonify-frame 187Make the frame FRAME into an icon. 188If omitted, FRAME defaults to the currently selected frame. 189 190(iconify-frame &optional FRAME)Fframe-visible-p 191Return t if FRAME is now "visible" (actually in use for display). 192A frame that is not "visible" is not updated and, if it works through 193a window system, it may not show at all. 194Return the symbol `icon' if frame is visible only as an icon. 195 196(frame-visible-p FRAME)Fvisible-frame-list 197Return a list of all frames now "visible" (being updated). 198 199(visible-frame-list)Fraise-frame 200Bring FRAME to the front, so it occludes any frames it overlaps. 201If FRAME is invisible, make it visible. 202If Emacs is displaying on an ordinary terminal or some other device which 203doesn't support multiple overlapping frames, this function does nothing. 204 205(raise-frame FRAME)Flower-frame 206Send FRAME to the back, so it is occluded by any frames that overlap it. 207If Emacs is displaying on an ordinary terminal or some other device which 208doesn't support multiple overlapping frames, this function does nothing. 209 210(lower-frame FRAME)Fredirect-frame-focus 211Arrange for keystrokes typed at FRAME to be sent to FOCUS-FRAME. 212In other words, switch-frame events caused by events in FRAME will 213request a switch to FOCUS-FRAME, and `last-event-frame' will be 214FOCUS-FRAME after reading an event typed at FRAME. 215 216If FOCUS-FRAME is omitted or nil, any existing redirection is 217cancelled, and the frame again receives its own keystrokes. 218 219Focus redirection is useful for temporarily redirecting keystrokes to 220a surrogate minibuffer frame when a frame doesn't have its own 221minibuffer window. 222 223A frame's focus redirection can be changed by select-frame. If frame 224FOO is selected, and then a different frame BAR is selected, any 225frames redirecting their focus to FOO are shifted to redirect their 226focus to BAR. This allows focus redirection to work properly when the 227user switches from one frame to another using `select-window'. 228 229This means that a frame whose focus is redirected to itself is treated 230differently from a frame whose focus is redirected to nil; the former 231is affected by select-frame, while the latter is not. 232 233The redirection lasts until `redirect-frame-focus' is called to change it. 234 235(redirect-frame-focus FRAME &optional FOCUS-FRAME)Fframe-focus 236Return the frame to which FRAME's keystrokes are currently being sent. 237This returns nil if FRAME's focus is not redirected. 238See `redirect-frame-focus'. 239 240(frame-focus FRAME)Fframe-parameters 241Return the parameters-alist of frame FRAME. 242It is a list of elements of the form (PARM . VALUE), where PARM is a symbol. 243The meaningful PARMs depend on the kind of frame. 244If FRAME is omitted, return information on the currently selected frame. 245 246(frame-parameters &optional FRAME)Fmodify-frame-parameters 247Modify the parameters of frame FRAME according to ALIST. 248ALIST is an alist of parameters to change and their new values. 249Each element of ALIST has the form (PARM . VALUE), where PARM is a symbol. 250The meaningful PARMs depend on the kind of frame; undefined PARMs are ignored. 251 252(modify-frame-parameters FRAME ALIST)Fframe-char-height 253Height in pixels of a line in the font in frame FRAME. 254If FRAME is omitted, the selected frame is used. 255For a terminal frame, the value is always 1. 256 257(frame-char-height &optional FRAME)Fframe-char-width 258Width in pixels of characters in the font in frame FRAME. 259If FRAME is omitted, the selected frame is used. 260The width is the same for all characters, because 261currently Emacs supports only fixed-width fonts. 262For a terminal screen, the value is always 1. 263 264(frame-char-width &optional FRAME)Fframe-pixel-height 265Return a FRAME's height in pixels. 266For a terminal frame, the result really gives the height in characters. 267If FRAME is omitted, the selected frame is used. 268 269(frame-pixel-height &optional FRAME)Fframe-pixel-width 270Return FRAME's width in pixels. 271For a terminal frame, the result really gives the width in characters. 272If FRAME is omitted, the selected frame is used. 273 274(frame-pixel-width &optional FRAME)Fset-frame-height 275Specify that the frame FRAME has LINES lines. 276Optional third arg non-nil means that redisplay should use LINES lines 277but that the idea of the actual height of the frame should not be changed. 278 279(set-frame-height FRAME ROWS &optional PRETEND)Fset-frame-width 280Specify that the frame FRAME has COLS columns. 281Optional third arg non-nil means that redisplay should use COLS columns 282but that the idea of the actual width of the frame should not be changed. 283 284(set-frame-width FRAME COLS &optional PRETEND)Fset-frame-size 285Sets size of FRAME to COLS by ROWS, measured in characters. 286 287(set-frame-size FRAME COLS ROWS)Fset-frame-position 288Sets position of FRAME in pixels to XOFFSET by YOFFSET. 289This is actually the position of the upper left corner of the frame. 290Negative values for XOFFSET or YOFFSET are interpreted relative to 291the rightmost or bottommost possible position (that stays within the screen). 292 293(set-frame-position FRAME XOFFSET YOFFSET)Vterminal-frame 294The initial frame-object, which represents Emacs's stdout.Vemacs-iconified 295Non-nil if all of emacs is iconified and frame updates are not needed.Vdefault-minibuffer-frame 296Minibufferless frames use this frame's minibuffer. 297 298Emacs cannot create minibufferless frames unless this is set to an 299appropriate surrogate. 300 301Emacs consults this variable only when creating minibufferless 302frames; once the frame is created, it sticks with its assigned 303minibuffer, no matter what this variable is set to. This means that 304this variable doesn't necessarily say anything meaningful about the 305current set of frames, or where the minibuffer is currently being 306displayed.Vdefault-frame-alist 307Alist of default values for frame creation. 308These may be set in your init file, like this: 309 (setq default-frame-alist '((width . 80) (height . 55))) 310These override values given in window system configuration data, like 311X Windows' defaults database. 312For values specific to the first Emacs frame, see `initial-frame-alist'. 313For values specific to the separate minibuffer frame, see 314`minibuffer-frame-alist'.Fframe-height 315Return number of lines available for display on FRAME. 316If FRAME is omitted, describe the currently selected frame. 317 318(frame-height &optional FRAME)Fframe-width 319Return number of columns available for display on FRAME. 320If FRAME is omitted, describe the currently selected frame. 321 322(frame-width &optional FRAME)Fset-screen-height 323Tell redisplay that the screen has LINES lines. 324Optional second arg non-nil means that redisplay should use LINES lines 325but that the idea of the actual height of the screen should not be changed. 326 327(set-screen-height LINES &optional PRETEND)Fset-screen-width 328Tell redisplay that the screen has COLS columns. 329Optional second arg non-nil means that redisplay should use COLS columns 330but that the idea of the actual width of the screen should not be changed. 331 332(set-screen-width COLS &optional PRETEND)Vterminal-frame 333The initial frame-object, which represents Emacs's stdout.Vglobal-mode-string 334String (or mode line construct) included (normally) in `mode-line-format'.Voverlay-arrow-position 335Marker for where to display an arrow on top of the buffer text. 336This must be the beginning of a line in order to work. 337See also `overlay-arrow-string'.Voverlay-arrow-string 338String to display as an arrow. See also `overlay-arrow-position'.Vscroll-step 339*The number of lines to try scrolling a window by when point moves out. 340If that fails to bring point back on frame, point is centered instead. 341If this is zero, point is always centered after it moves off frame.Vdebug-end-pos 342Don't askVtruncate-partial-width-windows 343*Non-nil means truncate lines in all windows less than full frame wide.Vmode-line-inverse-video 344*Non-nil means use inverse video for the mode line.Vline-number-display-limit 345*Maximum buffer size for which line number should be displayed.Vhighlight-nonselected-windows 346*Non-nil means highlight region even in nonselected windows.Fwindowp 347Returns t if OBJ is a window. 348 349(windowp OBJ)Fwindow-live-p 350Returns t if OBJ is a window which is currently visible. 351 352(window-live-p OBJ)Fselected-window 353Return the window that the cursor now appears in and commands apply to. 354 355(selected-window)Fminibuffer-window 356Return the window used now for minibuffers. 357If the optional argument FRAME is specified, return the minibuffer window 358used by that frame. 359 360(minibuffer-window &optional FRAME)Fwindow-minibuffer-p 361Returns non-nil if WINDOW is a minibuffer window. 362 363(window-minibuffer-p &optional WINDOW)Fpos-visible-in-window-p 364Return t if position POS is currently on the frame in WINDOW. 365Returns nil if that position is scrolled vertically out of view. 366POS defaults to point; WINDOW, to the selected window. 367 368(pos-visible-in-window-p &optional POS WINDOW)Fwindow-buffer 369Return the buffer that WINDOW is displaying. 370 371(window-buffer &optional WINDOW)Fwindow-height 372Return the number of lines in WINDOW (including its mode line). 373 374(window-height &optional WINDOW)Fwindow-width 375Return the number of display columns in WINDOW. 376This is the width that is usable columns available for text in WINDOW. 377If you want to find out how many columns WINDOW takes up, 378use (let ((edges (window-edges))) (- (nth 2 edges) (nth 0 edges))). 379 380(window-width &optional WINDOW)Fwindow-hscroll 381Return the number of columns by which WINDOW is scrolled from left margin. 382 383(window-hscroll &optional WINDOW)Fset-window-hscroll 384Set number of columns WINDOW is scrolled from left margin to NCOL. 385NCOL should be zero or positive. 386 387(set-window-hscroll WINDOW NCOL)Fwindow-edges 388Return a list of the edge coordinates of WINDOW. 389(LEFT TOP RIGHT BOTTOM), all relative to 0, 0 at top left corner of frame. 390RIGHT is one more than the rightmost column used by WINDOW, 391and BOTTOM is one more than the bottommost row used by WINDOW 392 and its mode-line. 393 394(window-edges &optional WINDOW)Fcoordinates-in-window-p 395Return non-nil if COORDINATES are in WINDOW. 396COORDINATES is a cons of the form (X . Y), X and Y being distances 397measured in characters from the upper-left corner of the frame. 398(0 . 0) denotes the character in the upper left corner of the 399frame. 400If COORDINATES are in the text portion of WINDOW, 401 the coordinates relative to the window are returned. 402If they are in the mode line of WINDOW, `mode-line' is returned. 403If they are on the border between WINDOW and its right sibling, 404 `vertical-line' is returned. 405 406(coordinates-in-window-p COORDINATES WINDOW)Fwindow-at 407Return window containing coordinates X and Y on FRAME. 408If omitted, FRAME defaults to the currently selected frame. 409The top left corner of the frame is considered to be row 0, 410column 0. 411 412(window-at X Y &optional FRAME)Fwindow-point 413Return current value of point in WINDOW. 414For a nonselected window, this is the value point would have 415if that window were selected. 416 417Note that, when WINDOW is the selected window and its buffer 418is also currently selected, the value returned is the same as (point). 419It would be more strictly correct to return the `top-level' value 420of point, outside of any save-excursion forms. 421But that is hard to define. 422 423(window-point &optional WINDOW)Fwindow-start 424Return position at which display currently starts in WINDOW. 425 426(window-start &optional WINDOW)Fwindow-end 427Return position at which display currently ends in WINDOW. 428 429(window-end &optional WINDOW)Fset-window-point 430Make point value in WINDOW be at position POS in WINDOW's buffer. 431 432(set-window-point WINDOW POS)Fset-window-start 433Make display in WINDOW start at position POS in WINDOW's buffer. 434Optional third arg NOFORCE non-nil inhibits next redisplay 435from overriding motion of point in order to display at this exact start. 436 437(set-window-start WINDOW POS &optional NOFORCE)Fwindow-dedicated-p 438Return WINDOW's dedicated object, usually t or nil. 439See also `set-window-dedicated-p'. 440 441(window-dedicated-p WINDOW)Fset-window-dedicated-p 442Control whether WINDOW is dedicated to the buffer it displays. 443If it is dedicated, Emacs will not automatically change 444which buffer appears in it. 445The second argument is the new value for the dedication flag; 446non-nil means yes. 447 448(set-window-dedicated-p WINDOW ARG)Fwindow-display-table 449Return the display-table that WINDOW is using. 450 451(window-display-table &optional WINDOW)Fset-window-display-table 452Set WINDOW's display-table to TABLE. 453 454(set-window-display-table WINDOW TABLE)Fdelete-window 455Remove WINDOW from the display. Default is selected window. 456 457(delete-window &optional WINDOW)Fnext-window 458Return next window after WINDOW in canonical ordering of windows. 459If omitted, WINDOW defaults to the selected window. 460 461Optional second arg MINIBUF t means count the minibuffer window even 462if not active. MINIBUF nil or omitted means count the minibuffer iff 463it is active. MINIBUF neither t nor nil means not to count the 464minibuffer even if it is active. 465 466Several frames may share a single minibuffer; if the minibuffer 467counts, all windows on all frames that share that minibuffer count 468too. This means that next-window may be used to iterate through the 469set of windows even when the minibuffer is on another frame. If the 470minibuffer does not count, only windows from WINDOW's frame count. 471 472Optional third arg ALL-FRAMES t means include windows on all frames. 473ALL-FRAMES nil or omitted means cycle within the frames as specified 474above. ALL-FRAMES = `visible' means include windows on all visible frames. 475Anything else means restrict to WINDOW's frame. 476 477If you use consistent values for MINIBUF and ALL-FRAMES, you can use 478`next-window' to iterate through the entire cycle of acceptable 479windows, eventually ending up back at the window you started with. 480`previous-window' traverses the same cycle, in the reverse order. 481 482(next-window &optional WINDOW MINIBUF ALL-FRAMES)Fprevious-window 483Return the window preceeding WINDOW in canonical ordering of windows. 484If omitted, WINDOW defaults to the selected window. 485 486Optional second arg MINIBUF t means count the minibuffer window even 487if not active. MINIBUF nil or omitted means count the minibuffer iff 488it is active. MINIBUF neither t nor nil means not to count the 489minibuffer even if it is active. 490 491Several frames may share a single minibuffer; if the minibuffer 492counts, all windows on all frames that share that minibuffer count 493too. This means that previous-window may be used to iterate through 494the set of windows even when the minibuffer is on another frame. If 495the minibuffer does not count, only windows from WINDOW's frame 496count. 497 498Optional third arg ALL-FRAMES t means include windows on all frames. 499ALL-FRAMES nil or omitted means cycle within the frames as specified 500above. ALL-FRAMES = `visible' means include windows on all visible frames. 501Anything else means restrict to WINDOW's frame. 502 503If you use consistent values for MINIBUF and ALL-FRAMES, you can use 504`previous-window' to iterate through the entire cycle of acceptable 505windows, eventually ending up back at the window you started with. 506`next-window' traverses the same cycle, in the reverse order. 507 508(previous-window &optional WINDOW MINIBUF ALL-FRAMES)Fother-window 509Select the ARG'th different window on this frame. 510All windows on current frame are arranged in a cyclic order. 511This command selects the window ARG steps away in that order. 512A negative ARG moves in the opposite order. If the optional second 513argument ALL_FRAMES is non-nil, cycle through all frames. 514 515(other-window N &optional ALL-FRAMES)Fget-lru-window 516Return the window least recently selected or used for display. 517If optional argument FRAME is `visible', search all visible frames. 518If FRAME is t, search all frames. 519If FRAME is nil, search only the selected frame. 520If FRAME is a frame, search only that frame. 521 522(get-lru-window &optional FRAME)Fget-largest-window 523Return the largest window in area. 524If optional argument FRAME is `visible', search all visible frames. 525If FRAME is t, search all frames. 526If FRAME is nil, search only the selected frame. 527If FRAME is a frame, search only that frame. 528 529(get-largest-window &optional FRAME)Fget-buffer-window 530Return a window currently displaying BUFFER, or nil if none. 531If optional argument FRAME is `visible', search all visible frames. 532If FRAME is t, search all frames. 533If FRAME is nil, search only the selected frame. 534If FRAME is a frame, search only that frame. 535 536(get-buffer-window BUFFER &optional FRAME)Fdelete-other-windows 537Make WINDOW (or the selected window) fill its frame. 538Only the frame WINDOW is on is affected. 539This function tries to reduce display jumps 540by keeping the text previously visible in WINDOW 541in the same place on the frame. Doing this depends on 542the value of (window-start WINDOW), so if calling this function 543in a program gives strange scrolling, make sure the window-start 544value is reasonable when this function is called. 545 546(delete-other-windows &optional WINDOW)Fdelete-windows-on 547Delete all windows showing BUFFER. 548Optional second argument FRAME controls which frames are affected. 549If nil or omitted, delete all windows showing BUFFER in any frame. 550If t, delete only windows showing BUFFER in the selected frame. 551If `visible', delete all windows showing BUFFER in any visible frame. 552If a frame, delete only windows showing BUFFER in that frame. 553 554(delete-windows-on BUFFER &optional FRAME)Freplace-buffer-in-windows 555Replace BUFFER with some other buffer in all windows showing it. 556 557(replace-buffer-in-windows BUFFER)Fset-window-buffer 558Make WINDOW display BUFFER as its contents. 559BUFFER can be a buffer or buffer name. 560 561(set-window-buffer WINDOW BUFFER)Fselect-window 562Select WINDOW. Most editing will apply to WINDOW's buffer. 563The main editor command loop selects the buffer of the selected window 564before each command. 565 566(select-window WINDOW)Fdisplay-buffer 567Make BUFFER appear in some window but don't select it. 568BUFFER can be a buffer or a buffer name. 569If BUFFER is shown already in some window, just use that one, 570unless the window is the selected window and the optional second 571argument NOT-THIS-WINDOW is non-nil (interactively, with prefix arg). 572If `pop-up-frames' is non-nil, make a new frame if no window shows BUFFER. 573Returns the window displaying BUFFER. 574 575(display-buffer BUFFER &optional NOT-THIS-WINDOW)Fsplit-window 576Split WINDOW, putting SIZE lines in the first of the pair. 577WINDOW defaults to selected one and SIZE to half its size. 578If optional third arg HOR-FLAG is non-nil, split side by side 579and put SIZE columns in the first of the pair. 580 581(split-window &optional WINDOW CHSIZE HORFLAG)Fenlarge-window 582Make current window ARG lines bigger. 583From program, optional second arg non-nil means grow sideways ARG columns. 584 585(enlarge-window N &optional SIDE)Fshrink-window 586Make current window ARG lines smaller. 587From program, optional second arg non-nil means shrink sideways ARG columns. 588 589(shrink-window N &optional SIDE)Fscroll-up 590Scroll text of current window upward ARG lines; or near full screen if no ARG. 591A near full screen is `next-screen-context-lines' less than a full screen. 592Negative ARG means scroll downward. 593When calling from a program, supply a number as argument or nil. 594 595(scroll-up &optional N)Fscroll-down 596Scroll text of current window downward ARG lines; or near full screen if no ARG. 597A near full screen is `next-screen-context-lines' less than a full screen. 598Negative ARG means scroll upward. 599When calling from a program, supply a number as argument or nil. 600 601(scroll-down &optional N)Fscroll-other-window 602Scroll next window upward ARG lines; or near full screen if no ARG. 603The next window is the one below the current one; or the one at the top 604if the current one is at the bottom. Negative ARG means scroll downward. 605When calling from a program, supply a number as argument or nil. 606 607If in the minibuffer, `minibuffer-scroll-window' if non-nil 608specifies the window to scroll. 609If `other-window-scroll-buffer' is non-nil, scroll the window 610showing that buffer, popping the buffer up if necessary. 611 612(scroll-other-window &optional N)Fscroll-left 613Scroll selected window display ARG columns left. 614Default for ARG is window width minus 2. 615 616(scroll-left &optional ARG)Fscroll-right 617Scroll selected window display ARG columns right. 618Default for ARG is window width minus 2. 619 620(scroll-right &optional ARG)Frecenter 621Center point in window and redisplay frame. With ARG, put point on line ARG. 622The desired position of point is always relative to the current window. 623Just C-u as prefix means put point in the center of the window. 624No arg (i.e., it is nil) erases the entire frame and then 625redraws with point in the center of the current window. 626 627(recenter &optional N)Fmove-to-window-line 628Position point relative to window. 629With no argument, position text at center of window. 630An argument specifies frame line; zero means top of window, 631negative means relative to bottom of window. 632 633(move-to-window-line ARG)Fwindow-configuration-p 634T if OBJECT is a window-configration object. 635 636(window-configuration-p OBJ)Fset-window-configuration 637Set the configuration of windows and buffers as specified by CONFIGURATION. 638CONFIGURATION must be a value previously returned 639by `current-window-configuration' (which see). 640 641(set-window-configuration CONFIGURATION)Fcurrent-window-configuration 642Return an object representing the current window configuration of FRAME. 643If FRAME is nil or omitted, use the selected frame. 644This describes the number of windows, their sizes and current buffers, 645and for each displayed buffer, where display starts, and the positions of 646point and mark. An exception is made for point in the current buffer: 647its value is -not- saved. 648This also records the currently selected frame, and FRAME's focus 649redirection (see `redirect-frame-focus'). 650 651(current-window-configuration &optional FRAME)Fsave-window-excursion 652Execute body, preserving window sizes and contents. 653Restores which buffer appears in which window, where display starts, 654as well as the current buffer. 655Does not restore the value of point in current buffer.Vtemp-buffer-show-function 656Non-nil means call as function to display a help buffer. 657Used by `with-output-to-temp-buffer'.Vdisplay-buffer-function 658If non-nil, function to call to handle `display-buffer'. 659It will receive two args, the buffer and a flag which if non-nil means 660 that the currently selected window is not acceptable. 661Commands such as `switch-to-buffer-other-window' and `find-file-other-window' 662work using this function.Vminibuffer-scroll-window 663Non-nil means it is the window that C-M-v in minibuffer should scroll.Vother-window-scroll-buffer 664If non-nil, this is a buffer and \[scroll-other-window] should scroll its window.Vpop-up-frames 665*Non-nil means `display-buffer' should make a separate frame.Vpop-up-frame-function 666Function to call to handle automatic new frame creation. 667It is called with no arguments and should return a newly created frame. 668 669A typical value might be `(lambda () (new-frame pop-up-frame-alist))' 670where `pop-up-frame-alist' would hold the default frame parameters.Vspecial-display-buffer-names 671*List of buffer names that should have their own special frames. 672Displaying a buffer whose name is in this list makes a special frame for it 673using `special-display-function'. See also `special-display-regexps'.Vspecial-display-regexps 674*List of regexps saying which buffers should have their own special frames. 675If a buffer name matches one of these regexps, it gets its own frame. 676Displaying a buffer whose name is in this list makes a special frame for it 677using `special-display-function'. See also `special-display-buffer-names'.Vspecial-display-function 678Function to call to make a new frame for a special buffer. 679It is called with one argument, the buffer, 680and should return a window displaying that buffer. 681The default value makes a separate frame for the buffer, 682using `special-display-alist' to specify the frame parameters. 683 684A buffer is special if its is listed in `special-display-buffer-names' 685or matches a regexp in `special-display-regexps'.Vpop-up-windows 686*Non-nil means display-buffer should make new windows.Vnext-screen-context-lines 687*Number of lines of continuity when scrolling by screenfuls.Vsplit-height-threshold 688*display-buffer would prefer to split the largest window if this large. 689If there is only one window, it is split regardless of this value.Vwindow-min-height 690*Delete any window less than this tall (including its mode line).Vwindow-min-width 691*Delete any window less than this wide.Vsystem-uses-terminfo 692Non-nil means the system uses terminfo rather than termcap. 693This variable can be used by terminal emulator packages.Fx-get-resource 694Return the value of ATTRIBUTE, of class CLASS, from the X defaults database. 695This uses `NAME.ATTRIBUTE' as the key and `Emacs.CLASS' as the 696class, where INSTANCE is the name under which Emacs was invoked, or 697the name specified by the `-name' or `-rn' command-line arguments. 698 699The optional arguments COMPONENT and SUBCLASS add to the key and the 700class, respectively. You must specify both of them or neither. 701If you specify them, the key is `NAME.COMPONENT.ATTRIBUTE' 702and the class is `Emacs.CLASS.SUBCLASS'. 703 704(x-get-resource ATTRIBUTE CLASS &optional COMPONENT SUBCLASS)Fx-get-default 705Get X default ATTRIBUTE from the system, or nil if no default. 706Value is a string (when not nil) and ATTRIBUTE is also a string. 707The defaults are specified in the file `~/.Xdefaults'. 708 709(x-get-default ARG)Fx-parse-geometry 710Parse an X-style geometry string STRING. 711Returns an alist of the form ((top . TOP), (left . LEFT) ... ). 712The properties returned may include `top', `left', `height', and `width'. 713The value of `left' or `top' may be an integer or `-'. 714`-' means "minus zero". 715 716(x-parse-geometry STRING)Fx-create-frame 717Make a new X window, which is called a "frame" in Emacs terms. 718Return an Emacs frame object representing the X window. 719ALIST is an alist of frame parameters. 720If the parameters specify that the frame should not have a minibuffer, 721and do not specify a specific minibuffer window to use, 722then `default-minibuffer-frame' must be a frame whose minibuffer can 723be shared by the new frame. 724 725(x-create-frame PARMS)Ffocus-frame 726Set the focus on FRAME. 727 728(focus-frame FRAME)Funfocus-frame 729If a frame has been focused, release it. 730 731(unfocus-frame)Fx-list-fonts 732Return a list of the names of available fonts matching PATTERN. 733If optional arguments FACE and FRAME are specified, return only fonts 734the same size as FACE on FRAME. 735 736PATTERN is a string, perhaps with wildcard characters; 737 the * character matches any substring, and 738 the ? character matches any single character. 739 PATTERN is case-insensitive. 740FACE is a face name - a symbol. 741 742The return value is a list of strings, suitable as arguments to 743set-face-font. 744 745Fonts Emacs can't use (i.e. proportional fonts) may or may not be excluded 746even if they match PATTERN and FACE. 747 748(x-list-fonts PATTERN &optional FACE FRAME)Fx-color-defined-p 749Return t if the current X display supports the color named COLOR. 750 751(x-color-defined-p COLOR)Fx-display-color-p 752Return t if the X screen currently in use supports color. 753 754(x-display-color-p)Fx-display-pixel-width 755Returns the width in pixels of the display FRAME is on. 756 757(x-display-pixel-width &optional FRAME)Fx-display-pixel-height 758Returns the height in pixels of the display FRAME is on. 759 760(x-display-pixel-height &optional FRAME)Fx-display-planes 761Returns the number of bitplanes of the display FRAME is on. 762 763(x-display-planes &optional FRAME)Fx-display-color-cells 764Returns the number of color cells of the display FRAME is on. 765 766(x-display-color-cells &optional FRAME)Fx-server-max-request-size 767Returns the maximum request size of the X server FRAME is using. 768 769(x-server-max-request-size &optional FRAME)Fx-server-vendor 770Returns the vendor ID string of the X server FRAME is on. 771 772(x-server-vendor &optional FRAME)Fx-server-version 773Returns the version numbers of the X server in use. 774The value is a list of three integers: the major and minor 775version numbers of the X Protocol in use, and the vendor-specific release 776number. See also the variable `x-server-vendor'. 777 778(x-server-version &optional FRAME)Fx-display-screens 779Returns the number of screens on the X server FRAME is on. 780 781(x-display-screens &optional FRAME)Fx-display-mm-height 782Returns the height in millimeters of the X screen FRAME is on. 783 784(x-display-mm-height &optional FRAME)Fx-display-mm-width 785Returns the width in millimeters of the X screen FRAME is on. 786 787(x-display-mm-width &optional FRAME)Fx-display-backing-store 788Returns an indication of whether the X screen FRAME is on does backing store. 789The value may be `always', `when-mapped', or `not-useful'. 790 791(x-display-backing-store &optional FRAME)Fx-display-visual-class 792Returns the visual class of the display `screen' is on. 793The value is one of the symbols `static-gray', `gray-scale', 794`static-color', `pseudo-color', `true-color', or `direct-color'. 795 796(x-display-visual-class &optional SCREEN)Fx-display-save-under 797Returns t if the X screen FRAME is on supports the save-under feature. 798 799(x-display-save-under &optional FRAME)Fx-draw-rectangle 800Draw a rectangle on FRAME between coordinates specified by 801numbers X0, Y0, X1, Y1 in the cursor pixel. 802 803(x-draw-rectangle FRAME X0 Y0 X1 Y1)Fx-erase-rectangle 804Draw a rectangle drawn on FRAME between coordinates 805X0, Y0, X1, Y1 in the regular background-pixel. 806 807(x-erase-rectangle FRAME X0 Y0 X1 Y1)Fx-contour-region 808Highlight the region between point and the character under the mouse 809selected frame. 810 811(x-contour-region EVENT)Fx-uncontour-region 812Erase any highlighting of the region between point and the character 813at X, Y on the selected frame. 814 815(x-uncontour-region EVENT)Fx-select-region 816 817 818(x-select-region EVENT)Fx-horizontal-line 819 820 821(x-horizontal-line EVENT)Fx-track-pointer 822Track the pointer. 823 824(x-track-pointer)Fx-track-pointer 825Draw rectangle around character under mouse pointer, if there is one. 826 827(x-track-pointer EVENT)Fx-store-cut-buffer 828Store contents of STRING into the cut buffer of the X window system. 829 830(x-store-cut-buffer STRING)Fx-get-cut-buffer 831Return contents of cut buffer of the X window system, as a string. 832 833(x-get-cut-buffer)Fx-rebind-key 834Rebind X keysym KEYSYM, with MODIFIERS, to generate NEWSTRING. 835KEYSYM is a string which conforms to the X keysym definitions found 836in X11/keysymdef.h, sans the initial XK_. MODIFIERS is nil or a 837list of strings specifying modifier keys such as Control_L, which must 838also be depressed for NEWSTRING to appear. 839 840(x-rebind-key X-KEYSYM MODIFIERS NEWSTRING)Fx-rebind-keys 841Rebind KEYCODE to list of strings STRINGS. 842STRINGS should be a list of 16 elements, one for each shift combination. 843nil as element means don't change. 844See the documentation of `x-rebind-key' for more information. 845 846(x-rebind-keys KEYCODE STRINGS)Fx-open-connection 847Open a connection to an X server. 848DISPLAY is the name of the display to connect to. 849Optional second arg XRM_STRING is a string of resources in xrdb format. 850 851(x-open-connection DISPLAY &optional XRM-STRING)Fx-close-current-connection 852Close the connection to the current X server. 853 854(x-close-current-connection)Fx-synchronize 855If ON is non-nil, report X errors as soon as the erring request is made. 856If ON is nil, allow buffering of requests. 857Turning on synchronization prohibits the Xlib routines from buffering 858requests and seriously degrades performance, but makes debugging much 859easier. 860 861(x-synchronize ON)Vmouse-buffer-offset 862The buffer offset of the character under the pointer.Vx-pointer-shape 863The shape of the pointer when over text. 864Changing the value does not affect existing frames 865unless you set the mouse color.Vx-resource-name 866The name Emacs uses to look up X resources; for internal use only. 867`x-get-resource' uses this as the first component of the instance name 868when requesting resource values. 869Emacs initially sets `x-resource-name' to the name under which Emacs 870was invoked, or to the value specified with the `-name' or `-rn' 871switches, if present.Vx-nontext-pointer-shape 872The shape of the pointer when not over text. 873This variable takes effect when you create a new frame 874or when you set the mouse color.Vx-mode-pointer-shape 875The shape of the pointer when over the mode line. 876This variable takes effect when you create a new frame 877or when you set the mouse color.Vx-sensitive-text-pointer-shape 878The shape of the pointer when over mouse-sensitive text. 879This variable takes effect when you create a new frame 880or when you set the mouse color.Vx-cursor-fore-pixel 881A string indicating the foreground color of the cursor box.Vmouse-grabbed 882Non-nil if a mouse button is currently depressed.Vx-no-window-manager 883t if no X window manager is in use.Fframe-face-alist 884 885 886(frame-face-alist FRAME)Fset-frame-face-alist 887 888 889(set-frame-face-alist FRAME VALUE)Fmake-face-internal 890Create face number FACE-ID on all frames. 891 892(make-face-internal FACE-ID)Fset-face-attribute-internal 893 894 895(set-face-attribute-internal FACE-ID ATTR-NAME ATTR-VALUE FRAME)Finternal-next-face-id 896 897 898(internal-next-face-id)Vregion-face 899Face number to use to highlight the region 900The region is highlighted with this face 901when Transient Mark mode is enabled and the mark is active.Fx-popup-menu 902Pop up a deck-of-cards menu and return user's selection. 903POSITION is a position specification. This is either a mouse button event 904or a list ((XOFFSET YOFFSET) WINDOW) 905where XOFFSET and YOFFSET are positions in pixels from the top left 906corner of WINDOW's frame. (WINDOW may be a frame object instead of a window.) 907This controls the position of the center of the first line 908in the first pane of the menu, not the top left of the menu as a whole. 909If POSITION is t, it means to use the current mouse position. 910 911MENU is a specifier for a menu. For the simplest case, MENU is a keymap. 912The menu items come from key bindings that have a menu string as well as 913a definition; actually, the "definition" in such a key binding looks like 914(STRING . REAL-DEFINITION). To give the menu a title, put a string into 915the keymap as a top-level element. 916 917You can also use a list of keymaps as MENU. 918 Then each keymap makes a separate pane. 919When MENU is a keymap or a list of keymaps, the return value 920is a list of events. 921 922Alternatively, you can specify a menu of multiple panes 923 with a list of the form (TITLE PANE1 PANE2...), 924where each pane is a list of form (TITLE ITEM1 ITEM2...). 925Each ITEM is normally a cons cell (STRING . VALUE); 926but a string can appear as an item--that makes a nonselectable line 927in the menu. 928With this form of menu, the return value is VALUE from the chosen item. 929 930If POSITION is nil, don't display the menu at all, just precalculate the 931cached information about equivalent key sequences. 932 933(x-popup-menu POSITION MENU)Fx-popup-dialog 934Pop up a dialog box and return user's selection. 935POSITION specifies which frame to use. 936This is normally a mouse button event or a window or frame. 937If POSITION is t, it means to use the frame the mouse is on. 938The dialog box appears in the middle of the specified frame. 939 940CONTENTS specifies the alternatives to display in the dialog box. 941It is a list of the form (TITLE ITEM1 ITEM2...). 942Each ITEM is a cons cell (STRING . VALUE). 943The return value is VALUE from the chosen item. 944 945An ITEM may also be just a string--that makes a nonselectable item. 946An ITEM may also be nil--that means to put all preceding items 947on the left of the dialog box and all following items on the right. 948(By default, approximately half appear on each side.) 949 950(x-popup-dialog POSITION CONTENTS)Fx-own-selection-internal 951Assert an X selection of the given TYPE with the given VALUE. 952TYPE is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. 953(Those are literal upper-case symbol names, since that's what X expects.) 954VALUE is typically a string, or a cons of two markers, but may be 955anything that the functions on `selection-converter-alist' know about. 956 957(x-own-selection-internal SELECTION-NAME SELECTION-VALUE)Fx-get-selection-internal 958Return text selected from some X window. 959SELECTION is a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'. 960(Those are literal upper-case symbol names, since that's what X expects.) 961TYPE is the type of data desired, typically `STRING'. 962 963(x-get-selection-internal SELECTION-SYMBOL TARGET-TYPE)Fx-disown-selection-internal 964If we own the selection SELECTION, disown it. 965Disowning it means there is no such selection. 966 967(x-disown-selection-internal SELECTION &optional TIME)Fx-selection-owner-p 968Whether the current Emacs process owns the given X Selection. 969The arg should be the name of the selection in question, typically one of 970the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. 971(Those are literal upper-case symbol names, since that's what X expects.) 972For convenience, the symbol nil is the same as `PRIMARY', 973and t is the same as `SECONDARY'.) 974 975(x-selection-owner-p &optional SELECTION)Fx-selection-exists-p 976Whether there is an owner for the given X Selection. 977The arg should be the name of the selection in question, typically one of 978the symbols `PRIMARY', `SECONDARY', or `CLIPBOARD'. 979(Those are literal upper-case symbol names, since that's what X expects.) 980For convenience, the symbol nil is the same as `PRIMARY', 981and t is the same as `SECONDARY'.) 982 983(x-selection-exists-p &optional SELECTION)Fx-get-cut-buffer-internal 984Returns the value of the named cut buffer (typically CUT_BUFFER0). 985 986(x-get-cut-buffer-internal BUFFER)Fx-store-cut-buffer-internal 987Sets the value of the named cut buffer (typically CUT_BUFFER0). 988 989(x-store-cut-buffer-internal BUFFER STRING)Fx-rotate-cut-buffers-internal 990Rotate the values of the cut buffers by the given number of steps; 991positive means move values forward, negative means backward. 992 993(x-rotate-cut-buffers-internal N)Vselection-converter-alist 994An alist associating X Windows selection-types with functions. 995These functions are called to convert the selection, with three args: 996the name of the selection (typically `PRIMARY', `SECONDARY', or `CLIPBOARD'); 997a desired type to which the selection should be converted; 998and the local selection value (whatever was given to `x-own-selection'). 999 1000The function should return the value to send to the X server 1001(typically a string). A return value of nil 1002means that the conversion could not be done. 1003A return value which is the symbol `NULL' 1004means that a side-effect was executed, 1005and there is no meaningful selection value.Vx-lost-selection-hooks 1006A list of functions to be called when Emacs loses an X selection. 1007(This happens when some other X client makes its own selection 1008or when a Lisp program explicitly clears the selection.) 1009The functions are called with one argument, the selection type 1010(a symbol, typically `PRIMARY', `SECONDARY', or `CLIPBOARD'.)Vx-sent-selection-hooks 1011A list of functions to be called when Emacs answers a selection request. 1012The functions are called with four arguments: 1013 - the selection name (typically `PRIMARY', `SECONDARY', or `CLIPBOARD'); 1014 - the selection-type which Emacs was asked to convert the 1015 selection into before sending (for example, `STRING' or `LENGTH'); 1016 - a flag indicating success or failure for responding to the request. 1017We might have failed (and declined the request) for any number of reasons, 1018including being asked for a selection that we no longer own, or being asked 1019to convert into a type that we don't know about or that is inappropriate. 1020This hook doesn't let you change the behavior of Emacs's selection replies, 1021it merely informs you that they have happened.Vx-selection-timeout 1022Number of milliseconds to wait for a selection reply. 1023If the selection owner doens't reply in this time, we give up. 1024A value of 0 means wait as long as necessary. This is initialized from the 1025"*selectionTimeout" resource.Finvocation-name 1026Return the program name that was used to run Emacs. 1027Any directory names are omitted. 1028 1029(invocation-name)Finvocation-directory 1030Return the directory name in which the Emacs executable was located 1031 1032(invocation-directory)Fkill-emacs 1033Exit the Emacs job and kill it. 1034If ARG is an integer, return ARG as the exit program code. 1035If ARG is a string, stuff it as keyboard input. 1036 1037The value of `kill-emacs-hook', if not void, 1038is a list of functions (of no args), 1039all of which are called before Emacs is actually killed. 1040 1041(kill-emacs &optional ARG)Fdump-emacs-data 1042Dump current state of Emacs into data file FILENAME. 1043This function exists on systems that use HAVE_SHM. 1044 1045(dump-emacs-data INTONAME)Fdump-emacs 1046Dump current state of Emacs into executable file FILENAME. 1047Take symbols from SYMFILE (presumably the file you executed to run Emacs). 1048This is used in the file `loadup.el' when building Emacs. 1049 1050Bind `command-line-processed' to nil before dumping, 1051if you want the dumped Emacs to process its command line 1052and announce itself normally when it is run. 1053 1054(dump-emacs INTONAME SYMNAME)Vcommand-line-args 1055Args passed by shell to Emacs, as a list of strings.Vsystem-type 1056Value is symbol indicating type of operating system you are using.Vsystem-configuration 1057Value is string indicating configuration Emacs was built for.Vnoninteractive 1058Non-nil means Emacs is running without interactive terminal.Vkill-emacs-hook 1059Hook to be run whenever kill-emacs is called. 1060Since kill-emacs may be invoked when the terminal is disconnected (or 1061in other similar situations), functions placed on this hook should not 1062expect to be able to interact with the user.Vemacs-priority 1063Priority for Emacs to run at. 1064This value is effective only if set before Emacs is dumped, 1065and only if the Emacs executable is installed with setuid to permit 1066it to change priority. (Emacs sets its uid back to the real uid.) 1067Currently, you need to define SET_EMACS_PRIORITY in `config.h' 1068before you compile Emacs, to enable the code for this feature.Vinvocation-name 1069The program name that was used to run Emacs. 1070Any directory names are omitted.Vinvocation-directory 1071The directory in which the Emacs executable was found, to run it. 1072The value is nil if that directory's name is not known.Vinstallation-directory 1073A directory within which to look for the `lib-src' and `etc' directories. 1074This is non-nil when we can't find those directories in their standard 1075installed locations, but we can find them 1076near where the Emacs executable was found.Frecursive-edit 1077Invoke the editor command loop recursively. 1078To get out of the recursive edit, a command can do `(throw 'exit nil)'; 1079that tells this function to return. 1080Alternately, `(throw 'exit t)' makes this function signal an error. 1081This function is called by the editor initialization to begin editing. 1082 1083(recursive-edit)Ftop-level 1084Exit all recursive editing levels. 1085 1086(top-level)Fexit-recursive-edit 1087Exit from the innermost recursive edit or minibuffer. 1088 1089(exit-recursive-edit)Fabort-recursive-edit 1090Abort the command that requested this recursive edit or minibuffer input. 1091 1092(abort-recursive-edit)Ftrack-mouse 1093Evaluate BODY with mouse movement events enabled. 1094Within a `track-mouse' form, mouse motion generates input events that 1095you can read with `read-event'. 1096Normally, mouse motion is ignored.Fread-key-sequence 1097Read a sequence of keystrokes and return as a string or vector. 1098The sequence is sufficient to specify a non-prefix command in the 1099current local and global maps. 1100 1101First arg PROMPT is a prompt string. If nil, do not prompt specially. 1102Second (optional) arg CONTINUE-ECHO, if non-nil, means this key echos 1103as a continuation of the previous key. 1104 1105A C-g typed while in this function is treated like any other character, 1106and `quit-flag' is not set. 1107 1108If the key sequence starts with a mouse click, then the sequence is read 1109using the keymaps of the buffer of the window clicked in, not the buffer 1110of the selected window as normal. 1111 1112`read-key-sequence' drops unbound button-down events, since you normally 1113only care about the click or drag events which follow them. If a drag 1114or multi-click event is unbound, but the corresponding click event would 1115be bound, `read-key-sequence' turns the event into a click event at the 1116drag's starting position. This means that you don't have to distinguish 1117between click and drag, double, or triple events unless you want to. 1118 1119`read-key-sequence' prefixes mouse events on mode lines, the vertical 1120lines separating windows, and scroll bars with imaginary keys 1121`mode-line', `vertical-line', and `vertical-scroll-bar'. 1122 1123If the user switches frames in the middle of a key sequence, the 1124frame-switch event is put off until after the current key sequence. 1125 1126`read-key-sequence' checks `function-key-map' for function key 1127sequences, where they wouldn't conflict with ordinary bindings. See 1128`function-key-map' for more details. 1129 1130(read-key-sequence PROMPT &optional CONTINUE-ECHO)Fcommand-execute 1131Execute CMD as an editor command. 1132CMD must be a symbol that satisfies the `commandp' predicate. 1133Optional second arg RECORD-FLAG non-nil 1134means unconditionally put this command in `command-history'. 1135Otherwise, that is done only if an arg is read using the minibuffer. 1136 1137(command-execute CMD &optional RECORD)Fexecute-extended-command 1138Read function name, then read its arguments and call it. 1139 1140(execute-extended-command PREFIXARG)Finput-pending-p 1141T if command input is currently available with no waiting. 1142Actually, the value is nil only if we can be sure that no input is available. 1143 1144(input-pending-p)Frecent-keys 1145Return vector of last 100 events, not counting those from keyboard macros. 1146 1147(recent-keys)Fthis-command-keys 1148Return the key sequence that invoked this command. 1149The value is a string or a vector. 1150 1151(this-command-keys)Frecursion-depth 1152Return the current depth in recursive edits. 1153 1154(recursion-depth)Fopen-dribble-file 1155Start writing all keyboard characters to a dribble file called FILE. 1156If FILE is nil, close any open dribble file. 1157 1158(open-dribble-file FILE)Fdiscard-input 1159Discard the contents of the terminal input buffer. 1160Also cancel any kbd macro being defined. 1161 1162(discard-input)Fsuspend-emacs 1163Stop Emacs and return to superior process. You can resume later. 1164If `cannot-suspend' is non-nil, or if the system doesn't support job 1165control, run a subshell instead. 1166 1167If optional arg STUFFSTRING is non-nil, its characters are stuffed 1168to be read as terminal input by Emacs's parent, after suspension. 1169 1170Before suspending, call the functions in `suspend-hook' with no args. 1171If any of them returns nil, don't call the rest and don't suspend. 1172Otherwise, suspend normally and after resumption run the normal hook 1173`suspend-resume-hook' if that is bound and non-nil. 1174 1175Some operating systems cannot stop the Emacs process and resume it later. 1176On such systems, Emacs starts a subshell instead of suspending. 1177 1178(suspend-emacs &optional STUFFSTRING)Fset-input-mode 1179Set mode of reading keyboard input. 1180First arg INTERRUPT non-nil means use input interrupts; 1181 nil means use CBREAK mode. 1182Second arg FLOW non-nil means use ^S/^Q flow control for output to terminal 1183 (no effect except in CBREAK mode). 1184Third arg META t means accept 8-bit input (for a Meta key). 1185 META nil means ignore the top bit, on the assumption it is parity. 1186 Otherwise, accept 8-bit input and don't use the top bit for Meta. 1187Optional fourth arg QUIT if non-nil specifies character to use for quitting. 1188See also `current-input-mode'. 1189 1190(set-input-mode INTERRUPT FLOW META &optional QUIT)Fcurrent-input-mode 1191Return information about the way Emacs currently reads keyboard input. 1192The value is a list of the form (INTERRUPT FLOW META QUIT), where 1193 INTERRUPT is non-nil if Emacs is using interrupt-driven input; if 1194 nil, Emacs is using CBREAK mode. 1195 FLOW is non-nil if Emacs uses ^S/^Q flow control for output to the 1196 terminal; this does not apply if Emacs uses interrupt-driven input. 1197 META is t if accepting 8-bit input with 8th bit as Meta flag. 1198 META nil means ignoring the top bit, on the assumption it is parity. 1199 META is neither t nor nil if accepting 8-bit input and using 1200 all 8 bits as the character code. 1201 QUIT is the character Emacs currently uses to quit. 1202The elements of this list correspond to the arguments of 1203`set-input-mode'. 1204 1205(current-input-mode)Vlast-command-char 1206Last input event that was part of a command.Vlast-command-event 1207Last input event that was part of a command.Vlast-nonmenu-event 1208Last input event in a command, except for mouse menu events. 1209Mouse menus give back keys that don't look like mouse events; 1210this variable holds the actual mouse event that led to the menu, 1211so that you can determine whether the command was run by mouse or not.Vlast-input-char 1212Last input event.Vlast-input-event 1213Last input event.Vunread-command-events 1214List of objects to be read as next command input events.Vunread-command-char 1215If not -1, an object to be read as next command input event.Vmeta-prefix-char 1216Meta-prefix character code. Meta-foo as command input 1217turns into this character followed by foo.Vlast-command 1218The last command executed. Normally a symbol with a function definition, 1219but can be whatever was found in the keymap, or whatever the variable 1220`this-command' was set to by that command.Vthis-command 1221The command now being executed. 1222The command can set this variable; whatever is put here 1223will be in `last-command' during the following command.Vauto-save-interval 1224*Number of keyboard input characters between auto-saves. 1225Zero means disable autosaving due to number of characters typed.Vauto-save-timeout 1226*Number of seconds idle time before auto-save. 1227Zero or nil means disable auto-saving due to idleness. 1228After auto-saving due to this many seconds of idle time, 1229Emacs also does a garbage collection if that seems to be warranted.Vecho-keystrokes 1230*Nonzero means echo unfinished commands after this many seconds of pause.Vpolling-period 1231*Interval between polling for input during Lisp execution. 1232The reason for polling is to make C-g work to stop a running program. 1233Polling is needed only when using X windows and SIGIO does not work. 1234Polling is automatically disabled in all other cases.Vdouble-click-time 1235*Maximum time between mouse clicks to make a double-click. 1236Measured in milliseconds. nil means disable double-click recognition; 1237t means double-clicks have no time limit and are detected 1238by position only.Vnum-input-keys 1239*Number of complete keys read from the keyboard so far.Vlast-event-frame 1240*The frame in which the most recently read event occurred. 1241If the last event came from a keyboard macro, this is set to `macro'.Vhelp-char 1242Character to recognize as meaning Help. 1243When it is read, do `(eval help-form)', and display result if it's a string. 1244If the value of `help-form' is nil, this char can be read normally.Vhelp-form 1245Form to execute when character `help-char' is read. 1246If the form returns a string, that string is displayed. 1247If `help-form' is nil, the help char is not recognized.Vprefix-help-command 1248Command to run when `help-char' character follows a prefix key. 1249This command is used only when there is no actual binding 1250for that character after that prefix key.Vtop-level 1251Form to evaluate when Emacs starts up. 1252Useful to set before you dump a modified Emacs.Vkeyboard-translate-table 1253String used as translate table for keyboard input, or nil. 1254Each character is looked up in this string and the contents used instead. 1255If string is of length N, character codes N and up are untranslated.Vkey-translation-map 1256Keymap of key translations that can override keymaps. 1257This keymap works like `function-key-map', but comes after that, 1258and applies even for keys that have ordinary bindings.Vcannot-suspend 1259Non-nil means to always spawn a subshell instead of suspending, 1260even if the operating system has support for stopping a process.Vmenu-prompting 1261Non-nil means prompt with menus when appropriate. 1262This is done when reading from a keymap that has a prompt string, 1263for elements that have prompt strings. 1264The menu is displayed on the screen 1265if X menus were enabled at configuration 1266time and the previous event was a mouse click prefix key. 1267Otherwise, menu prompting uses the echo area.Vmenu-prompt-more-char 1268Character to see next line of menu prompt. 1269Type this character while in a menu prompt to rotate around the lines of it.Vextra-keyboard-modifiers 1270A mask of additional modifier keys to use with every keyboard character. 1271Emacs applies the modifiers of the character stored here to each keyboard 1272character it reads. For example, after evaluating the expression 1273 (setq extra-keyboard-modifiers ?C-x) 1274all input characters will have the control modifier applied to them. 1275 1276Note that the character ?C-@, equivalent to the integer zero, does 1277not count as a control character; rather, it counts as a character 1278with no modifiers; thus, setting `extra-keyboard-modifiers' to zero 1279cancels any modification.Vdeactivate-mark 1280If an editing command sets this to t, deactivate the mark afterward. 1281The command loop sets this to nil before each command, 1282and tests the value when the command returns. 1283Buffer modification stores t in this variable.Vcommand-hook-internal 1284Temporary storage of pre-command-hook or post-command-hook.Vpre-command-hook 1285Normal hook run before each command is executed. 1286While the hook is run, its value is temporarily set to nil 1287to avoid an unbreakable infinite loop if a hook function gets an error. 1288As a result, a hook function cannot straightforwardly alter the value of 1289`pre-command-hook'. See the Emacs Lisp manual for a way of 1290implementing hook functions that alter the set of hook functions.Vpost-command-hook 1291Normal hook run after each command is executed. 1292While the hook is run, its value is temporarily set to nil 1293to avoid an unbreakable infinite loop if a hook function gets an error. 1294As a result, a hook function cannot straightforwardly alter the value of 1295`post-command-hook'. See the Emacs Lisp manual for a way of 1296implementing hook functions that alter the set of hook functions.Vlucid-menu-bar-dirty-flag 1297t means menu bar, specified Lucid style, needs to be recomputed.Vmenu-bar-final-items 1298List of menu bar items to move to the end of the menu bar. 1299The elements of the list are event types that may have menu bar bindings.Voverriding-local-map 1300Keymap that overrides all other local keymaps. 1301If this variable is non-nil, it is used as a keymap instead of the 1302buffer's local map, and the minor mode keymaps and text property keymaps.Vtrack-mouse 1303*Non-nil means generate motion events for mouse motion.Vsystem-key-alist 1304Alist of system-specific X windows key symbols. 1305Each element should have the form (N . SYMBOL) where N is the 1306numeric keysym code (sans the "system-specific" bit 1<<28) 1307and SYMBOL is its name.Fstart-kbd-macro 1308Record subsequent keyboard input, defining a keyboard macro. 1309The commands are recorded even as they are executed. 1310Use \[end-kbd-macro] to finish recording and make the macro available. 1311Use \[name-last-kbd-macro] to give it a permanent name. 1312Non-nil arg (prefix arg) means append to last macro defined; 1313 This begins by re-executing that macro as if you typed it again. 1314 1315(start-kbd-macro APPEND)Fend-kbd-macro 1316Finish defining a keyboard macro. 1317The definition was started by \[start-kbd-macro]. 1318The macro is now available for use via \[call-last-kbd-macro], 1319or it can be given a name with \[name-last-kbd-macro] and then invoked 1320under that name. 1321 1322With numeric arg, repeat macro now that many times, 1323counting the definition just completed as the first repetition. 1324An argument of zero means repeat until error. 1325 1326(end-kbd-macro &optional ARG)Fcall-last-kbd-macro 1327Call the last keyboard macro that you defined with \[start-kbd-macro]. 1328 1329A prefix argument serves as a repeat count. Zero means repeat until error. 1330 1331To make a macro permanent so you can call it even after 1332defining others, use \[name-last-kbd-macro]. 1333 1334(call-last-kbd-macro &optional PREFIX)Fexecute-kbd-macro 1335Execute MACRO as string of editor command characters. 1336If MACRO is a symbol, its function definition is used. 1337COUNT is a repeat count, or nil for once, or 0 for infinite loop. 1338 1339(execute-kbd-macro MACRO &optional PREFIXARG)Vdefining-kbd-macro 1340Non-nil while a keyboard macro is being defined. Don't set this!Vexecuting-macro 1341Currently executing keyboard macro (a string); nil if none executing.Vexecuting-kbd-macro 1342Currently executing keyboard macro (a string); nil if none executing.Vlast-kbd-macro 1343Last kbd macro defined, as a string; nil if none defined.Fmake-keymap 1344Construct and return a new keymap, of the form (keymap VECTOR . ALIST). 1345VECTOR is a vector which holds the bindings for the ASCII 1346characters. ALIST is an assoc-list which holds bindings for function keys, 1347mouse events, and any other things that appear in the input stream. 1348All entries in it are initially nil, meaning "command undefined". 1349 1350The optional arg STRING supplies a menu name for the keymap 1351in case you use it as a menu with `x-popup-menu'. 1352 1353(make-keymap &optional STRING)Fmake-sparse-keymap 1354Construct and return a new sparse-keymap list. 1355Its car is `keymap' and its cdr is an alist of (CHAR . DEFINITION), 1356which binds the character CHAR to DEFINITION, or (SYMBOL . DEFINITION), 1357which binds the function key or mouse event SYMBOL to DEFINITION. 1358Initially the alist is nil. 1359 1360The optional arg STRING supplies a menu name for the keymap 1361in case you use it as a menu with `x-popup-menu'. 1362 1363(make-sparse-keymap &optional STRING)Fkeymapp 1364Return t if ARG is a keymap. 1365 1366A keymap is a list (keymap . ALIST), 1367or a symbol whose function definition is itself a keymap. 1368ALIST elements look like (CHAR . DEFN) or (SYMBOL . DEFN); 1369a vector of densely packed bindings for small character codes 1370is also allowed as an element. 1371 1372(keymapp OBJECT)Fcopy-keymap 1373Return a copy of the keymap KEYMAP. 1374The copy starts out with the same definitions of KEYMAP, 1375but changing either the copy or KEYMAP does not affect the other. 1376Any key definitions that are subkeymaps are recursively copied. 1377However, a key definition which is a symbol whose definition is a keymap 1378is not copied. 1379 1380(copy-keymap KEYMAP)Fdefine-key 1381Args KEYMAP, KEY, DEF. Define key sequence KEY, in KEYMAP, as DEF. 1382KEYMAP is a keymap. KEY is a string or a vector of symbols and characters 1383meaning a sequence of keystrokes and events. 1384Non-ASCII characters with codes above 127 (such as ISO Latin-1) 1385can be included if you use a vector. 1386DEF is anything that can be a key's definition: 1387 nil (means key is undefined in this keymap), 1388 a command (a Lisp function suitable for interactive calling) 1389 a string (treated as a keyboard macro), 1390 a keymap (to define a prefix key), 1391 a symbol. When the key is looked up, the symbol will stand for its 1392 function definition, which should at that time be one of the above, 1393 or another symbol whose function definition is used, etc. 1394 a cons (STRING . DEFN), meaning that DEFN is the definition 1395 (DEFN should be a valid definition in its own right), 1396 or a cons (KEYMAP . CHAR), meaning use definition of CHAR in map KEYMAP. 1397 1398If KEYMAP is a sparse keymap, the pair binding KEY to DEF is added at 1399the front of KEYMAP. 1400 1401(define-key KEYMAP KEY DEF)Flookup-key 1402In keymap KEYMAP, look up key sequence KEY. Return the definition. 1403nil means undefined. See doc of `define-key' for kinds of definitions. 1404 1405A number as value means KEY is "too long"; 1406that is, characters or symbols in it except for the last one 1407fail to be a valid sequence of prefix characters in KEYMAP. 1408The number is how many characters at the front of KEY 1409it takes to reach a non-prefix command. 1410 1411Normally, `lookup-key' ignores bindings for t, which act as default 1412bindings, used when nothing else in the keymap applies; this makes it 1413useable as a general function for probing keymaps. However, if the 1414third optional argument ACCEPT-DEFAULT is non-nil, `lookup-key' will 1415recognize the default bindings, just as `read-key-sequence' does. 1416 1417(lookup-key KEYMAP KEY &optional ACCEPT-DEFAULT)Fkey-binding 1418Return the binding for command KEY in current keymaps. 1419KEY is a string or vector, a sequence of keystrokes. 1420The binding is probably a symbol with a function definition. 1421 1422Normally, `key-binding' ignores bindings for t, which act as default 1423bindings, used when nothing else in the keymap applies; this makes it 1424usable as a general function for probing keymaps. However, if the 1425optional second argument ACCEPT-DEFAULT is non-nil, `key-binding' does 1426recognize the default bindings, just as `read-key-sequence' does. 1427 1428(key-binding KEY &optional ACCEPT-DEFAULT)Flocal-key-binding 1429Return the binding for command KEYS in current local keymap only. 1430KEYS is a string, a sequence of keystrokes. 1431The binding is probably a symbol with a function definition. 1432 1433If optional argument ACCEPT-DEFAULT is non-nil, recognize default 1434bindings; see the description of `lookup-key' for more details about this. 1435 1436(local-key-binding KEYS &optional ACCEPT-DEFAULT)Fglobal-key-binding 1437Return the binding for command KEYS in current global keymap only. 1438KEYS is a string, a sequence of keystrokes. 1439The binding is probably a symbol with a function definition. 1440This function's return values are the same as those of lookup-key 1441(which see). 1442 1443If optional argument ACCEPT-DEFAULT is non-nil, recognize default 1444bindings; see the description of `lookup-key' for more details about this. 1445 1446(global-key-binding KEYS &optional ACCEPT-DEFAULT)Fminor-mode-key-binding 1447Find the visible minor mode bindings of KEY. 1448Return an alist of pairs (MODENAME . BINDING), where MODENAME is the 1449the symbol which names the minor mode binding KEY, and BINDING is 1450KEY's definition in that mode. In particular, if KEY has no 1451minor-mode bindings, return nil. If the first binding is a 1452non-prefix, all subsequent bindings will be omitted, since they would 1453be ignored. Similarly, the list doesn't include non-prefix bindings 1454that come after prefix bindings. 1455 1456If optional argument ACCEPT-DEFAULT is non-nil, recognize default 1457bindings; see the description of `lookup-key' for more details about this. 1458 1459(minor-mode-key-binding KEY &optional ACCEPT-DEFAULT)Fglobal-set-key 1460Give KEY a global binding as COMMAND. 1461COMMAND is a symbol naming an interactively-callable function. 1462KEY is a key sequence (a string or vector of characters or event types). 1463Non-ASCII characters with codes above 127 (such as ISO Latin-1) 1464can be included if you use a vector. 1465Note that if KEY has a local binding in the current buffer 1466that local binding will continue to shadow any global binding. 1467 1468(global-set-key KEYS FUNCTION)Flocal-set-key 1469Give KEY a local binding as COMMAND. 1470COMMAND is a symbol naming an interactively-callable function. 1471KEY is a key sequence (a string or vector of characters or event types). 1472Non-ASCII characters with codes above 127 (such as ISO Latin-1) 1473can be included if you use a vector. 1474The binding goes in the current buffer's local map, 1475which in most cases is shared with all other buffers in the same major mode. 1476 1477(local-set-key KEYS FUNCTION)Fglobal-unset-key 1478Remove global binding of KEY. 1479KEY is a string representing a sequence of keystrokes. 1480 1481(global-unset-key KEYS)Flocal-unset-key 1482Remove local binding of KEY. 1483KEY is a string representing a sequence of keystrokes. 1484 1485(local-unset-key KEYS)Fdefine-prefix-command 1486Define COMMAND as a prefix command. COMMAND should be a symbol. 1487A new sparse keymap is stored as COMMAND's function definition and its value. 1488If a second optional argument MAPVAR is given, the map is stored as 1489its value instead of as COMMAND's value; but COMMAND is still defined 1490as a function. 1491 1492(define-prefix-command NAME &optional MAPVAR)Fuse-global-map 1493Select KEYMAP as the global keymap. 1494 1495(use-global-map KEYMAP)Fuse-local-map 1496Select KEYMAP as the local keymap. 1497If KEYMAP is nil, that means no local keymap. 1498 1499(use-local-map KEYMAP)Fcurrent-local-map 1500Return current buffer's local keymap, or nil if it has none. 1501 1502(current-local-map)Fcurrent-global-map 1503Return the current global keymap. 1504 1505(current-global-map)Fcurrent-minor-mode-maps 1506Return a list of keymaps for the minor modes of the current buffer. 1507 1508(current-minor-mode-maps)Faccessible-keymaps 1509Find all keymaps accessible via prefix characters from KEYMAP. 1510Returns a list of elements of the form (KEYS . MAP), where the sequence 1511KEYS starting from KEYMAP gets you to MAP. These elements are ordered 1512so that the KEYS increase in length. The first element is ("" . KEYMAP). 1513An optional argument PREFIX, if non-nil, should be a key sequence; 1514then the value includes only maps for prefixes that start with PREFIX. 1515 1516(accessible-keymaps STARTMAP &optional PREFIX)Fkey-description 1517Return a pretty description of key-sequence KEYS. 1518Control characters turn into "C-foo" sequences, meta into "M-foo" 1519spaces are put between sequence elements, etc. 1520 1521(key-description KEYS)Fsingle-key-description 1522Return a pretty description of command character KEY. 1523Control characters turn into C-whatever, etc. 1524 1525(single-key-description KEY)Ftext-char-description 1526Return a pretty description of file-character CHAR. 1527Control characters turn into "^char", etc. 1528 1529(text-char-description CHR)Fwhere-is-internal 1530Return list of keys that invoke DEFINITION. 1531If KEYMAP is non-nil, search only KEYMAP and the global keymap. 1532If KEYMAP is nil, search all the currently active keymaps. 1533 1534If optional 3rd arg FIRSTONLY is non-nil, return the first key sequence found, 1535rather than a list of all possible key sequences. 1536If FIRSTONLY is t, avoid key sequences which use non-ASCII 1537keys and therefore may not be usable on ASCII terminals. If FIRSTONLY 1538is the symbol `non-ascii', return the first binding found, no matter 1539what its components. 1540 1541If optional 4th arg NOINDIRECT is non-nil, don't follow indirections 1542to other keymaps or slots. This makes it possible to search for an 1543indirect definition itself. 1544 1545(where-is-internal DEFINITION &optional KEYMAP FIRSTONLY NOINDIRECT)Fdescribe-bindings 1546Show a list of all defined keys, and their definitions. 1547The list is put in a buffer, which is displayed. 1548An optional argument PREFIX, if non-nil, should be a key sequence; 1549then we display only bindings that start with that prefix. 1550 1551(describe-bindings &optional PREFIX)Fdescribe-vector 1552Insert a description of contents of VECTOR. 1553This is text showing the elements of vector matched against indices. 1554 1555(describe-vector VECTOR)Fapropos-internal 1556Show all symbols whose names contain match for REGEXP. 1557If optional 2nd arg PRED is non-nil, (funcall PRED SYM) is done 1558for each symbol and a symbol is mentioned only if that returns non-nil. 1559Return list of symbols found. 1560 1561(apropos-internal STRING &optional PRED)Vminibuffer-local-map 1562Default keymap to use when reading from the minibuffer.Vminibuffer-local-ns-map 1563Local keymap for the minibuffer when spaces are not allowed.Vminibuffer-local-completion-map 1564Local keymap for minibuffer input with completion.Vminibuffer-local-must-match-map 1565Local keymap for minibuffer input with completion, for exact match.Vminor-mode-map-alist 1566Alist of keymaps to use for minor modes. 1567Each element looks like (VARIABLE . KEYMAP); KEYMAP is used to read 1568key sequences and look up bindings iff VARIABLE's value is non-nil. 1569If two active keymaps bind the same key, the keymap appearing earlier 1570in the list takes precedence.Vfunction-key-map 1571Keymap mapping ASCII function key sequences onto their preferred forms. 1572This allows Emacs to recognize function keys sent from ASCII 1573terminals at any point in a key sequence. 1574 1575The read-key-sequence function replaces subsequences bound by 1576function-key-map with their bindings. When the current local and global 1577keymaps have no binding for the current key sequence but 1578function-key-map binds a suffix of the sequence to a vector or string, 1579read-key-sequence replaces the matching suffix with its binding, and 1580continues with the new sequence. 1581 1582For example, suppose function-key-map binds `ESC O P' to [f1]. 1583Typing `ESC O P' to read-key-sequence would return [f1]. Typing 1584`C-x ESC O P' would return [?\C-x f1]. If [f1] were a prefix 1585key, typing `ESC O P x' would return [f1 x].Fbuffer-list 1586Return a list of all existing live buffers. 1587 1588(buffer-list)Fget-buffer 1589Return the buffer named NAME (a string). 1590If there is no live buffer named NAME, return nil. 1591NAME may also be a buffer; if so, the value is that buffer. 1592 1593(get-buffer NAME)Fget-file-buffer 1594Return the buffer visiting file FILENAME (a string). 1595The buffer's `buffer-file-name' must match exactly the expansion of FILENAME. 1596If there is no such live buffer, return nil. 1597 1598(get-file-buffer FILENAME)Fget-buffer-create 1599Return the buffer named NAME, or create such a buffer and return it. 1600A new buffer is created if there is no live buffer named NAME. 1601If NAME starts with a space, the new buffer does not keep undo information. 1602If NAME is a buffer instead of a string, then it is the value returned. 1603The value is never nil. 1604 1605(get-buffer-create NAME)Fgenerate-new-buffer-name 1606Return a string that is the name of no existing buffer based on NAME. 1607If there is no live buffer named NAME, then return NAME. 1608Otherwise modify name by appending `<NUMBER>', incrementing NUMBER 1609until an unused name is found, and then return that name. 1610Optional second argument IGNORE specifies a name that is okay to use 1611(if it is in the sequence to be tried) 1612even if a buffer with that name exists. 1613 1614(generate-new-buffer-name NAME &optional IGNORE)Fbuffer-name 1615Return the name of BUFFER, as a string. 1616With no argument or nil as argument, return the name of the current buffer. 1617 1618(buffer-name &optional BUFFER)Fbuffer-file-name 1619Return name of file BUFFER is visiting, or nil if none. 1620No argument or nil as argument means use the current buffer. 1621 1622(buffer-file-name &optional BUFFER)Fbuffer-local-variables 1623Return an alist of variables that are buffer-local in BUFFER. 1624Most elements look like (SYMBOL . VALUE), describing one variable. 1625For a symbol that is locally unbound, just the symbol appears in the value. 1626Note that storing new VALUEs in these elements doesn't change the variables. 1627No argument or nil as argument means use current buffer as BUFFER. 1628 1629(buffer-local-variables &optional BUFFER)Fbuffer-modified-p 1630Return t if BUFFER was modified since its file was last read or saved. 1631No argument or nil as argument means use current buffer as BUFFER. 1632 1633(buffer-modified-p &optional BUFFER)Fset-buffer-modified-p 1634Mark current buffer as modified or unmodified according to FLAG. 1635A non-nil FLAG means mark the buffer modified. 1636 1637(set-buffer-modified-p FLAG)Fbuffer-modified-tick 1638Return BUFFER's tick counter, incremented for each change in text. 1639Each buffer has a tick counter which is incremented each time the text in 1640that buffer is changed. It wraps around occasionally. 1641No argument or nil as argument means use current buffer as BUFFER. 1642 1643(buffer-modified-tick &optional BUFFER)Frename-buffer 1644Change current buffer's name to NEWNAME (a string). 1645If second arg UNIQUE is nil or omitted, it is an error if a 1646buffer named NEWNAME already exists. 1647If UNIQUE is non-nil, come up with a new name using 1648`generate-new-buffer-name'. 1649Interactively, you can set UNIQUE with a prefix argument. 1650We return the name we actually gave the buffer. 1651This does not change the name of the visited file (if any). 1652 1653(rename-buffer NAME &optional UNIQUE)Fother-buffer 1654Return most recently selected buffer other than BUFFER. 1655Buffers not visible in windows are preferred to visible buffers, 1656unless optional second argument VISIBLE-OK is non-nil. 1657If no other buffer exists, the buffer `*scratch*' is returned. 1658If BUFFER is omitted or nil, some interesting buffer is returned. 1659 1660(other-buffer &optional BUFFER VISIBLE-OK)Fbuffer-disable-undo 1661Make BUFFER stop keeping undo information. 1662No argument or nil as argument means do this for the current buffer. 1663 1664(buffer-disable-undo &optional BUFFER)Fbuffer-enable-undo 1665Start keeping undo information for buffer BUFFER. 1666No argument or nil as argument means do this for the current buffer. 1667 1668(buffer-enable-undo &optional BUFFER)Vkill-buffer-hook 1669Hook to be run (by `run-hooks', which see) when a buffer is killed. 1670The buffer being killed will be current while the hook is running. 1671See `kill-buffer'.Fkill-buffer 1672Kill the buffer BUFFER. 1673The argument may be a buffer or may be the name of a buffer. 1674An argument of nil means kill the current buffer. 1675 1676Value is t if the buffer is actually killed, nil if user says no. 1677 1678The value of `kill-buffer-hook' (which may be local to that buffer), 1679if not void, is a list of functions to be called, with no arguments, 1680before the buffer is actually killed. The buffer to be killed is current 1681when the hook functions are called. 1682 1683Any processes that have this buffer as the `process-buffer' are killed 1684with `delete-process'. 1685 1686(kill-buffer BUFNAME)Fswitch-to-buffer 1687Select buffer BUFFER in the current window. 1688BUFFER may be a buffer or a buffer name. 1689Optional second arg NORECORD non-nil means 1690do not put this buffer at the front of the list of recently selected ones. 1691 1692WARNING: This is NOT the way to work on another buffer temporarily 1693within a Lisp program! Use `set-buffer' instead. That avoids messing with 1694the window-buffer correspondences. 1695 1696(switch-to-buffer BUFNAME &optional NORECORD)Fpop-to-buffer 1697Select buffer BUFFER in some window, preferably a different one. 1698If BUFFER is nil, then some other buffer is chosen. 1699If `pop-up-windows' is non-nil, windows can be split to do this. 1700If optional second arg OTHER-WINDOW is non-nil, insist on finding another 1701window even if BUFFER is already visible in the selected window. 1702 1703(pop-to-buffer BUFNAME &optional OTHER)Fcurrent-buffer 1704Return the current buffer as a Lisp object. 1705 1706(current-buffer)Fset-buffer 1707Make the buffer BUFFER current for editing operations. 1708BUFFER may be a buffer or the name of an existing buffer. 1709See also `save-excursion' when you want to make a buffer current temporarily. 1710This function does not display the buffer, so its effect ends 1711when the current command terminates. 1712Use `switch-to-buffer' or `pop-to-buffer' to switch buffers permanently. 1713 1714(set-buffer BUFNAME)Fbarf-if-buffer-read-only 1715Signal a `buffer-read-only' error if the current buffer is read-only. 1716 1717(barf-if-buffer-read-only)Fbury-buffer 1718Put BUFFER at the end of the list of all buffers. 1719There it is the least likely candidate for `other-buffer' to return; 1720thus, the least likely buffer for \[switch-to-buffer] to select by default. 1721If BUFFER is nil or omitted, bury the current buffer. 1722Also, if BUFFER is nil or omitted, remove the current buffer from the 1723selected window if it is displayed there. 1724 1725(bury-buffer &optional BUF)Ferase-buffer 1726Delete the entire contents of the current buffer. 1727Any narrowing restriction in effect (see `narrow-to-region') is removed, 1728so the buffer is truly empty after this. 1729 1730(erase-buffer)Flist-buffers 1731Display a list of names of existing buffers. 1732The list is displayed in a buffer named `*Buffer List*'. 1733Note that buffers with names starting with spaces are omitted. 1734Non-null optional arg FILES-ONLY means mention only file buffers. 1735 1736The M column contains a * for buffers that are modified. 1737The R column contains a % for buffers that are read-only. 1738 1739(list-buffers &optional FILES)Fkill-all-local-variables 1740Switch to Fundamental mode by killing current buffer's local variables. 1741Most local variable bindings are eliminated so that the default values 1742become effective once more. Also, the syntax table is set from 1743`standard-syntax-table', the local keymap is set to nil, 1744and the abbrev table from `fundamental-mode-abbrev-table'. 1745This function also forces redisplay of the mode line. 1746 1747Every function to select a new major mode starts by 1748calling this function. 1749 1750As a special exception, local variables whose names have 1751a non-nil `permanent-local' property are not eliminated by this function. 1752 1753The first thing this function does is run 1754the normal hook `change-major-mode-hook'. 1755 1756(kill-all-local-variables)Foverlayp 1757Return t if OBJECT is an overlay. 1758 1759(overlayp OBJECT)Fmake-overlay 1760Create a new overlay with range BEG to END in BUFFER. 1761If omitted, BUFFER defaults to the current buffer. 1762BEG and END may be integers or markers. 1763 1764(make-overlay BEG END &optional BUFFER)Fmove-overlay 1765Set the endpoints of OVERLAY to BEG and END in BUFFER. 1766If BUFFER is omitted, leave OVERLAY in the same buffer it inhabits now. 1767If BUFFER is omitted, and OVERLAY is in no buffer, put it in the current 1768buffer. 1769 1770(move-overlay OVERLAY BEG END &optional BUFFER)Fdelete-overlay 1771Delete the overlay OVERLAY from its buffer. 1772 1773(delete-overlay OVERLAY)Foverlay-start 1774Return the position at which OVERLAY starts. 1775 1776(overlay-start OVERLAY)Foverlay-end 1777Return the position at which OVERLAY ends. 1778 1779(overlay-end OVERLAY)Foverlay-buffer 1780Return the buffer OVERLAY belongs to. 1781 1782(overlay-buffer OVERLAY)Foverlay-properties 1783Return a list of the properties on OVERLAY. 1784This is a copy of OVERLAY's plist; modifying its conses has no effect on 1785OVERLAY. 1786 1787(overlay-properties OVERLAY)Foverlays-at 1788Return a list of the overlays that contain position POS. 1789 1790(overlays-at POS)Fnext-overlay-change 1791Return the next position after POS where an overlay starts or ends. 1792If there are no more overlay boundaries after POS, return (point-max). 1793 1794(next-overlay-change POS)Foverlay-lists 1795Return a pair of lists giving all the overlays of the current buffer. 1796The car has all the overlays before the overlay center; 1797the cdr has all the overlays after the overlay center. 1798Recentering overlays moves overlays between these lists. 1799The lists you get are copies, so that changing them has no effect. 1800However, the overlays you get are the real objects that the buffer uses. 1801 1802(overlay-lists)Foverlay-recenter 1803Recenter the overlays of the current buffer around position POS. 1804 1805(overlay-recenter POS)Foverlay-get 1806Get the property of overlay OVERLAY with property name NAME. 1807 1808(overlay-get OVERLAY PROP)Foverlay-put 1809Set one property of overlay OVERLAY: give property PROP value VALUE. 1810 1811(overlay-put OVERLAY PROP VALUE)Vdefault-mode-line-format 1812Default value of `mode-line-format' for buffers that don't override it. 1813This is the same as (default-value 'mode-line-format).Vdefault-abbrev-mode 1814Default value of `abbrev-mode' for buffers that do not override it. 1815This is the same as (default-value 'abbrev-mode).Vdefault-ctl-arrow 1816Default value of `ctl-arrow' for buffers that do not override it. 1817This is the same as (default-value 'ctl-arrow).Vdefault-truncate-lines 1818Default value of `truncate-lines' for buffers that do not override it. 1819This is the same as (default-value 'truncate-lines).Vdefault-fill-column 1820Default value of `fill-column' for buffers that do not override it. 1821This is the same as (default-value 'fill-column).Vdefault-left-margin 1822Default value of `left-margin' for buffers that do not override it. 1823This is the same as (default-value 'left-margin).Vdefault-tab-width 1824Default value of `tab-width' for buffers that do not override it. 1825This is the same as (default-value 'tab-width).Vdefault-case-fold-search 1826Default value of `case-fold-search' for buffers that don't override it. 1827This is the same as (default-value 'case-fold-search).Vdefault-buffer-file-type 1828Default file type for buffers that do not override it. 1829This is the same as (default-value 'buffer-file-type). 1830The file type is nil for text, t for binary.Vmode-line-format 1831Template for displaying mode line for current buffer. 1832Each buffer has its own value of this variable. 1833Value may be a string, a symbol or a list or cons cell. 1834For a symbol, its value is used (but it is ignored if t or nil). 1835 A string appearing directly as the value of a symbol is processed verbatim 1836 in that the %-constructs below are not recognized. 1837For a list whose car is a symbol, the symbol's value is taken, 1838 and if that is non-nil, the cadr of the list is processed recursively. 1839 Otherwise, the caddr of the list (if there is one) is processed. 1840For a list whose car is a string or list, each element is processed 1841 recursively and the results are effectively concatenated. 1842For a list whose car is an integer, the cdr of the list is processed 1843 and padded (if the number is positive) or truncated (if negative) 1844 to the width specified by that number. 1845A string is printed verbatim in the mode line except for %-constructs: 1846 (%-constructs are allowed when the string is the entire mode-line-format 1847 or when it is found in a cons-cell or a list) 1848 %b -- print buffer name. %f -- print visited file name. 1849 %* -- print *, % or hyphen. %m -- print value of mode-name (obsolete). 1850 %s -- print process status. %l -- print the current line number. 1851 %p -- print percent of buffer above top of window, or Top, Bot or All. 1852 %P -- print percent of buffer above bottom of window, perhaps plus Top, 1853 or print Bottom or All. 1854 %n -- print Narrow if appropriate. 1855 %t -- print T if files is text, B if binary. 1856 %[ -- print one [ for each recursive editing level. %] similar. 1857 %% -- print %. %- -- print infinitely many dashes. 1858Decimal digits after the % specify field width to which to pad.Vdefault-major-mode 1859*Major mode for new buffers. Defaults to `fundamental-mode'. 1860nil here means use current buffer's major mode.Vmajor-mode 1861Symbol for current buffer's major mode.Vmode-name 1862Pretty name of current buffer's major mode (a string).Vabbrev-mode 1863Non-nil turns on automatic expansion of abbrevs as they are inserted. 1864Automatically becomes buffer-local when set in any fashion.Vcase-fold-search 1865*Non-nil if searches should ignore case. 1866Automatically becomes buffer-local when set in any fashion.Vfill-column 1867*Column beyond which automatic line-wrapping should happen. 1868Automatically becomes buffer-local when set in any fashion.Vleft-margin 1869*Column for the default indent-line-function to indent to. 1870Linefeed indents to this column in Fundamental mode. 1871Automatically becomes buffer-local when set in any fashion.Vtab-width 1872*Distance between tab stops (for display of tab characters), in columns. 1873Automatically becomes buffer-local when set in any fashion.Vctl-arrow 1874*Non-nil means display control chars with uparrow. 1875Nil means use backslash and octal digits. 1876Automatically becomes buffer-local when set in any fashion. 1877This variable does not apply to characters whose display is specified 1878in the current display table (if there is one).Vtruncate-lines 1879*Non-nil means do not display continuation lines; 1880give each line of text one screen line. 1881Automatically becomes buffer-local when set in any fashion. 1882 1883Note that this is overridden by the variable 1884`truncate-partial-width-windows' if that variable is non-nil 1885and this buffer is not full-frame width.Vbuffer-file-type 1886*If visited file is text, nil; otherwise, t.Vdefault-directory 1887Name of default directory of current buffer. Should end with slash. 1888Each buffer has its own value of this variable.Vauto-fill-function 1889Function called (if non-nil) to perform auto-fill. 1890It is called after self-inserting a space at a column beyond `fill-column'. 1891Each buffer has its own value of this variable. 1892NOTE: This variable is not an ordinary hook; 1893It may not be a list of functions.Vbuffer-file-name 1894Name of file visited in current buffer, or nil if not visiting a file. 1895Each buffer has its own value of this variable.Vbuffer-auto-save-file-name 1896Name of file for auto-saving current buffer, 1897or nil if buffer should not be auto-saved. 1898Each buffer has its own value of this variable.Vbuffer-read-only 1899Non-nil if this buffer is read-only. 1900Each buffer has its own value of this variable.Vbuffer-backed-up 1901Non-nil if this buffer's file has been backed up. 1902Backing up is done before the first time the file is saved. 1903Each buffer has its own value of this variable.Vbuffer-saved-size 1904Length of current buffer when last read in, saved or auto-saved. 19050 initially. 1906Each buffer has its own value of this variable.Vselective-display 1907Non-nil enables selective display: 1908Integer N as value means display only lines 1909 that start with less than n columns of space. 1910A value of t means, after a ^M, all the rest of the line is invisible. 1911 Then ^M's in the file are written into files as newlines. 1912 1913Automatically becomes buffer-local when set in any fashion.Vselective-display-ellipses 1914t means display ... on previous line when a line is invisible. 1915Automatically becomes buffer-local when set in any fashion.Voverwrite-mode 1916Non-nil if self-insertion should replace existing text. 1917If non-nil and not `overwrite-mode-binary', self-insertion still 1918inserts at the end of a line, and inserts when point is before a tab, 1919until the tab is filled in. 1920If `overwrite-mode-binary', self-insertion replaces newlines and tabs too. 1921Automatically becomes buffer-local when set in any fashion.Vbuffer-display-table 1922Display table that controls display of the contents of current buffer. 1923Automatically becomes buffer-local when set in any fashion. 1924The display table is a vector created with `make-display-table'. 1925The first 256 elements control how to display each possible text character. 1926Each value should be a vector of characters or nil; 1927nil means display the character in the default fashion. 1928The remaining five elements control the display of 1929 the end of a truncated screen line (element 256, a single character); 1930 the end of a continued line (element 257, a single character); 1931 the escape character used to display character codes in octal 1932 (element 258, a single character); 1933 the character used as an arrow for control characters (element 259, 1934 a single character); 1935 the decoration indicating the presence of invisible lines (element 260, 1936 a vector of characters). 1937If this variable is nil, the value of `standard-display-table' is used. 1938Each window can have its own, overriding display table.Vbefore-change-function 1939Function to call before each text change. 1940Two arguments are passed to the function: the positions of 1941the beginning and end of the range of old text to be changed. 1942(For an insertion, the beginning and end are at the same place.) 1943No information is given about the length of the text after the change. 1944 1945Buffer changes made while executing the `before-change-function' 1946don't call any before-change or after-change functions. 1947That's because these variables are temporarily set to nil. 1948As a result, a hook function cannot straightforwardly alter the value of 1949these variables. See the Emacs Lisp manual for a way of 1950accomplishing an equivalent result by using other variables.Vafter-change-function 1951Function to call after each text change. 1952Three arguments are passed to the function: the positions of 1953the beginning and end of the range of changed text, 1954and the length of the pre-change text replaced by that range. 1955(For an insertion, the pre-change length is zero; 1956for a deletion, that length is the number of characters deleted, 1957and the post-change beginning and end are at the same place.) 1958 1959Buffer changes made while executing the `after-change-function' 1960don't call any before-change or after-change functions. 1961That's because these variables are temporarily set to nil. 1962As a result, a hook function cannot straightforwardly alter the value of 1963these variables. See the Emacs Lisp manual for a way of 1964accomplishing an equivalent result by using other variables.Vbefore-change-functions 1965List of functions to call before each text change. 1966Two arguments are passed to each function: the positions of 1967the beginning and end of the range of old text to be changed. 1968(For an insertion, the beginning and end are at the same place.) 1969No information is given about the length of the text after the change. 1970 1971Buffer changes made while executing the `before-change-functions' 1972don't call any before-change or after-change functions. 1973That's because these variables are temporarily set to nil. 1974As a result, a hook function cannot straightforwardly alter the value of 1975these variables. See the Emacs Lisp manual for a way of 1976accomplishing an equivalent result by using other variables.Vafter-change-functions 1977List of function to call after each text change. 1978Three arguments are passed to each function: the positions of 1979the beginning and end of the range of changed text, 1980and the length of the pre-change text replaced by that range. 1981(For an insertion, the pre-change length is zero; 1982for a deletion, that length is the number of characters deleted, 1983and the post-change beginning and end are at the same place.) 1984 1985Buffer changes made while executing the `after-change-functions' 1986don't call any before-change or after-change functions. 1987That's because these variables are temporarily set to nil. 1988As a result, a hook function cannot straightforwardly alter the value of 1989these variables. See the Emacs Lisp manual for a way of 1990accomplishing an equivalent result by using other variables.Vfirst-change-hook 1991A list of functions to call before changing a buffer which is unmodified. 1992The functions are run using the `run-hooks' function.Vbuffer-undo-list 1993List of undo entries in current buffer. 1994Recent changes come first; older changes follow newer. 1995 1996An entry (START . END) represents an insertion which begins at 1997position START and ends at position END. 1998 1999An entry (TEXT . POSITION) represents the deletion of the string TEXT 2000from (abs POSITION). If POSITION is positive, point was at the front 2001of the text being deleted; if negative, point was at the end. 2002 2003An entry (t HIGHWORD LOWWORD) indicates that the buffer had been 2004previously unmodified. HIGHWORD and LOWWORD are the high and low 200516-bit words of the buffer's modification count at the time. If the 2006modification count of the most recent save is different, this entry is 2007obsolete. 2008 2009An entry (nil PROP VAL BEG . END) indicates that a text property 2010was modified between BEG and END. PROP is the property name, 2011and VAL is the old value. 2012 2013An entry of the form POSITION indicates that point was at the buffer 2014location given by the integer. Undoing an entry of this form places 2015point at POSITION. 2016 2017nil marks undo boundaries. The undo command treats the changes 2018between two undo boundaries as a single step to be undone. 2019 2020If the value of the variable is t, undo information is not recorded.Vmark-active 2021Non-nil means the mark and region are currently active in this buffer. 2022Automatically local in all buffers.Vtransient-mark-mode 2023*Non-nil means deactivate the mark when the buffer contents change.Vinhibit-read-only 2024*Non-nil means disregard read-only status of buffers or characters. 2025If the value is t, disregard `buffer-read-only' and all `read-only' 2026text properties. If the value is a list, disregard `buffer-read-only' 2027and disregard a `read-only' text property if the property value 2028is a member of the list.Vkill-buffer-query-functions 2029List of functions called with no args to query before killing a buffer.Flock-buffer 2030Lock FILE, if current buffer is modified. 2031FILE defaults to current buffer's visited file, 2032or else nothing is done if current buffer isn't visiting a file. 2033 2034(lock-buffer &optional FN)Funlock-buffer 2035Unlock the file visited in the current buffer, 2036if it should normally be locked. 2037 2038(unlock-buffer)Ffile-locked-p 2039Return nil if the FILENAME is not locked, 2040t if it is locked by you, else a string of the name of the locker. 2041 2042(file-locked-p &optional FN)Fmarker-buffer 2043Return the buffer that MARKER points into, or nil if none. 2044Returns nil if MARKER points into a dead buffer. 2045 2046(marker-buffer MARKER)Fmarker-position 2047Return the position MARKER points at, as a character number. 2048 2049(marker-position MARKER)Fset-marker 2050Position MARKER before character number NUMBER in BUFFER. 2051BUFFER defaults to the current buffer. 2052If NUMBER is nil, makes marker point nowhere. 2053Then it no longer slows down editing in any buffer. 2054Returns MARKER. 2055 2056(set-marker MARKER POS &optional BUFFER)Fcopy-marker 2057Return a new marker pointing at the same place as MARKER. 2058If argument is a number, makes a new marker pointing 2059at that position in the current buffer. 2060 2061(copy-marker MARKER)Ftext-properties-at 2062Return the list of properties held by the character at POSITION 2063in optional argument OBJECT, a string or buffer. If nil, OBJECT 2064defaults to the current buffer. 2065If POSITION is at the end of OBJECT, the value is nil. 2066 2067(text-properties-at POS &optional OBJECT)Fget-text-property 2068Return the value of position POS's property PROP, in OBJECT. 2069OBJECT is optional and defaults to the current buffer. 2070If POSITION is at the end of OBJECT, the value is nil. 2071 2072(get-text-property POS PROP &optional OBJECT)Fget-char-property 2073Return the value of position POS's property PROP, in OBJECT. 2074OBJECT is optional and defaults to the current buffer. 2075If POS is at the end of OBJECT, the value is nil. 2076If OBJECT is a buffer, then overlay properties are considered as well as 2077text properties. 2078If OBJECT is a window, then that window's buffer is used, but window-specific 2079overlays are considered only if they are associated with OBJECT. 2080 2081(get-char-property POS PROP &optional OBJECT)Fnext-property-change 2082Return the position of next property change. 2083Scans characters forward from POS in OBJECT till it finds 2084a change in some text property, then returns the position of the change. 2085The optional second argument OBJECT is the string or buffer to scan. 2086Return nil if the property is constant all the way to the end of OBJECT. 2087If the value is non-nil, it is a position greater than POS, never equal. 2088 2089If the optional third argument LIMIT is non-nil, don't search 2090past position LIMIT; return LIMIT if nothing is found before LIMIT. 2091 2092(next-property-change POS &optional OBJECT LIMIT)Fnext-single-property-change 2093Return the position of next property change for a specific property. 2094Scans characters forward from POS till it finds 2095a change in the PROP property, then returns the position of the change. 2096The optional third argument OBJECT is the string or buffer to scan. 2097The property values are compared with `eq'. 2098Return nil if the property is constant all the way to the end of OBJECT. 2099If the value is non-nil, it is a position greater than POS, never equal. 2100 2101If the optional fourth argument LIMIT is non-nil, don't search 2102past position LIMIT; return LIMIT if nothing is found before LIMIT. 2103 2104(next-single-property-change POS PROP &optional OBJECT LIMIT)Fprevious-property-change 2105Return the position of previous property change. 2106Scans characters backwards from POS in OBJECT till it finds 2107a change in some text property, then returns the position of the change. 2108The optional second argument OBJECT is the string or buffer to scan. 2109Return nil if the property is constant all the way to the start of OBJECT. 2110If the value is non-nil, it is a position less than POS, never equal. 2111 2112If the optional third argument LIMIT is non-nil, don't search 2113back past position LIMIT; return LIMIT if nothing is found until LIMIT. 2114 2115(previous-property-change POS &optional OBJECT LIMIT)Fprevious-single-property-change 2116Return the position of previous property change for a specific property. 2117Scans characters backward from POS till it finds 2118a change in the PROP property, then returns the position of the change. 2119The optional third argument OBJECT is the string or buffer to scan. 2120The property values are compared with `eq'. 2121Return nil if the property is constant all the way to the start of OBJECT. 2122If the value is non-nil, it is a position less than POS, never equal. 2123 2124If the optional fourth argument LIMIT is non-nil, don't search 2125back past position LIMIT; return LIMIT if nothing is found until LIMIT. 2126 2127(previous-single-property-change POS PROP &optional OBJECT LIMIT)Fadd-text-properties 2128Add properties to the text from START to END. 2129The third argument PROPS is a property list 2130specifying the property values to add. 2131The optional fourth argument, OBJECT, 2132is the string or buffer containing the text. 2133Return t if any property value actually changed, nil otherwise. 2134 2135(add-text-properties START END PROPERTIES &optional OBJECT)Fput-text-property 2136Set one property of the text from START to END. 2137The third and fourth arguments PROP and VALUE 2138specify the property to add. 2139The optional fifth argument, OBJECT, 2140is the string or buffer containing the text. 2141 2142(put-text-property START END PROP VALUE &optional OBJECT)Fset-text-properties 2143Completely replace properties of text from START to END. 2144The third argument PROPS is the new property list. 2145The optional fourth argument, OBJECT, 2146is the string or buffer containing the text. 2147 2148(set-text-properties START END PROPS &optional OBJECT)Fremove-text-properties 2149Remove some properties from text from START to END. 2150The third argument PROPS is a property list 2151whose property names specify the properties to remove. 2152(The values stored in PROPS are ignored.) 2153The optional fourth argument, OBJECT, 2154is the string or buffer containing the text. 2155Return t if any property was actually removed, nil otherwise. 2156 2157(remove-text-properties START END PROPS &optional OBJECT)Ftext-property-any 2158Check text from START to END to see if PROP is ever `eq' to VALUE. 2159If so, return the position of the first character whose PROP is `eq' 2160to VALUE. Otherwise return nil. 2161The optional fifth argument, OBJECT, is the string or buffer 2162containing the text. 2163 2164(text-property-any START END PROP VALUE &optional OBJECT)Ftext-property-not-all 2165Check text from START to END to see if PROP is ever not `eq' to VALUE. 2166If so, return the position of the first character whose PROP is not 2167`eq' to VALUE. Otherwise, return nil. 2168The optional fifth argument, OBJECT, is the string or buffer 2169containing the text. 2170 2171(text-property-not-all START END PROP VALUE &optional OBJECT)Ferase-text-properties 2172Remove all properties from the text from START to END. 2173The optional third argument, OBJECT, 2174is the string or buffer containing the text. 2175 2176(erase-text-properties START END &optional OBJECT)Vinterval-balance-threshold 2177Threshold for rebalancing interval trees, expressed as the 2178percentage by which the left interval tree should not differ from the right.Vinhibit-point-motion-hooks 2179If non-nil, don't call the text property values of 2180`point-left' and `point-entered'.Fread-from-minibuffer 2181Read a string from the minibuffer, prompting with string PROMPT. 2182If optional second arg INITIAL-CONTENTS is non-nil, it is a string 2183 to be inserted into the minibuffer before reading input. 2184 If INITIAL-CONTENTS is (STRING . POSITION), the initial input 2185 is STRING, but point is placed POSITION characters into the string. 2186Third arg KEYMAP is a keymap to use whilst reading; 2187 if omitted or nil, the default is `minibuffer-local-map'. 2188If fourth arg READ is non-nil, then interpret the result as a lisp object 2189 and return that object: 2190 in other words, do `(car (read-from-string INPUT-STRING))' 2191Fifth arg HIST, if non-nil, specifies a history list 2192 and optionally the initial position in the list. 2193 It can be a symbol, which is the history list variable to use, 2194 or it can be a cons cell (HISTVAR . HISTPOS). 2195 In that case, HISTVAR is the history list variable to use, 2196 and HISTPOS is the initial position (the position in the list 2197 which INITIAL-CONTENTS corresponds to). 2198 Positions are counted starting from 1 at the beginning of the list. 2199 2200(read-from-minibuffer PROMPT &optional INITIAL-CONTENTS KEYMAP READ HIST)Fread-minibuffer 2201Return a Lisp object read using the minibuffer. 2202Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS 2203is a string to insert in the minibuffer before reading. 2204 2205(read-minibuffer PROMPT &optional INITIAL-CONTENTS)Feval-minibuffer 2206Return value of Lisp expression read using the minibuffer. 2207Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS 2208is a string to insert in the minibuffer before reading. 2209 2210(eval-minibuffer PROMPT &optional INITIAL-CONTENTS)Fread-string 2211Read a string from the minibuffer, prompting with string PROMPT. 2212If non-nil second arg INITIAL-INPUT is a string to insert before reading. 2213 2214(read-string PROMPT &optional INITIAL-INPUT)Fread-no-blanks-input 2215Args PROMPT and INIT, strings. Read a string from the terminal, not allowing blanks. 2216Prompt with PROMPT, and provide INIT as an initial value of the input string. 2217 2218(read-no-blanks-input PROMPT &optional INIT)Fread-command 2219One arg PROMPT, a string. Read the name of a command and return as a symbol. 2220Prompts with PROMPT. 2221 2222(read-command PROMPT)Fread-function 2223One arg PROMPT, a string. Read the name of a function and return as a symbol. 2224Prompts with PROMPT. 2225 2226(read-function PROMPT)Fread-variable 2227One arg PROMPT, a string. Read the name of a user variable and return 2228it as a symbol. Prompts with PROMPT. 2229A user variable is one whose documentation starts with a `*' character. 2230 2231(read-variable PROMPT)Fread-buffer 2232One arg PROMPT, a string. Read the name of a buffer and return as a string. 2233Prompts with PROMPT. 2234Optional second arg is value to return if user enters an empty line. 2235If optional third arg REQUIRE-MATCH is non-nil, only existing buffer names are allowed. 2236 2237(read-buffer PROMPT &optional DEF REQUIRE-MATCH)Ftry-completion 2238Return common substring of all completions of STRING in ALIST. 2239Each car of each element of ALIST is tested to see if it begins with STRING. 2240All that match are compared together; the longest initial sequence 2241common to all matches is returned as a string. 2242If there is no match at all, nil is returned. 2243For an exact match, t is returned. 2244 2245ALIST can be an obarray instead of an alist. 2246Then the print names of all symbols in the obarray are the possible matches. 2247 2248ALIST can also be a function to do the completion itself. 2249It receives three arguments: the values STRING, PREDICATE and nil. 2250Whatever it returns becomes the value of `try-completion'. 2251 2252If optional third argument PREDICATE is non-nil, 2253it is used to test each possible match. 2254The match is a candidate only if PREDICATE returns non-nil. 2255The argument given to PREDICATE is the alist element or the symbol from the obarray. 2256 2257(try-completion STRING ALIST &optional PRED)Fall-completions 2258Search for partial matches to STRING in ALIST. 2259Each car of each element of ALIST is tested to see if it begins with STRING. 2260The value is a list of all the strings from ALIST that match. 2261ALIST can be an obarray instead of an alist. 2262Then the print names of all symbols in the obarray are the possible matches. 2263 2264ALIST can also be a function to do the completion itself. 2265It receives three arguments: the values STRING, PREDICATE and t. 2266Whatever it returns becomes the value of `all-completion'. 2267 2268If optional third argument PREDICATE is non-nil, 2269it is used to test each possible match. 2270The match is a candidate only if PREDICATE returns non-nil. 2271The argument given to PREDICATE is the alist element or the symbol from the obarray. 2272 2273(all-completions STRING ALIST &optional PRED)Fcompleting-read 2274Read a string in the minibuffer, with completion. 2275Args: PROMPT, TABLE, PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, HIST. 2276PROMPT is a string to prompt with; normally it ends in a colon and a space. 2277TABLE is an alist whose elements' cars are strings, or an obarray. 2278PREDICATE limits completion to a subset of TABLE. 2279See `try-completion' for more details on completion, TABLE, and PREDICATE. 2280If REQUIRE-MATCH is non-nil, the user is not allowed to exit unless 2281 the input is (or completes to) an element of TABLE. 2282 If it is also not t, Return does not exit if it does non-null completion. 2283If INITIAL-INPUT is non-nil, insert it in the minibuffer initially. 2284 If it is (STRING . POSITION), the initial input 2285 is STRING, but point is placed POSITION characters into the string. 2286HIST, if non-nil, specifies a history list 2287 and optionally the initial position in the list. 2288 It can be a symbol, which is the history list variable to use, 2289 or it can be a cons cell (HISTVAR . HISTPOS). 2290 In that case, HISTVAR is the history list variable to use, 2291 and HISTPOS is the initial position (the position in the list 2292 which INITIAL-CONTENTS corresponds to). 2293 Positions are counted starting from 1 at the beginning of the list. 2294Completion ignores case if the ambient value of 2295 `completion-ignore-case' is non-nil. 2296 2297(completing-read PROMPT TABLE &optional PRED REQUIRE-MATCH INIT HIST)Fminibuffer-complete 2298Complete the minibuffer contents as far as possible. 2299Return nil if there is no valid completion, else t. 2300If no characters can be completed, display a list of possible completions. 2301If you repeat this command after it displayed such a list, 2302scroll the window of possible completions. 2303 2304(minibuffer-complete)Fminibuffer-complete-and-exit 2305Complete the minibuffer contents, and maybe exit. 2306Exit if the name is valid with no completion needed. 2307If name was completed to a valid match, 2308a repetition of this command will exit. 2309 2310(minibuffer-complete-and-exit)Fminibuffer-complete-word 2311Complete the minibuffer contents at most a single word. 2312After one word is completed as much as possible, a space or hyphen 2313is added, provided that matches some possible completion. 2314Return nil if there is no valid completion, else t. 2315 2316(minibuffer-complete-word)Fdisplay-completion-list 2317Display the list of completions, COMPLETIONS, using `standard-output'. 2318Each element may be just a symbol or string 2319or may be a list of two strings to be printed as if concatenated. 2320`standard-output' must be a buffer. 2321At the end, run the normal hook `completion-setup-hook'. 2322It can find the completion buffer in `standard-output'. 2323 2324(display-completion-list COMPLETIONS)Fminibuffer-completion-help 2325Display a list of possible completions of the current minibuffer contents. 2326 2327(minibuffer-completion-help)Fself-insert-and-exit 2328Terminate minibuffer input. 2329 2330(self-insert-and-exit)Fexit-minibuffer 2331Terminate this minibuffer argument. 2332 2333(exit-minibuffer)Fminibuffer-depth 2334Return current depth of activations of minibuffer, a nonnegative integer. 2335 2336(minibuffer-depth)Fminibuffer-prompt 2337Return the prompt string of the currently-active minibuffer. 2338If no minibuffer is active, return nil. 2339 2340(minibuffer-prompt)Fminibuffer-prompt-width 2341Return the display width of the minibuffer prompt. 2342 2343(minibuffer-prompt-width)Vminibuffer-setup-hook 2344Normal hook run just after entry to minibuffer.Vminibuffer-exit-hook 2345Normal hook run just after exit from minibuffer.Vcompletion-auto-help 2346*Non-nil means automatically provide help for invalid completion input.Vcompletion-ignore-case 2347Non-nil means don't consider case significant in completion.Venable-recursive-minibuffers 2348*Non-nil means to allow minibuffer commands while in the minibuffer. 2349More precisely, this variable makes a difference when the minibuffer window 2350is the selected window. If you are in some other window, minibuffer commands 2351are allowed even if a minibuffer is active.Vminibuffer-completion-table 2352Alist or obarray used for completion in the minibuffer. 2353This becomes the ALIST argument to `try-completion' and `all-completion'. 2354 2355The value may alternatively be a function, which is given three arguments: 2356 STRING, the current buffer contents; 2357 PREDICATE, the predicate for filtering possible matches; 2358 CODE, which says what kind of things to do. 2359CODE can be nil, t or `lambda'. 2360nil means to return the best completion of STRING, or nil if there is none. 2361t means to return a list of all possible completions of STRING. 2362`lambda' means to return t if STRING is a valid completion as it stands.Vminibuffer-completion-predicate 2363Within call to `completing-read', this holds the PREDICATE argument.Vminibuffer-completion-confirm 2364Non-nil => demand confirmation of completion before exiting minibuffer.Vminibuffer-help-form 2365Value that `help-form' takes on inside the minibuffer.Vminibuffer-history-variable 2366History list symbol to add minibuffer values to. 2367Each minibuffer output is added with 2368 (set minibuffer-history-variable 2369 (cons STRING (symbol-value minibuffer-history-variable)))Vminibuffer-history-position 2370Current position of redoing in the history list.Vminibuffer-auto-raise 2371*Non-nil means entering the minibuffer raises the minibuffer's frame.Vcompletion-regexp-list 2372List of regexps that should restrict possible completions.Ffind-file-name-handler 2373Return FILENAME's handler function for OPERATION, if it has one. 2374Otherwise, return nil. 2375A file name is handled if one of the regular expressions in 2376`file-name-handler-alist' matches it. 2377 2378If OPERATION equals `inhibit-file-name-operation', then we ignore 2379any handlers that are members of `inhibit-file-name-handlers', 2380but we still do run any other handlers. This lets handlers 2381use the standard functions without calling themselves recursively. 2382 2383(find-file-name-handler FILENAME OPERATION)Ffile-name-directory 2384Return the directory component in file name NAME. 2385Return nil if NAME does not include a directory. 2386Otherwise return a directory spec. 2387Given a Unix syntax file name, returns a string ending in slash; 2388on VMS, perhaps instead a string ending in `:', `]' or `>'. 2389 2390(file-name-directory FILE)Ffile-name-nondirectory 2391Return file name NAME sans its directory. 2392For example, in a Unix-syntax file name, 2393this is everything after the last slash, 2394or the entire name if it contains no slash. 2395 2396(file-name-nondirectory FILE)Funhandled-file-name-directory 2397Return a directly usable directory name somehow associated with FILENAME. 2398A `directly usable' directory name is one that may be used without the 2399intervention of any file handler. 2400If FILENAME is a directly usable file itself, return 2401(file-name-directory FILENAME). 2402The `call-process' and `start-process' functions use this function to 2403get a current directory to run processes in. 2404 2405(unhandled-file-name-directory FILENAME)Ffile-name-as-directory 2406Return a string representing file FILENAME interpreted as a directory. 2407This operation exists because a directory is also a file, but its name as 2408a directory is different from its name as a file. 2409The result can be used as the value of `default-directory' 2410or passed as second argument to `expand-file-name'. 2411For a Unix-syntax file name, just appends a slash. 2412On VMS, converts "[X]FOO.DIR" to "[X.FOO]", etc. 2413 2414(file-name-as-directory FILE)Fdirectory-file-name 2415Returns the file name of the directory named DIR. 2416This is the name of the file that holds the data for the directory DIR. 2417This operation exists because a directory is also a file, but its name as 2418a directory is different from its name as a file. 2419In Unix-syntax, this function just removes the final slash. 2420On VMS, given a VMS-syntax directory name such as "[X.Y]", 2421it returns a file name such as "[X]Y.DIR.1". 2422 2423(directory-file-name DIRECTORY)Fmake-temp-name 2424Generate temporary file name (string) starting with PREFIX (a string). 2425The Emacs process number forms part of the result, 2426so there is no danger of generating a name being used by another process. 2427 2428(make-temp-name PREFIX)Fexpand-file-name 2429Convert FILENAME to absolute, and canonicalize it. 2430Second arg DEFAULT is directory to start with if FILENAME is relative 2431 (does not start with slash); if DEFAULT is nil or missing, 2432the current buffer's value of default-directory is used. 2433Path components that are `.' are removed, and 2434path components followed by `..' are removed, along with the `..' itself; 2435note that these simplifications are done without checking the resulting 2436paths in the file system. 2437An initial `~/' expands to your home directory. 2438An initial `~USER/' expands to USER's home directory. 2439See also the function `substitute-in-file-name'. 2440 2441(expand-file-name NAME &optional DEFAULT)Fsubstitute-in-file-name 2442Substitute environment variables referred to in FILENAME. 2443`$FOO' where FOO is an environment variable name means to substitute 2444the value of that variable. The variable name should be terminated 2445with a character not a letter, digit or underscore; otherwise, enclose 2446the entire variable name in braces. 2447If `/~' appears, all of FILENAME through that `/' is discarded. 2448 2449On VMS, `$' substitution is not done; this function does little and only 2450duplicates what `expand-file-name' does. 2451 2452(substitute-in-file-name STRING)Fcopy-file 2453Copy FILE to NEWNAME. Both args must be strings. 2454Signals a `file-already-exists' error if file NEWNAME already exists, 2455unless a third argument OK-IF-ALREADY-EXISTS is supplied and non-nil. 2456A number as third arg means request confirmation if NEWNAME already exists. 2457This is what happens in interactive use with M-x. 2458Fourth arg KEEP-TIME non-nil means give the new file the same 2459last-modified time as the old one. (This works on only some systems.) 2460A prefix arg makes KEEP-TIME non-nil. 2461 2462(copy-file FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE)Fmake-directory-internal 2463Create a directory. One argument, a file name string. 2464 2465(make-directory-internal DIRNAME)Fdelete-directory 2466Delete a directory. One argument, a file name or directory name string. 2467 2468(delete-directory DIRNAME)Fdelete-file 2469Delete specified file. One argument, a file name string. 2470If file has multiple names, it continues to exist with the other names. 2471 2472(delete-file FILENAME)Frename-file 2473Rename FILE as NEWNAME. Both args strings. 2474If file has names other than FILE, it continues to have those names. 2475Signals a `file-already-exists' error if a file NEWNAME already exists 2476unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. 2477A number as third arg means request confirmation if NEWNAME already exists. 2478This is what happens in interactive use with M-x. 2479 2480(rename-file FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS)Fadd-name-to-file 2481Give FILE additional name NEWNAME. Both args strings. 2482Signals a `file-already-exists' error if a file NEWNAME already exists 2483unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. 2484A number as third arg means request confirmation if NEWNAME already exists. 2485This is what happens in interactive use with M-x. 2486 2487(add-name-to-file FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS)Fmake-symbolic-link 2488Make a symbolic link to FILENAME, named LINKNAME. Both args strings. 2489Signals a `file-already-exists' error if a file NEWNAME already exists 2490unless optional third argument OK-IF-ALREADY-EXISTS is non-nil. 2491A number as third arg means request confirmation if NEWNAME already exists. 2492This happens for interactive use with M-x. 2493 2494(make-symbolic-link FILENAME LINKNAME &optional OK-IF-ALREADY-EXISTS)Fdefine-logical-name 2495Define the job-wide logical name NAME to have the value STRING. 2496If STRING is nil or a null string, the logical name NAME is deleted. 2497 2498(define-logical-name VARNAME STRING)Fsysnetunam 2499Open a network connection to PATH using LOGIN as the login string. 2500 2501(sysnetunam PATH LOGIN)Ffile-name-absolute-p 2502Return t if file FILENAME specifies an absolute path name. 2503On Unix, this is a name starting with a `/' or a `~'. 2504 2505(file-name-absolute-p FILENAME)Ffile-exists-p 2506Return t if file FILENAME exists. (This does not mean you can read it.) 2507See also `file-readable-p' and `file-attributes'. 2508 2509(file-exists-p FILENAME)Ffile-executable-p 2510Return t if FILENAME can be executed by you. 2511For a directory, this means you can access files in that directory. 2512 2513(file-executable-p FILENAME)Ffile-readable-p 2514Return t if file FILENAME exists and you can read it. 2515See also `file-exists-p' and `file-attributes'. 2516 2517(file-readable-p FILENAME)Ffile-symlink-p 2518Return non-nil if file FILENAME is the name of a symbolic link. 2519The value is the name of the file to which it is linked. 2520Otherwise returns nil. 2521 2522(file-symlink-p FILENAME)Ffile-writable-p 2523Return t if file FILENAME can be written or created by you. 2524 2525(file-writable-p FILENAME)Ffile-directory-p 2526Return t if file FILENAME is the name of a directory as a file. 2527A directory name spec may be given instead; then the value is t 2528if the directory so specified exists and really is a directory. 2529 2530(file-directory-p FILENAME)Ffile-accessible-directory-p 2531Return t if file FILENAME is the name of a directory as a file, 2532and files in that directory can be opened by you. In order to use a 2533directory as a buffer's current directory, this predicate must return true. 2534A directory name spec may be given instead; then the value is t 2535if the directory so specified exists and really is a readable and 2536searchable directory. 2537 2538(file-accessible-directory-p FILENAME)Ffile-modes 2539Return mode bits of FILE, as an integer. 2540 2541(file-modes FILENAME)Fset-file-modes 2542Set mode bits of FILE to MODE (an integer). 2543Only the 12 low bits of MODE are used. 2544 2545(set-file-modes FILENAME MODE)Fset-default-file-modes 2546Set the file permission bits for newly created files. 2547The argument MODE should be an integer; only the low 9 bits are used. 2548This setting is inherited by subprocesses. 2549 2550(set-default-file-modes MODE)Fdefault-file-modes 2551Return the default file protection for created files. 2552The value is an integer. 2553 2554(default-file-modes)Funix-sync 2555Tell Unix to finish all pending disk updates. 2556 2557(unix-sync)Ffile-newer-than-file-p 2558Return t if file FILE1 is newer than file FILE2. 2559If FILE1 does not exist, the answer is nil; 2560otherwise, if FILE2 does not exist, the answer is t. 2561 2562(file-newer-than-file-p FILE1 FILE2)Finsert-file-contents 2563Insert contents of file FILENAME after point. 2564Returns list of absolute file name and length of data inserted. 2565If second argument VISIT is non-nil, the buffer's visited filename 2566and last save file modtime are set, and it is marked unmodified. 2567If visiting and the file does not exist, visiting is completed 2568before the error is signaled. 2569 2570The optional third and fourth arguments BEG and END 2571specify what portion of the file to insert. 2572If VISIT is non-nil, BEG and END must be nil. 2573If optional fifth argument REPLACE is non-nil, 2574it means replace the current buffer contents (in the accessible portion) 2575with the file contents. This is better than simply deleting and inserting 2576the whole thing because (1) it preserves some marker positions 2577and (2) it puts less data in the undo list. 2578 2579(insert-file-contents FILENAME &optional VISIT BEG END REPLACE)Fwrite-region 2580Write current region into specified file. 2581When called from a program, takes three arguments: 2582START, END and FILENAME. START and END are buffer positions. 2583Optional fourth argument APPEND if non-nil means 2584 append to existing file contents (if any). 2585Optional fifth argument VISIT if t means 2586 set the last-save-file-modtime of buffer to this file's modtime 2587 and mark buffer not modified. 2588If VISIT is a string, it is a second file name; 2589 the output goes to FILENAME, but the buffer is marked as visiting VISIT. 2590 VISIT is also the file name to lock and unlock for clash detection. 2591If VISIT is neither t nor nil nor a string, 2592 that means do not print the "Wrote file" message. 2593Kludgy feature: if START is a string, then that string is written 2594to the file, instead of any buffer contents, and END is ignored. 2595 2596(write-region START END FILENAME &optional APPEND VISIT)Fcar-less-than-car 2597Return t if (car A) is numerically less than (car B). 2598 2599(car-less-than-car A B)Fverify-visited-file-modtime 2600Return t if last mod time of BUF's visited file matches what BUF records. 2601This means that the file has not been changed since it was visited or saved. 2602 2603(verify-visited-file-modtime BUF)Fclear-visited-file-modtime 2604Clear out records of last mod time of visited file. 2605Next attempt to save will certainly not complain of a discrepancy. 2606 2607(clear-visited-file-modtime)Fvisited-file-modtime 2608Return the current buffer's recorded visited file modification time. 2609The value is a list of the form (HIGH . LOW), like the time values 2610that `file-attributes' returns. 2611 2612(visited-file-modtime)Fset-visited-file-modtime 2613Update buffer's recorded modification time from the visited file's time. 2614Useful if the buffer was not read from the file normally 2615or if the file itself has been changed for some known benign reason. 2616An argument specifies the modification time value to use 2617(instead of that of the visited file), in the form of a list 2618(HIGH . LOW) or (HIGH LOW). 2619 2620(set-visited-file-modtime &optional TIME-LIST)Fdo-auto-save 2621Auto-save all buffers that need it. 2622This is all buffers that have auto-saving enabled 2623and are changed since last auto-saved. 2624Auto-saving writes the buffer into a file 2625so that your editing is not lost if the system crashes. 2626This file is not the file you visited; that changes only when you save. 2627Normally we run the normal hook `auto-save-hook' before saving. 2628 2629Non-nil first argument means do not print any message if successful. 2630Non-nil second argument means save only current buffer. 2631 2632(do-auto-save &optional NO-MESSAGE CURRENT-ONLY)Fset-buffer-auto-saved 2633Mark current buffer as auto-saved with its current text. 2634No auto-save file will be written until the buffer changes again. 2635 2636(set-buffer-auto-saved)Fclear-buffer-auto-save-failure 2637Clear any record of a recent auto-save failure in the current buffer. 2638 2639(clear-buffer-auto-save-failure)Frecent-auto-save-p 2640Return t if buffer has been auto-saved since last read in or saved. 2641 2642(recent-auto-save-p)Fread-file-name-internal 2643Internal subroutine for read-file-name. Do not call this. 2644 2645(read-file-name-internal STRING DIR ACTION)Fread-file-name 2646Read file name, prompting with PROMPT and completing in directory DIR. 2647Value is not expanded---you must call `expand-file-name' yourself. 2648Default name to DEFAULT if user enters a null string. 2649 (If DEFAULT is omitted, the visited file name is used.) 2650Fourth arg MUSTMATCH non-nil means require existing file's name. 2651 Non-nil and non-t means also require confirmation after completion. 2652Fifth arg INITIAL specifies text to start with. 2653DIR defaults to current buffer's directory default. 2654 2655(read-file-name PROMPT &optional DIR DEFAULT MUSTMATCH INITIAL)Vinsert-default-directory 2656*Non-nil means when reading a filename start with default dir in minibuffer.Vvms-stmlf-recfm 2657*Non-nil means write new files with record format `stmlf'. 2658nil means use format `var'. This variable is meaningful only on VMS.Vfile-name-handler-alist 2659*Alist of elements (REGEXP . HANDLER) for file names handled specially. 2660If a file name matches REGEXP, then all I/O on that file is done by calling 2661HANDLER. 2662 2663The first argument given to HANDLER is the name of the I/O primitive 2664to be handled; the remaining arguments are the arguments that were 2665passed to that primitive. For example, if you do 2666 (file-exists-p FILENAME) 2667and FILENAME is handled by HANDLER, then HANDLER is called like this: 2668 (funcall HANDLER 'file-exists-p FILENAME) 2669The function `find-file-name-handler' checks this list for a handler 2670for its argument.Vafter-insert-file-functions 2671A list of functions to be called at the end of `insert-file-contents'. 2672Each is passed one argument, the number of bytes inserted. It should return 2673the new byte count, and leave point the same. If `insert-file-contents' is 2674intercepted by a handler from `file-name-handler-alist', that handler is 2675responsible for calling the after-insert-file-functions if appropriate.Vwrite-region-annotate-functions 2676A list of functions to be called at the start of `write-region'. 2677Each is passed two arguments, START and END as for `write-region'. It should 2678return a list of pairs (POSITION . STRING) of strings to be effectively 2679inserted at the specified positions of the file being written (1 means to 2680insert before the first byte written). The POSITIONs must be sorted into 2681increasing order. If there are several functions in the list, the several 2682lists are merged destructively.Vinhibit-file-name-handlers 2683A list of file name handlers that temporarily should not be used. 2684This applies only to the operation `inhibit-file-name-operation'.Vinhibit-file-name-operation 2685The operation for which `inhibit-file-name-handlers' is applicable.Vauto-save-list-file-name 2686File name in which we write a list of all auto save file names.Fdirectory-files 2687Return a list of names of files in DIRECTORY. 2688There are three optional arguments: 2689If FULL is non-nil, absolute pathnames of the files are returned. 2690If MATCH is non-nil, only pathnames containing that regexp are returned. 2691If NOSORT is non-nil, the list is not sorted--its order is unpredictable. 2692 NOSORT is useful if you plan to sort the result yourself. 2693 2694(directory-files DIRNAME &optional FULL MATCH NOSORT)Ffile-name-completion 2695Complete file name FILE in directory DIR. 2696Returns the longest string 2697common to all filenames in DIR that start with FILE. 2698If there is only one and FILE matches it exactly, returns t. 2699Returns nil if DIR contains no name starting with FILE. 2700 2701(file-name-completion FILE DIRNAME)Ffile-name-all-completions 2702Return a list of all completions of file name FILE in directory DIR. 2703These are all file names in directory DIR which begin with FILE. 2704 2705(file-name-all-completions FILE DIRNAME)Ffile-name-all-versions 2706Return a list of all versions of file name FILE in directory DIR. 2707 2708(file-name-all-versions FILE DIRNAME)Ffile-version-limit 2709Return the maximum number of versions allowed for FILE. 2710Returns nil if the file cannot be opened or if there is no version limit. 2711 2712(file-version-limit FILENAME)Ffile-attributes 2713Return a list of attributes of file FILENAME. 2714Value is nil if specified file cannot be opened. 2715Otherwise, list elements are: 2716 0. t for directory, string (name linked to) for symbolic link, or nil. 2717 1. Number of links to file. 2718 2. File uid. 2719 3. File gid. 2720 4. Last access time, as a list of two integers. 2721 First integer has high-order 16 bits of time, second has low 16 bits. 2722 5. Last modification time, likewise. 2723 6. Last status change time, likewise. 2724 7. Size in bytes (-1, if number is out of range). 2725 8. File modes, as a string of ten letters or dashes as in ls -l. 2726 9. t iff file's gid would change if file were deleted and recreated. 272710. inode number. 272811. Device number. 2729 2730If file does not exist, returns nil. 2731 2732(file-attributes FILENAME)Vcompletion-ignored-extensions 2733*Completion ignores filenames ending in any string in this list. 2734This variable does not affect lists of possible completions, 2735but does affect the commands that actually do completions.Fforward-char 2736Move point right ARG characters (left if ARG negative). 2737On reaching end of buffer, stop and signal error. 2738 2739(forward-char &optional N)Fbackward-char 2740Move point left ARG characters (right if ARG negative). 2741On attempt to pass beginning or end of buffer, stop and signal error. 2742 2743(backward-char &optional N)Fforward-line 2744Move ARG lines forward (backward if ARG is negative). 2745Precisely, if point is on line I, move to the start of line I + ARG. 2746If there isn't room, go as far as possible (no error). 2747Returns the count of lines left to move. If moving forward, 2748that is ARG - number of lines moved; if backward, ARG + number moved. 2749With positive ARG, a non-empty line at the end counts as one line 2750 successfully moved (for the return value). 2751 2752(forward-line &optional N)Fbeginning-of-line 2753Move point to beginning of current line. 2754With argument ARG not nil or 1, move forward ARG - 1 lines first. 2755If scan reaches end of buffer, stop there without error. 2756 2757(beginning-of-line &optional N)Fend-of-line 2758Move point to end of current line. 2759With argument ARG not nil or 1, move forward ARG - 1 lines first. 2760If scan reaches end of buffer, stop there without error. 2761 2762(end-of-line &optional N)Fdelete-char 2763Delete the following ARG characters (previous, with negative arg). 2764Optional second arg KILLFLAG non-nil means kill instead (save in kill ring). 2765Interactively, ARG is the prefix arg, and KILLFLAG is set if 2766ARG was explicitly specified. 2767 2768(delete-char N &optional KILLFLAG)Fdelete-backward-char 2769Delete the previous ARG characters (following, with negative ARG). 2770Optional second arg KILLFLAG non-nil means kill instead (save in kill ring). 2771Interactively, ARG is the prefix arg, and KILLFLAG is set if 2772ARG was explicitly specified. 2773 2774(delete-backward-char N &optional KILLFLAG)Fself-insert-command 2775Insert the character you type. 2776Whichever character you type to run this command is inserted. 2777 2778(self-insert-command ARG)Fnewline 2779Insert a newline. With arg, insert that many newlines. 2780In Auto Fill mode, if no numeric arg, break the preceding line if it's long. 2781 2782(newline &optional ARG1)Vblink-paren-function 2783Function called, if non-nil, whenever a close parenthesis is inserted. 2784More precisely, a char with closeparen syntax is self-inserted.Fcase-table-p 2785Return t iff ARG is a case table. 2786See `set-case-table' for more information on these data structures. 2787 2788(case-table-p TABLE)Fcurrent-case-table 2789Return the case table of the current buffer. 2790 2791(current-case-table)Fstandard-case-table 2792Return the standard case table. 2793This is the one used for new buffers. 2794 2795(standard-case-table)Fset-case-table 2796Select a new case table for the current buffer. 2797A case table is a list (DOWNCASE UPCASE CANONICALIZE EQUIVALENCES) 2798 where each element is either nil or a string of length 256. 2799DOWNCASE maps each character to its lower-case equivalent. 2800UPCASE maps each character to its upper-case equivalent; 2801 if lower and upper case characters are in 1-1 correspondence, 2802 you may use nil and the upcase table will be deduced from DOWNCASE. 2803CANONICALIZE maps each character to a canonical equivalent; 2804 any two characters that are related by case-conversion have the same 2805 canonical equivalent character; it may be nil, in which case it is 2806 deduced from DOWNCASE and UPCASE. 2807EQUIVALENCES is a map that cyclicly permutes each equivalence class 2808 (of characters with the same canonical equivalent); it may be nil, 2809 in which case it is deduced from CANONICALIZE. 2810 2811(set-case-table TABLE)Fset-standard-case-table 2812Select a new standard case table for new buffers. 2813See `set-case-table' for more info on case tables. 2814 2815(set-standard-case-table TABLE)Vascii-downcase-table 2816String mapping ASCII characters to lowercase equivalents.Vascii-upcase-table 2817String mapping ASCII characters to uppercase equivalents.Fupcase 2818Convert argument to upper case and return that. 2819The argument may be a character or string. The result has the same type. 2820The argument object is not altered. See also `capitalize'. 2821 2822(upcase OBJ)Fdowncase 2823Convert argument to lower case and return that. 2824The argument may be a character or string. The result has the same type. 2825The argument object is not altered. 2826 2827(downcase OBJ)Fcapitalize 2828Convert argument to capitalized form and return that. 2829This means that each word's first character is upper case 2830and the rest is lower case. 2831The argument may be a character or string. The result has the same type. 2832The argument object is not altered. 2833 2834(capitalize OBJ)Fupcase-region 2835Convert the region to upper case. In programs, wants two arguments. 2836These arguments specify the starting and ending character numbers of 2837the region to operate on. When used as a command, the text between 2838point and the mark is operated on. 2839See also `capitalize-region'. 2840 2841(upcase-region B E)Fdowncase-region 2842Convert the region to lower case. In programs, wants two arguments. 2843These arguments specify the starting and ending character numbers of 2844the region to operate on. When used as a command, the text between 2845point and the mark is operated on. 2846 2847(downcase-region B E)Fcapitalize-region 2848Convert the region to capitalized form. 2849Capitalized form means each word's first character is upper case 2850and the rest of it is lower case. 2851In programs, give two arguments, the starting and ending 2852character positions to operate on. 2853 2854(capitalize-region B E)Fupcase-word 2855Convert following word (or ARG words) to upper case, moving over. 2856With negative argument, convert previous words but do not move. 2857See also `capitalize-word'. 2858 2859(upcase-word ARG)Fdowncase-word 2860Convert following word (or ARG words) to lower case, moving over. 2861With negative argument, convert previous words but do not move. 2862 2863(downcase-word ARG)Fcapitalize-word 2864Capitalize the following word (or ARG words), moving over. 2865This gives the word(s) a first character in upper case 2866and the rest lower case. 2867With negative argument, capitalize previous words but do not move. 2868 2869(capitalize-word ARG)Fcurrent-column 2870Return the horizontal position of point. Beginning of line is column 0. 2871This is calculated by adding together the widths of all the displayed 2872representations of the character between the start of the previous line 2873and point. (eg control characters will have a width of 2 or 4, tabs 2874will have a variable width) 2875Ignores finite width of frame, which means that this function may return 2876values greater than (frame-width). 2877Whether the line is visible (if `selective-display' is t) has no effect; 2878however, ^M is treated as end of line when `selective-display' is t. 2879 2880(current-column)Findent-to 2881Indent from point with tabs and spaces until COLUMN is reached. 2882Optional second argument MIN says always do at least MIN spaces 2883even if that goes past COLUMN; by default, MIN is zero. 2884 2885(indent-to COL &optional MINIMUM)Fcurrent-indentation 2886Return the indentation of the current line. 2887This is the horizontal position of the character 2888following any initial whitespace. 2889 2890(current-indentation)Fmove-to-column 2891Move point to column COLUMN in the current line. 2892The column of a character is calculated by adding together the widths 2893as displayed of the previous characters in the line. 2894This function ignores line-continuation; 2895there is no upper limit on the column number a character can have 2896and horizontal scrolling has no effect. 2897 2898If specified column is within a character, point goes after that character. 2899If it's past end of line, point goes to end of line. 2900 2901A non-nil second (optional) argument FORCE means, if the line 2902is too short to reach column COLUMN then add spaces/tabs to get there, 2903and if COLUMN is in the middle of a tab character, change it to spaces. 2904 2905(move-to-column COLUMN &optional FORCE)Fcompute-motion 2906Scan through the current buffer, calculating screen position. 2907Scan the current buffer forward from offset FROM, 2908assuming it is at position FROMPOS--a cons of the form (HPOS . VPOS)-- 2909to position TO or position TOPOS--another cons of the form (HPOS . VPOS)-- 2910and return the ending buffer position and screen location. 2911 2912There are three additional arguments: 2913 2914WIDTH is the number of columns available to display text; 2915this affects handling of continuation lines. 2916This is usually the value returned by `window-width', less one (to allow 2917for the continuation glyph). 2918 2919OFFSETS is either nil or a cons cell (HSCROLL . TAB-OFFSET). 2920HSCROLL is the number of columns not being displayed at the left 2921margin; this is usually taken from a window's hscroll member. 2922TAB-OFFSET is the number of columns of the first tab that aren't 2923being displayed, perhaps because the line was continued within it. 2924If OFFSETS is nil, HSCROLL and TAB-OFFSET are assumed to be zero. 2925 2926WINDOW is the window to operate on. Currently this is used only to 2927find the display table. It does not matter what buffer WINDOW displays; 2928`compute-motion' always operates on the current buffer. 2929 2930The value is a list of five elements: 2931 (POS HPOS VPOS PREVHPOS CONTIN) 2932POS is the buffer position where the scan stopped. 2933VPOS is the vertical position where the scan stopped. 2934HPOS is the horizontal position where the scan stopped. 2935 2936PREVHPOS is the horizontal position one character back from POS. 2937CONTIN is t if a line was continued after (or within) the previous character. 2938 2939For example, to find the buffer position of column COL of line LINE 2940of a certain window, pass the window's starting location as FROM 2941and the window's upper-left coordinates as FROMPOS. 2942Pass the buffer's (point-max) as TO, to limit the scan to the end of the 2943visible section of the buffer, and pass LINE and COL as TOPOS. 2944 2945(compute-motion FROM FROMPOS TO TOPOS WIDTH OFFSETS WINDOW)Fvertical-motion 2946Move to start of screen line LINES lines down. 2947If LINES is negative, this is moving up. 2948 2949The optional second argument WINDOW specifies the window to use for 2950parameters such as width, horizontal scrolling, and so on. 2951the default is the selected window. 2952It does not matter what buffer is displayed in WINDOW. 2953`vertical-motion' always uses the current buffer. 2954 2955Sets point to position found; this may be start of line 2956or just the start of a continuation line. 2957Returns number of lines moved; may be closer to zero than LINES 2958if beginning or end of buffer was reached. 2959 2960(vertical-motion LINES &optional WINDOW)Vindent-tabs-mode 2961*Indentation can insert tabs if this is non-nil. 2962Setting this variable automatically makes it local to the current buffer.Flooking-at 2963Return t if text after point matches regular expression PAT. 2964This function modifies the match data that `match-beginning', 2965`match-end' and `match-data' access; save and restore the match 2966data if you want to preserve them. 2967 2968(looking-at STRING)Fstring-match 2969Return index of start of first match for REGEXP in STRING, or nil. 2970If third arg START is non-nil, start search at that index in STRING. 2971For index of first char beyond the match, do (match-end 0). 2972`match-end' and `match-beginning' also give indices of substrings 2973matched by parenthesis constructs in the pattern. 2974 2975(string-match REGEXP STRING &optional START)Fskip-chars-forward 2976Move point forward, stopping before a char not in STRING, or at pos LIM. 2977STRING is like the inside of a `[...]' in a regular expression 2978except that `]' is never special and `\' quotes `^', `-' or `\'. 2979Thus, with arg "a-zA-Z", this skips letters stopping before first nonletter. 2980With arg "^a-zA-Z", skips nonletters stopping before first letter. 2981Returns the distance traveled, either zero or positive. 2982 2983(skip-chars-forward STRING &optional LIM)Fskip-chars-backward 2984Move point backward, stopping after a char not in STRING, or at pos LIM. 2985See `skip-chars-forward' for details. 2986Returns the distance traveled, either zero or negative. 2987 2988(skip-chars-backward STRING &optional LIM)Fskip-syntax-forward 2989Move point forward across chars in specified syntax classes. 2990SYNTAX is a string of syntax code characters. 2991Stop before a char whose syntax is not in SYNTAX, or at position LIM. 2992If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX. 2993This function returns the distance traveled, either zero or positive. 2994 2995(skip-syntax-forward SYNTAX &optional LIM)Fskip-syntax-backward 2996Move point backward across chars in specified syntax classes. 2997SYNTAX is a string of syntax code characters. 2998Stop on reaching a char whose syntax is not in SYNTAX, or at position LIM. 2999If SYNTAX starts with ^, skip characters whose syntax is NOT in SYNTAX. 3000This function returns the distance traveled, either zero or negative. 3001 3002(skip-syntax-backward SYNTAX &optional LIM)Fsearch-backward 3003Search backward from point for STRING. 3004Set point to the beginning of the occurrence found, and return point. 3005An optional second argument bounds the search; it is a buffer position. 3006The match found must not extend before that position. 3007Optional third argument, if t, means if fail just return nil (no error). 3008 If not nil and not t, position at limit of search and return nil. 3009Optional fourth argument is repeat count--search for successive occurrences. 3010See also the functions `match-beginning', `match-end' and `replace-match'. 3011 3012(search-backward STRING &optional BOUND NOERROR COUNT)Fsearch-forward 3013Search forward from point for STRING. 3014Set point to the end of the occurrence found, and return point. 3015An optional second argument bounds the search; it is a buffer position. 3016The match found must not extend after that position. nil is equivalent 3017 to (point-max). 3018Optional third argument, if t, means if fail just return nil (no error). 3019 If not nil and not t, move to limit of search and return nil. 3020Optional fourth argument is repeat count--search for successive occurrences. 3021See also the functions `match-beginning', `match-end' and `replace-match'. 3022 3023(search-forward STRING &optional BOUND NOERROR COUNT)Fword-search-backward 3024Search backward from point for STRING, ignoring differences in punctuation. 3025Set point to the beginning of the occurrence found, and return point. 3026An optional second argument bounds the search; it is a buffer position. 3027The match found must not extend before that position. 3028Optional third argument, if t, means if fail just return nil (no error). 3029 If not nil and not t, move to limit of search and return nil. 3030Optional fourth argument is repeat count--search for successive occurrences. 3031 3032(word-search-backward STRING &optional BOUND NOERROR COUNT)Fword-search-forward 3033Search forward from point for STRING, ignoring differences in punctuation. 3034Set point to the end of the occurrence found, and return point. 3035An optional second argument bounds the search; it is a buffer position. 3036The match found must not extend after that position. 3037Optional third argument, if t, means if fail just return nil (no error). 3038 If not nil and not t, move to limit of search and return nil. 3039Optional fourth argument is repeat count--search for successive occurrences. 3040 3041(word-search-forward STRING &optional BOUND NOERROR COUNT)Fre-search-backward 3042Search backward from point for match for regular expression REGEXP. 3043Set point to the beginning of the match, and return point. 3044The match found is the one starting last in the buffer 3045and yet ending before the origin of the search. 3046An optional second argument bounds the search; it is a buffer position. 3047The match found must start at or after that position. 3048Optional third argument, if t, means if fail just return nil (no error). 3049 If not nil and not t, move to limit of search and return nil. 3050Optional fourth argument is repeat count--search for successive occurrences. 3051See also the functions `match-beginning', `match-end' and `replace-match'. 3052 3053(re-search-backward REGEXP &optional BOUND NOERROR COUNT)Fre-search-forward 3054Search forward from point for regular expression REGEXP. 3055Set point to the end of the occurrence found, and return point. 3056An optional second argument bounds the search; it is a buffer position. 3057The match found must not extend after that position. 3058Optional third argument, if t, means if fail just return nil (no error). 3059 If not nil and not t, move to limit of search and return nil. 3060Optional fourth argument is repeat count--search for successive occurrences. 3061See also the functions `match-beginning', `match-end' and `replace-match'. 3062 3063(re-search-forward REGEXP &optional BOUND NOERROR COUNT)Freplace-match 3064Replace text matched by last search with NEWTEXT. 3065If second arg FIXEDCASE is non-nil, do not alter case of replacement text. 3066Otherwise maybe capitalize the whole text, or maybe just word initials, 3067based on the replaced text. 3068If the replaced text has only capital letters 3069and has at least one multiletter word, convert NEWTEXT to all caps. 3070If the replaced text has at least one word starting with a capital letter, 3071then capitalize each word in NEWTEXT. 3072 3073If third arg LITERAL is non-nil, insert NEWTEXT literally. 3074Otherwise treat `\' as special: 3075 `\&' in NEWTEXT means substitute original matched text. 3076 `\N' means substitute what matched the Nth `\(...\)'. 3077 If Nth parens didn't match, substitute nothing. 3078 `\\' means insert one `\'. 3079FIXEDCASE and LITERAL are optional arguments. 3080Leaves point at end of replacement text. 3081 3082(replace-match NEWTEXT &optional FIXEDCASE LITERAL)Fmatch-beginning 3083Return position of start of text matched by last search. 3084NUM specifies which parenthesized expression in the last regexp. 3085 Value is nil if NUMth pair didn't match, or there were less than NUM pairs. 3086Zero means the entire text matched by the whole regexp or whole string. 3087 3088(match-beginning NUM)Fmatch-end 3089Return position of end of text matched by last search. 3090ARG, a number, specifies which parenthesized expression in the last regexp. 3091 Value is nil if ARGth pair didn't match, or there were less than ARG pairs. 3092Zero means the entire text matched by the whole regexp or whole string. 3093 3094(match-end NUM)Fmatch-data 3095Return a list containing all info on what the last search matched. 3096Element 2N is `(match-beginning N)'; element 2N + 1 is `(match-end N)'. 3097All the elements are markers or nil (nil if the Nth pair didn't match) 3098if the last match was on a buffer; integers or nil if a string was matched. 3099Use `store-match-data' to reinstate the data in this list. 3100 3101(match-data)Fstore-match-data 3102Set internal data on last search match from elements of LIST. 3103LIST should have been created by calling `match-data' previously. 3104 3105(store-match-data LIST)Fregexp-quote 3106Return a regexp string which matches exactly STRING and nothing else. 3107 3108(regexp-quote STR)Fundo-boundary 3109Mark a boundary between units of undo. 3110An undo command will stop at this point, 3111but another undo command will undo to the previous boundary. 3112 3113(undo-boundary)Fprimitive-undo 3114Undo N records from the front of the list LIST. 3115Return what remains of the list. 3116 3117(primitive-undo N LIST)Fcons 3118Create a new cons, give it CAR and CDR as components, and return it. 3119 3120(cons CAR CDR)Flist 3121Return a newly created list with specified arguments as elements. 3122Any number of arguments, even zero arguments, are allowed.Fmake-list 3123Return a newly created list of length LENGTH, with each element being INIT. 3124 3125(make-list LENGTH INIT)Fmake-vector 3126Return a newly created vector of length LENGTH, with each element being INIT. 3127See also the function `vector'. 3128 3129(make-vector LENGTH INIT)Fvector 3130Return a newly created vector with specified arguments as elements. 3131Any number of arguments, even zero arguments, are allowed.Fmake-byte-code 3132Create a byte-code object with specified arguments as elements. 3133The arguments should be the arglist, bytecode-string, constant vector, 3134stack size, (optional) doc string, and (optional) interactive spec. 3135The first four arguments are required; at most six have any 3136significance.Fmake-symbol 3137Return a newly allocated uninterned symbol whose name is NAME. 3138Its value and function definition are void, and its property list is nil. 3139 3140(make-symbol STR)Fmake-marker 3141Return a newly allocated marker which does not point at any place. 3142 3143(make-marker)Fmake-string 3144Return a newly created string of length LENGTH, with each element being INIT. 3145Both LENGTH and INIT must be numbers. 3146 3147(make-string LENGTH INIT)Fpurecopy 3148Make a copy of OBJECT in pure storage. 3149Recursively copies contents of vectors and cons cells. 3150Does not copy symbols. 3151 3152(purecopy OBJ)Fgarbage-collect 3153Reclaim storage for Lisp objects no longer needed. 3154Returns info on amount of space in use: 3155 ((USED-CONSES . FREE-CONSES) (USED-SYMS . FREE-SYMS) 3156 (USED-MARKERS . FREE-MARKERS) USED-STRING-CHARS USED-VECTOR-SLOTS 3157 (USED-FLOATS . FREE-FLOATS)) 3158Garbage collection happens automatically if you cons more than 3159`gc-cons-threshold' bytes of Lisp data since previous garbage collection. 3160 3161(garbage-collect)Fmemory-limit 3162Return the address of the last byte Emacs has allocated, divided by 1024. 3163This may be helpful in debugging Emacs's memory usage. 3164We divide the value by 1024 to make sure it fits in a Lisp integer. 3165 3166(memory-limit)Vgc-cons-threshold 3167*Number of bytes of consing between garbage collections. 3168Garbage collection can happen automatically once this many bytes have been 3169allocated since the last garbage collection. All data types count. 3170 3171Garbage collection happens automatically only when `eval' is called. 3172 3173By binding this temporarily to a large number, you can effectively 3174prevent garbage collection during a part of the program.Vpure-bytes-used 3175Number of bytes of sharable Lisp data allocated so far.Vdata-bytes-used 3176Number of bytes of unshared memory allocated in this session.Vdata-bytes-free 3177Number of bytes of unshared memory remaining available in this session.Vpurify-flag 3178Non-nil means loading Lisp code in order to dump an executable. 3179This means that certain objects should be allocated in shared (pure) space.Vundo-limit 3180Keep no more undo information once it exceeds this size. 3181This limit is applied when garbage collection happens. 3182The size is counted as the number of bytes occupied, 3183which includes both saved text and other data.Vundo-strong-limit 3184Don't keep more than this much size of undo information. 3185A command which pushes past this size is itself forgotten. 3186This limit is applied when garbage collection happens. 3187The size is counted as the number of bytes occupied, 3188which includes both saved text and other data.Feq 3189T if the two args are the same Lisp object. 3190 3191(eq OBJ1 OBJ2)Fnull 3192T if OBJECT is nil. 3193 3194(null OBJ)Fconsp 3195T if OBJECT is a cons cell. 3196 3197(consp OBJ)Fatom 3198T if OBJECT is not a cons cell. This includes nil. 3199 3200(atom OBJ)Flistp 3201T if OBJECT is a list. This includes nil. 3202 3203(listp OBJ)Fnlistp 3204T if OBJECT is not a list. Lists include nil. 3205 3206(nlistp OBJ)Fsymbolp 3207T if OBJECT is a symbol. 3208 3209(symbolp OBJ)Fvectorp 3210T if OBJECT is a vector. 3211 3212(vectorp OBJ)Fstringp 3213T if OBJECT is a string. 3214 3215(stringp OBJ)Farrayp 3216T if OBJECT is an array (string or vector). 3217 3218(arrayp OBJ)Fsequencep 3219T if OBJECT is a sequence (list or array). 3220 3221(sequencep OBJ)Fbufferp 3222T if OBJECT is an editor buffer. 3223 3224(bufferp OBJ)Fmarkerp 3225T if OBJECT is a marker (editor pointer). 3226 3227(markerp OBJ)Fsubrp 3228T if OBJECT is a built-in function. 3229 3230(subrp OBJ)Fbyte-code-function-p 3231T if OBJECT is a byte-compiled function object. 3232 3233(byte-code-function-p OBJ)Fchar-or-string-p 3234T if OBJECT is a character (an integer) or a string. 3235 3236(char-or-string-p OBJ)Fintegerp 3237T if OBJECT is an integer. 3238 3239(integerp OBJ)Finteger-or-marker-p 3240T if OBJECT is an integer or a marker (editor pointer). 3241 3242(integer-or-marker-p OBJ)Fnatnump 3243T if OBJECT is a nonnegative integer. 3244 3245(natnump OBJ)Fnumberp 3246T if OBJECT is a number (floating point or integer). 3247 3248(numberp OBJ)Fnumber-or-marker-p 3249T if OBJECT is a number or a marker. 3250 3251(number-or-marker-p OBJ)Ffloatp 3252T if OBJECT is a floating point number. 3253 3254(floatp OBJ)Fcar 3255Return the car of CONSCELL. If arg is nil, return nil. 3256Error if arg is not nil and not a cons cell. See also `car-safe'. 3257 3258(car LIST)Fcar-safe 3259Return the car of OBJECT if it is a cons cell, or else nil. 3260 3261(car-safe OBJECT)Fcdr 3262Return the cdr of CONSCELL. If arg is nil, return nil. 3263Error if arg is not nil and not a cons cell. See also `cdr-safe'. 3264 3265(cdr LIST)Fcdr-safe 3266Return the cdr of OBJECT if it is a cons cell, or else nil. 3267 3268(cdr-safe OBJECT)Fsetcar 3269Set the car of CONSCELL to be NEWCAR. Returns NEWCAR. 3270 3271(setcar CELL NEWCAR)Fsetcdr 3272Set the cdr of CONSCELL to be NEWCDR. Returns NEWCDR. 3273 3274(setcdr CELL NEWCDR)Fboundp 3275T if SYMBOL's value is not void. 3276 3277(boundp SYM)Ffboundp 3278T if SYMBOL's function definition is not void. 3279 3280(fboundp SYM)Fmakunbound 3281Make SYMBOL's value be void. 3282 3283(makunbound SYM)Ffmakunbound 3284Make SYMBOL's function definition be void. 3285 3286(fmakunbound SYM)Fsymbol-function 3287Return SYMBOL's function definition. Error if that is void. 3288 3289(symbol-function SYMBOL)Fsymbol-plist 3290Return SYMBOL's property list. 3291 3292(symbol-plist SYM)Fsymbol-name 3293Return SYMBOL's name, a string. 3294 3295(symbol-name SYM)Ffset 3296Set SYMBOL's function definition to NEWVAL, and return NEWVAL. 3297 3298(fset SYM NEWDEF)Fdefalias 3299Set SYMBOL's function definition to NEWVAL, and return NEWVAL. 3300Associates the function with the current load file, if any. 3301 3302(defalias SYM NEWDEF)Fdefine-function 3303Set SYMBOL's function definition to NEWVAL, and return NEWVAL. 3304Associates the function with the current load file, if any. 3305 3306(define-function SYM NEWDEF)Fsetplist 3307Set SYMBOL's property list to NEWVAL, and return NEWVAL. 3308 3309(setplist SYM NEWPLIST)Fsymbol-value 3310Return SYMBOL's value. Error if that is void. 3311 3312(symbol-value SYM)Fset 3313Set SYMBOL's value to NEWVAL, and return NEWVAL. 3314 3315(set SYM NEWVAL)Fdefault-boundp 3316Return T if SYMBOL has a non-void default value. 3317This is the value that is seen in buffers that do not have their own values 3318for this variable. 3319 3320(default-boundp SYM)Fdefault-value 3321Return SYMBOL's default value. 3322This is the value that is seen in buffers that do not have their own values 3323for this variable. The default value is meaningful for variables with 3324local bindings in certain buffers. 3325 3326(default-value SYM)Fset-default 3327Set SYMBOL's default value to VAL. SYMBOL and VAL are evaluated. 3328The default value is seen in buffers that do not have their own values 3329for this variable. 3330 3331(set-default SYM VALUE)Fsetq-default 3332Set the default value of variable VAR to VALUE. 3333VAR, the variable name, is literal (not evaluated); 3334VALUE is an expression and it is evaluated. 3335The default value of a variable is seen in buffers 3336that do not have their own values for the variable. 3337 3338More generally, you can use multiple variables and values, as in 3339 (setq-default SYM VALUE SYM VALUE...) 3340This sets each SYM's default value to the corresponding VALUE. 3341The VALUE for the Nth SYM can refer to the new default values 3342of previous SYMs.Fmake-variable-buffer-local 3343Make VARIABLE have a separate value for each buffer. 3344At any time, the value for the current buffer is in effect. 3345There is also a default value which is seen in any buffer which has not yet 3346set its own value. 3347Using `set' or `setq' to set the variable causes it to have a separate value 3348for the current buffer if it was previously using the default value. 3349The function `default-value' gets the default value and `set-default' sets it. 3350 3351(make-variable-buffer-local SYM)Fmake-local-variable 3352Make VARIABLE have a separate value in the current buffer. 3353Other buffers will continue to share a common default value. 3354(The buffer-local value of VARIABLE starts out as the same value 3355VARIABLE previously had. If VARIABLE was void, it remains void.) 3356See also `make-variable-buffer-local'. 3357 3358If the variable is already arranged to become local when set, 3359this function causes a local value to exist for this buffer, 3360just as if the variable were set. 3361 3362(make-local-variable SYM)Fkill-local-variable 3363Make VARIABLE no longer have a separate value in the current buffer. 3364From now on the default value will apply in this buffer. 3365 3366(kill-local-variable SYM)Findirect-function 3367Return the function at the end of OBJECT's function chain. 3368If OBJECT is a symbol, follow all function indirections and return the final 3369function binding. 3370If OBJECT is not a symbol, just return it. 3371Signal a void-function error if the final symbol is unbound. 3372Signal a cyclic-function-indirection error if there is a loop in the 3373function chain of symbols. 3374 3375(indirect-function OBJECT)Faref 3376Return the element of ARRAY at index INDEX. 3377ARRAY may be a vector or a string, or a byte-code object. INDEX starts at 0. 3378 3379(aref ARRAY IDX)Faset 3380Store into the element of ARRAY at index IDX the value NEWELT. 3381ARRAY may be a vector or a string. IDX starts at 0. 3382 3383(aset ARRAY IDX NEWELT)F= 3384T if two args, both numbers or markers, are equal. 3385 3386(= NUM1 NUM2)F< 3387T if first arg is less than second arg. Both must be numbers or markers. 3388 3389(< NUM1 NUM2)F> 3390T if first arg is greater than second arg. Both must be numbers or markers. 3391 3392(> NUM1 NUM2)F<= 3393T if first arg is less than or equal to second arg. 3394Both must be numbers or markers. 3395 3396(<= NUM1 NUM2)F>= 3397T if first arg is greater than or equal to second arg. 3398Both must be numbers or markers. 3399 3400(>= NUM1 NUM2)F/= 3401T if first arg is not equal to second arg. Both must be numbers or markers. 3402 3403(/= NUM1 NUM2)Fzerop 3404T if NUMBER is zero. 3405 3406(zerop NUM)Fnumber-to-string 3407Convert NUM to a string by printing it in decimal. 3408Uses a minus sign if negative. 3409NUM may be an integer or a floating point number. 3410 3411(number-to-string NUM)Fstring-to-number 3412Convert STRING to a number by parsing it as a decimal number. 3413This parses both integers and floating point numbers. 3414It ignores leading spaces and tabs. 3415 3416(string-to-number STR)F+ 3417Return sum of any number of arguments, which are numbers or markers.F- 3418Negate number or subtract numbers or markers. 3419With one arg, negates it. With more than one arg, 3420subtracts all but the first from the first.F* 3421Returns product of any number of arguments, which are numbers or markers.F/ 3422Returns first argument divided by all the remaining arguments. 3423The arguments must be numbers or markers.F% 3424Returns remainder of first arg divided by second. 3425Both must be integers or markers. 3426 3427(% NUM1 NUM2)Fmod 3428Returns X modulo Y. 3429The result falls between zero (inclusive) and Y (exclusive). 3430Both X and Y must be numbers or markers. 3431 3432(mod NUM1 NUM2)Fmax 3433Return largest of all the arguments (which must be numbers or markers). 3434The value is always a number; markers are converted to numbers.Fmin 3435Return smallest of all the arguments (which must be numbers or markers). 3436The value is always a number; markers are converted to numbers.Flogand 3437Return bitwise-and of all the arguments. 3438Arguments may be integers, or markers converted to integers.Flogior 3439Return bitwise-or of all the arguments. 3440Arguments may be integers, or markers converted to integers.Flogxor 3441Return bitwise-exclusive-or of all the arguments. 3442Arguments may be integers, or markers converted to integers.Fash 3443Return VALUE with its bits shifted left by COUNT. 3444If COUNT is negative, shifting is actually to the right. 3445In this case, the sign bit is duplicated. 3446 3447(ash NUM1 NUM2)Flsh 3448Return VALUE with its bits shifted left by COUNT. 3449If COUNT is negative, shifting is actually to the right. 3450In this case, zeros are shifted in on the left. 3451 3452(lsh NUM1 NUM2)F1+ 3453Return NUMBER plus one. NUMBER may be a number or a marker. 3454Markers are converted to integers. 3455 3456(1+ NUM)F1- 3457Return NUMBER minus one. NUMBER may be a number or a marker. 3458Markers are converted to integers. 3459 3460(1- NUM)Flognot 3461Return the bitwise complement of ARG. ARG must be an integer. 3462 3463(lognot NUM)Fdocumentation 3464Return the documentation string of FUNCTION. 3465Unless a non-nil second argument is given, the 3466string is passed through `substitute-command-keys'. 3467 3468(documentation FUNCTION &optional RAW)Fdocumentation-property 3469Return the documentation string that is SYMBOL's PROP property. 3470This is like `get', but it can refer to strings stored in the 3471`etc/DOC' file; and if the value is a string, it is passed through 3472`substitute-command-keys'. A non-nil third argument avoids this 3473translation. 3474 3475(documentation-property SYM PROP &optional RAW)FSnarf-documentation 3476Used during Emacs initialization, before dumping runnable Emacs, 3477to find pointers to doc strings stored in `etc/DOC...' and 3478record them in function definitions. 3479One arg, FILENAME, a string which does not include a directory. 3480The file is found in `../etc' now; found in the `data-directory' 3481when doc strings are referred to later in the dumped Emacs. 3482 3483(Snarf-documentation FILENAME)Fsubstitute-command-keys 3484Substitute key descriptions for command names in STRING. 3485Return a new string which is STRING with substrings of the form \=\[COMMAND] 3486replaced by either: a keystroke sequence that will invoke COMMAND, 3487or "M-x COMMAND" if COMMAND is not on any keys. 3488Substrings of the form \=\{MAPVAR} are replaced by summaries 3489(made by describe-bindings) of the value of MAPVAR, taken as a keymap. 3490Substrings of the form \=\<MAPVAR> specify to use the value of MAPVAR 3491as the keymap for future \=\[COMMAND] substrings. 3492\=\= quotes the following character and is discarded; 3493thus, \=\=\=\= puts \=\= into the output, and \=\=\=\[ puts \=\[ into the output. 3494 3495(substitute-command-keys STR)Vinternal-doc-file-name 3496Name of file containing documentation strings of built-in symbols.Fchar-to-string 3497Convert arg CHAR to a one-character string containing that character. 3498 3499(char-to-string N)Fstring-to-char 3500Convert arg STRING to a character, the first character of that string. 3501 3502(string-to-char STR)Fpoint 3503Return value of point, as an integer. 3504Beginning of buffer is position (point-min) 3505 3506(point)Fpoint-marker 3507Return value of point, as a marker object. 3508 3509(point-marker)Fgoto-char 3510Set point to POSITION, a number or marker. 3511Beginning of buffer is position (point-min), end is (point-max). 3512 3513(goto-char N)Fregion-beginning 3514Return position of beginning of region, as an integer. 3515 3516(region-beginning)Fregion-end 3517Return position of end of region, as an integer. 3518 3519(region-end)Fmark 3520Return this buffer's mark value as integer, or nil if no mark. 3521If you are using this in an editing command, you are most likely making 3522a mistake; see the documentation of `set-mark'. 3523 3524(mark)Fmark-marker 3525Return this buffer's mark, as a marker object. 3526Watch out! Moving this marker changes the mark position. 3527If you set the marker not to point anywhere, the buffer will have no mark. 3528 3529(mark-marker)Fset-mark 3530Set this buffer's mark to POS. Don't use this function! 3531That is to say, don't use this function unless you want 3532the user to see that the mark has moved, and you want the previous 3533mark position to be lost. 3534 3535Normally, when a new mark is set, the old one should go on the stack. 3536This is why most applications should use push-mark, not set-mark. 3537 3538Novice programmers often try to use the mark for the wrong purposes. 3539The mark saves a location for the user's convenience. 3540Most editing commands should not alter the mark. 3541To remember a location for internal use in the Lisp program, 3542store it in a Lisp variable. Example: 3543 3544 (let ((beg (point))) (forward-line 1) (delete-region beg (point))). 3545 3546(set-mark POS)Fsave-excursion 3547Save point, mark, and current buffer; execute BODY; restore those things. 3548Executes BODY just like `progn'. 3549The values of point, mark and the current buffer are restored 3550even in case of abnormal exit (throw or error). 3551The state of activation of the mark is also restored.Fbuffer-size 3552Return the number of characters in the current buffer. 3553 3554(buffer-size)Fpoint-min 3555Return the minimum permissible value of point in the current buffer. 3556This is 1, unless narrowing (a buffer restriction) is in effect. 3557 3558(point-min)Fpoint-min-marker 3559Return a marker to the minimum permissible value of point in this buffer. 3560This is the beginning, unless narrowing (a buffer restriction) is in effect. 3561 3562(point-min-marker)Fpoint-max 3563Return the maximum permissible value of point in the current buffer. 3564This is (1+ (buffer-size)), unless narrowing (a buffer restriction) 3565is in effect, in which case it is less. 3566 3567(point-max)Fpoint-max-marker 3568Return a marker to the maximum permissible value of point in this buffer. 3569This is (1+ (buffer-size)), unless narrowing (a buffer restriction) 3570is in effect, in which case it is less. 3571 3572(point-max-marker)Ffollowing-char 3573Return the character following point, as a number. 3574At the end of the buffer or accessible region, return 0. 3575 3576(following-char)Fpreceding-char 3577Return the character preceding point, as a number. 3578At the beginning of the buffer or accessible region, return 0. 3579 3580(preceding-char)Fbobp 3581Return T if point is at the beginning of the buffer. 3582If the buffer is narrowed, this means the beginning of the narrowed part. 3583 3584(bobp)Feobp 3585Return T if point is at the end of the buffer. 3586If the buffer is narrowed, this means the end of the narrowed part. 3587 3588(eobp)Fbolp 3589Return T if point is at the beginning of a line. 3590 3591(bolp)Feolp 3592Return T if point is at the end of a line. 3593`End of a line' includes point being at the end of the buffer. 3594 3595(eolp)Fchar-after 3596Return character in current buffer at position POS. 3597POS is an integer or a buffer pointer. 3598If POS is out of range, the value is nil. 3599 3600(char-after POS)Fuser-login-name 3601Return the name under which the user logged in, as a string. 3602This is based on the effective uid, not the real uid. 3603Also, if the environment variable LOGNAME or USER is set, 3604that determines the value of this function. 3605 3606(user-login-name)Fuser-real-login-name 3607Return the name of the user's real uid, as a string. 3608This ignores the environment variables LOGNAME and USER, so it differs from 3609`user-login-name' when running under `su'. 3610 3611(user-real-login-name)Fuser-uid 3612Return the effective uid of Emacs, as an integer. 3613 3614(user-uid)Fuser-real-uid 3615Return the real uid of Emacs, as an integer. 3616 3617(user-real-uid)Fuser-full-name 3618Return the full name of the user logged in, as a string. 3619 3620(user-full-name)Fsystem-name 3621Return the name of the machine you are running on, as a string. 3622 3623(system-name)Femacs-pid 3624Return the process ID of Emacs, as an integer. 3625 3626(emacs-pid)Fcurrent-time 3627Return the current time, as the number of seconds since 12:00 AM January 1970. 3628The time is returned as a list of three integers. The first has the 3629most significant 16 bits of the seconds, while the second has the 3630least significant 16 bits. The third integer gives the microsecond 3631count. 3632 3633The microsecond count is zero on systems that do not provide 3634resolution finer than a second. 3635 3636(current-time)Fcurrent-time-string 3637Return the current time, as a human-readable string. 3638Programs can use this function to decode a time, 3639since the number of columns in each field is fixed. 3640The format is `Sun Sep 16 01:03:52 1973'. 3641If an argument is given, it specifies a time to format 3642instead of the current time. The argument should have the form: 3643 (HIGH . LOW) 3644or the form: 3645 (HIGH LOW . IGNORED). 3646Thus, you can use times obtained from `current-time' 3647and from `file-attributes'. 3648 3649(current-time-string &optional SPECIFIED-TIME)Fcurrent-time-zone 3650Return the offset and name for the local time zone. 3651This returns a list of the form (OFFSET NAME). 3652OFFSET is an integer number of seconds ahead of UTC (east of Greenwich). 3653 A negative value means west of Greenwich. 3654NAME is a string giving the name of the time zone. 3655If an argument is given, it specifies when the time zone offset is determined 3656instead of using the current time. The argument should have the form: 3657 (HIGH . LOW) 3658or the form: 3659 (HIGH LOW . IGNORED). 3660Thus, you can use times obtained from `current-time' 3661and from `file-attributes'. 3662 3663Some operating systems cannot provide all this information to Emacs; 3664in this case, `current-time-zone' returns a list containing nil for 3665the data it can't find. 3666 3667(current-time-zone &optional SPECIFIED-TIME)Finsert 3668Insert the arguments, either strings or characters, at point. 3669Point moves forward so that it ends up after the inserted text. 3670Any other markers at the point of insertion remain before the text.Finsert-and-inherit 3671Insert the arguments at point, inheriting properties from adjoining text. 3672Point moves forward so that it ends up after the inserted text. 3673Any other markers at the point of insertion remain before the text.Finsert-before-markers 3674Insert strings or characters at point, relocating markers after the text. 3675Point moves forward so that it ends up after the inserted text. 3676Any other markers at the point of insertion also end up after the text.Finsert-before-markers-and-inherit 3677Insert text at point, relocating markers and inheriting properties. 3678Point moves forward so that it ends up after the inserted text. 3679Any other markers at the point of insertion also end up after the text.Finsert-char 3680Insert COUNT (second arg) copies of CHAR (first arg). 3681Point and all markers are affected as in the function `insert'. 3682Both arguments are required. 3683 3684(insert-char CHR COUNT)Fbuffer-substring 3685Return the contents of part of the current buffer as a string. 3686The two arguments START and END are character positions; 3687they can be in either order. 3688 3689(buffer-substring B E)Fbuffer-string 3690Return the contents of the current buffer as a string. 3691 3692(buffer-string)Finsert-buffer-substring 3693Insert before point a substring of the contents of buffer BUFFER. 3694BUFFER may be a buffer or a buffer name. 3695Arguments START and END are character numbers specifying the substring. 3696They default to the beginning and the end of BUFFER. 3697 3698(insert-buffer-substring BUF &optional B E)Fcompare-buffer-substrings 3699Compare two substrings of two buffers; return result as number. 3700the value is -N if first string is less after N-1 chars, 3701+N if first string is greater after N-1 chars, or 0 if strings match. 3702Each substring is represented as three arguments: BUFFER, START and END. 3703That makes six args in all, three for each substring. 3704 3705The value of `case-fold-search' in the current buffer 3706determines whether case is significant or ignored. 3707 3708(compare-buffer-substrings BUFFER1 START1 END1 BUFFER2 START2 END2)Fsubst-char-in-region 3709From START to END, replace FROMCHAR with TOCHAR each time it occurs. 3710If optional arg NOUNDO is non-nil, don't record this change for undo 3711and don't mark the buffer as really changed. 3712 3713(subst-char-in-region START END FROMCHAR TOCHAR &optional NOUNDO)Ftranslate-region 3714From START to END, translate characters according to TABLE. 3715TABLE is a string; the Nth character in it is the mapping 3716for the character with code N. Returns the number of characters changed. 3717 3718(translate-region START END TABLE)Fdelete-region 3719Delete the text between point and mark. 3720When called from a program, expects two arguments, 3721positions (integers or markers) specifying the stretch to be deleted. 3722 3723(delete-region B E)Fwiden 3724Remove restrictions (narrowing) from current buffer. 3725This allows the buffer's full text to be seen and edited. 3726 3727(widen)Fnarrow-to-region 3728Restrict editing in this buffer to the current region. 3729The rest of the text becomes temporarily invisible and untouchable 3730but is not deleted; if you save the buffer in a file, the invisible 3731text is included in the file. \[widen] makes all visible again. 3732See also `save-restriction'. 3733 3734When calling from a program, pass two arguments; positions (integers 3735or markers) bounding the text that should remain visible. 3736 3737(narrow-to-region B E)Fsave-restriction 3738Execute BODY, saving and restoring current buffer's restrictions. 3739The buffer's restrictions make parts of the beginning and end invisible. 3740(They are set up with `narrow-to-region' and eliminated with `widen'.) 3741This special form, `save-restriction', saves the current buffer's restrictions 3742when it is entered, and restores them when it is exited. 3743So any `narrow-to-region' within BODY lasts only until the end of the form. 3744The old restrictions settings are restored 3745even in case of abnormal exit (throw or error). 3746 3747The value returned is the value of the last form in BODY. 3748 3749`save-restriction' can get confused if, within the BODY, you widen 3750and then make changes outside the area within the saved restrictions. 3751 3752Note: if you are using both `save-excursion' and `save-restriction', 3753use `save-excursion' outermost: 3754 (save-excursion (save-restriction ...))Fmessage 3755Print a one-line message at the bottom of the screen. 3756The first argument is a control string. 3757It may contain %s or %d or %c to print successive following arguments. 3758%s means print an argument as a string, %d means print as number in decimal, 3759%c means print a number as a single character. 3760The argument used by %s must be a string or a symbol; 3761the argument used by %d or %c must be a number. 3762If the first argument is nil, clear any existing message; let the 3763minibuffer contents show.Fformat 3764Format a string out of a control-string and arguments. 3765The first argument is a control string. 3766The other arguments are substituted into it to make the result, a string. 3767It may contain %-sequences meaning to substitute the next argument. 3768%s means print a string argument. Actually, prints any object, with `princ'. 3769%d means print as number in decimal (%o octal, %x hex). 3770%c means print a number as a single character. 3771%S means print any object as an s-expression (using prin1). 3772 The argument used for %d, %o, %x or %c must be a number. 3773Use %% to put a single % into the output.Fchar-equal 3774Return t if two characters match, optionally ignoring case. 3775Both arguments must be characters (i.e. integers). 3776Case is ignored if `case-fold-search' is non-nil in the current buffer. 3777 3778(char-equal C1 C2)Ftranspose-regions 3779Transpose region START1 to END1 with START2 to END2. 3780The regions may not be overlapping, because the size of the buffer is 3781never changed in a transposition. 3782 3783Optional fifth arg LEAVE_MARKERS, if non-nil, means don't transpose 3784any markers that happen to be located in the regions. 3785 3786Transposing beyond buffer boundaries is an error. 3787 3788(transpose-regions STARTR1 ENDR1 STARTR2 ENDR2 &optional LEAVE-MARKERS)Finteractive 3789Specify a way of parsing arguments for interactive use of a function. 3790For example, write 3791 (defun foo (arg) "Doc string" (interactive "p") ...use arg...) 3792to make ARG be the prefix argument when `foo' is called as a command. 3793The "call" to `interactive' is actually a declaration rather than a function; 3794 it tells `call-interactively' how to read arguments 3795 to pass to the function. 3796When actually called, `interactive' just returns nil. 3797 3798The argument of `interactive' is usually a string containing a code letter 3799 followed by a prompt. (Some code letters do not use I/O to get 3800 the argument and do not need prompts.) To prompt for multiple arguments, 3801 give a code letter, its prompt, a newline, and another code letter, etc. 3802 Prompts are passed to format, and may use % escapes to print the 3803 arguments that have already been read. 3804If the argument is not a string, it is evaluated to get a list of 3805 arguments to pass to the function. 3806Just `(interactive)' means pass no args when calling interactively. 3807 3808Code letters available are: 3809a -- Function name: symbol with a function definition. 3810b -- Name of existing buffer. 3811B -- Name of buffer, possibly nonexistent. 3812c -- Character. 3813C -- Command name: symbol with interactive function definition. 3814d -- Value of point as number. Does not do I/O. 3815D -- Directory name. 3816e -- Parametrized event (i.e., one that's a list) that invoked this command. 3817 If used more than once, the Nth `e' returns the Nth parameterized event. 3818 This skips events that are integers or symbols. 3819f -- Existing file name. 3820F -- Possibly nonexistent file name. 3821k -- Key sequence (string). 3822m -- Value of mark as number. Does not do I/O. 3823n -- Number read using minibuffer. 3824N -- Prefix arg converted to number, or if none, do like code `n'. 3825p -- Prefix arg converted to number. Does not do I/O. 3826P -- Prefix arg in raw form. Does not do I/O. 3827r -- Region: point and mark as 2 numeric args, smallest first. Does no I/O. 3828s -- Any string. 3829S -- Any symbol. 3830v -- Variable name: symbol that is user-variable-p. 3831x -- Lisp expression read but not evaluated. 3832X -- Lisp expression read and evaluated. 3833In addition, if the string begins with `*' 3834 then an error is signaled if the buffer is read-only. 3835 This happens before reading any arguments. 3836If the string begins with `@', then Emacs searches the key sequence 3837 which invoked the command for its first mouse click (or any other 3838 event which specifies a window), and selects that window before 3839 reading any arguments. You may use both `@' and `*'; they are 3840 processed in the order that they appear. 3841 3842(interactive ARGS)Fcall-interactively 3843Call FUNCTION, reading args according to its interactive calling specs. 3844The function contains a specification of how to do the argument reading. 3845In the case of user-defined functions, this is specified by placing a call 3846to the function `interactive' at the top level of the function body. 3847See `interactive'. 3848 3849Optional second arg RECORD-FLAG non-nil 3850means unconditionally put this command in the command-history. 3851Otherwise, this is done only if an arg is read using the minibuffer. 3852 3853(call-interactively FUNCTION &optional RECORD)Fprefix-numeric-value 3854Return numeric meaning of raw prefix argument ARG. 3855A raw prefix argument is what you get from `(interactive "P")'. 3856Its numeric meaning is what you would get from `(interactive "p")'. 3857 3858(prefix-numeric-value RAW)Vprefix-arg 3859The value of the prefix argument for the next editing command. 3860It may be a number, or the symbol `-' for just a minus sign as arg, 3861or a list whose car is a number for just one or more C-U's 3862or nil if no argument has been specified. 3863 3864You cannot examine this variable to find the argument for this command 3865since it has been set to nil by the time you can look. 3866Instead, you should use the variable `current-prefix-arg', although 3867normally commands can get this prefix argument with (interactive "P").Vcurrent-prefix-arg 3868The value of the prefix argument for this editing command. 3869It may be a number, or the symbol `-' for just a minus sign as arg, 3870or a list whose car is a number for just one or more C-U's 3871or nil if no argument has been specified. 3872This is what `(interactive "P")' returns.Vcommand-history 3873List of recent commands that read arguments from terminal. 3874Each command is represented as a form to evaluate.Vcommand-debug-status 3875Debugging status of current interactive command. 3876Bound each time `call-interactively' is called; 3877may be set by the debugger as a reminder for itself.Vmark-even-if-inactive 3878*Non-nil means you can use the mark even when inactive. 3879This option makes a difference in Transient Mark mode. 3880When the option is non-nil, deactivation of the mark 3881turns off region highlighting, but commands that use the mark 3882behave as if the mark were still active.For 3883Eval args until one of them yields non-nil, then return that value. 3884The remaining args are not evalled at all. 3885If all args return nil, return nil.Fand 3886Eval args until one of them yields nil, then return nil. 3887The remaining args are not evalled at all. 3888If no arg yields nil, return the last arg's value.Fif 3889(if COND THEN ELSE...): if COND yields non-nil, do THEN, else do ELSE... 3890Returns the value of THEN or the value of the last of the ELSE's. 3891THEN must be one expression, but ELSE... can be zero or more expressions. 3892If COND yields nil, and there are no ELSE's, the value is nil.Fcond 3893(cond CLAUSES...): try each clause until one succeeds. 3894Each clause looks like (CONDITION BODY...). CONDITION is evaluated 3895and, if the value is non-nil, this clause succeeds: 3896then the expressions in BODY are evaluated and the last one's 3897value is the value of the cond-form. 3898If no clause succeeds, cond returns nil. 3899If a clause has one element, as in (CONDITION), 3900CONDITION's value if non-nil is returned from the cond-form.Fprogn 3901(progn BODY...): eval BODY forms sequentially and return value of last one.Fprog1 3902(prog1 FIRST BODY...): eval FIRST and BODY sequentially; value from FIRST. 3903The value of FIRST is saved during the evaluation of the remaining args, 3904whose values are discarded.Fprog2 3905(prog1 X Y BODY...): eval X, Y and BODY sequentially; value from Y. 3906The value of Y is saved during the evaluation of the remaining args, 3907whose values are discarded.Fsetq 3908(setq SYM VAL SYM VAL ...): set each SYM to the value of its VAL. 3909The symbols SYM are variables; they are literal (not evaluated). 3910The values VAL are expressions; they are evaluated. 3911Thus, (setq x (1+ y)) sets `x' to the value of `(1+ y)'. 3912The second VAL is not computed until after the first SYM is set, and so on; 3913each VAL can use the new value of variables set earlier in the `setq'. 3914The return value of the `setq' form is the value of the last VAL.Fquote 3915Return the argument, without evaluating it. `(quote x)' yields `x'.Ffunction 3916Like `quote', but preferred for objects which are functions. 3917In byte compilation, `function' causes its argument to be compiled. 3918`quote' cannot do that.Finteractive-p 3919Return t if function in which this appears was called interactively. 3920This means that the function was called with call-interactively (which 3921includes being called as the binding of a key) 3922and input is currently coming from the keyboard (not in keyboard macro). 3923 3924(interactive-p)Fdefun 3925(defun NAME ARGLIST [DOCSTRING] BODY...): define NAME as a function. 3926The definition is (lambda ARGLIST [DOCSTRING] BODY...). 3927See also the function `interactive'.Fdefmacro 3928(defmacro NAME ARGLIST [DOCSTRING] BODY...): define NAME as a macro. 3929The definition is (macro lambda ARGLIST [DOCSTRING] BODY...). 3930When the macro is called, as in (NAME ARGS...), 3931the function (lambda ARGLIST BODY...) is applied to 3932the list ARGS... as it appears in the expression, 3933and the result should be a form to be evaluated instead of the original.Fdefvar 3934(defvar SYMBOL INITVALUE DOCSTRING): define SYMBOL as a variable. 3935You are not required to define a variable in order to use it, 3936but the definition can supply documentation and an initial value 3937in a way that tags can recognize. 3938 3939INITVALUE is evaluated, and used to set SYMBOL, only if SYMBOL's value is void. 3940If SYMBOL is buffer-local, its default value is what is set; 3941 buffer-local values are not affected. 3942INITVALUE and DOCSTRING are optional. 3943If DOCSTRING starts with *, this variable is identified as a user option. 3944 This means that M-x set-variable and M-x edit-options recognize it. 3945If INITVALUE is missing, SYMBOL's value is not set.Fdefconst 3946(defconst SYMBOL INITVALUE DOCSTRING): define SYMBOL as a constant variable. 3947The intent is that programs do not change this value, but users may. 3948Always sets the value of SYMBOL to the result of evalling INITVALUE. 3949If SYMBOL is buffer-local, its default value is what is set; 3950 buffer-local values are not affected. 3951DOCSTRING is optional. 3952If DOCSTRING starts with *, this variable is identified as a user option. 3953 This means that M-x set-variable and M-x edit-options recognize it. 3954 3955Note: do not use `defconst' for user options in libraries that are not 3956normally loaded, since it is useful for users to be able to specify 3957their own values for such variables before loading the library. 3958Since `defconst' unconditionally assigns the variable, 3959it would override the user's choice.Fuser-variable-p 3960Returns t if VARIABLE is intended to be set and modified by users. 3961(The alternative is a variable used internally in a Lisp program.) 3962Determined by whether the first character of the documentation 3963for the variable is "*" 3964 3965(user-variable-p VARIABLE)Flet* 3966(let* VARLIST BODY...): bind variables according to VARLIST then eval BODY. 3967The value of the last form in BODY is returned. 3968Each element of VARLIST is a symbol (which is bound to nil) 3969or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). 3970Each VALUEFORM can refer to the symbols already bound by this VARLIST.Flet 3971(let VARLIST BODY...): bind variables according to VARLIST then eval BODY. 3972The value of the last form in BODY is returned. 3973Each element of VARLIST is a symbol (which is bound to nil) 3974or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM). 3975All the VALUEFORMs are evalled before any symbols are bound.Fwhile 3976(while TEST BODY...): if TEST yields non-nil, eval BODY... and repeat. 3977The order of execution is thus TEST, BODY, TEST, BODY and so on 3978until TEST returns nil.Fmacroexpand 3979Return result of expanding macros at top level of FORM. 3980If FORM is not a macro call, it is returned unchanged. 3981Otherwise, the macro is expanded and the expansion is considered 3982in place of FORM. When a non-macro-call results, it is returned. 3983 3984The second optional arg ENVIRONMENT species an environment of macro 3985definitions to shadow the loaded ones for use in file byte-compilation. 3986 3987(macroexpand FORM &optional ENV)Fcatch 3988(catch TAG BODY...): eval BODY allowing nonlocal exits using `throw'. 3989TAG is evalled to get the tag to use. Then the BODY is executed. 3990Within BODY, (throw TAG) with same tag exits BODY and exits this `catch'. 3991If no throw happens, `catch' returns the value of the last BODY form. 3992If a throw happens, it specifies the value to return from `catch'.Fthrow 3993(throw TAG VALUE): throw to the catch for TAG and return VALUE from it. 3994Both TAG and VALUE are evalled. 3995 3996(throw TAG VAL)Funwind-protect 3997Do BODYFORM, protecting with UNWINDFORMS. 3998Usage looks like (unwind-protect BODYFORM UNWINDFORMS...). 3999If BODYFORM completes normally, its value is returned 4000after executing the UNWINDFORMS. 4001If BODYFORM exits nonlocally, the UNWINDFORMS are executed anyway.Fcondition-case 4002Regain control when an error is signaled. 4003Usage looks like (condition-case VAR BODYFORM HANDLERS...). 4004executes BODYFORM and returns its value if no error happens. 4005Each element of HANDLERS looks like (CONDITION-NAME BODY...) 4006where the BODY is made of Lisp expressions. 4007 4008A handler is applicable to an error 4009if CONDITION-NAME is one of the error's condition names. 4010If an error happens, the first applicable handler is run. 4011 4012The car of a handler may be a list of condition names 4013instead of a single condition name. 4014 4015When a handler handles an error, 4016control returns to the condition-case and the handler BODY... is executed 4017with VAR bound to (SIGNALED-CONDITIONS . SIGNAL-DATA). 4018VAR may be nil; then you do not get access to the signal information. 4019 4020The value of the last BODY form is returned from the condition-case. 4021See also the function `signal' for more info.Fsignal 4022Signal an error. Args are ERROR-SYMBOL and associated DATA. 4023This function does not return. 4024 4025An error symbol is a symbol with an `error-conditions' property 4026that is a list of condition names. 4027A handler for any of those names will get to handle this signal. 4028The symbol `error' should normally be one of them. 4029 4030DATA should be a list. Its elements are printed as part of the error message. 4031If the signal is handled, DATA is made available to the handler. 4032See also the function `condition-case'. 4033 4034(signal ERROR-SYMBOL DATA)Fcommandp 4035T if FUNCTION makes provisions for interactive calling. 4036This means it contains a description for how to read arguments to give it. 4037The value is nil for an invalid function or a symbol with no function 4038definition. 4039 4040Interactively callable functions include strings and vectors (treated 4041as keyboard macros), lambda-expressions that contain a top-level call 4042to `interactive', autoload definitions made by `autoload' with non-nil 4043fourth argument, and some of the built-in functions of Lisp. 4044 4045Also, a symbol satisfies `commandp' if its function definition does so. 4046 4047(commandp FUNCTION)Fautoload 4048Define FUNCTION to autoload from FILE. 4049FUNCTION is a symbol; FILE is a file name string to pass to `load'. 4050Third arg DOCSTRING is documentation for the function. 4051Fourth arg INTERACTIVE if non-nil says function can be called interactively. 4052Fifth arg TYPE indicates the type of the object: 4053 nil or omitted says FUNCTION is a function, 4054 `keymap' says FUNCTION is really a keymap, and 4055 `macro' or t says FUNCTION is really a macro. 4056Third through fifth args give info about the real definition. 4057They default to nil. 4058If FUNCTION is already defined other than as an autoload, 4059this does nothing and returns nil. 4060 4061(autoload FUNCTION FILE &optional DOCSTRING INTERACTIVE TYPE)Feval 4062Evaluate FORM and return its value. 4063 4064(eval FORM)Fapply 4065Call FUNCTION with our remaining args, using our last arg as list of args. 4066Thus, (apply '+ 1 2 '(3 4)) returns 10.Ffuncall 4067Call first argument as a function, passing remaining arguments to it. 4068Thus, (funcall 'cons 'x 'y) returns (x . y).Fbacktrace-debug 4069Set the debug-on-exit flag of eval frame LEVEL levels down to FLAG. 4070The debugger is entered when that frame exits, if the flag is non-nil. 4071 4072(backtrace-debug LEVEL FLAG)Fbacktrace 4073Print a trace of Lisp function calls currently active. 4074Output stream used is value of `standard-output'. 4075 4076(backtrace)Fbacktrace-frame 4077Return the function and arguments N frames up from current execution point. 4078If that frame has not evaluated the arguments yet (or is a special form), 4079the value is (nil FUNCTION ARG-FORMS...). 4080If that frame has evaluated its arguments and called its function already, 4081the value is (t FUNCTION ARG-VALUES...). 4082A &rest arg is represented as the tail of the list ARG-VALUES. 4083FUNCTION is whatever was supplied as car of evaluated list, 4084or a lambda expression for macro calls. 4085If N is more than the number of frames, the value is nil. 4086 4087(backtrace-frame NFRAMES)Vmax-specpdl-size 4088Limit on number of Lisp variable bindings & unwind-protects before error.Vmax-lisp-eval-depth 4089Limit on depth in `eval', `apply' and `funcall' before error. 4090This limit is to catch infinite recursions for you before they cause 4091actual stack overflow in C, which would be fatal for Emacs. 4092You can safely make it considerably larger than its default value, 4093if that proves inconveniently small.Vquit-flag 4094Non-nil causes `eval' to abort, unless `inhibit-quit' is non-nil. 4095Typing C-g sets `quit-flag' non-nil, regardless of `inhibit-quit'.Vinhibit-quit 4096Non-nil inhibits C-g quitting from happening immediately. 4097Note that `quit-flag' will still be set by typing C-g, 4098so a quit will be signalled as soon as `inhibit-quit' is nil. 4099To prevent this happening, set `quit-flag' to nil 4100before making `inhibit-quit' nil.Vstack-trace-on-error 4101*Non-nil means automatically display a backtrace buffer 4102after any error that is handled by the editor command loop. 4103If the value is a list, an error only means to display a backtrace 4104if one of its condition symbols appears in the list.Vdebug-on-error 4105*Non-nil means enter debugger if an error is signaled. 4106Does not apply to errors handled by `condition-case'. 4107If the value is a list, an error only means to enter the debugger 4108if one of its condition symbols appears in the list. 4109See also variable `debug-on-quit'.Vdebug-on-quit 4110*Non-nil means enter debugger if quit is signaled (C-g, for example). 4111Does not apply if quit is handled by a `condition-case'.Vdebug-on-next-call 4112Non-nil means enter debugger before next `eval', `apply' or `funcall'.Vdebugger 4113Function to call to invoke debugger. 4114If due to frame exit, args are `exit' and the value being returned; 4115 this function's value will be returned instead of that. 4116If due to error, args are `error' and a list of the args to `signal'. 4117If due to `apply' or `funcall' entry, one arg, `lambda'. 4118If due to `eval' entry, one arg, t.Vmocklisp-arguments 4119While in a mocklisp function, the list of its unevaluated args.Vrun-hooks 4120Set to the function `run-hooks', if that function has been defined. 4121Otherwise, nil (in a bare Emacs without preloaded Lisp code).Facos 4122Return the inverse cosine of ARG. 4123 4124(acos ARG)Fasin 4125Return the inverse sine of ARG. 4126 4127(asin ARG)Fatan 4128Return the inverse tangent of ARG. 4129 4130(atan ARG)Fcos 4131Return the cosine of ARG. 4132 4133(cos ARG)Fsin 4134Return the sine of ARG. 4135 4136(sin ARG)Ftan 4137Return the tangent of ARG. 4138 4139(tan ARG)Fbessel-j0 4140Return the bessel function j0 of ARG. 4141 4142(bessel-j0 ARG)Fbessel-j1 4143Return the bessel function j1 of ARG. 4144 4145(bessel-j1 ARG)Fbessel-jn 4146Return the order N bessel function output jn of ARG. 4147The first arg (the order) is truncated to an integer. 4148 4149(bessel-jn ARG1 ARG2)Fbessel-y0 4150Return the bessel function y0 of ARG. 4151 4152(bessel-y0 ARG)Fbessel-y1 4153Return the bessel function y1 of ARG. 4154 4155(bessel-y1 ARG)Fbessel-yn 4156Return the order N bessel function output yn of ARG. 4157The first arg (the order) is truncated to an integer. 4158 4159(bessel-yn ARG1 ARG2)Ferf 4160Return the mathematical error function of ARG. 4161 4162(erf ARG)Ferfc 4163Return the complementary error function of ARG. 4164 4165(erfc ARG)Flog-gamma 4166Return the log gamma of ARG. 4167 4168(log-gamma ARG)Fcube-root 4169Return the cube root of ARG. 4170 4171(cube-root ARG)Fexp 4172Return the exponential base e of ARG. 4173 4174(exp ARG)Fexpt 4175Return the exponential X ** Y. 4176 4177(expt ARG1 ARG2)Flog 4178Return the natural logarithm of ARG. 4179If second optional argument BASE is given, return log ARG using that base. 4180 4181(log ARG &optional BASE)Flog10 4182Return the logarithm base 10 of ARG. 4183 4184(log10 ARG)Fsqrt 4185Return the square root of ARG. 4186 4187(sqrt ARG)Facosh 4188Return the inverse hyperbolic cosine of ARG. 4189 4190(acosh ARG)Fasinh 4191Return the inverse hyperbolic sine of ARG. 4192 4193(asinh ARG)Fatanh 4194Return the inverse hyperbolic tangent of ARG. 4195 4196(atanh ARG)Fcosh 4197Return the hyperbolic cosine of ARG. 4198 4199(cosh ARG)Fsinh 4200Return the hyperbolic sine of ARG. 4201 4202(sinh ARG)Ftanh 4203Return the hyperbolic tangent of ARG. 4204 4205(tanh ARG)Fabs 4206Return the absolute value of ARG. 4207 4208(abs ARG)Ffloat 4209Return the floating point number equal to ARG. 4210 4211(float ARG)Flogb 4212Returns largest integer <= the base 2 log of the magnitude of ARG. 4213This is the same as the exponent of a float. 4214 4215(logb ARG)Fceiling 4216Return the smallest integer no less than ARG. (Round toward +inf.) 4217 4218(ceiling ARG)Ffloor 4219Return the largest integer no greater than ARG. (Round towards -inf.) 4220With optional DIVISOR, return the largest integer no greater than ARG/DIVISOR. 4221 4222(floor ARG &optional DIVISOR)Fround 4223Return the nearest integer to ARG. 4224 4225(round ARG)Ftruncate 4226Truncate a floating point number to an int. 4227Rounds the value toward zero. 4228 4229(truncate ARG)Ffceiling 4230Return the smallest integer no less than ARG, as a float. 4231(Round toward +inf.) 4232 4233(fceiling ARG)Fffloor 4234Return the largest integer no greater than ARG, as a float. 4235(Round towards -inf.) 4236 4237(ffloor ARG)Ffround 4238Return the nearest integer to ARG, as a float. 4239 4240(fround ARG)Fftruncate 4241Truncate a floating point number to an integral float value. 4242Rounds the value toward zero. 4243 4244(ftruncate ARG)Fidentity 4245Return the argument unchanged. 4246 4247(identity ARG)Frandom 4248Return a pseudo-random number. 4249On most systems all integers representable in Lisp are equally likely. 4250 This is 24 bits' worth. 4251With argument N, return random number in interval [0,N). 4252With argument t, set the random number seed from the current time and pid. 4253 4254(random &optional LIMIT)Flength 4255Return the length of vector, list or string SEQUENCE. 4256A byte-code function object is also allowed. 4257 4258(length OBJ)Fstring-equal 4259T if two strings have identical contents. 4260Case is significant. 4261Symbols are also allowed; their print names are used instead. 4262 4263(string-equal S1 S2)Fstring-lessp 4264T if first arg string is less than second in lexicographic order. 4265Case is significant. 4266Symbols are also allowed; their print names are used instead. 4267 4268(string-lessp S1 S2)Fappend 4269Concatenate all the arguments and make the result a list. 4270The result is a list whose elements are the elements of all the arguments. 4271Each argument may be a list, vector or string. 4272The last argument is not copied, just used as the tail of the new list.Fconcat 4273Concatenate all the arguments and make the result a string. 4274The result is a string whose elements are the elements of all the arguments. 4275Each argument may be a string, a list of characters (integers), 4276or a vector of characters (integers).Fvconcat 4277Concatenate all the arguments and make the result a vector. 4278The result is a vector whose elements are the elements of all the arguments. 4279Each argument may be a list, vector or string.Fcopy-sequence 4280Return a copy of a list, vector or string. 4281The elements of a list or vector are not copied; they are shared 4282with the original. 4283 4284(copy-sequence ARG)Fcopy-alist 4285Return a copy of ALIST. 4286This is an alist which represents the same mapping from objects to objects, 4287but does not share the alist structure with ALIST. 4288The objects mapped (cars and cdrs of elements of the alist) 4289are shared, however. 4290Elements of ALIST that are not conses are also shared. 4291 4292(copy-alist ALIST)Fsubstring 4293Return a substring of STRING, starting at index FROM and ending before TO. 4294TO may be nil or omitted; then the substring runs to the end of STRING. 4295If FROM or TO is negative, it counts from the end. 4296 4297(substring STRING FROM &optional TO)Fnthcdr 4298Take cdr N times on LIST, returns the result. 4299 4300(nthcdr N LIST)Fnth 4301Return the Nth element of LIST. 4302N counts from zero. If LIST is not that long, nil is returned. 4303 4304(nth N LIST)Felt 4305Return element of SEQUENCE at index N. 4306 4307(elt SEQ N)Fmember 4308Return non-nil if ELT is an element of LIST. Comparison done with `equal'. 4309The value is actually the tail of LIST whose car is ELT. 4310 4311(member ELT LIST)Fmemq 4312Return non-nil if ELT is an element of LIST. Comparison done with EQ. 4313The value is actually the tail of LIST whose car is ELT. 4314 4315(memq ELT LIST)Fassq 4316Return non-nil if KEY is `eq' to the car of an element of LIST. 4317The value is actually the element of LIST whose car is KEY. 4318Elements of LIST that are not conses are ignored. 4319 4320(assq KEY LIST)Fassoc 4321Return non-nil if KEY is `equal' to the car of an element of LIST. 4322The value is actually the element of LIST whose car is KEY. 4323 4324(assoc KEY LIST)Frassq 4325Return non-nil if ELT is `eq' to the cdr of an element of LIST. 4326The value is actually the element of LIST whose cdr is ELT. 4327 4328(rassq KEY LIST)Fdelq 4329Delete by side effect any occurrences of ELT as a member of LIST. 4330The modified LIST is returned. Comparison is done with `eq'. 4331If the first member of LIST is ELT, there is no way to remove it by side effect; 4332therefore, write `(setq foo (delq element foo))' 4333to be sure of changing the value of `foo'. 4334 4335(delq ELT LIST)Fdelete 4336Delete by side effect any occurrences of ELT as a member of LIST. 4337The modified LIST is returned. Comparison is done with `equal'. 4338If the first member of LIST is ELT, deleting it is not a side effect; 4339it is simply using a different list. 4340Therefore, write `(setq foo (delete element foo))' 4341to be sure of changing the value of `foo'. 4342 4343(delete ELT LIST)Fnreverse 4344Reverse LIST by modifying cdr pointers. 4345Returns the beginning of the reversed list. 4346 4347(nreverse LIST)Freverse 4348Reverse LIST, copying. Returns the beginning of the reversed list. 4349See also the function `nreverse', which is used more often. 4350 4351(reverse LIST)Fsort 4352Sort LIST, stably, comparing elements using PREDICATE. 4353Returns the sorted list. LIST is modified by side effects. 4354PREDICATE is called with two elements of LIST, and should return T 4355if the first element is "less" than the second. 4356 4357(sort LIST PRED)Fget 4358Return the value of SYMBOL's PROPNAME property. 4359This is the last VALUE stored with `(put SYMBOL PROPNAME VALUE)'. 4360 4361(get SYM PROP)Fput 4362Store SYMBOL's PROPNAME property with value VALUE. 4363It can be retrieved with `(get SYMBOL PROPNAME)'. 4364 4365(put SYM PROP VAL)Fequal 4366T if two Lisp objects have similar structure and contents. 4367They must have the same data type. 4368Conses are compared by comparing the cars and the cdrs. 4369Vectors and strings are compared element by element. 4370Numbers are compared by value, but integers cannot equal floats. 4371 (Use `=' if you want integers and floats to be able to be equal.) 4372Symbols must match exactly. 4373 4374(equal O1 O2)Ffillarray 4375Store each element of ARRAY with ITEM. ARRAY is a vector or string. 4376 4377(fillarray ARRAY ITEM)Fnconc 4378Concatenate any number of lists by altering them. 4379Only the last argument is not altered, and need not be a list.Fmapconcat 4380Apply FN to each element of SEQ, and concat the results as strings. 4381In between each pair of results, stick in SEP. 4382Thus, " " as SEP results in spaces between the values returned by FN. 4383 4384(mapconcat FN SEQ SEP)Fmapcar 4385Apply FUNCTION to each element of SEQUENCE, and make a list of the results. 4386The result is a list just as long as SEQUENCE. 4387SEQUENCE may be a list, a vector or a string. 4388 4389(mapcar FN SEQ)Fy-or-n-p 4390Ask user a "y or n" question. Return t if answer is "y". 4391Takes one argument, which is the string to display to ask the question. 4392It should end in a space; `y-or-n-p' adds `(y or n) ' to it. 4393No confirmation of the answer is requested; a single character is enough. 4394Also accepts Space to mean yes, or Delete to mean no. 4395 4396(y-or-n-p PROMPT)Fyes-or-no-p 4397Ask user a yes-or-no question. Return t if answer is yes. 4398Takes one argument, which is the string to display to ask the question. 4399It should end in a space; `yes-or-no-p' adds `(yes or no) ' to it. 4400The user must confirm the answer with RET, 4401and can edit it until it as been confirmed. 4402 4403(yes-or-no-p PROMPT)Fload-average 4404Return list of 1 minute, 5 minute and 15 minute load averages. 4405Each of the three load averages is multiplied by 100, 4406then converted to integer. 4407If the 5-minute or 15-minute load averages are not available, return a 4408shortened list, containing only those averages which are available. 4409 4410(load-average)Ffeaturep 4411Returns t if FEATURE is present in this Emacs. 4412Use this to conditionalize execution of lisp code based on the presence or 4413absence of emacs or environment extensions. 4414Use `provide' to declare that a feature is available. 4415This function looks at the value of the variable `features'. 4416 4417(featurep FEATURE)Fprovide 4418Announce that FEATURE is a feature of the current Emacs. 4419 4420(provide FEATURE)Frequire 4421If feature FEATURE is not loaded, load it from FILENAME. 4422If FEATURE is not a member of the list `features', then the feature 4423is not loaded; so load the file FILENAME. 4424If FILENAME is omitted, the printname of FEATURE is used as the file name. 4425 4426(require FEATURE &optional FILE-NAME)Vfeatures 4427A list of symbols which are the features of the executing emacs. 4428Used by `featurep' and `require', and altered by `provide'.Fwrite-char 4429Output character CHAR to stream PRINTCHARFUN. 4430PRINTCHARFUN defaults to the value of `standard-output' (which see). 4431 4432(write-char CH &optional PRINTCHARFUN)Fwith-output-to-temp-buffer 4433Bind `standard-output' to buffer BUFNAME, eval BODY, then show that buffer. 4434The buffer is cleared out initially, and marked as unmodified when done. 4435All output done by BODY is inserted in that buffer by default. 4436The buffer is displayed in another window, but not selected. 4437The value of the last form in BODY is returned. 4438If BODY does not finish normally, the buffer BUFNAME is not displayed. 4439 4440If variable `temp-buffer-show-function' is non-nil, call it at the end 4441to get the buffer displayed. It gets one argument, the buffer to display.Fterpri 4442Output a newline to stream PRINTCHARFUN. 4443If PRINTCHARFUN is omitted or nil, the value of `standard-output' is used. 4444 4445(terpri &optional PRINTCHARFUN)Fprin1 4446Output the printed representation of OBJECT, any Lisp object. 4447Quoting characters are printed when needed to make output that `read' 4448can handle, whenever this is possible. 4449Output stream is PRINTCHARFUN, or value of `standard-output' (which see). 4450 4451(prin1 OBJ &optional PRINTCHARFUN)Fprin1-to-string 4452Return a string containing the printed representation of OBJECT, 4453any Lisp object. Quoting characters are used when needed to make output 4454that `read' can handle, whenever this is possible, unless the optional 4455second argument NOESCAPE is non-nil. 4456 4457(prin1-to-string OBJ &optional NOESCAPE)Fprinc 4458Output the printed representation of OBJECT, any Lisp object. 4459No quoting characters are used; no delimiters are printed around 4460the contents of strings. 4461Output stream is PRINTCHARFUN, or value of standard-output (which see). 4462 4463(princ OBJ &optional PRINTCHARFUN)Fprint 4464Output the printed representation of OBJECT, with newlines around it. 4465Quoting characters are printed when needed to make output that `read' 4466can handle, whenever this is possible. 4467Output stream is PRINTCHARFUN, or value of `standard-output' (which see). 4468 4469(print OBJ &optional PRINTCHARFUN)Fexternal-debugging-output 4470Write CHARACTER to stderr. 4471You can call print while debugging emacs, and pass it this function 4472to make it write to the debugging output. 4473 4474 4475(external-debugging-output CHARACTER)Vstandard-output 4476Output stream `print' uses by default for outputting a character. 4477This may be any function of one argument. 4478It may also be a buffer (output is inserted before point) 4479or a marker (output is inserted and the marker is advanced) 4480or the symbol t (output appears in the minibuffer line).Vfloat-output-format 4481The format descriptor string used to print floats. 4482This is a %-spec like those accepted by `printf' in C, 4483but with some restrictions. It must start with the two characters `%.'. 4484After that comes an integer precision specification, 4485and then a letter which controls the format. 4486The letters allowed are `e', `f' and `g'. 4487Use `e' for exponential notation "DIG.DIGITSeEXPT" 4488Use `f' for decimal point notation "DIGITS.DIGITS". 4489Use `g' to choose the shorter of those two formats for the number at hand. 4490The precision in any of these cases is the number of digits following 4491the decimal point. With `f', a precision of 0 means to omit the 4492decimal point. 0 is not allowed with `e' or `g'. 4493 4494A value of nil means to use `%.17g'.Vprint-length 4495Maximum length of list to print before abbreviating. 4496A value of nil means no limit.Vprint-level 4497Maximum depth of list nesting to print before abbreviating. 4498A value of nil means no limit.Vprint-escape-newlines 4499Non-nil means print newlines in strings as backslash-n. 4500Also print formfeeds as backslash-f.Fread-char 4501Read a character from the command input (keyboard or macro). 4502It is returned as a number. 4503If the user generates an event which is not a character (i.e. a mouse 4504click or function key event), `read-char' signals an error. As an 4505exception, switch-frame events are put off until non-ASCII events can 4506be read. 4507If you want to read non-character events, or ignore them, call 4508`read-event' or `read-char-exclusive' instead. 4509 4510(read-char)Fread-event 4511Read an event object from the input stream. 4512 4513(read-event)Fread-char-exclusive 4514Read a character from the command input (keyboard or macro). 4515It is returned as a number. Non character events are ignored. 4516 4517(read-char-exclusive)Fget-file-char 4518Don't use this yourself. 4519 4520(get-file-char)Fload 4521Execute a file of Lisp code named FILE. 4522First try FILE with `.elc' appended, then try with `.el', 4523 then try FILE unmodified. 4524This function searches the directories in `load-path'. 4525If optional second arg NOERROR is non-nil, 4526 report no error if FILE doesn't exist. 4527Print messages at start and end of loading unless 4528 optional third arg NOMESSAGE is non-nil. 4529If optional fourth arg NOSUFFIX is non-nil, don't try adding 4530 suffixes `.elc' or `.el' to the specified name FILE. 4531Return t if file exists. 4532 4533(load STR &optional NOERROR NOMESSAGE NOSUFFIX)Feval-buffer 4534Execute the current buffer as Lisp code. 4535Programs can pass two arguments, BUFFER and PRINTFLAG. 4536BUFFER is the buffer to evaluate (nil means use current buffer). 4537PRINTFLAG controls printing of output: 4538nil means discard it; anything else is stream for print. 4539 4540If there is no error, point does not move. If there is an error, 4541point remains at the end of the last character read from the buffer. 4542 4543(eval-buffer &optional BUFNAME PRINTFLAG)Feval-current-buffer 4544Execute the current buffer as Lisp code. 4545Programs can pass argument PRINTFLAG which controls printing of output: 4546nil means discard it; anything else is stream for print. 4547 4548If there is no error, point does not move. If there is an error, 4549point remains at the end of the last character read from the buffer. 4550 4551(eval-current-buffer &optional PRINTFLAG)Feval-region 4552Execute the region as Lisp code. 4553When called from programs, expects two arguments, 4554giving starting and ending indices in the current buffer 4555of the text to be executed. 4556Programs can pass third argument PRINTFLAG which controls output: 4557nil means discard it; anything else is stream for printing it. 4558 4559If there is no error, point does not move. If there is an error, 4560point remains at the end of the last character read from the buffer. 4561 4562(eval-region B E &optional PRINTFLAG)Fread 4563Read one Lisp expression as text from STREAM, return as Lisp object. 4564If STREAM is nil, use the value of `standard-input' (which see). 4565STREAM or the value of `standard-input' may be: 4566 a buffer (read from point and advance it) 4567 a marker (read from where it points and advance it) 4568 a function (call it with no arguments for each character, 4569 call it with a char as argument to push a char back) 4570 a string (takes text from string, starting at the beginning) 4571 t (read text line using minibuffer and use it). 4572 4573(read &optional READCHARFUN)Fread-from-string 4574Read one Lisp expression which is represented as text by STRING. 4575Returns a cons: (OBJECT-READ . FINAL-STRING-INDEX). 4576START and END optionally delimit a substring of STRING from which to read; 4577 they default to 0 and (length STRING) respectively. 4578 4579(read-from-string STRING &optional START END)Fintern 4580Return the canonical symbol whose name is STRING. 4581If there is none, one is created by this function and returned. 4582A second optional argument specifies the obarray to use; 4583it defaults to the value of `obarray'. 4584 4585(intern STR &optional OBARRAY)Fintern-soft 4586Return the canonical symbol whose name is STRING, or nil if none exists. 4587A second optional argument specifies the obarray to use; 4588it defaults to the value of `obarray'. 4589 4590(intern-soft STR &optional OBARRAY)Fmapatoms 4591Call FUNCTION on every symbol in OBARRAY. 4592OBARRAY defaults to the value of `obarray'. 4593 4594(mapatoms FUNCTION &optional OBARRAY)Vobarray 4595Symbol table for use by `intern' and `read'. 4596It is a vector whose length ought to be prime for best results. 4597The vector's contents don't make sense if examined from Lisp programs; 4598to find all the symbols in an obarray, use `mapatoms'.Vvalues 4599List of values of all expressions which were read, evaluated and printed. 4600Order is reverse chronological.Vstandard-input 4601Stream for read to get input from. 4602See documentation of `read' for possible values.Vload-path 4603*List of directories to search for files to load. 4604Each element is a string (directory name) or nil (try default directory). 4605Initialized based on EMACSLOADPATH environment variable, if any, 4606otherwise to default specified by file `paths.h' when Emacs was built.Vload-in-progress 4607Non-nil iff inside of `load'.Vafter-load-alist 4608An alist of expressions to be evalled when particular files are loaded. 4609Each element looks like (FILENAME FORMS...). 4610When `load' is run and the file-name argument is FILENAME, 4611the FORMS in the corresponding element are executed at the end of loading. 4612 4613FILENAME must match exactly! Normally FILENAME is the name of a library, 4614with no directory specified, since that is how `load' is normally called. 4615An error in FORMS does not undo the load, 4616but does prevent execution of the rest of the FORMS.Vload-history 4617Alist mapping source file names to symbols and features. 4618Each alist element is a list that starts with a file name, 4619except for one element (optional) that starts with nil and describes 4620definitions evaluated from buffers not visiting files. 4621The remaining elements of each list are symbols defined as functions 4622or variables, and cons cells `(provide . FEATURE)' and `(require . FEATURE)'.Vcurrent-load-list 4623Used for internal purposes by `load'.Fmake-abbrev-table 4624Create a new, empty abbrev table object. 4625 4626(make-abbrev-table)Fclear-abbrev-table 4627Undefine all abbrevs in abbrev table TABLE, leaving it empty. 4628 4629(clear-abbrev-table TABLE)Fdefine-abbrev 4630Define an abbrev in TABLE named NAME, to expand to EXPANSION and call HOOK. 4631NAME and EXPANSION are strings. 4632To undefine an abbrev, define it with EXPANSION = nil. 4633If HOOK is non-nil, it should be a function of no arguments; 4634it is called after EXPANSION is inserted. 4635 4636(define-abbrev TABLE NAME EXPANSION &optional HOOK COUNT)Fdefine-global-abbrev 4637Define ABBREV as a global abbreviation for EXPANSION. 4638 4639(define-global-abbrev NAME EXPANSION)Fdefine-mode-abbrev 4640Define ABBREV as a mode-specific abbreviation for EXPANSION. 4641 4642(define-mode-abbrev NAME EXPANSION)Fabbrev-symbol 4643Return the symbol representing abbrev named ABBREV. 4644This symbol's name is ABBREV, but it is not the canonical symbol of that name; 4645it is interned in an abbrev-table rather than the normal obarray. 4646The value is nil if that abbrev is not defined. 4647Optional second arg TABLE is abbrev table to look it up in. 4648The default is to try buffer's mode-specific abbrev table, then global table. 4649 4650(abbrev-symbol ABBREV &optional TABLE)Fabbrev-expansion 4651Return the string that ABBREV expands into in the current buffer. 4652Optionally specify an abbrev table as second arg; 4653then ABBREV is looked up in that table only. 4654 4655(abbrev-expansion ABBREV &optional TABLE)Fexpand-abbrev 4656Expand the abbrev before point, if there is an abbrev there. 4657Effective when explicitly called even when `abbrev-mode' is nil. 4658Returns t if expansion took place. 4659 4660(expand-abbrev)Funexpand-abbrev 4661Undo the expansion of the last abbrev that expanded. 4662This differs from ordinary undo in that other editing done since then 4663is not undone. 4664 4665(unexpand-abbrev)Finsert-abbrev-table-description 4666Insert before point a full description of abbrev table named NAME. 4667NAME is a symbol whose value is an abbrev table. 4668If optional 2nd arg HUMAN is non-nil, a human-readable description is inserted. 4669Otherwise the description is an expression, 4670a call to `define-abbrev-table', which would 4671define the abbrev table NAME exactly as it is currently defined. 4672 4673(insert-abbrev-table-description NAME &optional READABLE)Fdefine-abbrev-table 4674Define TABNAME (a symbol) as an abbrev table name. 4675Define abbrevs in it according to DEFINITIONS, which is a list of elements 4676of the form (ABBREVNAME EXPANSION HOOK USECOUNT). 4677 4678(define-abbrev-table TABNAME DEFNS)Vabbrev-table-name-list 4679List of symbols whose values are abbrev tables.Vglobal-abbrev-table 4680The abbrev table whose abbrevs affect all buffers. 4681Each buffer may also have a local abbrev table. 4682If it does, the local table overrides the global one 4683for any particular abbrev defined in both.Vfundamental-mode-abbrev-table 4684The abbrev table of mode-specific abbrevs for Fundamental Mode.Vlast-abbrev 4685The abbrev-symbol of the last abbrev expanded. See `abbrev-symbol'.Vlast-abbrev-text 4686The exact text of the last abbrev expanded. 4687nil if the abbrev has already been unexpanded.Vlast-abbrev-location 4688The location of the start of the last abbrev expanded.Vabbrev-start-location 4689Buffer position for `expand-abbrev' to use as the start of the abbrev. 4690nil means use the word before point as the abbrev. 4691Calling `expand-abbrev' sets this to nil.Vabbrev-start-location-buffer 4692Buffer that `abbrev-start-location' has been set for. 4693Trying to expand an abbrev in any other buffer clears `abbrev-start-location'.Vlocal-abbrev-table 4694Local (mode-specific) abbrev table of current buffer.Vabbrevs-changed 4695Set non-nil by defining or altering any word abbrevs. 4696This causes `save-some-buffers' to offer to save the abbrevs.Vabbrev-all-caps 4697*Set non-nil means expand multi-word abbrevs all caps if abbrev was so.Vpre-abbrev-expand-hook 4698Function or functions to be called before abbrev expansion is done. 4699This is the first thing that `expand-abbrev' does, and so this may change 4700the current abbrev table before abbrev lookup happens.Fsyntax-table-p 4701Return t if ARG is a syntax table. 4702Any vector of 256 elements will do. 4703 4704(syntax-table-p OBJ)Fsyntax-table 4705Return the current syntax table. 4706This is the one specified by the current buffer. 4707 4708(syntax-table)Fstandard-syntax-table 4709Return the standard syntax table. 4710This is the one used for new buffers. 4711 4712(standard-syntax-table)Fcopy-syntax-table 4713Construct a new syntax table and return it. 4714It is a copy of the TABLE, which defaults to the standard syntax table. 4715 4716(copy-syntax-table &optional TABLE)Fset-syntax-table 4717Select a new syntax table for the current buffer. 4718One argument, a syntax table. 4719 4720(set-syntax-table TABLE)Fchar-syntax 4721Return the syntax code of CHAR, described by a character. 4722For example, if CHAR is a word constituent, the character `?w' is returned. 4723The characters that correspond to various syntax codes 4724are listed in the documentation of `modify-syntax-entry'. 4725 4726(char-syntax CH)Fmodify-syntax-entry 4727Set syntax for character CHAR according to string S. 4728The syntax is changed only for table TABLE, which defaults to 4729 the current buffer's syntax table. 4730The first character of S should be one of the following: 4731 Space or - whitespace syntax. w word constituent. 4732 _ symbol constituent. . punctuation. 4733 ( open-parenthesis. ) close-parenthesis. 4734 " string quote. \ escape. 4735 $ paired delimiter. ' expression quote or prefix operator. 4736 < comment starter. > comment ender. 4737 / character-quote. @ inherit from `standard-syntax-table'. 4738 4739Only single-character comment start and end sequences are represented thus. 4740Two-character sequences are represented as described below. 4741The second character of S is the matching parenthesis, 4742 used only if the first character is `(' or `)'. 4743Any additional characters are flags. 4744Defined flags are the characters 1, 2, 3, 4, b, and p. 4745 1 means C is the start of a two-char comment start sequence. 4746 2 means C is the second character of such a sequence. 4747 3 means C is the start of a two-char comment end sequence. 4748 4 means C is the second character of such a sequence. 4749 4750There can be up to two orthogonal comment sequences. This is to support 4751language modes such as C++. By default, all comment sequences are of style 4752a, but you can set the comment sequence style to b (on the second character 4753of a comment-start, or the first character of a comment-end sequence) using 4754this flag: 4755 b means C is part of comment sequence b. 4756 4757 p means C is a prefix character for `backward-prefix-chars'; 4758 such characters are treated as whitespace when they occur 4759 between expressions. 4760 4761(modify-syntax-entry CHAR S &optional TABLE)Fdescribe-syntax 4762Describe the syntax specifications in the syntax table. 4763The descriptions are inserted in a buffer, which is then displayed. 4764 4765(describe-syntax)Fforward-word 4766Move point forward ARG words (backward if ARG is negative). 4767Normally returns t. 4768If an edge of the buffer is reached, point is left there 4769and nil is returned. 4770 4771(forward-word COUNT)Fforward-comment 4772Move forward across up to N comments. If N is negative, move backward. 4773Stop scanning if we find something other than a comment or whitespace. 4774Set point to where scanning stops. 4775If N comments are found as expected, with nothing except whitespace 4776between them, return t; otherwise return nil. 4777 4778(forward-comment COUNT)Fscan-lists 4779Scan from character number FROM by COUNT lists. 4780Returns the character number of the position thus found. 4781 4782If DEPTH is nonzero, paren depth begins counting from that value, 4783only places where the depth in parentheses becomes zero 4784are candidates for stopping; COUNT such places are counted. 4785Thus, a positive value for DEPTH means go out levels. 4786 4787Comments are ignored if `parse-sexp-ignore-comments' is non-nil. 4788 4789If the beginning or end of (the accessible part of) the buffer is reached 4790and the depth is wrong, an error is signaled. 4791If the depth is right but the count is not used up, nil is returned. 4792 4793(scan-lists FROM COUNT DEPTH)Fscan-sexps 4794Scan from character number FROM by COUNT balanced expressions. 4795If COUNT is negative, scan backwards. 4796Returns the character number of the position thus found. 4797 4798Comments are ignored if `parse-sexp-ignore-comments' is non-nil. 4799 4800If the beginning or end of (the accessible part of) the buffer is reached 4801in the middle of a parenthetical grouping, an error is signaled. 4802If the beginning or end is reached between groupings 4803but before count is used up, nil is returned. 4804 4805(scan-sexps FROM COUNT)Fbackward-prefix-chars 4806Move point backward over any number of chars with prefix syntax. 4807This includes chars with "quote" or "prefix" syntax (' or p). 4808 4809(backward-prefix-chars)Fparse-partial-sexp 4810Parse Lisp syntax starting at FROM until TO; return status of parse at TO. 4811Parsing stops at TO or when certain criteria are met; 4812 point is set to where parsing stops. 4813If fifth arg STATE is omitted or nil, 4814 parsing assumes that FROM is the beginning of a function. 4815Value is a list of eight elements describing final state of parsing: 4816 0. depth in parens. 4817 1. character address of start of innermost containing list; nil if none. 4818 2. character address of start of last complete sexp terminated. 4819 3. non-nil if inside a string. 4820 (it is the character that will terminate the string.) 4821 4. t if inside a comment. 4822 5. t if following a quote character. 4823 6. the minimum paren-depth encountered during this scan. 4824 7. t if in a comment of style `b'. 4825If third arg TARGETDEPTH is non-nil, parsing stops if the depth 4826in parentheses becomes equal to TARGETDEPTH. 4827Fourth arg STOPBEFORE non-nil means stop when come to 4828 any character that starts a sexp. 4829Fifth arg STATE is an eight-list like what this function returns. 4830It is used to initialize the state of the parse. Its second and third 4831elements are ignored. 4832Sixth args COMMENTSTOP non-nil means stop at the start of a comment. 4833 4834(parse-partial-sexp FROM TO &optional TARGETDEPTH STOPBEFORE STATE COMMENTSTOP)Vparse-sexp-ignore-comments 4835Non-nil means `forward-sexp', etc., should treat comments as whitespace.Vwords-include-escapes 4836Non-nil means `forward-word', etc., should treat escape chars part of words.Fml-if 4837Mocklisp version of `if'.Fml-nargs 4838Number of arguments to currently executing mocklisp function. 4839 4840(ml-nargs)Fml-arg 4841Argument number N to currently executing mocklisp function. 4842 4843(ml-arg N &optional PROMPT)Fml-interactive 4844True if currently executing mocklisp function was called interactively. 4845 4846(ml-interactive)Fml-provide-prefix-argument 4847Evaluate second argument, using first argument as prefix arg value.Fml-prefix-argument-loop 4848Fml-substr 4849Return a substring of STRING, starting at index FROM and of length LENGTH. 4850If either FROM or LENGTH is negative, the length of STRING is added to it. 4851 4852(ml-substr STRING FROM TO)Finsert-string 4853Mocklisp-compatibility insert function. 4854Like the function `insert' except that any argument that is a number 4855is converted into a string by expressing it in decimal.Fbyte-code 4856Function used internally in byte-compiled code. 4857The first argument is a string of byte code; the second, a vector of constants; 4858the third, the maximum stack depth used in this function. 4859If the third argument is incorrect, Emacs may crash. 4860 4861(byte-code BYTESTR VECTOR MAXDEPTH)Vbyte-code-meter 4862A vector of vectors which holds a histogram of byte-code usage. 4863(aref (aref byte-code-meter 0) CODE) indicates how many times the byte 4864opcode CODE has been executed. 4865(aref (aref byte-code-meter CODE1) CODE2), where CODE1 is not 0, 4866indicates how many times the byte opcodes CODE1 and CODE2 have been 4867executed in succession.Vbyte-metering-on 4868If non-nil, keep profiling information on byte code usage. 4869The variable byte-code-meter indicates how often each byte opcode is used. 4870If a symbol has a property named `byte-code-meter' whose value is an 4871integer, it is incremented each time that symbol's function is called.Fprocessp 4872Return t if OBJECT is a process. 4873 4874(processp OBJ)Fget-process 4875Return the process named NAME, or nil if there is none. 4876 4877(get-process NAME)Fget-buffer-process 4878Return the (or, a) process associated with BUFFER. 4879BUFFER may be a buffer or the name of one. 4880 4881(get-buffer-process NAME)Fdelete-process 4882Delete PROCESS: kill it and forget about it immediately. 4883PROCESS may be a process, a buffer, the name of a process or buffer, or 4884nil, indicating the current buffer's process. 4885 4886(delete-process PROC)Fprocess-status 4887Return the status of PROCESS: a symbol, one of these: 4888run -- for a process that is running. 4889stop -- for a process stopped but continuable. 4890exit -- for a process that has exited. 4891signal -- for a process that has got a fatal signal. 4892open -- for a network stream connection that is open. 4893closed -- for a network stream connection that is closed. 4894nil -- if arg is a process name and no such process exists. 4895PROCESS may be a process, a buffer, the name of a process or buffer, or 4896nil, indicating the current buffer's process. 4897 4898(process-status PROC)Fprocess-exit-status 4899Return the exit status of PROCESS or the signal number that killed it. 4900If PROCESS has not yet exited or died, return 0. 4901 4902(process-exit-status PROC)Fprocess-id 4903Return the process id of PROCESS. 4904This is the pid of the Unix process which PROCESS uses or talks to. 4905For a network connection, this value is nil. 4906 4907(process-id PROC)Fprocess-name 4908Return the name of PROCESS, as a string. 4909This is the name of the program invoked in PROCESS, 4910possibly modified to make it unique among process names. 4911 4912(process-name PROC)Fprocess-command 4913Return the command that was executed to start PROCESS. 4914This is a list of strings, the first string being the program executed 4915and the rest of the strings being the arguments given to it. 4916For a non-child channel, this is nil. 4917 4918(process-command PROC)Fset-process-buffer 4919Set buffer associated with PROCESS to BUFFER (a buffer, or nil). 4920 4921(set-process-buffer PROC BUFFER)Fprocess-buffer 4922Return the buffer PROCESS is associated with. 4923Output from PROCESS is inserted in this buffer 4924unless PROCESS has a filter. 4925 4926(process-buffer PROC)Fprocess-mark 4927Return the marker for the end of the last output from PROCESS. 4928 4929(process-mark PROC)Fset-process-filter 4930Give PROCESS the filter function FILTER; nil means no filter. 4931t means stop accepting output from the process. 4932When a process has a filter, each time it does output 4933the entire string of output is passed to the filter. 4934The filter gets two arguments: the process and the string of output. 4935If the process has a filter, its buffer is not used for output. 4936 4937(set-process-filter PROC FILTER)Fprocess-filter 4938Returns the filter function of PROCESS; nil if none. 4939See `set-process-filter' for more info on filter functions. 4940 4941(process-filter PROC)Fset-process-sentinel 4942Give PROCESS the sentinel SENTINEL; nil for none. 4943The sentinel is called as a function when the process changes state. 4944It gets two arguments: the process, and a string describing the change. 4945 4946(set-process-sentinel PROC SENTINEL)Fprocess-sentinel 4947Return the sentinel of PROCESS; nil if none. 4948See `set-process-sentinel' for more info on sentinels. 4949 4950(process-sentinel PROC)Fset-process-window-size 4951Tell PROCESS that it has logical window size HEIGHT and WIDTH. 4952 4953(set-process-window-size PROC HEIGHT WIDTH)Fprocess-kill-without-query 4954Say no query needed if PROCESS is running when Emacs is exited. 4955Optional second argument if non-nil says to require a query. 4956Value is t if a query was formerly required. 4957 4958(process-kill-without-query PROC &optional VALUE)Fprocess-connection 4959Return the connection type of `PROCESS'. 4960The value is `nil' for a pipe, 4961`t' or `pty' for a pty, or `stream' for a socket connection. 4962 4963(process-connection PROCESS)Flist-processes 4964Display a list of all processes. 4965(Any processes listed as Exited or Signaled are actually eliminated 4966after the listing is made.) 4967 4968(list-processes)Fprocess-list 4969Return a list of all processes. 4970 4971(process-list)Fstart-process 4972Start a program in a subprocess. Return the process object for it. 4973Args are NAME BUFFER PROGRAM &rest PROGRAM-ARGS 4974NAME is name for process. It is modified if necessary to make it unique. 4975BUFFER is the buffer or (buffer-name) to associate with the process. 4976 Process output goes at end of that buffer, unless you specify 4977 an output stream or filter function to handle the output. 4978 BUFFER may be also nil, meaning that this process is not associated 4979 with any buffer 4980Third arg is program file name. It is searched for as in the shell. 4981Remaining arguments are strings to give program as arguments.Fopen-network-stream 4982Open a TCP connection for a service to a host. 4983Returns a subprocess-object to represent the connection. 4984Input and output work as for subprocesses; `delete-process' closes it. 4985Args are NAME BUFFER HOST SERVICE. 4986NAME is name for process. It is modified if necessary to make it unique. 4987BUFFER is the buffer (or buffer-name) to associate with the process. 4988 Process output goes at end of that buffer, unless you specify 4989 an output stream or filter function to handle the output. 4990 BUFFER may be also nil, meaning that this process is not associated 4991 with any buffer 4992Third arg is name of the host to connect to, or its IP address. 4993Fourth arg SERVICE is name of the service desired, or an integer 4994 specifying a port number to connect to. 4995 4996(open-network-stream NAME BUFFER HOST SERVICE)Faccept-process-output 4997Allow any pending output from subprocesses to be read by Emacs. 4998It is read into the process' buffers or given to their filter functions. 4999Non-nil arg PROCESS means do not return until some output has been received 5000from PROCESS. 5001Non-nil second arg TIMEOUT and third arg TIMEOUT-MSECS are number of 5002seconds and microseconds to wait; return after that much time whether 5003or not there is input. 5004Return non-nil iff we received any output before the timeout expired. 5005 5006(accept-process-output &optional PROC TIMEOUT TIMEOUT-MSECS)Fwaiting-for-user-input-p 5007Returns non-nil if emacs is waiting for input from the user. 5008This is intended for use by asynchronous process output filters and sentinels. 5009 5010(waiting-for-user-input-p)Fprocess-send-region 5011Send current contents of region as input to PROCESS. 5012PROCESS may be a process, a buffer, the name of a process or buffer, or 5013nil, indicating the current buffer's process. 5014Called from program, takes three arguments, PROCESS, START and END. 5015If the region is more than 500 characters long, 5016it is sent in several bunches. This may happen even for shorter regions. 5017Output from processes can arrive in between bunches. 5018 5019(process-send-region PROCESS START END)Fprocess-send-string 5020Send PROCESS the contents of STRING as input. 5021PROCESS may be a process, a buffer, the name of a process or buffer, or 5022nil, indicating the current buffer's process. 5023If STRING is more than 500 characters long, 5024it is sent in several bunches. This may happen even for shorter strings. 5025Output from processes can arrive in between bunches. 5026 5027(process-send-string PROCESS STRING)Finterrupt-process 5028Interrupt process PROCESS. May be process or name of one. 5029PROCESS may be a process, a buffer, or the name of a process or buffer. 5030nil or no arg means current buffer's process. 5031Second arg CURRENT-GROUP non-nil means send signal to 5032the current process-group of the process's controlling terminal 5033rather than to the process's own process group. 5034If the process is a shell, this means interrupt current subjob 5035rather than the shell. 5036 5037(interrupt-process &optional PROCESS CURRENT-GROUP)Fkill-process 5038Kill process PROCESS. May be process or name of one. 5039See function `interrupt-process' for more details on usage. 5040 5041(kill-process &optional PROCESS CURRENT-GROUP)Fquit-process 5042Send QUIT signal to process PROCESS. May be process or name of one. 5043See function `interrupt-process' for more details on usage. 5044 5045(quit-process &optional PROCESS CURRENT-GROUP)Fstop-process 5046Stop process PROCESS. May be process or name of one. 5047See function `interrupt-process' for more details on usage. 5048 5049(stop-process &optional PROCESS CURRENT-GROUP)Fcontinue-process 5050Continue process PROCESS. May be process or name of one. 5051See function `interrupt-process' for more details on usage. 5052 5053(continue-process &optional PROCESS CURRENT-GROUP)Fsignal-process 5054Send the process with number PID the signal with code CODE. 5055Both PID and CODE are integers. 5056 5057(signal-process PID SIG)Fprocess-send-eof 5058Make PROCESS see end-of-file in its input. 5059Eof comes after any text already sent to it. 5060PROCESS may be a process, a buffer, the name of a process or buffer, or 5061nil, indicating the current buffer's process. 5062 5063(process-send-eof &optional PROCESS)Vdelete-exited-processes 5064*Non-nil means delete processes immediately when they exit. 5065nil means don't delete them until `list-processes' is run.Vprocess-connection-type 5066Control type of device used to communicate with subprocesses. 5067Values are nil to use a pipe, or t or `pty' to use a pty. 5068The value has no effect if the system has no ptys or if all ptys are busy: 5069then a pipe is used in any case. 5070The value takes effect when `start-process' is called.Fcall-process 5071Call PROGRAM synchronously in separate process. 5072The program's input comes from file INFILE (nil means `/dev/null'). 5073Insert output in BUFFER before point; t means current buffer; 5074 nil for BUFFER means discard it; 0 means discard and don't wait. 5075Fourth arg DISPLAY non-nil means redisplay buffer as output is inserted. 5076Remaining arguments are strings passed as command arguments to PROGRAM. 5077If BUFFER is 0, returns immediately with value nil. 5078Otherwise waits for PROGRAM to terminate 5079and returns a numeric exit status or a signal description string. 5080If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.Fcall-process-region 5081Send text from START to END to a synchronous process running PROGRAM. 5082Delete the text if fourth arg DELETE is non-nil. 5083Insert output in BUFFER before point; t means current buffer; 5084 nil for BUFFER means discard it; 0 means discard and don't wait. 5085Sixth arg DISPLAY non-nil means redisplay buffer as output is inserted. 5086Remaining args are passed to PROGRAM at startup as command args. 5087If BUFFER is nil, returns immediately with value nil. 5088Otherwise waits for PROGRAM to terminate 5089and returns a numeric exit status or a signal description string. 5090If you quit, the process is killed with SIGINT, or SIGKILL if you quit again.Fgetenv 5091Return the value of environment variable VAR, as a string. 5092VAR should be a string. Value is nil if VAR is undefined in the environment. 5093This function consults the variable ``process-environment'' for its value. 5094 5095(getenv VAR)Vbinary-process-input 5096*If non-nil then new subprocesses are assumed to take binary input.Vbinary-process-output 5097*If non-nil then new subprocesses are assumed to produce binary output.Vshell-file-name 5098*File name to load inferior shells from. 5099Initialized from the SHELL environment variable.Vexec-path 5100*List of directories to search programs to run in subprocesses. 5101Each element is a string (directory name) or nil (try default directory).Vexec-directory 5102Directory of architecture-dependent files that come with GNU Emacs, 5103especially executable programs intended for Emacs to invoke.Vdata-directory 5104Directory of architecture-independent files that come with GNU Emacs, 5105intended for Emacs to use.Vdoc-directory 5106Directory containing the DOC file that comes with GNU Emacs. 5107This is usually the same as data-directory.Vconfigure-info-directory 5108For internal use by the build procedure only. 5109This is the name of the directory in which the build procedure installed 5110Emacs's info files; the default value for Info-default-directory-list 5111includes this.Vprocess-environment 5112List of environment variables for subprocesses to inherit. 5113Each element should be a string of the form ENVVARNAME=VALUE. 5114The environment which Emacs inherits is placed in this variable 5115when Emacs starts.Fsun-window-init 5116One time setup for using Sun Windows with mouse. 5117Unless optional argument FORCE is non-nil, is a noop after its first call. 5118Returns a number representing the file descriptor of the open Sun Window, 5119or -1 if can not open it. 5120 5121(sun-window-init &optional FORCE)Fsit-for-millisecs 5122Like sit-for, but ARG is milliseconds. 5123Perform redisplay, then wait for ARG milliseconds or until 5124input is available. Returns t if wait completed with no input. 5125Redisplay does not happen if input is available before it starts. 5126 5127(sit-for-millisecs N)Fsleep-for-millisecs 5128Pause, without updating display, for ARG milliseconds. 5129 5130(sleep-for-millisecs N)Fupdate-display 5131Perform redisplay. 5132 5133(update-display)Fsun-change-cursor-icon 5134Change the Sun mouse cursor icon. ICON is a lisp vector whose 1st element 5135is the X offset of the cursor hot-point, whose 2nd element is the Y offset 5136of the cursor hot-point and whose 3rd element is the cursor pixel data 5137expressed as a string. If ICON is nil then the original arrow cursor is used 5138 5139(sun-change-cursor-icon ICON)Fsun-set-selection 5140Set the current sunwindow selection to STRING. 5141 5142(sun-set-selection STR)Fsun-get-selection 5143Return the current sunwindows selection as a string. 5144 5145(sun-get-selection)Fsun-menu-internal 5146Set up a SunView pop-up menu and return the user's choice. 5147Arguments WINDOW, X, Y, BUTTON, and MENU. 5148*** User code should generally use sun-menu-evaluate *** 5149 5150Arguments WINDOW, X, Y, BUTTON, and MENU. 5151Put MENU up in WINDOW at position X, Y. 5152The BUTTON argument specifies the button to be released that selects an item: 5153 1 = LEFT BUTTON 5154 2 = MIDDLE BUTTON 5155 4 = RIGHT BUTTON 5156The MENU argument is a vector containing (STRING . VALUE) pairs. 5157The VALUE of the selected item is returned. 5158If the VALUE of the first pair is nil, then the first STRING will be used 5159as a menu label. 5160 5161(sun-menu-internal WINDOW X-POSITION Y-POSITION BUTTON MENU)Vonly-global-abbrevs 5162*t means user plans to use global abbrevs only. 5163Makes the commands to define mode-specific abbrevs define global ones instead.Fabbrev-mode 5164Toggle abbrev mode. 5165With argument ARG, turn abbrev mode on iff ARG is positive. 5166In abbrev mode, inserting an abbreviation causes it to expand 5167and be replaced by its expansion.Vedit-abbrevs-map 5168Keymap used in edit-abbrevs.Fkill-all-abbrevs 5169Undefine all defined abbrevs.Finsert-abbrevs 5170Insert after point a description of all defined abbrevs. 5171Mark is set after the inserted text.Flist-abbrevs 5172Display a list of all defined abbrevs.Fedit-abbrevs-mode 5173Major mode for editing the list of abbrev definitions. 5174\{edit-abbrevs-map}Fedit-abbrevs 5175Alter abbrev definitions by editing a list of them. 5176Selects a buffer containing a list of abbrev definitions. 5177You can edit them and type \<edit-abbrevs-map>\[edit-abbrevs-redefine] to redefine abbrevs 5178according to your editing. 5179Buffer contains a header line for each abbrev table, 5180 which is the abbrev table name in parentheses. 5181This is followed by one line per abbrev in that table: 5182NAME USECOUNT EXPANSION HOOK 5183where NAME and EXPANSION are strings with quotes, 5184USECOUNT is an integer, and HOOK is any valid function 5185or may be omitted (it is usually omitted).Fedit-abbrevs-redefine 5186Redefine abbrevs according to current buffer contents.Fdefine-abbrevs 5187Define abbrevs according to current visible buffer contents. 5188See documentation of `edit-abbrevs' for info on the format of the 5189text you must have in the buffer. 5190With argument, eliminate all abbrev definitions except 5191the ones defined from the buffer now.Fread-abbrev-file 5192Read abbrev definitions from file written with `write-abbrev-file'. 5193Optional argument FILE is the name of the file to read; 5194it defaults to the value of `abbrev-file-name'. 5195Optional second argument QUIETLY non-nil means don't print anything.Fquietly-read-abbrev-file 5196Read abbrev definitions from file written with write-abbrev-file. 5197Optional argument FILE is the name of the file to read; 5198it defaults to the value of `abbrev-file-name'. 5199Does not print anything.Fwrite-abbrev-file 5200Write all abbrev definitions to a file of Lisp code. 5201The file written can be loaded in another session to define the same abbrevs. 5202The argument FILE is the file name to write.Fadd-mode-abbrev 5203Define mode-specific abbrev for last word(s) before point. 5204Argument is how many words before point form the expansion; 5205or zero means the region is the expansion. 5206A negative argument means to undefine the specified abbrev. 5207Reads the abbreviation in the minibuffer. 5208 5209Don't use this function in a Lisp program; use `define-abbrev' instead.Fadd-global-abbrev 5210Define global (all modes) abbrev for last word(s) before point. 5211The prefix argument specifies the number of words before point that form the 5212expansion; or zero means the region is the expansion. 5213A negative argument means to undefine the specified abbrev. 5214This command uses the minibuffer to read the abbreviation. 5215 5216Don't use this function in a Lisp program; use `define-abbrev' instead.Finverse-add-mode-abbrev 5217Define last word before point as a mode-specific abbrev. 5218With prefix argument N, defines the Nth word before point. 5219This command uses the minibuffer to read the expansion. 5220Expands the abbreviation after defining it.Finverse-add-global-abbrev 5221Define last word before point as a global (mode-independent) abbrev. 5222With prefix argument N, defines the Nth word before point. 5223This command uses the minibuffer to read the expansion. 5224Expands the abbreviation after defining it.Fabbrev-prefix-mark 5225Mark current point as the beginning of an abbrev. 5226Abbrev to be expanded starts here rather than at beginning of word. 5227This way, you can expand an abbrev with a prefix: insert the prefix, 5228use this command, then insert the abbrev.Fexpand-region-abbrevs 5229For abbrev occurrence in the region, offer to expand it. 5230The user is asked to type y or n for each occurrence. 5231A prefix argument means don't query; expand all abbrevs. 5232If called from a Lisp program, arguments are START END &optional NOQUERY.VBuffer-menu-mode-map 5233FBuffer-menu-mode 5234Major mode for editing a list of buffers. 5235Each line describes one of the buffers in Emacs. 5236Letters do not insert themselves; instead, they are commands. 5237\<Buffer-menu-mode-map> 5238\[Buffer-menu-mouse-select] -- select buffer you click on, in place of the buffer menu. 5239\[Buffer-menu-this-window] -- select current line's buffer in place of the buffer menu. 5240\[Buffer-menu-other-window] -- select that buffer in another window, 5241 so the buffer menu buffer remains visible in its window. 5242\[Buffer-menu-switch-other-window] -- make another window display that buffer. 5243\[Buffer-menu-mark] -- mark current line's buffer to be displayed. 5244\[Buffer-menu-select] -- select current line's buffer. 5245 Also show buffers marked with m, in other windows. 5246\[Buffer-menu-1-window] -- select that buffer in full-frame window. 5247\[Buffer-menu-2-window] -- select that buffer in one window, 5248 together with buffer selected before this one in another window. 5249\[Buffer-menu-visit-tags-table] -- visit-tags-table this buffer. 5250\[Buffer-menu-not-modified] -- clear modified-flag on that buffer. 5251\[Buffer-menu-save] -- mark that buffer to be saved, and move down. 5252\[Buffer-menu-delete] -- mark that buffer to be deleted, and move down. 5253\[Buffer-menu-delete-backwards] -- mark that buffer to be deleted, and move up. 5254\[Buffer-menu-execute] -- delete or save marked buffers. 5255\[Buffer-menu-unmark] -- remove all kinds of marks from current line. 5256 With prefix argument, also move up one line. 5257\[Buffer-menu-backup-unmark] -- back up a line and remove marks. 5258\[Buffer-menu-toggle-read-only] -- toggle read-only status of buffer on this line.FBuffer-menu-buffer 5259Return buffer described by this line of buffer menu.Fbuffer-menu 5260Make a menu of buffers so you can save, delete or select them. 5261With argument, show only buffers that are visiting files. 5262Type ? after invocation to get help on commands available. 5263Type q immediately to make the buffer menu go away and to restore 5264previous window configuration.FBuffer-menu-quit 5265Quit the buffer menu.FBuffer-menu-mark 5266Mark buffer on this line for being displayed by \<Buffer-menu-mode-map>\[Buffer-menu-select] command.FBuffer-menu-unmark 5267Cancel all requested operations on buffer on this line and move down. 5268Optional ARG means move up.FBuffer-menu-backup-unmark 5269Move up and cancel all requested operations on buffer on line above.FBuffer-menu-delete 5270Mark buffer on this line to be deleted by \<Buffer-menu-mode-map>\[Buffer-menu-execute] command.FBuffer-menu-delete-backwards 5271Mark buffer on this line to be deleted by \<Buffer-menu-mode-map>\[Buffer-menu-execute] command 5272and then move up one lineFBuffer-menu-save 5273Mark buffer on this line to be saved by \<Buffer-menu-mode-map>\[Buffer-menu-execute] command.FBuffer-menu-not-modified 5274Mark buffer on this line as unmodified (no changes to save).FBuffer-menu-execute 5275Save and/or delete buffers marked with \<Buffer-menu-mode-map>\[Buffer-menu-save] or \<Buffer-menu-mode-map>\[Buffer-menu-delete] commands.FBuffer-menu-select 5276Select this line's buffer; also display buffers marked with `>'. 5277You can mark buffers with the \<Buffer-menu-mode-map>\[Buffer-menu-mark] command.FBuffer-menu-visit-tags-table 5278Visit the tags table in the buffer on this line. See `visit-tags-table'.FBuffer-menu-1-window 5279Select this line's buffer, alone, in full frame.FBuffer-menu-mouse-select 5280Select the buffer whose line you click on.FBuffer-menu-this-window 5281Select this line's buffer in this window.FBuffer-menu-other-window 5282Select this line's buffer in other window, leaving buffer menu visible.FBuffer-menu-switch-other-window 5283Make the other window select this line's buffer. 5284The current window remains selected.FBuffer-menu-2-window 5285Select this line's buffer, with previous buffer in second window.FBuffer-menu-toggle-read-only 5286Toggle read-only status of buffer on this line, perhaps via version control.Fdefsubst 5287Define an inline function. The syntax is just like that of `defun'.Fmake-obsolete 5288Make the byte-compiler warn that FUNCTION is obsolete. 5289The warning will say that NEW should be used instead. 5290If NEW is a string, that is the `use instead' message.Fmake-obsolete-variable 5291Make the byte-compiler warn that VARIABLE is obsolete, 5292and NEW should be used instead. If NEW is a string, then that is the 5293`use instead' message.Fdont-compile 5294Like `progn', but the body always runs interpreted (not compiled). 5295If you think you need this, you're probably making a mistake somewhere.Feval-when-compile 5296Like `progn', but evaluates the body at compile time. 5297The result of the body appears to the compiler as a quoted constant.Feval-and-compile 5298Like `progn', but evaluates the body at compile time and at load time.Vc-mode-abbrev-table 5299Abbrev table in use in C mode.Vc-mode-map 5300Keymap used in C mode.Fc-macro-expand 5301Display the result of expanding all C macros occurring in the region. 5302The expansion is entirely correct because it uses the C preprocessor.Vc-mode-syntax-table 5303Syntax table in use in C-mode buffers.Vc-indent-level 5304*Indentation of C statements with respect to containing block.Vc-brace-imaginary-offset 5305*Imagined indentation of a C open brace that actually follows a statement.Vc-brace-offset 5306*Extra indentation for braces, compared with other text in same context.Vc-argdecl-indent 5307*Indentation level of declarations of C function arguments.Vc-label-offset 5308*Offset of C label lines and case statements relative to usual indentation.Vc-continued-statement-offset 5309*Extra indent for lines not starting new statements.Vc-continued-brace-offset 5310*Extra indent for substatements that start with open-braces. 5311This is in addition to c-continued-statement-offset.Vc-auto-newline 5312*Non-nil means automatically newline before and after braces, 5313and after colons and semicolons, inserted in C code. 5314If you do not want a leading newline before braces then use: 5315 (define-key c-mode-map "{" 'electric-c-semi)Vc-tab-always-indent 5316*Non-nil means TAB in C mode should always reindent the current line, 5317regardless of where in the line point is when the TAB command is used.Fc-mode 5318Major mode for editing C code. 5319Expression and list commands understand all C brackets. 5320Tab indents for C code. 5321Comments are delimited with /* ... */. 5322Paragraphs are separated by blank lines only. 5323Delete converts tabs to spaces as it moves back. 5324\{c-mode-map} 5325Variables controlling indentation style: 5326 c-tab-always-indent 5327 Non-nil means TAB in C mode should always reindent the current line, 5328 regardless of where in the line point is when the TAB command is used. 5329 c-auto-newline 5330 Non-nil means automatically newline before and after braces, 5331 and after colons and semicolons, inserted in C code. 5332 c-indent-level 5333 Indentation of C statements within surrounding block. 5334 The surrounding block's indentation is the indentation 5335 of the line on which the open-brace appears. 5336 c-continued-statement-offset 5337 Extra indentation given to a substatement, such as the 5338 then-clause of an if or body of a while. 5339 c-continued-brace-offset 5340 Extra indentation given to a brace that starts a substatement. 5341 This is in addition to c-continued-statement-offset. 5342 c-brace-offset 5343 Extra indentation for line if it starts with an open brace. 5344 c-brace-imaginary-offset 5345 An open brace following other text is treated as if it were 5346 this far to the right of the start of its line. 5347 c-argdecl-indent 5348 Indentation level of declarations of C function arguments. 5349 c-label-offset 5350 Extra indentation for line that is a label, or case or default. 5351 5352Settings for K&R and BSD indentation styles are 5353 c-indent-level 5 8 5354 c-continued-statement-offset 5 8 5355 c-brace-offset -5 -8 5356 c-argdecl-indent 0 8 5357 c-label-offset -5 -8 5358 5359Turning on C mode calls the value of the variable c-mode-hook with no args, 5360if that value is non-nil.Fc-fill-paragraph 5361Like \[fill-paragraph] but handle C comments. 5362If any of the current line is a comment or within a comment, 5363fill the comment or the paragraph of it that point is in, 5364preserving the comment indentation or line-starting decorations.Felectric-c-brace 5365Insert character and correct line's indentation.Felectric-c-sharp-sign 5366Insert character and correct line's indentation.Felectric-c-semi 5367Insert character and correct line's indentation.Felectric-c-terminator 5368Insert character and correct line's indentation.Fc-indent-command 5369Indent current line as C code, or in some cases insert a tab character. 5370If `c-tab-always-indent' is non-nil (the default), always indent current line. 5371Otherwise, indent the current line only if point is at the left margin or 5372in the line's indentation; otherwise insert a tab. 5373 5374A numeric argument, regardless of its value, means indent rigidly all the 5375lines of the expression starting after point so that this line becomes 5376properly indented. The relative indentation among the lines of the 5377expression are preserved.Fc-indent-line 5378Indent current line as C code. 5379Return the amount the indentation changed by.Fcalculate-c-indent 5380Return appropriate indentation for current line as C code. 5381In usual case returns an integer: the column to indent to. 5382Returns nil if line starts inside a string, t if in a comment.Fcalculate-c-indent-within-comment 5383Return the indentation amount for line inside a block comment. 5384Optional arg AFTER-STAR means, if lines in the comment have a leading star, 5385return the indentation of the text that would follow this star.Fc-backward-to-start-of-if 5386Move to the start of the last "unbalanced" `if'.Fc-backward-to-start-of-do 5387If point follows a `do' statement, move to beginning of it and return t. 5388Otherwise return nil and don't move point.Fc-beginning-of-statement 5389Go to the beginning of the innermost C statement. 5390With prefix arg, go back N - 1 statements. If already at the beginning of a 5391statement then go to the beginning of the preceding one. 5392If within a string or comment, or next to a comment (only whitespace between), 5393move by sentences instead of statements.Fc-end-of-statement 5394Go to the end of the innermost C statement. 5395With prefix arg, go forward N - 1 statements. 5396Move forward to end of the next statement if already at end. 5397If within a string or comment, move by sentences instead of statements.Fmark-c-function 5398Put mark at end of C function, point at beginning.Findent-c-exp 5399Indent each line of the C grouping following point.Fset-c-style 5400Set C-mode variables to use one of several different indentation styles. 5401The arguments are a string representing the desired style 5402and a flag which, if non-nil, means to set the style globally. 5403(Interactively, the flag comes from the prefix argument.) 5404Available styles are GNU, K&R, BSD and Whitesmith.Vc-backslash-column 5405*Minimum column for end-of-line backslashes of macro definitions.Fc-backslash-region 5406Insert, align, or delete end-of-line backslashes on the lines in the region. 5407With no argument, inserts backslashes and aligns existing backslashes. 5408With an argument, deletes the backslashes. 5409 5410This function does not modify the last line of the region if the region ends 5411right at the start of the following line; it does not modify blank lines 5412at the start of the region. So you can put the region around an entire macro 5413definition and conveniently use this command.Fc-up-conditional 5414Move back to the containing preprocessor conditional, leaving mark behind. 5415A prefix argument acts as a repeat count. With a negative argument, 5416move forward to the end of the containing preprocessor conditional. 5417When going backwards, `#elif' is treated like `#else' followed by `#if'. 5418When going forwards, `#elif' is ignored.Fc-backward-conditional 5419Move back across a preprocessor conditional, leaving mark behind. 5420A prefix argument acts as a repeat count. With a negative argument, 5421move forward across a preprocessor conditional.Fc-forward-conditional 5422Move forward across a preprocessor conditional, leaving mark behind. 5423A prefix argument acts as a repeat count. With a negative argument, 5424move backward across a preprocessor conditional.Vdelete-auto-save-files 5425*Non-nil means delete a buffer's auto-save file when the buffer is saved.Vdirectory-abbrev-alist 5426*Alist of abbreviations for file directories. 5427A list of elements of the form (FROM . TO), each meaning to replace 5428FROM with TO when it appears in a directory name. This replacement is 5429done when setting up the default directory of a newly visited file. 5430*Every* FROM string should start with `^'. 5431 5432Do not use `~' in the TO strings. 5433They should be ordinary absolute directory names. 5434 5435Use this feature when you have directories which you normally refer to 5436via absolute symbolic links. Make TO the name of the link, and FROM 5437the name it is linked to.Vmake-backup-files 5438*Non-nil means make a backup of a file the first time it is saved. 5439This can be done by renaming the file or by copying. 5440 5441Renaming means that Emacs renames the existing file so that it is a 5442backup file, then writes the buffer into a new file. Any other names 5443that the old file had will now refer to the backup file. The new file 5444is owned by you and its group is defaulted. 5445 5446Copying means that Emacs copies the existing file into the backup 5447file, then writes the buffer on top of the existing file. Any other 5448names that the old file had will now refer to the new (edited) file. 5449The file's owner and group are unchanged. 5450 5451The choice of renaming or copying is controlled by the variables 5452`backup-by-copying', `backup-by-copying-when-linked' and 5453`backup-by-copying-when-mismatch'. See also `backup-inhibited'.Vbackup-inhibited 5454Non-nil means don't make a backup, regardless of the other parameters. 5455This variable is intended for use by making it local to a buffer. 5456But it is local only if you make it local.Vbackup-by-copying 5457*Non-nil means always use copying to create backup files. 5458See documentation of variable `make-backup-files'.Vbackup-by-copying-when-linked 5459*Non-nil means use copying to create backups for files with multiple names. 5460This causes the alternate names to refer to the latest version as edited. 5461This variable is relevant only if `backup-by-copying' is nil.Vbackup-by-copying-when-mismatch 5462*Non-nil means create backups by copying if this preserves owner or group. 5463Renaming may still be used (subject to control of other variables) 5464when it would not result in changing the owner or group of the file; 5465that is, for files which are owned by you and whose group matches 5466the default for a new file created there by you. 5467This variable is relevant only if `backup-by-copying' is nil.Vbackup-enable-predicate 5468Predicate that looks at a file name and decides whether to make backups. 5469Called with an absolute file name as argument, it returns t to enable backup.Vbuffer-offer-save 5470*Non-nil in a buffer means offer to save the buffer on exit 5471even if the buffer is not visiting a file. 5472Automatically local in all buffers.Vfind-file-existing-other-name 5473*Non-nil means find a file under alternative names, in existing buffers. 5474This means if any existing buffer is visiting the file you want 5475under another name, you get the existing buffer instead of a new buffer.Vfind-file-visit-truename 5476*Non-nil means visit a file under its truename. 5477The truename of a file is found by chasing all links 5478both at the file level and at the levels of the containing directories.Vbuffer-file-truename 5479The abbreviated truename of the file visited in the current buffer. 5480That is, (abbreviated-file-name (file-truename buffer-file-name)). 5481This variable is automatically local in all buffers, when non-nil.Vbuffer-file-number 5482The device number and file number of the file visited in the current buffer. 5483The value is a list of the form (FILENUM DEVNUM). 5484This pair of numbers uniquely identifies the file. 5485If the buffer is visiting a new file, the value is nil.Vfile-precious-flag 5486*Non-nil means protect against I/O errors while saving files. 5487Some modes set this non-nil in particular buffers.Vversion-control 5488*Control use of version numbers for backup files. 5489t means make numeric backup versions unconditionally. 5490nil means make them for files that have some already. 5491`never' means do not make them.Vdired-kept-versions 5492*When cleaning directory, number of versions to keep.Vtrim-versions-without-asking 5493*If t, deletes excess backup versions silently. 5494If nil, asks confirmation. Any other value prevents any trimming.Vkept-old-versions 5495*Number of oldest versions to keep when a new numbered backup is made.Vkept-new-versions 5496*Number of newest versions to keep when a new numbered backup is made. 5497Includes the new backup. Must be > 0Vrequire-final-newline 5498*Value of t says silently ensure a file ends in a newline when it is saved. 5499Non-nil but not t says ask user whether to add a newline when there isn't one. 5500nil means don't add newlines.Vauto-save-default 5501*Non-nil says by default do auto-saving of every file-visiting buffer.Vauto-save-visited-file-name 5502*Non-nil says auto-save a buffer in the file it is visiting, when practical. 5503Normally auto-save files are written under other names.Vsave-abbrevs 5504*Non-nil means save word abbrevs too when files are saved. 5505Loading an abbrev file sets this to t.Vfind-file-run-dired 5506*Non-nil says run dired if `find-file' is given the name of a directory.Vfind-file-not-found-hooks 5507List of functions to be called for `find-file' on nonexistent file. 5508These functions are called as soon as the error is detected. 5509`buffer-file-name' is already set up. 5510The functions are called in the order given until one of them returns non-nil.Vfind-file-hooks 5511List of functions to be called after a buffer is loaded from a file. 5512The buffer's local variables (if any) will have been processed before the 5513functions are called.Vwrite-file-hooks 5514List of functions to be called before writing out a buffer to a file. 5515If one of them returns non-nil, the file is considered already written 5516and the rest are not called. 5517These hooks are considered to pertain to the visited file. 5518So this list is cleared if you change the visited file name. 5519See also `write-contents-hooks'. 5520Don't make this variable buffer-local; instead, use `local-write-file-hooks'.Vlocal-write-file-hooks 5521Just like `write-file-hooks', except intended for per-buffer use. 5522The functions in this list are called before the ones in 5523`write-file-hooks'.Vwrite-contents-hooks 5524List of functions to be called before writing out a buffer to a file. 5525If one of them returns non-nil, the file is considered already written 5526and the rest are not called. 5527These hooks are considered to pertain to the buffer's contents, 5528not to the particular visited file; thus, `set-visited-file-name' does 5529not clear this variable, but changing the major mode does clear it. 5530See also `write-file-hooks'.Venable-local-variables 5531*Control use of local-variables lists in files you visit. 5532The value can be t, nil or something else. 5533A value of t means local-variables lists are obeyed; 5534nil means they are ignored; anything else means query. 5535 5536The command \[normal-mode] always obeys local-variables lists 5537and ignores this variable.Venable-local-eval 5538*Control processing of the "variable" `eval' in a file's local variables. 5539The value can be t, nil or something else. 5540A value of t means obey `eval' variables; 5541nil means ignore them; anything else means query. 5542 5543The command \[normal-mode] always obeys local-variables lists 5544and ignores this variable.Fpwd 5545Show the current default directory.Vcd-path 5546Value of the CDPATH environment variable, as a list. 5547Not actually set up until the first time you you use it.Fparse-colon-path 5548Explode a colon-separated list of paths into a string list.Fcd-absolute 5549Change current directory to given absolute file name DIR.Fcd 5550Make DIR become the current buffer's default directory. 5551If your environment includes a `CDPATH' variable, try each one of that 5552colon-separated list of directories when resolving a relative directory name.Fload-file 5553Load the Lisp file named FILE.Fload-library 5554Load the library named LIBRARY. 5555This is an interface to the function `load'.Ffile-local-copy 5556Copy the file FILE into a temporary file on this machine. 5557Returns the name of the local copy, or nil, if FILE is directly 5558accessible.Ffile-truename 5559Return the truename of FILENAME, which should be absolute. 5560The truename of a file name is found by chasing symbolic links 5561both at the level of the file and at the level of the directories 5562containing it, until no links are left at any level.Ffile-chase-links 5563Chase links in FILENAME until a name that is not a link. 5564Does not examine containing directories for links, 5565unlike `file-truename'.Fswitch-to-buffer-other-window 5566Select buffer BUFFER in another window.Fswitch-to-buffer-other-frame 5567Switch to buffer BUFFER in another frame.Ffind-file 5568Edit file FILENAME. 5569Switch to a buffer visiting file FILENAME, 5570creating one if none already exists.Ffind-file-other-window 5571Edit file FILENAME, in another window. 5572May create a new window, or reuse an existing one. 5573See the function `display-buffer'.Ffind-file-other-frame 5574Edit file FILENAME, in another frame. 5575May create a new frame, or reuse an existing one. 5576See the function `display-buffer'.Ffind-file-read-only 5577Edit file FILENAME but don't allow changes. 5578Like \[find-file] but marks buffer as read-only. 5579Use \[toggle-read-only] to permit editing.Ffind-file-read-only-other-window 5580Edit file FILENAME in another window but don't allow changes. 5581Like \[find-file-other-window] but marks buffer as read-only. 5582Use \[toggle-read-only] to permit editing.Ffind-file-read-only-other-frame 5583Edit file FILENAME in another frame but don't allow changes. 5584Like \[find-file-other-frame] but marks buffer as read-only. 5585Use \[toggle-read-only] to permit editing.Ffind-alternate-file 5586Find file FILENAME, select its buffer, kill previous buffer. 5587If the current buffer now contains an empty file that you just visited 5588(presumably by mistake), use this command to visit the file you really want.Fcreate-file-buffer 5589Create a suitably named buffer for visiting FILENAME, and return it. 5590FILENAME (sans directory) is used unchanged if that name is free; 5591otherwise a string <2> or <3> or ... is appended to get an unused name.Fgenerate-new-buffer 5592Create and return a buffer with a name based on NAME. 5593Choose the buffer's name using `generate-new-buffer-name'.Vautomount-dir-prefix 5594Regexp to match the automounter prefix in a directory name.Vabbreviated-home-dir 5595The user's homedir abbreviated according to `directory-abbrev-list'.Fabbreviate-file-name 5596Return a version of FILENAME shortened using `directory-abbrev-alist'. 5597This also substitutes "~" for the user's home directory. 5598Type \[describe-variable] directory-abbrev-alist RET for more information.Vfind-file-not-true-dirname-list 5599*List of logical names for which visiting shouldn't save the true dirname. 5600On VMS, when you visit a file using a logical name that searches a path, 5601you may or may not want the visited file name to record the specific 5602directory where the file was found. If you *do not* want that, add the logical 5603name to this list as a string.Ffind-buffer-visiting 5604Return the buffer visiting file FILENAME (a string). 5605This is like `get-file-buffer', except that it checks for any buffer 5606visiting the same file, possibly under a different name. 5607If there is no such live buffer, return nil.Ffind-file-noselect 5608Read file FILENAME into a buffer and return the buffer. 5609If a buffer exists visiting FILENAME, return that one, but 5610verify that the file has not changed since visited or saved. 5611The buffer is not selected, just returned to the caller.Fafter-find-file 5612Called after finding a file and by the default revert function. 5613Sets buffer mode, parses local variables. 5614Optional args ERROR, WARN, and NOAUTO: ERROR non-nil means there was an 5615error in reading the file. WARN non-nil means warn if there 5616exists an auto-save file more recent than the visited file. 5617NOAUTO means don't mess with auto-save mode. 5618Finishes by calling the functions in `find-file-hooks'.Fnormal-mode 5619Choose the major mode for this buffer automatically. 5620Also sets up any specified local variables of the file. 5621Uses the visited file name, the -*- line, and the local variables spec. 5622 5623This function is called automatically from `find-file'. In that case, 5624we may set up specified local variables depending on the value of 5625`enable-local-variables': if it is t, we do; if it is nil, we don't; 5626otherwise, we query. `enable-local-variables' is ignored if you 5627run `normal-mode' explicitly.Vauto-mode-alist 5628Alist of filename patterns vs corresponding major mode functions. 5629Each element looks like (REGEXP . FUNCTION) or (REGEXP FUNCTION). 5630Visiting a file whose name matches REGEXP causes FUNCTION to be called. 5631If the element has the form (REGEXP FUNCTION), then after calling 5632FUNCTION, we delete the suffix that matched REGEXP and search the list 5633again for another match.Vinterpreter-mode-alist 5634Alist mapping interpreter names to major modes. 5635This alist applies to files whose first line starts with `#!'. 5636Each element looks like (INTERPRETER . MODE). 5637The car of each element is compared with 5638the name of the interpreter specified in the first line. 5639If it matches, mode MODE is selected.Vinhibit-first-line-modes-regexps 5640List of regexps; if one matches a file name, don't look for `-*-'.Vuser-init-file 5641File name including directory of user's initialization file.Fset-auto-mode 5642Select major mode appropriate for current buffer. 5643This checks for a -*- mode tag in the buffer's text, 5644compares the filename against the entries in `auto-mode-alist', 5645or checks the interpreter that runs this file against 5646`interpreter-mode-alist'. 5647 5648It does not check for the `mode:' local variable in the 5649Local Variables section of the file; for that, use `hack-local-variables'. 5650 5651If `enable-local-variables' is nil, this function does not check for a 5652-*- mode tag.Fhack-local-variables 5653Parse and put into effect this buffer's local variables spec.Vignored-local-variables 5654Variables to be ignored in a file's local variable spec.Fset-visited-file-name 5655Change name of file visited in current buffer to FILENAME. 5656The next time the buffer is saved it will go in the newly specified file. 5657nil or empty string as argument means make buffer not be visiting any file. 5658Remember to delete the initial contents of the minibuffer 5659if you wish to pass an empty string as the argument.Fwrite-file 5660Write current buffer into file FILENAME. 5661Makes buffer visit that file, and marks it not modified. 5662If the buffer is already visiting a file, you can specify 5663a directory name as FILENAME, to write a file of the same 5664old name in that directory.Fbackup-buffer 5665Make a backup of the disk file visited by the current buffer, if appropriate. 5666This is normally done before saving the buffer the first time. 5667If the value is non-nil, it is the result of `file-modes' on the original 5668file; this means that the caller, after saving the buffer, should change 5669the modes of the new file to agree with the old modes.Ffile-name-sans-versions 5670Return FILENAME sans backup versions or strings. 5671This is a separate procedure so your site-init or startup file can 5672redefine it. 5673If the optional argument KEEP-BACKUP-VERSION is non-nil, 5674we do not remove backup version numbers, only true file version numbers.Fmake-backup-file-name 5675Create the non-numeric backup file name for FILE. 5676This is a separate function so you can redefine it for customization.Fbackup-file-name-p 5677Return non-nil if FILE is a backup file name (numeric or not). 5678This is a separate function so you can redefine it for customization. 5679You may need to redefine `file-name-sans-versions' as well.Fbackup-extract-version 5680Given the name of a numeric backup file, return the backup number. 5681Uses the free variable `bv-length', whose value should be 5682the index in the name where the version number begins.Ffind-backup-file-name 5683Find a file name for a backup file, and suggestions for deletions. 5684Value is a list whose car is the name for the backup file 5685 and whose cdr is a list of old versions to consider deleting now.Ffile-nlinks 5686Return number of names file FILENAME has.Ffile-relative-name 5687Convert FILENAME to be relative to DIRECTORY (default: default-directory).Fsave-buffer 5688Save current buffer in visited file if modified. Versions described below. 5689By default, makes the previous version into a backup file 5690 if previously requested or if this is the first save. 5691With 1 or 3 \[universal-argument]'s, marks this version 5692 to become a backup when the next save is done. 5693With 2 or 3 \[universal-argument]'s, 5694 unconditionally makes the previous version into a backup file. 5695With argument of 0, never makes the previous version into a backup file. 5696 5697If a file's name is FOO, the names of its numbered backup versions are 5698 FOO.~i~ for various integers i. A non-numbered backup file is called FOO~. 5699Numeric backups (rather than FOO~) will be made if value of 5700 `version-control' is not the atom `never' and either there are already 5701 numeric versions of the file being backed up, or `version-control' is 5702 non-nil. 5703We don't want excessive versions piling up, so there are variables 5704 `kept-old-versions', which tells Emacs how many oldest versions to keep, 5705 and `kept-new-versions', which tells how many newest versions to keep. 5706 Defaults are 2 old versions and 2 new. 5707`dired-kept-versions' controls dired's clean-directory (.) command. 5708If `trim-versions-without-asking' is nil, system will query user 5709 before trimming versions. Otherwise it does it silently.Fdelete-auto-save-file-if-necessary 5710Delete auto-save file for current buffer if `delete-auto-save-files' is t. 5711Normally delete only if the file was written by this Emacs since 5712the last real save, but optional arg FORCE non-nil means delete anyway.Fbasic-save-buffer 5713Save the current buffer in its visited file, if it has been modified.Fsave-some-buffers 5714Save some modified file-visiting buffers. Asks user about each one. 5715Optional argument (the prefix) non-nil means save all with no questions. 5716Optional second argument EXITING means ask about certain non-file buffers 5717 as well as about file buffers.Fnot-modified 5718Mark current buffer as unmodified, not needing to be saved. 5719With prefix arg, mark buffer as modified, so \[save-buffer] will save.Ftoggle-read-only 5720Change whether this buffer is visiting its file read-only. 5721With arg, set read-only iff arg is positive.Finsert-file 5722Insert contents of file FILENAME into buffer after point. 5723Set mark after the inserted text. 5724 5725This function is meant for the user to run interactively. 5726Don't call it from programs! Use `insert-file-contents' instead. 5727(Its calling sequence is different; see its documentation).Fappend-to-file 5728Append the contents of the region to the end of file FILENAME. 5729When called from a function, expects three arguments, 5730START, END and FILENAME. START and END are buffer positions 5731saying what text to write.Ffile-newest-backup 5732Return most recent backup file for FILENAME or nil if no backups exist.Frename-uniquely 5733Rename current buffer to a similar name not already taken. 5734This function is useful for creating multiple shell process buffers 5735or multiple mail buffers, etc.Fmake-directory 5736Create the directory DIR and any nonexistent parent dirs. 5737Interactively, the default choice of directory to create 5738is the current default directory for file names. 5739That is useful when you have visited a file in a nonexistint directory. 5740 5741Noninteractively, the second (optional) argument PARENTS says whether 5742to create parent directories if they don't exist.Vrevert-buffer-function 5743Function to use to revert this buffer, or nil to do the default.Vrevert-buffer-insert-file-contents-function 5744Function to use to insert contents when reverting this buffer. 5745Gets two args, first the nominal file name to use, 5746and second, t if reading the auto-save file.Frevert-buffer 5747Replace the buffer text with the text of the visited file on disk. 5748This undoes all changes since the file was visited or saved. 5749With a prefix argument, offer to revert from latest auto-save file, if 5750that is more recent than the visited file. 5751 5752When called from lisp, The first argument is IGNORE-AUTO; only offer 5753to revert from the auto-save file when this is nil. Note that the 5754sense of this argument is the reverse of the prefix argument, for the 5755sake of backward compatibility. IGNORE-AUTO is optional, defaulting 5756to nil. 5757 5758Optional second argument NOCONFIRM means don't ask for confirmation at 5759all. 5760 5761If the value of `revert-buffer-function' is non-nil, it is called to 5762do the work. 5763 5764The default revert function runs the hook `before-revert-hook' at the 5765beginning and `after-revert-hook' at the end.Frecover-file 5766Visit file FILE, but get contents from its last auto-save file.Fkill-some-buffers 5767For each buffer, ask whether to kill it.Fauto-save-mode 5768Toggle auto-saving of contents of current buffer. 5769With prefix argument ARG, turn auto-saving on if positive, else off.Frename-auto-save-file 5770Adjust current buffer's auto save file name for current conditions. 5771Also rename any existing auto save file, if it was made in this session.Fmake-auto-save-file-name 5772Return file name to use for auto-saves of current buffer. 5773Does not consider `auto-save-visited-file-name' as that variable is checked 5774before calling this function. You can redefine this for customization. 5775See also `auto-save-file-name-p'.Fauto-save-file-name-p 5776Return non-nil if FILENAME can be yielded by `make-auto-save-file-name'. 5777FILENAME should lack slashes. You can redefine this for customization.Vlist-directory-brief-switches 5778*Switches for list-directory to pass to `ls' for brief listing,Vlist-directory-verbose-switches 5779*Switches for list-directory to pass to `ls' for verbose listing,Flist-directory 5780Display a list of files in or matching DIRNAME, a la `ls'. 5781DIRNAME is globbed by the shell if necessary. 5782Prefix arg (second arg if noninteractive) means supply -l switch to `ls'. 5783Actions controlled by variables `list-directory-brief-switches' 5784and `list-directory-verbose-switches'.Vinsert-directory-program 5785Absolute or relative name of the `ls' program used by `insert-directory'.Finsert-directory 5786Insert directory listing for FILE, formatted according to SWITCHES. 5787Leaves point after the inserted text. 5788Optional third arg WILDCARD means treat FILE as shell wildcard. 5789Optional fourth arg FULL-DIRECTORY-P means file is a directory and 5790switches do not contain `d', so that a full listing is expected. 5791 5792This works by running a directory listing program 5793whose name is in the variable `insert-directory-program'. 5794If WILDCARD, it also runs the shell specified by `shell-file-name'.Vkill-emacs-query-functions 5795Functions to call with no arguments to query about killing Emacs. 5796If any of these functions returns nil, killing Emacs is cancelled.Fsave-buffers-kill-emacs 5797Offer to save each buffer, then kill this Emacs process. 5798With prefix arg, silently save all file-visiting buffers, then kill.Vfill-individual-varying-indent 5799*Controls criterion for a new paragraph in `fill-individual-paragraphs'. 5800Non-nil means changing indent doesn't end a paragraph. 5801That mode can handle paragraphs with extra indentation on the first line, 5802but it requires separator lines between paragraphs. 5803A value of nil means that any change in indentation starts a new paragraph.Vsentence-end-double-space 5804*Non-nil means a single space does not end a sentence.Fset-fill-prefix 5805Set the fill prefix to the current line up to point. 5806Filling expects lines to start with the fill prefix and 5807reinserts the fill prefix in each resulting line.Vadaptive-fill-mode 5808*Non-nil means determine a paragraph's fill prefix from its text.Vadaptive-fill-regexp 5809*Regexp to match text at start of line that constitutes indentation. 5810If Adaptive Fill mode is enabled, whatever text matches this pattern 5811on the second line of a paragraph is used as the standard indentation 5812for the paragraph.Ffill-region-as-paragraph 5813Fill region as one paragraph: break lines to fit `fill-column'. 5814Prefix arg means justify too. 5815If `sentence-end-double-space' is non-nil, then period followed by one 5816space does not end a sentence, so don't break a line there. 5817From program, pass args FROM, TO and JUSTIFY-FLAG.Ffill-paragraph 5818Fill paragraph at or after point. Prefix arg means justify as well. 5819If `sentence-end-double-space' is non-nil, then period followed by one 5820space does not end a sentence, so don't break a line there.Ffill-region 5821Fill each of the paragraphs in the region. 5822Prefix arg (non-nil third arg, if called from program) means justify as well. 5823If `sentence-end-double-space' is non-nil, then period followed by one 5824space does not end a sentence, so don't break a line there.Fjustify-current-line 5825Add spaces to line point is in, so it ends at `fill-column'.Ffill-nonuniform-paragraphs 5826Fill paragraphs within the region, allowing varying indentation within each. 5827This command divides the region into "paragraphs", 5828only at paragraph-separator lines, then fills each paragraph 5829using as the fill prefix the smallest indentation of any line 5830in the paragraph. 5831 5832When calling from a program, pass range to fill as first two arguments. 5833 5834Optional third and fourth arguments JUSTIFY-FLAG and MAIL-FLAG: 5835JUSTIFY-FLAG to justify paragraphs (prefix arg), 5836MAIL-FLAG for a mail message, i. e. don't fill header lines.Ffill-individual-paragraphs 5837Fill paragraphs of uniform indentation within the region. 5838This command divides the region into "paragraphs", 5839treating every change in indentation level as a paragraph boundary, 5840then fills each paragraph using its indentation level as the fill prefix. 5841 5842When calling from a program, pass range to fill as first two arguments. 5843 5844Optional third and fourth arguments JUSTIFY-FLAG and MAIL-FLAG: 5845JUSTIFY-FLAG to justify paragraphs (prefix arg), 5846MAIL-FLAG for a mail message, i. e. don't fill header lines.Vpi 5847The value of Pi (3.1415926...)Ve 5848The value of e (2.7182818...)Vdegrees-to-radians 5849Degrees to radian conversion constantVradians-to-degrees 5850Radian to degree conversion constantFdegrees-to-radians 5851Convert ARG from degrees to radians.Fradians-to-degrees 5852Convert ARG from radians to degrees.Vframe-creation-function 5853Window-system dependent function to call to create a new frame. 5854The window system startup file should set this to its frame creation 5855function, which should take an alist of parameters as its argument.Vinitial-frame-alist 5856Alist of frame parameters for creating the initial X window frame. 5857You can set this in your `.emacs' file; for example, 5858 (setq initial-frame-alist '((top . 1) (left . 1) (width . 80) (height . 55))) 5859If the value calls for a frame without a minibuffer, and you do not create a 5860minibuffer frame on your own, one is created according to 5861`minibuffer-frame-alist'. 5862Parameters specified here supersede the values given in 5863`default-frame-alist'.Vminibuffer-frame-alist 5864Alist of frame parameters for initially creating a minibuffer frame. 5865You can set this in your `.emacs' file; for example, 5866 (setq minibuffer-frame-alist 5867 '((top . 1) (left . 1) (width . 80) (height . 2))) 5868Parameters specified here supersede the values given in 5869`default-frame-alist'.Vpop-up-frame-alist 5870Alist of frame parameters used when creating pop-up frames. 5871Pop-up frames are used for completions, help, and the like. 5872This variable can be set in your init file, like this: 5873 (setq pop-up-frame-alist '((width . 80) (height . 20))) 5874These supersede the values given in `default-frame-alist'.Vspecial-display-frame-alist 5875*Alist of frame parameters used when creating special frames. 5876Special frames are used for buffers whose names are in 5877`special-display-buffer-names' and for buffers whose names match 5878one of the regular expressions in `special-display-regexps'. 5879This variable can be set in your init file, like this: 5880 (setq special-display-frame-alist '((width . 80) (height . 20))) 5881These supersede the values given in `default-frame-alist'.Fnext-multiframe-window 5882Select the next window, regardless of which frame it is on.Fprevious-multiframe-window 5883Select the previous window, regardless of which frame it is on.Fmake-frame 5884Create a new frame, displaying the current buffer. 5885 5886Optional argument PARAMETERS is an alist of parameters for the new 5887frame. Specifically, PARAMETERS is a list of pairs, each having one 5888of the following forms: 5889 5890(name . STRING) - The frame should be named STRING. 5891 5892(height . NUMBER) - The frame should be NUMBER text lines high. If 5893 this parameter is present, the width parameter must also be 5894 given. 5895 5896(width . NUMBER) - The frame should be NUMBER characters in width. 5897 If this parameter is present, the height parameter must also 5898 be given. 5899 5900(minibuffer . t) - the frame should have a minibuffer 5901(minibuffer . nil) - the frame should have no minibuffer 5902(minibuffer . only) - the frame should contain only a minibuffer 5903(minibuffer . WINDOW) - the frame should use WINDOW as its minibuffer window.Ffiltered-frame-list 5904Return a list of all live frames which satisfy PREDICATE.Fminibuffer-frame-list 5905Return a list of all frames with their own minibuffers.Fframe-remove-geometry-params 5906Return the parameter list PARAM-LIST, but with geometry specs removed. 5907This deletes all bindings in PARAM-LIST for `top', `left', `width', 5908`height', `user-size' and `user-position' parameters. 5909Emacs uses this to avoid overriding explicit moves and resizings from 5910the user during startup.Fother-frame 5911Select the ARG'th different visible frame, and raise it. 5912All frames are arranged in a cyclic order. 5913This command selects the frame ARG steps away in that order. 5914A negative ARG moves in the opposite order.Fcurrent-frame-configuration 5915Return a list describing the positions and states of all frames. 5916Its car is `frame-configuration'. 5917Each element of the cdr is a list of the form (FRAME ALIST WINDOW-CONFIG), 5918where 5919 FRAME is a frame object, 5920 ALIST is an association list specifying some of FRAME's parameters, and 5921 WINDOW-CONFIG is a window configuration object for FRAME.Fset-frame-configuration 5922Restore the frames to the state described by CONFIGURATION. 5923Each frame listed in CONFIGURATION has its position, size, window 5924configuration, and other parameters set as specified in CONFIGURATION. 5925Ordinarily, this function deletes all existing frames not 5926listed in CONFIGURATION. But if optional second argument NODELETE 5927is given and non-nil, the unwanted frames are iconified instead.Fframe-configuration-p 5928Return non-nil if OBJECT seems to be a frame configuration. 5929Any list whose car is `frame-configuration' is assumed to be a frame 5930configuration.Fframe-height 5931Return number of lines available for display on FRAME. 5932If FRAME is omitted, describe the currently selected frame.Fframe-width 5933Return number of columns available for display on FRAME. 5934If FRAME is omitted, describe the currently selected frame.Fset-default-font 5935Set the font of the selected frame to FONT. 5936When called interactively, prompt for the name of the font to use.Fset-background-color 5937Set the background color of the selected frame to COLOR. 5938When called interactively, prompt for the name of the color to use.Fset-foreground-color 5939Set the foreground color of the selected frame to COLOR. 5940When called interactively, prompt for the name of the color to use.Fset-cursor-color 5941Set the text cursor color of the selected frame to COLOR. 5942When called interactively, prompt for the name of the color to use.Fset-mouse-color 5943Set the color of the mouse pointer of the selected frame to COLOR. 5944When called interactively, prompt for the name of the color to use.Fset-border-color 5945Set the color of the border of the selected frame to COLOR. 5946When called interactively, prompt for the name of the color to use.Fauto-raise-mode 5947Toggle whether or not the selected frame should auto-raise. 5948With arg, turn auto-raise mode on if and only if arg is positive.Fauto-lower-mode 5949Toggle whether or not the selected frame should auto-lower. 5950With arg, turn auto-lower mode on if and only if arg is positive.Ftoggle-scroll-bar 5951Toggle whether or not the selected frame has vertical scroll bars. 5952With arg, turn vertical scroll bars on if and only if arg is positive.Ftoggle-horizontal-scroll-bar 5953Toggle whether or not the selected frame has horizontal scroll bars. 5954With arg, turn horizontal scroll bars on if and only if arg is positive. 5955Horizontal scroll bars aren't implemented yet.Fset-screen-width 5956Obsolete function to change the size of the screen to COLS columns. 5957Optional second arg non-nil means that redisplay should use COLS columns 5958but that the idea of the actual width of the frame should not be changed. 5959This function is provided only for compatibility with Emacs 18; new code 5960should use `set-frame-width instead'.Fset-screen-height 5961Obsolete function to change the height of the screen to LINES lines. 5962Optional second arg non-nil means that redisplay should use LINES lines 5963but that the idea of the actual height of the screen should not be changed. 5964This function is provided only for compatibility with Emacs 18; new code 5965should use `set-frame-width' instead.Vctl-x-5-map 5966Keymap for frame commands.Fclipboard-yank 5967Reinsert the last stretch of killed text, or the clipboard contents.Fclipboard-kill-ring-save 5968Copy region to kill ring, and save in the X clipboard.Fclipboard-kill-region 5969Kill the region, and save it in the X clipboard.Fmenu-bar-enable-clipboard 5970Make the menu bar CUT, PASTE and COPY items use the clipboard.Fkill-this-buffer 5971Kills the current buffer.Vyank-menu-length 5972*Maximum length of an item in the menu for \[mouse-menu-choose-yank].Fmouse-menu-choose-yank 5973Pop up a menu of the kill-ring for selection with the mouse. 5974The kill-ring-yank-pointer is moved to the selected element. 5975A subsequent \[yank] yanks the choice just selected.Vcomplex-buffers-menu-p 5976*Non-nil says, offer a choice of actions after you pick a buffer. 5977This applies to the Buffers menu from the menu bar.Vbuffers-menu-max-size 5978*Maximum number of entries which may appear on the Buffers menu. 5979If this is 10, then only the ten most-recently-selected buffers are shown. 5980If this is nil, then all buffers are shown. 5981A large number or nil slows down menu responsiveness.Fmenu-bar-mode 5982Toggle display of a menu bar on each frame. 5983This command applies to all frames that exist and frames to be 5984created in the future. 5985With a numeric argument, if the argument is negative, 5986turn off menu bars; otherwise, turn on menu bars.Vmouse-yank-at-point 5987*If non-nil, mouse yank commands yank at point instead of at click.Fmouse-delete-window 5988Delete the window you click on. 5989This must be bound to a mouse click.Fmouse-select-window 5990Select the window clicked on; don't move point.Fmouse-tear-off-window 5991Delete the window clicked on, and create a new frame displaying its buffer.Fmouse-delete-other-windows 5992Delete all window except the one you click on.Fmouse-split-window-vertically 5993Select Emacs window mouse is on, then split it vertically in half. 5994The window is split at the line clicked on. 5995This command must be bound to a mouse click.Fmouse-split-window-horizontally 5996Select Emacs window mouse is on, then split it horizontally in half. 5997The window is split at the column clicked on. 5998This command must be bound to a mouse click.Fmouse-set-point 5999Move point to the position clicked on with the mouse. 6000This should be bound to a mouse click event type.Fmouse-set-region 6001Set the region to the text dragged over, and copy to kill ring. 6002This should be bound to a mouse drag event.Vmouse-scroll-delay 6003*The pause between scroll steps caused by mouse drags, in seconds. 6004If you drag the mouse beyond the edge of a window, Emacs scrolls the 6005window to bring the text beyond that edge into view, with a delay of 6006this many seconds between scroll steps. Scrolling stops when you move 6007the mouse back into the window, or release the button. 6008This variable's value may be non-integral. 6009Setting this to zero causes Emacs to scroll as fast as it can.Fmouse-scroll-subr 6010Scroll the selected window JUMP lines at a time, until new input arrives. 6011If OVERLAY is an overlay, let it stretch from START to the far edge of 6012the newly visible text. 6013Upon exit, point is at the far edge of the newly visible text.Fmouse-drag-region 6014Set the region to the text that the mouse is dragged over. 6015Highlight the drag area as you move the mouse. 6016This must be bound to a button-down mouse event. 6017In Transient Mark mode, the highlighting remains once you 6018release the mouse button. Otherwise, it does not.Fmouse-skip-word 6019Skip over word, over whitespace, or over identical punctuation. 6020If DIR is positive skip forward; if negative, skip backward.Fmouse-set-mark 6021Set mark at the position clicked on with the mouse. 6022Display cursor at that position for a second. 6023This must be bound to a mouse click.Fmouse-kill 6024Kill the region between point and the mouse click. 6025The text is saved in the kill ring, as with \[kill-region].Fmouse-yank-at-click 6026Insert the last stretch of killed text at the position clicked on. 6027Also move point to one end of the text thus inserted (normally the end). 6028Prefix arguments are interpreted as with \[yank]. 6029If `mouse-yank-at-point' is non-nil, insert at point 6030regardless of where you click.Fmouse-kill-ring-save 6031Copy the region between point and the mouse click in the kill ring. 6032This does not delete the region; it acts like \[kill-ring-save].Fmouse-save-then-kill 6033Save text to point in kill ring; the second time, kill the text. 6034If the text between point and the mouse is the same as what's 6035at the front of the kill ring, this deletes the text. 6036Otherwise, it adds the text to the kill ring, like \[kill-ring-save], 6037which prepares for a second click to delete the text. 6038 6039If you have selected words or lines, this command extends the 6040selection through the word or line clicked on. If you do this 6041again in a different position, it extends the selection again. 6042If you do this twice in the same position, the selection is killed.Fmouse-start-secondary 6043Set one end of the secondary selection to the position clicked on. 6044Use \[mouse-secondary-save-then-kill] to set the other end 6045and complete the secondary selection.Fmouse-set-secondary 6046Set the secondary selection to the text that the mouse is dragged over. 6047This must be bound to a mouse drag event.Fmouse-drag-secondary 6048Set the secondary selection to the text that the mouse is dragged over. 6049Highlight the drag area as you move the mouse. 6050This must be bound to a button-down mouse event.Fmouse-yank-secondary 6051Insert the secondary selection at the position clicked on. 6052Move point to the end of the inserted text. 6053If `mouse-yank-at-point' is non-nil, insert at point 6054regardless of where you click.Fmouse-kill-secondary 6055Kill the text in the secondary selection. 6056This is intended more as a keyboard command than as a mouse command 6057but it can work as either one. 6058 6059The current buffer (in case of keyboard use), or the buffer clicked on, 6060must be the one that the secondary selection is in. This requirement 6061is to prevent accidents.Fmouse-secondary-save-then-kill 6062Save text to point in kill ring; the second time, kill the text. 6063You must use this in a buffer where you have recently done \[mouse-start-secondary]. 6064If the text between where you did \[mouse-start-secondary] and where 6065you use this command matches the text at the front of the kill ring, 6066this command deletes the text. 6067Otherwise, it adds the text to the kill ring, like \[kill-ring-save], 6068which prepares for a second click with this command to delete the text. 6069 6070If you have already made a secondary selection in that buffer, 6071this command extends or retracts the selection to where you click. 6072If you do this again in a different position, it extends or retracts 6073again. If you do this twice in the same position, it kills the selection.Fmouse-buffer-menu 6074Pop up a menu of buffers for selection with the mouse. 6075This switches buffers in the window that you clicked on, 6076and selects that window.Fmouse-choose-completion 6077Click on an alternative in the `*Completions*' buffer to choose it.Vx-fixed-font-alist 6078X fonts suitable for use in Emacs.Fmouse-set-font 6079Select an emacs font from a list of known good fontsFx-get-selection 6080Return the value of an X Windows selection. 6081The argument TYPE (default `PRIMARY') says which selection, 6082and the argument DATA-TYPE (default `STRING') says how to convert the data.Fx-get-clipboard 6083Return text pasted to the clipboard.Fx-set-selection 6084Make an X Windows selection of type TYPE and value DATA. 6085The argument TYPE (default `PRIMARY') says which selection, 6086and DATA specifies the contents. DATA may be a string, 6087a symbol, an integer (or a cons of two integers or list of two integers), 6088or a cons of two markers pointing to the same buffer. 6089In the last case, the selection is considered to be the text 6090between the markers. 6091The data may also be a vector of valid non-vector selection values.Fx-get-cut-buffer 6092Returns the value of one of the 8 X server cut-buffers. Optional arg 6093WHICH-ONE should be a number from 0 to 7, defaulting to 0. 6094Cut buffers are considered obsolete; you should use selections instead.Fx-set-cut-buffer 6095Store STRING into the X server's primary cut buffer. 6096If PUSH is non-nil, also rotate the cut buffers: 6097this means the previous value of the primary cut buffer moves the second 6098cut buffer, and the second to the third, and so on (there are 8 buffers.) 6099Cut buffers are considered obsolete; you should use selections instead.Fxselect-convert-to-class 6100EmacsFxselect-convert-to-name 6101emacsFscroll-bar-event-ratio 6102Given a scroll bar event EVENT, return the scroll bar position as a ratio. 6103The value is a cons cell (PORTION . WHOLE) containing two integers 6104whose ratio gives the event's vertical position in the scroll bar, with 0 6105referring to the top and 1 to the bottom.Fscroll-bar-scale 6106Given a pair (NUM . DENOM) and WHOLE, return (/ (* NUM WHOLE) DENOM). 6107This is handy for scaling a position on a scroll bar into real units, 6108like buffer positions. If SCROLL-BAR-POS is the (PORTION . WHOLE) pair 6109from a scroll bar event, then (scroll-bar-scale SCROLL-BAR-POS 6110(buffer-size)) is the position in the current buffer corresponding to 6111that scroll bar position.Fscroll-bar-mode 6112Toggle display of vertical scroll bars on each frame. 6113This command applies to all frames that exist and frames to be 6114created in the future. 6115With a numeric argument, if the argument is negative, 6116turn off scroll bars; otherwise, turn on scroll bars.Fscroll-bar-set-window-start 6117Set the window start according to where the scroll bar is dragged. 6118EVENT should be a scroll bar click or drag event.Fscroll-bar-drag 6119Scroll the window by dragging the scroll bar slider. 6120If you click outside the slider, the window scrolls to bring the slider there.Fscroll-bar-scroll-down 6121Scroll the window's top line down to the location of the scroll bar click. 6122EVENT should be a scroll bar click.Fscroll-bar-scroll-up 6123Scroll the line next to the scroll bar click to the top of the window. 6124EVENT should be a scroll bar click.Vhelp-map 6125Keymap for characters following the Help key.Fhelp-with-tutorial 6126Select the Emacs learn-by-doing tutorial.Fdescribe-key-briefly 6127Print the name of the function KEY invokes. KEY is a string.Fprint-help-return-message 6128Display or return message saying how to restore windows after help command. 6129Computes a message and applies the optional argument FUNCTION to it. 6130If FUNCTION is nil, applies `message' to it, thus printing it.Fdescribe-key 6131Display documentation of the function invoked by KEY. KEY is a string.Fdescribe-mode 6132Display documentation of current major mode and minor modes. 6133For this to work correctly for a minor mode, the mode's indicator variable 6134(listed in `minor-mode-alist') must also be a function whose documentation 6135describes the minor mode.Fdescribe-distribution 6136Display info on how to obtain the latest version of GNU Emacs.Fdescribe-copying 6137Display info on how you may redistribute copies of GNU Emacs.Fdescribe-project 6138Display info on the GNU project.Fdescribe-no-warranty 6139Display info on all the kinds of warranty Emacs does NOT have.Fdescribe-prefix-bindings 6140Describe the bindings of the prefix used to reach this command. 6141The prefix described consists of all but the last event 6142of the key sequence that ran this command.Fview-emacs-news 6143Display info on recent changes to Emacs.Fview-lossage 6144Display last 100 input keystrokes.Fhelp-for-help 6145You have typed \[help-command], the help character. Type a Help option: 6146(Use \<help-map>\[scroll-up] or \[scroll-down] to scroll through this text. 6147Type \<help-map>\[help-quit] to exit the Help command.) 6148 6149a command-apropos. Give a substring, and see a list of commands 6150 (functions interactively callable) that contain 6151 that substring. See also the apropos command. 6152b describe-bindings. Display table of all key bindings. 6153c describe-key-briefly. Type a command key sequence; 6154 it prints the function name that sequence runs. 6155f describe-function. Type a function name and get documentation of it. 6156C-f Info-goto-emacs-command-node. Type a function name; 6157 it takes you to the Info node for that command. 6158i info. The info documentation reader. 6159k describe-key. Type a command key sequence; 6160 it displays the full documentation. 6161C-k Info-goto-emacs-key-command-node. Type a command key sequence; 6162 it takes you to the Info node for the command bound to that key. 6163l view-lossage. Shows last 100 characters you typed. 6164m describe-mode. Print documentation of current major mode, 6165 which describes the commands peculiar to it. 6166n view-emacs-news. Shows emacs news file. 6167p finder-by-keyword. Find packages matching a given topic keyword. 6168s describe-syntax. Display contents of syntax table, plus explanations 6169t help-with-tutorial. Select the Emacs learn-by-doing tutorial. 6170v describe-variable. Type name of a variable; 6171 it displays the variable's documentation and value. 6172w where-is. Type command name; it prints which keystrokes 6173 invoke that command. 6174C-c print Emacs copying permission (General Public License). 6175C-d print Emacs ordering information. 6176C-n print news of recent Emacs changes. 6177C-p print information about the GNU project. 6178C-w print information on absence of warranty for GNU Emacs.Fdescribe-function 6179Display the full documentation of FUNCTION (a symbol).Fdescribe-variable 6180Display the full documentation of VARIABLE (a symbol). 6181Returns the documentation as a string, also.Fwhere-is 6182Print message listing key sequences that invoke specified command. 6183Argument is a command definition, usually a symbol with a function definition.Fcommand-apropos 6184Like apropos but lists only symbols that are names of commands 6185(interactively callable functions). Argument REGEXP is a regular expression 6186that is matched against command symbol names. Returns list of symbols and 6187documentation found.Flocate-library 6188Show the full path name of Emacs library LIBRARY. 6189This command searches the directories in `load-path' like `M-x load-library' 6190to find the file that `M-x load-library RET LIBRARY RET' would load. 6191Optional second arg NOSUFFIX non-nil means don't add suffixes `.elc' or `.el' 6192to the specified name LIBRARY (a la calling `load' instead of `load-library').Vindent-line-function 6193Function to indent current line.Findent-according-to-mode 6194Indent line in proper way for current major mode.Findent-for-tab-command 6195Indent line in proper way for current major mode.Findent-rigidly 6196Indent all lines starting in the region sideways by ARG columns. 6197Called from a program, takes three arguments, START, END and ARG.Vindent-region-function 6198Function which is short cut to indent region using indent-according-to-mode. 6199A value of nil means really run indent-according-to-mode on each line.Findent-region 6200Indent each nonblank line in the region. 6201With no argument, indent each line using `indent-according-to-mode', 6202or use `indent-region-function' to do the whole region if that's non-nil. 6203If there is a fill prefix, make each line start with the fill prefix. 6204With argument COLUMN, indent each line to that column. 6205Called from a program, takes three args: START, END and COLUMN.Findent-relative-maybe 6206Indent a new line like previous nonblank line.Findent-relative 6207Space out to under next indent point in previous nonblank line. 6208An indent point is a non-whitespace character following whitespace. 6209If the previous nonblank line has no indent points beyond the 6210column point starts at, `tab-to-tab-stop' is done instead.Vtab-stop-list 6211*List of tab stop positions used by `tab-to-tab-stops'.Vedit-tab-stops-map 6212Keymap used in `edit-tab-stops'.Vedit-tab-stops-buffer 6213Buffer whose tab stops are being edited--in case 6214the variable `tab-stop-list' is local in that buffer.Fedit-tab-stops 6215Edit the tab stops used by `tab-to-tab-stop'. 6216Creates a buffer *Tab Stops* containing text describing the tab stops. 6217A colon indicates a column where there is a tab stop. 6218You can add or remove colons and then do \<edit-tab-stops-map>\[edit-tab-stops-note-changes] to make changes take effect.Fedit-tab-stops-note-changes 6219Put edited tab stops into effect.Ftab-to-tab-stop 6220Insert spaces or tabs to next defined tab-stop column. 6221The variable `tab-stop-list' is a list of columns at which there are tab stops. 6222Use \[edit-tab-stops] to edit them interactively.Fmove-to-tab-stop 6223Move point to next defined tab-stop column. 6224The variable `tab-stop-list' is a list of columns at which there are tab stops. 6225Use \[edit-tab-stops] to edit them interactively.Vsearch-exit-option 6226*Non-nil means random control characters terminate incremental search.Vsearch-slow-window-lines 6227*Number of lines in slow search display windows. 6228These are the short windows used during incremental search on slow terminals. 6229Negative means put the slow search window at the top (normally it's at bottom) 6230and the value is minus the number of lines.Vsearch-slow-speed 6231*Highest terminal speed at which to use "slow" style incremental search. 6232This is the style where a one-line window is created to show the line 6233that the search has reached.Vsearch-upper-case 6234*If non-nil, upper case chars disable case fold searching. 6235That is, upper and lower case chars must match exactly. 6236This applies no matter where the chars come from, but does not 6237apply to chars in regexps that are prefixed with `\'. 6238If this value is `not-yanks', yanked text is always downcased.Vsearch-nonincremental-instead 6239*If non-nil, do a nonincremental search instead if exiting immediately. 6240Actually, `isearch-edit-string' is called to let you enter the search 6241string, and RET terminates editing and does a nonincremental search.Vsearch-whitespace-regexp 6242*If non-nil, regular expression to match a sequence of whitespace chars. 6243You might want to use something like "[ \t\r\n]+" instead.Vsearch-highlight 6244*Non-nil means incremental search highlights the current match.Visearch-mode-hook 6245Function(s) to call after starting up an incremental search.Visearch-mode-end-hook 6246Function(s) to call after terminating an incremental search.Vsearch-ring 6247List of search string sequences.Vregexp-search-ring 6248List of regular expression search string sequences.Vsearch-ring-max 6249*Maximum length of search ring before oldest elements are thrown away.Vregexp-search-ring-max 6250*Maximum length of regexp search ring before oldest elements are thrown away.Vsearch-ring-yank-pointer 6251Index in `search-ring' of last string reused. 6252nil if none yet.Vregexp-search-ring-yank-pointer 6253Index in `regexp-search-ring' of last string reused. 6254nil if none yet.Vsearch-ring-update 6255*Non-nil if advancing or retreating in the search ring should cause search. 6256Default value, nil, means edit the string instead.Visearch-mode-map 6257Keymap for isearch-mode.Vminibuffer-local-isearch-map 6258Keymap for editing isearch strings in the minibuffer.Fisearch-forward 6259Do incremental search forward. 6260With a prefix argument, do an incremental regular expression search instead. 6261\<isearch-mode-map> 6262As you type characters, they add to the search string and are found. 6263The following non-printing keys are bound in `isearch-mode-map'. 6264 6265Type \[isearch-delete-char] to cancel characters from end of search string. 6266Type \[isearch-exit] to exit, leaving point at location found. 6267Type LFD (C-j) to match end of line. 6268Type \[isearch-repeat-forward] to search again forward, \[isearch-repeat-backward] to search again backward. 6269Type \[isearch-yank-word] to yank word from buffer onto end of search string and search for it. 6270Type \[isearch-yank-line] to yank rest of line onto end of search string and search for it. 6271Type \[isearch-quote-char] to quote control character to search for it. 6272\[isearch-abort] while searching or when search has failed cancels input back to what has 6273 been found successfully. 6274\[isearch-abort] when search is successful aborts and moves point to starting point. 6275 6276Also supported is a search ring of the previous 16 search strings. 6277Type \[isearch-ring-advance] to search for the next item in the search ring. 6278Type \[isearch-ring-retreat] to search for the previous item in the search ring. 6279Type \[isearch-complete] to complete the search string using the search ring. 6280 6281The above keys, bound in `isearch-mode-map', are often controlled by 6282 options; do M-x apropos on search-.* to find them. 6283Other control and meta characters terminate the search 6284 and are then executed normally (depending on `search-exit-option'). 6285 6286If this function is called non-interactively, it does not return to 6287the calling function until the search is done.Fisearch-forward-regexp 6288Do incremental search forward for regular expression. 6289With a prefix argument, do a regular string search instead. 6290Like ordinary incremental search except that your input 6291is treated as a regexp. See \[isearch-forward] for more info.Fisearch-backward 6292Do incremental search backward. 6293With a prefix argument, do a regular expression search instead. 6294See \[isearch-forward] for more information.Fisearch-backward-regexp 6295Do incremental search backward for regular expression. 6296With a prefix argument, do a regular string search instead. 6297Like ordinary incremental search except that your input 6298is treated as a regexp. See \[isearch-forward] for more info.Fisearch-mode 6299Start isearch minor mode. Called by isearch-forward, etc.Fisearch-exit 6300Exit search normally. 6301However, if this is the first command after starting incremental 6302search and `search-nonincremental-instead' is non-nil, do a 6303nonincremental search instead via `isearch-edit-string'.Fisearch-edit-string 6304Edit the search string in the minibuffer. 6305The following additional command keys are active while editing. 6306\<minibuffer-local-isearch-map> 6307\[exit-minibuffer] to resume incremental searching with the edited string. 6308\[isearch-nonincremental-exit-minibuffer] to do one nonincremental search. 6309\[isearch-forward-exit-minibuffer] to resume isearching forward. 6310\[isearch-reverse-exit-minibuffer] to resume isearching backward. 6311\[isearch-ring-advance-edit] to replace the search string with the next item in the search ring. 6312\[isearch-ring-retreat-edit] to replace the search string with the previous item in the search ring. 6313\[isearch-complete-edit] to complete the search string using the search ring. 6314\<isearch-mode-map> 6315If first char entered is \[isearch-yank-word], then do word search instead.Fisearch-abort 6316Abort incremental search mode if searching is successful, signalling quit. 6317Otherwise, revert to previous successful search and continue searching. 6318Use `isearch-exit' to quit without signalling.Fisearch-repeat-forward 6319Repeat incremental search forwards.Fisearch-repeat-backward 6320Repeat incremental search backwards.Fisearch-toggle-regexp 6321Toggle regexp searching on or off.Fisearch-toggle-case-fold 6322Toggle case folding in searching on or off.Fisearch-delete-char 6323Discard last input item and move point back. 6324If no previous match was done, just beep.Fisearch-yank-kill 6325Pull string from kill ring into search string.Fisearch-yank-word 6326Pull next word from buffer into search string.Fisearch-yank-line 6327Pull rest of line from buffer into search string.Fisearch-*-char 6328Handle * and ? specially in regexps.Fisearch-|-char 6329If in regexp search, jump to the barrier.Fisearch-other-meta-char 6330Exit the search normally and reread this key sequence. 6331But only if `search-exit-option' is non-nil, the default. 6332If it is the symbol `edit', the search string is edited in the minibuffer 6333and the meta character is unread so that it applies to editing the string.Fisearch-quote-char 6334Quote special characters for incremental search.Fisearch-return-char 6335Convert return into newline for incremental search. 6336Obsolete.Fisearch-printing-char 6337Add this ordinary printing character to the search string and search.Fisearch-whitespace-chars 6338Match all whitespace chars, if in regexp mode. 6339If you want to search for just a space, type C-q SPC.Fisearch-ring-advance 6340Advance to the next search string in the ring.Fisearch-ring-retreat 6341Retreat to the previous search string in the ring.Fisearch-ring-advance-edit 6342Insert the next element of the search history into the minibuffer.Fisearch-ring-retreat-edit 6343Inserts the previous element of the search history into the minibuffer.Fisearch-complete 6344Complete the search string from the strings on the search ring. 6345The completed string is then editable in the minibuffer. 6346If there is no completion possible, say so and continue searching.Fisearch-complete-edit 6347Same as `isearch-complete' except in the minibuffer.Fisearch-no-upper-case-p 6348Return t if there are no upper case chars in STRING. 6349If REGEXP-FLAG is non-nil, disregard letters preceeded by `\' (but not `\\') 6350since they have special meaning in a regexp.Vlisp-mode-syntax-table 6351Vemacs-lisp-mode-syntax-table 6352Vlisp-mode-abbrev-table 6353Vshared-lisp-mode-map 6354Keymap for commands shared by all sorts of Lisp modes.Vemacs-lisp-mode-map 6355Keymap for Emacs Lisp mode. 6356All commands in shared-lisp-mode-map are inherited by this map.Femacs-lisp-mode 6357Major mode for editing Lisp code to run in Emacs. 6358Commands: 6359Delete converts tabs to spaces as it moves back. 6360Blank lines separate paragraphs. Semicolons start comments. 6361\{emacs-lisp-mode-map} 6362Entry to this mode calls the value of `emacs-lisp-mode-hook' 6363if that value is non-nil.Vlisp-mode-map 6364Keymap for ordinary Lisp mode. 6365All commands in `shared-lisp-mode-map' are inherited by this map.Flisp-mode 6366Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp. 6367Commands: 6368Delete converts tabs to spaces as it moves back. 6369Blank lines separate paragraphs. Semicolons start comments. 6370\{lisp-mode-map} 6371Note that `run-lisp' may be used either to start an inferior Lisp job 6372or to switch back to an existing one. 6373 6374Entry to this mode calls the value of `lisp-mode-hook' 6375if that value is non-nil.Flisp-eval-defun 6376Send the current defun to the Lisp process made by \[run-lisp].Vlisp-interaction-mode-map 6377Keymap for Lisp Interaction moe. 6378All commands in `shared-lisp-mode-map' are inherited by this map.Flisp-interaction-mode 6379Major mode for typing and evaluating Lisp forms. 6380Like Lisp mode except that \[eval-print-last-sexp] evals the Lisp expression 6381before point, and prints its value into the buffer, advancing point. 6382 6383Commands: 6384Delete converts tabs to spaces as it moves back. 6385Paragraphs are separated only by blank lines. 6386Semicolons start comments. 6387\{lisp-interaction-mode-map} 6388Entry to this mode calls the value of `lisp-interaction-mode-hook' 6389if that value is non-nil.Feval-print-last-sexp 6390Evaluate sexp before point; print value into current buffer.Feval-last-sexp 6391Evaluate sexp before point; print value in minibuffer. 6392With argument, print output into current buffer.Feval-defun 6393Evaluate defun that point is in or before. 6394Print value in minibuffer. 6395With argument, insert value in current buffer after the defun.Vlisp-indent-offset 6396Vlisp-indent-function 6397Flisp-indent-line 6398Indent current line as Lisp code. 6399With argument, indent any additional lines of the same expression 6400rigidly along with this one.Fcalculate-lisp-indent 6401Return appropriate indentation for current line as Lisp code. 6402In usual case returns an integer: the column to indent to. 6403Can instead return a list, whose car is the column to indent to. 6404This means that following lines at the same level of indentation 6405should not necessarily be indented the same way. 6406The second element of the list is the buffer position 6407of the start of the containing expression.Vlisp-body-indent 6408Number of columns to indent the second line of a `(def...)' form.Findent-sexp 6409Indent each line of the list starting just after point. 6410If optional arg ENDPOS is given, indent each line, stopping when 6411ENDPOS is encountered.Flisp-fill-paragraph 6412Like \[fill-paragraph], but handle Emacs Lisp comments. 6413If any of the current line is a comment, fill the comment or the 6414paragraph of it that point is in, preserving the comment's indentation 6415and initial semicolons.Findent-code-rigidly 6416Indent all lines of code, starting in the region, sideways by ARG columns. 6417Does not affect lines starting inside comments or strings, assuming that 6418the start of the region is not inside them. 6419 6420Called from a program, takes args START, END, COLUMNS and NOCHANGE-REGEXP. 6421The last is a regexp which, if matched at the beginning of a line, 6422means don't indent that line.Vdefun-prompt-regexp 6423*Non-nil => regexp to ignore, before the character that starts a defun. 6424This is only necessary if the opening paren or brace is not in column 0. 6425See `beginning-of-defun'.Vparens-require-spaces 6426Non-nil => `insert-parentheses' should insert whitespace as needed.Fforward-sexp 6427Move forward across one balanced expression (sexp). 6428With argument, do it that many times. Negative arg -N means 6429move backward across N balanced expressions.Fbackward-sexp 6430Move backward across one balanced expression (sexp). 6431With argument, do it that many times. Negative arg -N means 6432move forward across N balanced expressions.Fmark-sexp 6433Set mark ARG sexps from point. 6434The place mark goes is the same place \[forward-sexp] would 6435move to with the same argument.Fforward-list 6436Move forward across one balanced group of parentheses. 6437With argument, do it that many times. 6438Negative arg -N means move backward across N groups of parentheses.Fbackward-list 6439Move backward across one balanced group of parentheses. 6440With argument, do it that many times. 6441Negative arg -N means move forward across N groups of parentheses.Fdown-list 6442Move forward down one level of parentheses. 6443With argument, do this that many times. 6444A negative argument means move backward but still go down a level. 6445In Lisp programs, an argument is required.Fbackward-up-list 6446Move backward out of one level of parentheses. 6447With argument, do this that many times. 6448A negative argument means move forward but still to a less deep spot. 6449In Lisp programs, an argument is required.Fup-list 6450Move forward out of one level of parentheses. 6451With argument, do this that many times. 6452A negative argument means move backward but still to a less deep spot. 6453In Lisp programs, an argument is required.Fkill-sexp 6454Kill the sexp (balanced expression) following the cursor. 6455With argument, kill that many sexps after the cursor. 6456Negative arg -N means kill N sexps before the cursor.Fbackward-kill-sexp 6457Kill the sexp (balanced expression) preceding the cursor. 6458With argument, kill that many sexps before the cursor. 6459Negative arg -N means kill N sexps after the cursor.Fbeginning-of-defun 6460Move backward to the beginning of a defun. 6461With argument, do it that many times. Negative arg -N 6462means move forward to Nth following beginning of defun. 6463Returns t unless search stops due to beginning or end of buffer. 6464 6465Normally a defun starts when there is an char with open-parenthesis 6466syntax at the beginning of a line. If `defun-prompt-regexp' is 6467non-nil, then a string which matches that regexp may precede the 6468open-parenthesis, and point ends up at the beginning of the line.Fbeginning-of-defun-raw 6469Move point to the character that starts a defun. 6470This is identical to beginning-of-defun, except that point does not move 6471to the beginning of the line when `defun-prompt-regexp' is non-nil.Fend-of-defun 6472Move forward to next end of defun. With argument, do it that many times. 6473Negative argument -N means move back to Nth preceding end of defun. 6474 6475An end of a defun occurs right after the close-parenthesis that matches 6476the open-parenthesis that starts a defun; see `beginning-of-defun'.Fmark-defun 6477Put mark at end of this defun, point at beginning. 6478The defun marked is the one that contains point or follows point.Finsert-parentheses 6479Put parentheses around next ARG sexps. Leave point after open-paren. 6480No argument is equivalent to zero: just insert `()' and leave point between. 6481If `parens-require-spaces' is non-nil, this command also inserts a space 6482before and after, depending on the surrounding characters.Fmove-past-close-and-reindent 6483Move past next `)', delete indentation before it, then indent after it.Flisp-complete-symbol 6484Perform completion on Lisp symbol preceding point. 6485Compare that symbol against the known Lisp symbols. 6486 6487The context determines which symbols are considered. 6488If the symbol starts just after an open-parenthesis, only symbols 6489with function definitions are considered. Otherwise, all symbols with 6490function definitions, values or properties are considered.Vminor-mode-alist 6491Alist saying how to show minor modes in the mode line. 6492Each element looks like (VARIABLE STRING); 6493STRING is included in the mode line iff VARIABLE's value is non-nil. 6494 6495Actually, STRING need not be a string; any possible mode-line element 6496is okay. See `mode-line-format'.Fprompt-for-change-log-name 6497Prompt for a change log name.Ffind-change-log 6498Find a change log file for \[add-change-log-entry] and return the name. 6499Optional arg FILE-NAME is a name to try first. 6500If FILE-NAME is nil, use the value of `change-log-default-name' if non-nil. 6501Failing that, use "ChangeLog" in the current directory. 6502If the file does not exist in the named directory, successive parent 6503directories are tried. 6504 6505Once a file is found, `change-log-default-name' is set locally in the 6506current buffer to the complete file name.Fadd-change-log-entry 6507Find change log file and add an entry for today. 6508Optional arg (interactive prefix) non-nil means prompt for user name and site. 6509Second arg is file name of change log. If nil, uses `change-log-default-name'. 6510Third arg OTHER-WINDOW non-nil means visit in other window. 6511Fourth arg NEW-ENTRY non-nil means always create a new entry at the front; 6512never append to an existing entry.Fadd-change-log-entry-other-window 6513Find change log file in other window and add an entry for today. 6514Optional arg (interactive prefix) non-nil means prompt for user name and site. 6515Second arg is file name of change log. If nil, uses `change-log-default-name'.Fchange-log-mode 6516Major mode for editing change logs; like Indented Text Mode. 6517Prevents numeric backups and sets `left-margin' to 8 and `fill-column' to 74. 6518New log entries are usually made with \[add-change-log-entry] or \[add-change-log-entry-other-window]. 6519Each entry behaves as a paragraph, and the entries for one day as a page. 6520Runs `change-log-mode-hook'.Fadd-log-current-defun 6521Return name of function definition point is in, or nil. 6522 6523Understands C, Lisp, LaTeX ("functions" are chapters, sections, ...), 6524Texinfo (@node titles), and Fortran. 6525 6526Other modes are handled by a heuristic that looks in the 10K before 6527point for uppercase headings starting in the first column or 6528identifiers followed by `:' or `=', see variable 6529`add-log-current-defun-header-regexp'. 6530 6531Has a preference of looking backwards.Vad-start-advice-on-load 6532*Non-nil will start Advice magic when this file gets loaded. 6533Also see function `ad-start-advice'.Vad-activate-on-definition 6534*Non-nil means automatic advice activation at function definition. 6535Set this variable to t if you want to enable forward advice (which is 6536automatic advice activation of a previously undefined function at the 6537point the function gets defined/loaded/autoloaded). The value of this 6538variable takes effect only during the execution of `ad-start-advice'. 6539If non-nil it will enable definition hooks regardless of the value 6540of `ad-enable-definition-hooks'.Vad-redefinition-action 6541*Defines what to do with redefinitions during de/activation. 6542Redefinition occurs if a previously activated function that already has an 6543original definition associated with it gets redefined and then de/activated. 6544In such a case we can either accept the current definition as the new 6545original definition, discard the current definition and replace it with the 6546old original, or keep it and raise an error. The values `accept', `discard', 6547`error' or `warn' govern what will be done. `warn' is just like `accept' but 6548it additionally prints a warning message. All other values will be 6549interpreted as `error'.Vad-definition-hooks 6550*List of hooks to be run after a function definition. 6551The variable `ad-defined-function' will be bound to the name of 6552the currently defined function when the hook function is run.Vad-enable-definition-hooks 6553*Non-nil will enable hooks to be run on function definition. 6554Setting this variable is a noop unless the value of 6555`ad-activate-on-definition' (which see) is nil.Fad-add-advice 6556Adds a piece of ADVICE to FUNCTION's list of advices in CLASS. 6557If FUNCTION already has one or more pieces of advice of the specified 6558CLASS then POSITION determines where the new piece will go. The value 6559of POSITION can either be `first', `last' or a number where 0 corresponds 6560to `first'. Numbers outside the range will be mapped to the closest 6561extreme position. If there was already a piece of ADVICE with the same 6562name, then the position argument will be ignored and the old advice 6563will be overwritten with the new one. 6564 If the FUNCTION was not advised already, then its advice info will be 6565initialized. Redefining a piece of advice whose name is part of the cache-id 6566will clear the cache.Fdefadvice 6567Defines a piece of advice for FUNCTION (a symbol). 6568The syntax of `defadvice' is as follows: 6569 6570 (defadvice FUNCTION (CLASS NAME [POSITION] [ARGLIST] FLAG...) 6571 [DOCSTRING] [INTERACTIVE-FORM] 6572 BODY... ) 6573 6574FUNCTION ::= Name of the function to be advised. 6575CLASS ::= `before' | `around' | `after' | `activation' | `deactivation'. 6576NAME ::= Non-nil symbol that names this piece of advice. 6577POSITION ::= `first' | `last' | NUMBER. Optional, defaults to `first', 6578 see also `ad-add-advice'. 6579ARGLIST ::= An optional argument list to be used for the advised function 6580 instead of the argument list of the original. The first one found in 6581 before/around/after-advices will be used. 6582FLAG ::= `protect'|`disable'|`activate'|`compile'|`preactivate'|`freeze'. 6583 All flags can be specified with unambiguous initial substrings. 6584DOCSTRING ::= Optional documentation for this piece of advice. 6585INTERACTIVE-FORM ::= Optional interactive form to be used for the advised 6586 function. The first one found in before/around/after-advices will be used. 6587BODY ::= Any s-expression. 6588 6589Semantics of the various flags: 6590`protect': The piece of advice will be protected against non-local exits in 6591any code that precedes it. If any around-advice of a function is protected 6592then automatically all around-advices will be protected (the complete onion). 6593 6594`activate': All advice of FUNCTION will be activated immediately if 6595FUNCTION has been properly defined prior to this application of `defadvice'. 6596 6597`compile': In conjunction with `activate' specifies that the resulting 6598advised function should be compiled. 6599 6600`disable': The defined advice will be disabled, hence, it will not be used 6601during activation until somebody enables it. 6602 6603`preactivate': Preactivates the advised FUNCTION at macro-expansion/compile 6604time. This generates a compiled advised definition according to the current 6605advice state that will be used during activation if appropriate. Only use 6606this if the `defadvice' gets actually compiled. 6607 6608`freeze': Expands the `defadvice' into a redefining `defun/defmacro' according 6609to the current advice state. No other advice information will be saved. 6610Frozen advices cannot be undone, they behave like a hard redefinition of 6611the advised function. `freeze' implies `activate' and `preactivate'. The 6612documentation of the advised function can be dumped onto the `DOC' file 6613during preloading. 6614 6615Look at the file `advice.el' for comprehensive documentation.Fad-start-advice 6616Redefines some primitives to start the advice magic. 6617If `ad-activate-on-definition' is t then advice information will 6618automatically get activated whenever an advised function gets defined or 6619redefined. This will enable goodies such as forward advice and 6620automatically enable function definition hooks. If its value is nil but 6621the value of `ad-enable-definition-hooks' is t then definition hooks 6622will be enabled without having automatic advice activation, otherwise 6623function definition hooks will be disabled too. If definition hooks are 6624enabled then functions stored in `ad-definition-hooks' are run whenever 6625a function gets defined or redefined.Vappt-issue-message 6626*Non-nil means check for appointments in the diary buffer. 6627To be detected, the diary entry must have the time 6628as the first thing on a line.Vappt-message-warning-time 6629*Time in minutes before an appointment that the warning begins.Vappt-audible 6630*Non-nil means beep to indicate appointment.Vappt-visible 6631*Non-nil means display appointment message in echo area.Vappt-display-mode-line 6632*Non-nil means display minutes to appointment and time on the mode line.Vappt-msg-window 6633*Non-nil means display appointment message in another window.Vappt-display-duration 6634*The number of seconds an appointment message is displayed.Vappt-display-diary 6635*Non-nil means to display the next days diary on the screen. 6636This will occur at midnight when the appointment list is updated.Fapropos 6637Show all symbols whose names contain matches for REGEXP. 6638If optional argument DO-ALL is non-nil (prefix argument if interactive), 6639or if `apropos-do-all' is non-nil, does more (time-consuming) work such as 6640showing key bindings. Optional argument PRED is called with each symbol, and 6641if it returns nil, the symbol is not shown. 6642 6643Returns list of symbols and documentation found.Fsuper-apropos 6644Show symbols whose names/documentation contain matches for REGEXP. 6645If optional argument DO-ALL is non-nil (prefix argument if interactive), 6646or if `apropos-do-all' is non-nil, does more (time-consuming) work such as 6647showing key bindings and documentation that is not stored in the documentation 6648file. 6649 6650Returns list of symbols and documentation found.Fasm-mode 6651Major mode for editing typical assembler code. 6652Features a private abbrev table and the following bindings: 6653 6654\[asm-colon] outdent a preceding label, tab to next tab stop. 6655\[tab-to-tab-stop] tab to next tab stop. 6656\[asm-newline] newline, then tab to next tab stop. 6657\[asm-comment] smart placement of assembler comments. 6658 6659The character used for making comments is set by the variable 6660`asm-comment-char' (which defaults to `?;'). 6661 6662Alternatively, you may set this variable in `asm-set-comment-hook', which is 6663called near the beginning of mode initialization. 6664 6665Turning on Asm mode runs the hook `asm-mode-hook' at the end of initialization. 6666 6667Special commands: 6668\{asm-mode-map} 6669Fupdate-file-autoloads 6670Update the autoloads for FILE in `generated-autoload-file' 6671(which FILE might bind in its local variables).Fupdate-autoloads-here 6672Update sections of the current buffer generated by \[update-file-autoloads].Fupdate-directory-autoloads 6673Run \[update-file-autoloads] on each .el file in DIR.Fbatch-update-autoloads 6674Update the autoloads for the files or directories on the command line. 6675Runs \[update-file-autoloads] on files and \[update-directory-autoloads] 6676on directories. Must be used only with -batch, and kills Emacs on completion. 6677Each file will be processed even if an error occurred previously. 6678For example, invoke `emacs -batch -f batch-update-autoloads *.el'.Fawk-mode 6679Major mode for editing AWK code. 6680This is much like C mode except for the syntax of comments. It uses 6681the same keymap as C mode and has the same variables for customizing 6682indentation. It has its own abbrev table and its own syntax table. 6683 6684Turning on AWK mode calls the value of the variable `awk-mode-hook' 6685with no args, if that value is non-nil.Fbackquote 6686Argument STRUCTURE describes a template to build. 6687 6688The whole structure acts as if it were quoted except for certain 6689places where expressions are evaluated and inserted or spliced in. 6690 6691For example: 6692 6693b => (ba bb bc) ; assume b has this value 6694(` (a b c)) => (a b c) ; backquote acts like quote 6695(` (a (, b) c)) => (a (ba bb bc) c) ; insert the value of b 6696(` (a (,@ b) c)) => (a ba bb bc c) ; splice in the value of b 6697 6698Vectors work just like lists. Nested backquotes are permitted.Fbibtex-mode 6699Major mode for editing bibtex files. 6700 6701\{bibtex-mode-map} 6702 6703A command such as \[bibtex-Book] will outline the fields for a BibTeX book entry. 6704 6705The optional fields start with the string OPT, and thus ignored by BibTeX. 6706The OPT string may be removed from a field with \[bibtex-remove-OPT]. 6707\[bibtex-kill-optional-field] kills the current optional field entirely. 6708\[bibtex-remove-double-quotes] removes the double-quotes around the text of 6709the current field. \[bibtex-empty-field] replaces the text of the current 6710field with the default "". 6711 6712The command \[bibtex-clean-entry] cleans the current entry, i.e. (i) removes 6713double-quotes from entirely numerical fields, (ii) removes OPT from all 6714non-empty optional fields, (iii) removes all empty optional fields, and (iv) 6715checks that no non-optional fields are empty. 6716 6717Use \[bibtex-find-text] to position the dot at the end of the current field. 6718Use \[bibtex-next-field] to move to end of the next field. 6719 6720The following may be of interest as well: 6721 6722 Functions: 6723 find-bibtex-duplicates 6724 find-bibtex-entry-location 6725 hide-bibtex-entry-bodies 6726 sort-bibtex-entries 6727 validate-bibtex-buffer 6728 6729 Variables: 6730 bibtex-clean-entry-zap-empty-opts 6731 bibtex-entry-field-alist 6732 bibtex-include-OPTannote 6733 bibtex-include-OPTcrossref 6734 bibtex-include-OPTkey 6735 bibtex-maintain-sorted-entries 6736 bibtex-mode-user-optional-fields 6737 6738Fields: 6739 address 6740 Publisher's address 6741 annote 6742 Long annotation used for annotated bibliographies (begins sentence) 6743 author 6744 Name(s) of author(s), in BibTeX name format 6745 booktitle 6746 Book title when the thing being referenced isn't the whole book. 6747 For book entries, the title field should be used instead. 6748 chapter 6749 Chapter number 6750 crossref 6751 The database key of the entry being cross referenced. 6752 edition 6753 Edition of a book (e.g., "second") 6754 editor 6755 Name(s) of editor(s), in BibTeX name format. 6756 If there is also an author field, then the editor field should be 6757 for the book or collection that the work appears in 6758 howpublished 6759 How something strange has been published (begins sentence) 6760 institution 6761 Sponsoring institution 6762 journal 6763 Journal name (macros are provided for many) 6764 key 6765 Alphabetizing and labeling key (needed when no author or editor) 6766 month 6767 Month (macros are provided) 6768 note 6769 To help the reader find a reference (begins sentence) 6770 number 6771 Number of a journal or technical report 6772 organization 6773 Organization (sponsoring a conference) 6774 pages 6775 Page number or numbers (use `--' to separate a range) 6776 publisher 6777 Publisher name 6778 school 6779 School name (for theses) 6780 series 6781 The name of a series or set of books. 6782 An individual book will will also have it's own title 6783 title 6784 The title of the thing being referenced 6785 type 6786 Type of a technical report (e.g., "Research Note") to be used 6787 instead of the default "Technical Report" 6788 volume 6789 Volume of a journal or multivolume work 6790 year 6791 Year---should contain only numerals 6792--------------------------------------------------------- 6793Entry to this mode calls the value of bibtex-mode-hook if that value is 6794non-nil.Fblackbox 6795Play blackbox. Optional prefix argument is the number of balls; 6796the default is 4. 6797 6798What is blackbox? 6799 6800Blackbox is a game of hide and seek played on an 8 by 8 grid (the 6801Blackbox). Your opponent (Emacs, in this case) has hidden several 6802balls (usually 4) within this box. By shooting rays into the box and 6803observing where they emerge it is possible to deduce the positions of 6804the hidden balls. The fewer rays you use to find the balls, the lower 6805your score. 6806 6807Overview of play: 6808 6809\<blackbox-mode-map>To play blackbox, type \[blackbox]. An optional prefix argument 6810specifies the number of balls to be hidden in the box; the default is 6811four. 6812 6813The cursor can be moved around the box with the standard cursor 6814movement keys. 6815 6816To shoot a ray, move the cursor to the edge of the box and press SPC. 6817The result will be determined and the playfield updated. 6818 6819You may place or remove balls in the box by moving the cursor into the 6820box and pressing \[bb-romp]. 6821 6822When you think the configuration of balls you have placed is correct, 6823press \[bb-done]. You will be informed whether you are correct or 6824not, and be given your score. Your score is the number of letters and 6825numbers around the outside of the box plus five for each incorrectly 6826placed ball. If you placed any balls incorrectly, they will be 6827indicated with `x', and their actual positions indicated with `o'. 6828 6829Details: 6830 6831There are three possible outcomes for each ray you send into the box: 6832 6833 Detour: the ray is deflected and emerges somewhere other than 6834 where you sent it in. On the playfield, detours are 6835 denoted by matching pairs of numbers -- one where the 6836 ray went in, and the other where it came out. 6837 6838 Reflection: the ray is reflected and emerges in the same place 6839 it was sent in. On the playfield, reflections are 6840 denoted by the letter `R'. 6841 6842 Hit: the ray strikes a ball directly and is absorbed. It does 6843 not emerge from the box. On the playfield, hits are 6844 denoted by the letter `H'. 6845 6846The rules for how balls deflect rays are simple and are best shown by 6847example. 6848 6849As a ray approaches a ball it is deflected ninety degrees. Rays can 6850be deflected multiple times. In the diagrams below, the dashes 6851represent empty box locations and the letter `O' represents a ball. 6852The entrance and exit points of each ray are marked with numbers as 6853described under "Detour" above. Note that the entrance and exit 6854points are always interchangeable. `*' denotes the path taken by the 6855ray. 6856 6857Note carefully the relative positions of the ball and the ninety 6858degree deflection it causes. 6859 6860 1 6861 - * - - - - - - - - - - - - - - - - - - - - - - 6862 - * - - - - - - - - - - - - - - - - - - - - - - 68631 * * - - - - - - - - - - - - - - - O - - - - O - 6864 - - O - - - - - - - O - - - - - - - * * * * - - 6865 - - - - - - - - - - - * * * * * 2 3 * * * - - * - - 6866 - - - - - - - - - - - * - - - - - - - O - * - - 6867 - - - - - - - - - - - * - - - - - - - - * * - - 6868 - - - - - - - - - - - * - - - - - - - - * - O - 6869 2 3 6870 6871As mentioned above, a reflection occurs when a ray emerges from the same point 6872it was sent in. This can happen in several ways: 6873 6874 6875 - - - - - - - - - - - - - - - - - - - - - - - - 6876 - - - - O - - - - - O - O - - - - - - - - - - - 6877R * * * * - - - - - - - * - - - - O - - - - - - - 6878 - - - - O - - - - - - * - - - - R - - - - - - - - 6879 - - - - - - - - - - - * - - - - - - - - - - - - 6880 - - - - - - - - - - - * - - - - - - - - - - - - 6881 - - - - - - - - R * * * * - - - - - - - - - - - - 6882 - - - - - - - - - - - - O - - - - - - - - - - - 6883 6884In the first example, the ray is deflected downwards by the upper 6885ball, then left by the lower ball, and finally retraces its path to 6886its point of origin. The second example is similar. The third 6887example is a bit anomalous but can be rationalized by realizing the 6888ray never gets a chance to get into the box. Alternatively, the ray 6889can be thought of as being deflected downwards and immediately 6890emerging from the box. 6891 6892A hit occurs when a ray runs straight into a ball: 6893 6894 - - - - - - - - - - - - - - - - - - - - - - - - 6895 - - - - - - - - - - - - - - - - - - - - O - - - 6896 - - - - - - - - - - - - O - - - H * * * * - - - - 6897 - - - - - - - - H * * * * O - - - - - - * - - - - 6898 - - - - - - - - - - - - O - - - - - - O - - - - 6899H * * * O - - - - - - - - - - - - - - - - - - - - 6900 - - - - - - - - - - - - - - - - - - - - - - - - 6901 - - - - - - - - - - - - - - - - - - - - - - - - 6902 6903Be sure to compare the second example of a hit with the first example of 6904a reflection.Vbookmark-map 6905Keymap containing bindings to bookmark functions. 6906It is not bound to any key by default: to bind it 6907so that you have a bookmark prefix, just use `global-set-key' and bind a 6908key of your choice to `bookmark-map'. All interactive bookmark 6909functions have a binding in this keymap.Fbookmark-set 6910Set a bookmark named NAME inside a file. 6911With prefix arg, will not overwrite a bookmark that has the same name 6912as NAME if such a bookmark already exists, but instead will "push" 6913the new bookmark onto the bookmark alist. Thus the most recently set 6914bookmark with name NAME would be the one in effect at any given time, 6915but the others are still there, should you decide to delete the most 6916recent one. 6917 6918To yank words from the text of the buffer and use them as part of the 6919bookmark name, type C-w while setting a bookmark. Successive C-w's 6920yank successive words. 6921 6922Typing C-v inserts the name of the current file being visited. Typing 6923C-u inserts the name of the last bookmark used in the buffer (as an 6924aid in using a single bookmark name to track your progress through a 6925large file). If no bookmark was used, then C-u behaves like C-v and 6926inserts the name of the file being visited. 6927 6928Use \[bookmark-delete] to remove bookmarks (you give it a name, 6929and it removes only the first instance of a bookmark with that name from 6930the list of bookmarks.)Fbookmark-jump 6931Jump to bookmark BOOKMARK (a point in some file). 6932You may have a problem using this function if the value of variable 6933`bookmark-alist' is nil. If that happens, you need to load in some 6934bookmarks. See help on function `bookmark-load' for more about 6935this. 6936 6937If the file pointed to by BOOKMARK no longer exists, you will be asked 6938if you wish to give the bookmark a new location, and bookmark-jump 6939will then jump to the new location, as well as recording it in place 6940of the old one in the permanent bookmark record.Fbookmark-relocate 6941Relocate BOOKMARK -- prompts for a filename, and makes an already 6942existing bookmark point to that file, instead of the one it used to 6943point at. Useful when a file has been renamed after a bookmark was 6944set in it.Fbookmark-locate 6945Insert the name of the file associated with BOOKMARK. 6946Optional second arg NO-INSERTION means merely return the filename as a 6947string.Fbookmark-rename 6948Change the name of OLD-BOOKMARK to NEWNAME. 6949If called from keyboard, prompts for OLD-BOOKMARK and NEWNAME. 6950If called from menubar, OLD-BOOKMARK is selected from a menu, and 6951prompts for NEWNAME. 6952If called from Lisp, prompts for NEWNAME if only OLD-BOOKMARK was 6953passed as an argument. If called with two strings, then no prompting 6954is done. You must pass at least OLD-BOOKMARK when calling from Lisp. 6955 6956While you are entering the new name, consecutive C-w's insert 6957consectutive words from the text of the buffer into the new bookmark 6958name, and C-v inserts the name of the file.Fbookmark-insert 6959Insert the text of the file pointed to by bookmark BOOKMARK. 6960You may have a problem using this function if the value of variable 6961`bookmark-alist' is nil. If that happens, you need to load in some 6962bookmarks. See help on function `bookmark-load' for more about 6963this.Fbookmark-delete 6964Delete the bookmark named NAME from the bookmark list. 6965Removes only the first instance of a bookmark with that name. If 6966there are one or more other bookmarks with the same name, they will 6967not be deleted. Defaults to the "current" bookmark (that is, the 6968one most recently used in this file, if any).Fbookmark-write 6969Write bookmarks to a file (for which the user will be prompted 6970interactively). Don't use this in Lisp programs; use bookmark-save 6971instead.Fbookmark-save 6972Save currently defined bookmarks. 6973Saves by default in the file defined by the variable 6974`bookmark-file'. With a prefix arg, save it in file FILE. 6975 6976If you are calling this from Lisp, the two arguments are PREFIX-ARG 6977and FILE, and if you just want it to write to the default file, then 6978pass no arguments. Or pass in nil and FILE, and it will save in FILE 6979instead. If you pass in one argument, and it is non-nil, then the 6980user will be interactively queried for a file to save in. 6981 6982When you want to load in the bookmarks from a file, use 6983`bookmark-load', \[bookmark-load]. That function will prompt you 6984for a file, defaulting to the file defined by variable 6985`bookmark-file'.Fbookmark-load 6986Load bookmarks from FILE (which must be in bookmark format). 6987Appends loaded bookmarks to the front of the list of bookmarks. If 6988optional second argument REVERT is non-nil, existing bookmarks are 6989destroyed. Optional third arg NO-MSG means don't display any messages 6990while loading. 6991 6992If you load a file that doesn't contain a proper bookmark alist, you 6993will corrupt Emacs's bookmark list. Generally, you should only load 6994in files that were created with the bookmark functions in the first 6995place. Your own personal bookmark file, `~/.emacs-bkmrks', is 6996maintained automatically by Emacs; you shouldn't need to load it 6997explicitly.Flist-bookmarks 6998Display a list of existing bookmarks. 6999The list is displayed in a buffer named `*Bookmark List*'. 7000The leftmost column displays a D if the bookmark is flagged for 7001deletion, or > if it is flagged for displaying.Fbookmark-menu-bar-insert 7002Insert the text of the file pointed to by bookmark BOOKMARK. 7003You may have a problem using this function if the value of variable 7004`bookmark-alist' is nil. If that happens, you need to load in some 7005bookmarks. See help on function `bookmark-load' for more about 7006this.Fbookmark-menu-bar-jump 7007Jump to bookmark BOOKMARK (a point in some file). 7008You may have a problem using this function if the value of variable 7009`bookmark-alist' is nil. If that happens, you need to load in some 7010bookmarks. See help on function `bookmark-load' for more about 7011this.Fbookmark-menu-bar-locate 7012Insert the name of the file associated with BOOKMARK. 7013(This is not the same as the contents of that file).Fbookmark-menu-bar-rename 7014Change the name of OLD-BOOKMARK to NEWNAME. 7015If called from keyboard, prompts for OLD-BOOKMARK and NEWNAME. 7016If called from menubar, OLD-BOOKMARK is selected from a menu, and 7017prompts for NEWNAME. 7018If called from Lisp, prompts for NEWNAME if only OLD-BOOKMARK was 7019passed as an argument. If called with two strings, then no prompting 7020is done. You must pass at least OLD-BOOKMARK when calling from Lisp. 7021 7022While you are entering the new name, consecutive C-w's insert 7023consectutive words from the text of the buffer into the new bookmark 7024name, and C-v inserts the name of the file.Fbookmark-menu-bar-delete 7025Delete the bookmark named NAME from the bookmark list. 7026Removes only the first instance of a bookmark with that name. If 7027there are one or more other bookmarks with the same name, they will 7028not be deleted. Defaults to the "current" bookmark (that is, the 7029one most recently used in this file, if any).Fbyte-recompile-directory 7030Recompile every `.el' file in DIRECTORY that needs recompilation. 7031This is if a `.elc' file exists but is older than the `.el' file. 7032Files in subdirectories of DIRECTORY are processed also. 7033 7034If the `.elc' file does not exist, normally the `.el' file is *not* compiled. 7035But a prefix argument (optional second arg) means ask user, 7036for each such `.el' file, whether to compile it. Prefix argument 0 means 7037don't ask and compile the file anyway. 7038 7039A nonzero prefix argument also means ask about each subdirectory.Fbyte-compile-file 7040Compile a file of Lisp code named FILENAME into a file of byte code. 7041The output file's name is made by appending `c' to the end of FILENAME. 7042With prefix arg (noninteractively: 2nd arg), load the file after compiling.Fcompile-defun 7043Compile and evaluate the current top-level form. 7044Print the result in the minibuffer. 7045With argument, insert value in current buffer after the form.Fbyte-compile 7046If FORM is a symbol, byte-compile its function definition. 7047If FORM is a lambda or a macro, byte-compile it as a function.Fdisplay-call-tree 7048Display a call graph of a specified file. 7049This lists which functions have been called, what functions called 7050them, and what functions they call. The list includes all functions 7051whose definitions have been compiled in this Emacs session, as well as 7052all functions called by those functions. 7053 7054The call graph does not include macros, inline functions, or 7055primitives that the byte-code interpreter knows about directly (eq, 7056cons, etc.). 7057 7058The call tree also lists those functions which are not known to be called 7059(that is, to which no calls have been compiled), and which cannot be 7060invoked interactively.Fbatch-byte-compile 7061Run `byte-compile-file' on the files remaining on the command line. 7062Use this from the command line, with `-batch'; 7063it won't work in an interactive Emacs. 7064Each file is processed even if an error occurred previously. 7065For example, invoke "emacs -batch -f batch-byte-compile $emacs/ ~/*.el"Fbatch-byte-recompile-directory 7066Runs `byte-recompile-directory' on the dirs remaining on the command line. 7067Must be used only with `-batch', and kills Emacs on completion. 7068For example, invoke `emacs -batch -f batch-byte-recompile-directory .'.Vcalendar-week-start-day 7069*The day of the week on which a week in the calendar begins. 70700 means Sunday (default), 1 means Monday, and so on.Vview-diary-entries-initially 7071*Non-nil means display current date's diary entries on entry. 7072The diary is displayed in another window when the calendar is first displayed, 7073if the current date is visible. The number of days of diary entries displayed 7074is governed by the variable `number-of-diary-entries'.Vnumber-of-diary-entries 7075*Specifies how many days of diary entries are to be displayed initially. 7076This variable affects the diary display when the command M-x diary is used, 7077or if the value of the variable `view-diary-entries-initially' is t. For 7078example, if the default value 1 is used, then only the current day's diary 7079entries will be displayed. If the value 2 is used, then both the current 7080day's and the next day's entries will be displayed. 7081 7082The value can also be a vector such as [0 2 2 2 2 4 1]; this value 7083says to display no diary entries on Sunday, the display the entries 7084for the current date and the day after on Monday through Thursday, 7085display Friday through Monday's entries on Friday, and display only 7086Saturday's entries on Saturday. 7087 7088This variable does not affect the diary display with the `d' command 7089from the calendar; in that case, the prefix argument controls the 7090number of days of diary entries displayed.Vmark-diary-entries-in-calendar 7091*Non-nil means mark dates with diary entries, in the calendar window. 7092The marking symbol is specified by the variable `diary-entry-marker'.Vview-calendar-holidays-initially 7093*Non-nil means display holidays for current three month period on entry. 7094The holidays are displayed in another window when the calendar is first 7095displayed.Vmark-holidays-in-calendar 7096*Non-nil means mark dates of holidays in the calendar window. 7097The marking symbol is specified by the variable `calendar-holiday-marker'.Vall-hebrew-calendar-holidays 7098*If nil, show only major holidays from the Hebrew calendar. 7099This means only those Jewish holidays that appear on secular calendars. 7100 7101If t, show all the holidays that would appear in a complete Hebrew calendar.Vall-christian-calendar-holidays 7102*If nil, show only major holidays from the Christian calendar. 7103This means only those Christian holidays that appear on secular calendars. 7104 7105If t, show all the holidays that would appear in a complete Christian 7106calendar.Vall-islamic-calendar-holidays 7107*If nil, show only major holidays from the Islamic calendar. 7108This means only those Islamic holidays that appear on secular calendars. 7109 7110If t, show all the holidays that would appear in a complete Islamic 7111calendar.Vcalendar-load-hook 7112*List of functions to be called after the calendar is first loaded. 7113This is the place to add key bindings to `calendar-mode-map'.Vinitial-calendar-window-hook 7114*List of functions to be called when the calendar window is first opened. 7115The functions invoked are called after the calendar window is opened, but 7116once opened is never called again. Leaving the calendar with the `q' command 7117and reentering it will cause these functions to be called again.Vtoday-visible-calendar-hook 7118*List of functions called whenever the current date is visible. 7119This can be used, for example, to replace today's date with asterisks; a 7120function `calendar-star-date' is included for this purpose: 7121 (setq today-visible-calendar-hook 'calendar-star-date) 7122It can also be used to mark the current date with calendar-today-marker; 7123a function is also provided for this: 7124 (setq today-visible-calendar-hook 'calendar-mark-today) 7125 7126The corresponding variable `today-invisible-calendar-hook' is the list of 7127functions called when the calendar function was called when the current 7128date is not visible in the window. 7129 7130Other than the use of the provided functions, the changing of any 7131characters in the calendar buffer by the hooks may cause the failure of the 7132functions that move by days and weeks.Vtoday-invisible-calendar-hook 7133*List of functions called whenever the current date is not visible. 7134 7135The corresponding variable `today-visible-calendar-hook' is the list of 7136functions called when the calendar function was called when the current 7137date is visible in the window. 7138 7139Other than the use of the provided functions, the changing of any 7140characters in the calendar buffer by the hooks may cause the failure of the 7141functions that move by days and weeks.Vdiary-file 7142*Name of the file in which one's personal diary of dates is kept. 7143 7144The file's entries are lines in any of the forms 7145 7146 MONTH/DAY 7147 MONTH/DAY/YEAR 7148 MONTHNAME DAY 7149 MONTHNAME DAY, YEAR 7150 DAYNAME 7151 7152at the beginning of the line; the remainder of the line is the diary entry 7153string for that date. MONTH and DAY are one or two digit numbers, YEAR is 7154a number and may be written in full or abbreviated to the final two digits. 7155If the date does not contain a year, it is generic and applies to any year. 7156DAYNAME entries apply to any date on which is on that day of the week. 7157MONTHNAME and DAYNAME can be spelled in full, abbreviated to three 7158characters (with or without a period), capitalized or not. Any of DAY, 7159MONTH, or MONTHNAME, YEAR can be `*' which matches any day, month, or year, 7160respectively. 7161 7162The European style (in which the day precedes the month) can be used 7163instead, if you execute `european-calendar' when in the calendar, or set 7164`european-calendar-style' to t in your .emacs file. The European forms are 7165 7166 DAY/MONTH 7167 DAY/MONTH/YEAR 7168 DAY MONTHNAME 7169 DAY MONTHNAME YEAR 7170 DAYNAME 7171 7172To revert to the default American style from the European style, execute 7173`american-calendar' in the calendar. 7174 7175A diary entry can be preceded by a diary-nonmarking-symbol (ordinarily `&') 7176to make that entry nonmarking--that is, it will not be marked on dates in 7177the calendar window but will appear in a diary window. 7178 7179Multiline diary entries are made by indenting lines after the first with 7180either a TAB or one or more spaces. 7181 7182Lines not in one the above formats are ignored. Here are some sample diary 7183entries (in the default American style): 7184 7185 12/22/1988 Twentieth wedding anniversary!! 7186 &1/1. Happy New Year! 7187 10/22 Ruth's birthday. 7188 21: Payday 7189 Tuesday--weekly meeting with grad students at 10am 7190 Supowit, Shen, Bitner, and Kapoor to attend. 7191 1/13/89 Friday the thirteenth!! 7192 &thu 4pm squash game with Lloyd. 7193 mar 16 Dad's birthday 7194 April 15, 1989 Income tax due. 7195 &* 15 time cards due. 7196 7197If the first line of a diary entry consists only of the date or day name with 7198no trailing blanks or punctuation, then that line is not displayed in the 7199diary window; only the continuation lines is shown. For example, the 7200single diary entry 7201 7202 02/11/1989 7203 Bill Blattner visits Princeton today 7204 2pm Cognitive Studies Committee meeting 7205 2:30-5:30 Lizzie at Lawrenceville for `Group Initiative' 7206 4:00pm Jamie Tappenden 7207 7:30pm Dinner at George and Ed's for Alan Ryan 7208 7:30-10:00pm dance at Stewart Country Day School 7209 7210will appear in the diary window without the date line at the beginning. This 7211facility allows the diary window to look neater, but can cause confusion if 7212used with more than one day's entries displayed. 7213 7214Diary entries can be based on Lisp sexps. For example, the diary entry 7215 7216 %%(diary-block 11 1 1990 11 10 1990) Vacation 7217 7218causes the diary entry "Vacation" to appear from November 1 through November 721910, 1990. Other functions available are `diary-float', `diary-anniversary', 7220`diary-cyclic', `diary-day-of-year', `diary-iso-date', `diary-french-date', 7221`diary-hebrew-date', `diary-islamic-date', `diary-mayan-date', 7222`diary-yahrzeit', `diary-sunrise-sunset', `diary-phases-of-moon', 7223`diary-parasha', `diary-omer', `diary-rosh-hodesh', and 7224`diary-sabbath-candles'. See the documentation for the function 7225`list-sexp-diary-entries' for more details. 7226 7227Diary entries based on the Hebrew and/or the Islamic calendar are also 7228possible, but because these are somewhat slow, they are ignored 7229unless you set the `nongregorian-diary-listing-hook' and the 7230`nongregorian-diary-marking-hook' appropriately. See the documentation 7231for these functions for details. 7232 7233Diary files can contain directives to include the contents of other files; for 7234details, see the documentation for the variable `list-diary-entries-hook'.Vdiary-nonmarking-symbol 7235*Symbol indicating that a diary entry is not to be marked in the calendar.Vhebrew-diary-entry-symbol 7236*Symbol indicating a diary entry according to the Hebrew calendar.Vislamic-diary-entry-symbol 7237*Symbol indicating a diary entry according to the Islamic calendar.Vdiary-include-string 7238*The string indicating inclusion of another file of diary entries. 7239See the documentation for the function `include-other-diary-files'.Vsexp-diary-entry-symbol 7240*The string used to indicate a sexp diary entry in diary-file. 7241See the documentation for the function `list-sexp-diary-entries'.Vabbreviated-calendar-year 7242*Interpret a two-digit year DD in a diary entry as either 19DD or 20DD. 7243For the Gregorian calendar; similarly for the Hebrew and Islamic calendars. 7244If this variable is nil, years must be written in full.Veuropean-calendar-style 7245*Use the European style of dates in the diary and in any displays. 7246If this variable is t, a date 1/2/1990 would be interpreted as February 1, 72471990. The accepted European date styles are 7248 7249 DAY/MONTH 7250 DAY/MONTH/YEAR 7251 DAY MONTHNAME 7252 DAY MONTHNAME YEAR 7253 DAYNAME 7254 7255Names can be capitalized or not, written in full, or abbreviated to three 7256characters with or without a period.Vamerican-date-diary-pattern 7257*List of pseudo-patterns describing the American patterns of date used. 7258See the documentation of diary-date-forms for an explanation.Veuropean-date-diary-pattern 7259*List of pseudo-patterns describing the European patterns of date used. 7260See the documentation of diary-date-forms for an explanation.Veuropean-calendar-display-form 7261*Pseudo-pattern governing the way a date appears in the European style. 7262See the documentation of calendar-date-display-form for an explanation.Vamerican-calendar-display-form 7263*Pseudo-pattern governing the way a date appears in the American style. 7264See the documentation of calendar-date-display-form for an explanation.Vprint-diary-entries-hook 7265*List of functions called after a temporary diary buffer is prepared. 7266The buffer shows only the diary entries currently visible in the diary 7267buffer. The default just does the printing. Other uses might include, for 7268example, rearranging the lines into order by day and time, saving the buffer 7269instead of deleting it, or changing the function used to do the printing.Vlist-diary-entries-hook 7270*List of functions called after diary file is culled for relevant entries. 7271It is to be used for diary entries that are not found in the diary file. 7272 7273A function `include-other-diary-files' is provided for use as the value of 7274this hook. This function enables you to use shared diary files together 7275with your own. The files included are specified in the diary-file by lines 7276of the form 7277 7278 #include "filename" 7279 7280This is recursive; that is, #include directives in files thus included are 7281obeyed. You can change the "#include" to some other string by changing 7282the variable `diary-include-string'. When you use `include-other-diary-files' 7283as part of the list-diary-entries-hook, you will probably also want to use the 7284function `mark-included-diary-files' as part of the mark-diary-entries-hook. 7285 7286For example, you could use 7287 7288 (setq list-diary-entries-hook 7289 '(include-other-diary-files sort-diary-entries)) 7290 (setq diary-display-hook 'fancy-diary-display) 7291 7292in your .emacs file to cause the fancy diary buffer to be displayed with 7293diary entries from various included files, each day's entries sorted into 7294lexicographic order.Vdiary-hook 7295*List of functions called after the display of the diary. 7296Can be used for appointment notification.Vdiary-display-hook 7297*List of functions that handle the display of the diary. 7298If nil (the default), `simple-diary-display' is used. Use `ignore' for no 7299diary display. 7300 7301Ordinarily, this just displays the diary buffer (with holidays indicated in 7302the mode line), if there are any relevant entries. At the time these 7303functions are called, the variable `diary-entries-list' is a list, in order 7304by date, of all relevant diary entries in the form of ((MONTH DAY YEAR) 7305STRING), where string is the diary entry for the given date. This can be 7306used, for example, a different buffer for display (perhaps combined with 7307holidays), or produce hard copy output. 7308 7309A function `fancy-diary-display' is provided as an alternative 7310choice for this hook; this function prepares a special noneditable diary 7311buffer with the relevant diary entries that has neat day-by-day arrangement 7312with headings. The fancy diary buffer will show the holidays unless the 7313variable `holidays-in-diary-buffer' is set to nil. Ordinarily, the fancy 7314diary buffer will not show days for which there are no diary entries, even 7315if that day is a holiday; if you want such days to be shown in the fancy 7316diary buffer, set the variable `diary-list-include-blanks' to t.Vnongregorian-diary-listing-hook 7317*List of functions called for listing diary file and included files. 7318As the files are processed for diary entries, these functions are used to cull 7319relevant entries. You can use either or both of `list-hebrew-diary-entries' 7320and `list-islamic-diary-entries'. The documentation for these functions 7321describes the style of such diary entries.Vmark-diary-entries-hook 7322*List of functions called after marking diary entries in the calendar. 7323 7324A function `mark-included-diary-files' is also provided for use as the 7325mark-diary-entries-hook; it enables you to use shared diary files together 7326with your own. The files included are specified in the diary-file by lines 7327of the form 7328 #include "filename" 7329This is recursive; that is, #include directives in files thus included are 7330obeyed. You can change the "#include" to some other string by changing the 7331variable `diary-include-string'. When you use `mark-included-diary-files' as 7332part of the mark-diary-entries-hook, you will probably also want to use the 7333function `include-other-diary-files' as part of the list-diary-entries-hook.Vnongregorian-diary-marking-hook 7334*List of functions called for marking diary file and included files. 7335As the files are processed for diary entries, these functions are used to cull 7336relevant entries. You can use either or both of `mark-hebrew-diary-entries' 7337and `mark-islamic-diary-entries'. The documentation for these functions 7338describes the style of such diary entries.Vdiary-list-include-blanks 7339*If nil, do not include days with no diary entry in the list of diary entries. 7340Such days will then not be shown in the the fancy diary buffer, even if they 7341are holidays.Vholidays-in-diary-buffer 7342*Non-nil means include holidays in the diary display. 7343The holidays appear in the mode line of the diary buffer, or in the 7344fancy diary buffer next to the date. This slows down the diary functions 7345somewhat; setting it to nil makes the diary display faster.Vgeneral-holidays 7346*General holidays. Default value is for the United States. 7347See the documentation for `calendar-holidays' for details.Vlocal-holidays 7348*Local holidays. 7349See the documentation for `calendar-holidays' for details.Vother-holidays 7350*User defined holidays. 7351See the documentation for `calendar-holidays' for details.Vhebrew-holidays 7352*Jewish holidays. 7353See the documentation for `calendar-holidays' for details.Vchristian-holidays 7354*Christian holidays. 7355See the documentation for `calendar-holidays' for details.Vislamic-holidays 7356*Islamic holidays. 7357See the documentation for `calendar-holidays' for details.Vsolar-holidays 7358*Sun-related holidays. 7359See the documentation for `calendar-holidays' for details.Fcalendar 7360Display a three-month calendar in another window. 7361The three months appear side by side, with the current month in the middle 7362surrounded by the previous and next months. The cursor is put on today's date. 7363 7364If called with an optional prefix argument, prompts for month and year. 7365 7366This function is suitable for execution in a .emacs file; appropriate setting 7367of the variable `view-diary-entries-initially' will cause the diary entries for 7368the current date to be displayed in another window. The value of the variable 7369`number-of-diary-entries' controls the number of days of diary entries 7370displayed upon initial display of the calendar. 7371 7372An optional prefix argument ARG causes the calendar displayed to be ARG 7373months in the future if ARG is positive or in the past if ARG is negative; 7374in this case the cursor goes on the first day of the month. 7375 7376Once in the calendar window, future or past months can be moved into view. 7377Arbitrary months can be displayed, or the calendar can be scrolled forward 7378or backward. 7379 7380The cursor can be moved forward or backward by one day, one week, one month, 7381or one year. All of these commands take prefix arguments which, when negative, 7382cause movement in the opposite direction. For convenience, the digit keys 7383and the minus sign are automatically prefixes. The window is replotted as 7384necessary to display the desired date. 7385 7386Diary entries can be marked on the calendar or displayed in another window. 7387 7388Use M-x describe-mode for details of the key bindings in the calendar window. 7389 7390The Gregorian calendar is assumed. 7391 7392After loading the calendar, the hooks given by the variable 7393`calendar-load-hook' are run. This the place to add key bindings to the 7394calendar-mode-map. 7395 7396After preparing the calendar window initially, the hooks given by the variable 7397`initial-calendar-window-hook' are run. 7398 7399The hooks given by the variable `today-visible-calendar-hook' are run 7400everytime the calendar window gets scrolled, if the current date is visible 7401in the window. If it is not visible, the hooks given by the variable 7402`today-invisible-calendar-hook' are run. Thus, for example, setting 7403`today-visible-calendar-hook' to 'calendar-star-date will cause today's date 7404to be replaced by asterisks to highlight it whenever it is in the window.Flist-yahrzeit-dates 7405List Yahrzeit dates for *Gregorian* DEATH-DATE from START-YEAR to END-YEAR. 7406When called interactively from the calendar window, the date of death is taken 7407from the cursor position.Fdescribe-buffer-case-table 7408Describe the case table of the current buffer.Fset-case-syntax-delims 7409Make characters L and R a matching pair of non-case-converting delimiters. 7410This sets the entries for L and R in TABLE, which is a string 7411that will be used as the downcase part of a case table. 7412It also modifies `standard-syntax-table' to 7413indicate left and right delimiters.Fset-case-syntax-pair 7414Make characters UC and LC a pair of inter-case-converting letters. 7415This sets the entries for characters UC and LC in TABLE, which is a string 7416that will be used as the downcase part of a case table. 7417It also modifies `standard-syntax-table' to give them the syntax of 7418word constituents.Fset-case-syntax 7419Make characters C case-invariant with syntax SYNTAX. 7420This sets the entries for character C in TABLE, which is a string 7421that will be used as the downcase part of a case table. 7422It also modifies `standard-syntax-table'. 7423SYNTAX should be " ", "w", "." or "_".Frepeat-matching-complex-command 7424Edit and re-evaluate complex command with name matching PATTERN. 7425Matching occurrences are displayed, most recent first, until you select 7426a form for evaluation. If PATTERN is empty (or nil), every form in the 7427command history is offered. The form is placed in the minibuffer for 7428editing and the result is evaluated.Flist-command-history 7429List history of commands typed to minibuffer. 7430The number of commands listed is controlled by `list-command-history-max'. 7431Calls value of `list-command-history-filter' (if non-nil) on each history 7432element to judge if that element should be excluded from the list. 7433 7434The buffer is left in Command History mode.Fcommand-history-mode 7435Major mode for examining commands from `command-history'. 7436The number of commands listed is controlled by `list-command-history-max'. 7437The command history is filtered by `list-command-history-filter' if non-nil. 7438Use \<command-history-map>\[command-history-repeat] to repeat the command on the current line. 7439 7440Otherwise much like Emacs-Lisp Mode except that there is no self-insertion 7441and digits provide prefix arguments. Tab does not indent. 7442\{command-history-map} 7443Calls the value of `command-history-hook' if that is non-nil. 7444The Command History listing is recomputed each time this mode is invoked.Fmake-comint 7445Make a comint process NAME in a buffer, running PROGRAM. 7446The name of the buffer is made by surrounding NAME with `*'s. 7447If there is already a running process in that buffer, it is not restarted. 7448Optional third arg STARTFILE is the name of a file to send the contents of to 7449the process. Any more args are arguments to PROGRAM.Fcomint-run 7450Run PROGRAM in a comint buffer and switch to it. 7451The buffer name is made by surrounding the file name of PROGRAM with `*'s. 7452The file name is used to make a symbol name, such as `comint-sh-hook', and any 7453hooks on this symbol are run in the buffer. 7454See `make-comint' and `comint-exec'.Fcompare-windows 7455Compare text in current window with text in next window. 7456Compares the text starting at point in each window, 7457moving over text in each one as far as they match. 7458 7459A prefix arg means ignore changes in whitespace. 7460The variable `compare-windows-whitespace' controls how whitespace is skipped. 7461If `compare-ignore-case' is non-nil, changes in case are also ignored.Vcompilation-mode-hook 7462*List of hook functions run by `compilation-mode' (see `run-hooks').Vcompilation-window-height 7463*Number of lines in a compilation window. If nil, use Emacs default.Vcompilation-buffer-name-function 7464Function to compute the name of a compilation buffer. 7465The function receives one argument, the name of the major mode of the 7466compilation buffer. It should return a string. 7467nil means compute the name with `(concat "*" (downcase major-mode) "*")'.Vcompilation-finish-function 7468*Function to call when a compilation process finishes. 7469It is called with two arguments: the compilation buffer, and a string 7470describing how the process finished.Vcompilation-search-path 7471*List of directories to search for source files named in error messages. 7472Elements should be directory names, not file names of directories. 7473nil as an element means to try the default directory.Fcompile 7474Compile the program including the current buffer. Default: run `make'. 7475Runs COMMAND, a shell command, in a separate process asynchronously 7476with output going to the buffer `*compilation*'. 7477 7478You can then use the command \[next-error] to find the next error message 7479and move to the source code that caused it. 7480 7481To run more than one compilation at once, start one and rename the 7482`*compilation*' buffer to some other name with \[rename-buffer]. 7483Then start the next one. 7484 7485The name used for the buffer is actually whatever is returned by 7486the function in `compilation-buffer-name-function', so you can set that 7487to a function that generates a unique name.Fgrep 7488Run grep, with user-specified args, and collect output in a buffer. 7489While grep runs asynchronously, you can use the \[next-error] command 7490to find the text that grep hits refer to. 7491 7492This command uses a special history list for its arguments, so you can 7493easily repeat a grep command.Fcompilation-minor-mode 7494Toggle compilation minor mode. 7495With arg, turn compilation mode on if and only if arg is positive. 7496See `compilation-mode'.Fnext-error 7497Visit next compilation error message and corresponding source code. 7498This operates on the output from the \[compile] command. 7499If all preparsed error messages have been processed, 7500the error message buffer is checked for new ones. 7501 7502A prefix arg specifies how many error messages to move; 7503negative means move back to previous error messages. 7504Just C-u as a prefix means reparse the error message buffer 7505and start at the first error. 7506 7507\[next-error] normally applies to the most recent compilation started, 7508but as long as you are in the middle of parsing errors from one compilation 7509output buffer, you stay with that compilation output buffer. 7510 7511Use \[next-error] in a compilation output buffer to switch to 7512processing errors from that compilation. 7513 7514See variables `compilation-parse-errors-function' and 7515`compilation-error-regexp-alist' for customization ideas.Fcookie 7516Return a random phrase from PHRASE-FILE. When the phrase file 7517is read in, display STARTMSG at beginning of load, ENDMSG at end.Fcookie-insert 7518Insert random phrases from PHRASE-FILE; COUNT of them. When the phrase file 7519is read in, display STARTMSG at beginning of load, ENDMSG at end.Fcookie-snarf 7520Reads in the PHRASE-FILE, returns it as a vector of strings. 7521Emit STARTMSG and ENDMSG before and after. Caches the result; second 7522and subsequent calls on the same file won't go to disk.Fshuffle-vector 7523Randomly permute the elements of VECTOR (all permutations equally likely)Fc++-mode 7524Major mode for editing C++ code. Very much like editing C code. 7525Expression and list commands understand all C++ brackets. 7526Tab at left margin indents for C++ code 7527Comments are delimited with /* ... */ {or with // ... <newline>} 7528Paragraphs are separated by blank lines only. 7529Delete converts tabs to spaces as it moves back. 7530\{c++-mode-map} 7531Variables controlling indentation style: 7532 c-tab-always-indent 7533 Non-nil means TAB in C mode should always reindent the current line, 7534 regardless of where in the line point is when the TAB command is used. 7535 Default is t. 7536 c-auto-newline 7537 Non-nil means automatically newline before and after braces, 7538 and after colons and semicolons, inserted in C code. 7539 c-indent-level 7540 Indentation of C statements within surrounding block. 7541 The surrounding block's indentation is the indentation 7542 of the line on which the open-brace appears. 7543 c-continued-statement-offset 7544 Extra indentation given to a substatement, such as the 7545 then-clause of an if or body of a while. 7546 c-continued-brace-offset 7547 Extra indentation given to a brace that starts a substatement. 7548 This is in addition to c-continued-statement-offset. 7549 c-brace-offset 7550 Extra indentation for line if it starts with an open brace. 7551 c-brace-imaginary-offset 7552 An open brace following other text is treated as if it were 7553 this far to the right of the start of its line. 7554 c-argdecl-indent 7555 Indentation level of declarations of C function arguments. 7556 c-label-offset 7557 Extra indentation for line that is a label, or case or ``default:'', or 7558 ``public:'' or ``private:'', or ``protected:''. 7559 c++-electric-colon 7560 If non-nil at invocation of c++-mode (t is the default) colon electricly 7561 indents. 7562 c++-empty-arglist-indent 7563 If non-nil, a function declaration or invocation which ends a line with a 7564 left paren is indented this many extra spaces, instead of flush with the 7565 left paren. 7566 c++-friend-offset 7567 Offset of C++ friend declarations relative to member declarations. 7568 c++-member-init-indent 7569 Indentation level of member initializations in function declarations, 7570 if they are on a separate line beginning with a colon. 7571 c++-continued-member-init-offset 7572 Extra indentation for continuation lines of member initializations; NIL 7573 means to align with previous initializations rather than with the colon. 7574 7575Settings for K&R, BSD, and Stroustrup indentation styles are 7576 c-indent-level 5 8 4 7577 c-continued-statement-offset 5 8 4 7578 c-continued-brace-offset 0 7579 c-brace-offset -5 -8 0 7580 c-brace-imaginary-offset 0 7581 c-argdecl-indent 0 8 4 7582 c-label-offset -5 -8 -4 7583 c++-empty-arglist-indent 4 7584 c++-friend-offset 0 7585 7586Turning on C++ mode calls the value of the variable `c++-mode-hook' with 7587no args if that value is non-nil.Fdabbrev-expand 7588Expand previous word "dynamically". 7589Expands to the most recent, preceding word for which this is a prefix. 7590If no suitable preceding word is found, words following point are considered. 7591 7592If `case-fold-search' and `case-replace' are non-nil (usually true) 7593then the substituted word may be case-adjusted to match the abbreviation 7594that you had typed. This takes place if the substituted word, as found, 7595is all lower case, or if it is at the beginning of a sentence and only 7596its first letter was upper case. 7597 7598A positive prefix arg N says to take the Nth backward DISTINCT 7599possibility. A negative argument says search forward. The variable 7600`dabbrev-backward-only' may be used to limit the direction of search to 7601backward if set non-nil. 7602 7603If the cursor has not moved from the end of the previous expansion and 7604no argument is given, replace the previously-made expansion 7605with the next possible expansion not yet tried.Fdebug 7606Enter debugger. To return, type \<debugger-mode-map>`\[debugger-continue]'. 7607Arguments are mainly for use when this is called from the internals 7608of the evaluator. 7609 7610You may call with no args, or you may pass nil as the first arg and 7611any other args you like. In that case, the list of args after the 7612first will be printed into the backtrace buffer.Fdebug-on-entry 7613Request FUNCTION to invoke debugger each time it is called. 7614If you tell the debugger to continue, FUNCTION's execution proceeds. 7615This works by modifying the definition of FUNCTION, 7616which must be written in Lisp, not predefined. 7617Use \[cancel-debug-on-entry] to cancel the effect of this command. 7618Redefining FUNCTION also cancels it.Fcancel-debug-on-entry 7619Undo effect of \[debug-on-entry] on FUNCTION. 7620If argument is nil or an empty string, cancel for all functions.Fdelete-selection-mode 7621Toggle Delete Selection mode. 7622When ON, typed text replaces the selection if the selection is active. 7623When OFF, typed text is just inserted at point.Fdefine-derived-mode 7624Create a new mode as a variant of an existing mode. 7625 7626The arguments to this command are as follow: 7627 7628PARENT: the name of the command for the parent mode (ie. text-mode). 7629CHILD: the name of the command for the derived mode. 7630NAME: a string which will appear in the status line (ie. "Hypertext") 7631DOCSTRING: an optional documentation string--if you do not supply one, 7632 the function will attempt to invent something useful. 7633BODY: forms to execute just before running the 7634 hooks for the new mode. 7635 7636Here is how you could define LaTeX-Thesis mode as a variant of LaTeX mode: 7637 7638 (define-derived-mode LaTeX-thesis-mode LaTeX-mode "LaTeX-Thesis") 7639 7640You could then make new key bindings for `LaTeX-thesis-mode-map' 7641without changing regular LaTeX mode. In this example, BODY is empty, 7642and DOCSTRING is generated by default. 7643 7644On a more complicated level, the following command uses sgml-mode as 7645the parent, and then sets the variable `case-fold-search' to nil: 7646 7647 (define-derived-mode article-mode sgml-mode "Article" 7648 "Major mode for editing technical articles." 7649 (setq case-fold-search nil)) 7650 7651Note that if the documentation string had been left out, it would have 7652been generated automatically, with a reference to the keymap.Fderived-mode-init-mode-variables 7653Initialise variables for a new mode. 7654Right now, if they don't already exist, set up a blank keymap, an 7655empty syntax table, and an empty abbrev table -- these will be merged 7656the first time the mode is used.Fdiary 7657Generate the diary window for ARG days starting with the current date. 7658If no argument is provided, the number of days of diary entries is governed 7659by the variable `number-of-diary-entries'. This function is suitable for 7660execution in a `.emacs' file.Fdiff 7661Find and display the differences between OLD and NEW files. 7662Interactively the current buffer's file name is the default for NEW 7663and a backup file for NEW is the default for OLD. 7664With prefix arg, prompt for diff switches.Fdiff-backup 7665Diff this file with its backup file or vice versa. 7666Uses the latest backup, if there are several numerical backups. 7667If this file is a backup, diff it with its original. 7668The backup file is the first file given to `diff'.Vdired-listing-switches 7669*Switches passed to `ls' for dired. MUST contain the `l' option. 7670May contain all other options that don't contradict `-l'; 7671may contain even `F', `b', `i' and `s'. See also the variable 7672`dired-ls-F-marks-symlinks' concerning the `F' switch.Vdired-chown-program 7673Name of chown command (usually `chown' or `/etc/chown').Vdired-ls-F-marks-symlinks 7674*Informs dired about how `ls -lF' marks symbolic links. 7675Set this to t if `insert-directory-program' with `-lF' marks the symbolic link 7676itself with a trailing @ (usually the case under Ultrix). 7677 7678Example: if `ln -s foo bar; ls -F bar' gives `bar -> foo', set it to 7679nil (the default), if it gives `bar@ -> foo', set it to t. 7680 7681Dired checks if there is really a @ appended. Thus, if you have a 7682marking `ls' program on one host and a non-marking on another host, and 7683don't care about symbolic links which really end in a @, you can 7684always set this variable to t.Vdired-trivial-filenames 7685*Regexp of files to skip when finding first file of a directory. 7686A value of nil means move to the subdir line. 7687A value of t means move to first file.Vdired-keep-marker-rename 7688*Controls marking of renamed files. 7689If t, files keep their previous marks when they are renamed. 7690If a character, renamed files (whether previously marked or not) 7691are afterward marked with that character.Vdired-keep-marker-copy 7692*Controls marking of copied files. 7693If t, copied files are marked if and as the corresponding original files were. 7694If a character, copied files are unconditionally marked with that character.Vdired-keep-marker-hardlink 7695*Controls marking of newly made hard links. 7696If t, they are marked if and as the files linked to were marked. 7697If a character, new links are unconditionally marked with that character.Vdired-keep-marker-symlink 7698*Controls marking of newly made symbolic links. 7699If t, they are marked if and as the files linked to were marked. 7700If a character, new links are unconditionally marked with that character.Vdired-dwim-target 7701*If non-nil, dired tries to guess a default target directory. 7702This means: if there is a dired buffer displayed in the next window, 7703use its current subdir, instead of the current subdir of this dired buffer. 7704 7705The target is used in the prompt for file copy, rename etc.Vdired-copy-preserve-time 7706*If non-nil, Dired preserves the last-modified time in a file copy. 7707(This works on only some systems.)Fdired 7708"Edit" directory DIRNAME--delete, rename, print, etc. some files in it. 7709Optional second argument SWITCHES specifies the `ls' options used. 7710(Interactively, use a prefix argument to be able to specify SWITCHES.) 7711Dired displays a list of files in DIRNAME (which may also have 7712shell wildcards appended to select certain files). If DIRNAME is a cons, 7713its first element is taken as the directory name and the resr as an explicit 7714list of files to make directory entries for. 7715\<dired-mode-map>You can move around in it with the usual commands. 7716You can flag files for deletion with \[dired-flag-file-deletion] and then 7717delete them by typing \[dired-do-flagged-delete]. 7718Type \[describe-mode] after entering dired for more info. 7719 7720If DIRNAME is already in a dired buffer, that buffer is used without refresh.Fdired-other-window 7721"Edit" directory DIRNAME. Like `dired' but selects in another window.Fdired-other-frame 7722"Edit" directory DIRNAME. Like `dired' but makes a new frame.Fdired-noselect 7723Like `dired' but returns the dired buffer as value, does not select it.Fdired-diff 7724Compare file at point with file FILE using `diff'. 7725FILE defaults to the file at the mark. 7726The prompted-for file is the first file given to `diff'. 7727With prefix arg, prompt for second argument SWITCHES, 7728 which is options for `diff'.Fdired-backup-diff 7729Diff this file with its backup file or vice versa. 7730Uses the latest backup, if there are several numerical backups. 7731If this file is a backup, diff it with its original. 7732The backup file is the first file given to `diff'. 7733With prefix arg, prompt for argument SWITCHES which is options for `diff'.Fdired-do-chmod 7734Change the mode of the marked (or next ARG) files. 7735This calls chmod, thus symbolic modes like `g+w' are allowed.Fdired-do-chgrp 7736Change the group of the marked (or next ARG) files.Fdired-do-chown 7737Change the owner of the marked (or next ARG) files.Fdired-do-print 7738Print the marked (or next ARG) files. 7739Uses the shell command coming from variables `lpr-command' and 7740`lpr-switches' as default.Fdired-do-shell-command 7741Run a shell command COMMAND on the marked files. 7742If no files are marked or a specific numeric prefix arg is given, 7743the next ARG files are used. Just \[universal-argument] means the current file. 7744The prompt mentions the file(s) or the marker, as appropriate. 7745 7746If there is output, it goes to a separate buffer. 7747 7748Normally the command is run on each file individually. 7749However, if there is a `*' in the command then it is run 7750just once with the entire file list substituted there. 7751 7752No automatic redisplay of dired buffers is attempted, as there's no 7753telling what files the command may have changed. Type 7754\[dired-do-redisplay] to redisplay the marked files. 7755 7756The shell command has the top level directory as working directory, so 7757output files usually are created there instead of in a subdir.Fdired-do-kill-lines 7758Kill all marked lines (not the files). 7759With a prefix argument, kill that many lines starting with the current line. 7760(A negative argument kills lines before the current line.) 7761To kill an entire subdirectory, go to its directory header line 7762and use this command with a prefix argument (the value does not matter).Fdired-do-compress 7763Compress or uncompress marked (or next ARG) files.Fdired-do-byte-compile 7764Byte compile marked (or next ARG) Emacs Lisp files.Fdired-do-load 7765Load the marked (or next ARG) Emacs Lisp files.Fdired-do-redisplay 7766Redisplay all marked (or next ARG) files. 7767If on a subdir line, redisplay that subdirectory. In that case, 7768a prefix arg lets you edit the `ls' switches used for the new listing.Fdired-string-replace-match 7769Replace first match of REGEXP in STRING with NEWTEXT. 7770If it does not match, nil is returned instead of the new string. 7771Optional arg LITERAL means to take NEWTEXT literally. 7772Optional arg GLOBAL means to replace all matches.Fdired-create-directory 7773Create a directory called DIRECTORY.Fdired-do-copy 7774Copy all marked (or next ARG) files, or copy the current file. 7775This normally preserves the last-modified date when copying. 7776When operating on just the current file, you specify the new name. 7777When operating on multiple or marked files, you specify a directory 7778and new symbolic links are made in that directory 7779with the same names that the files currently have.Fdired-do-symlink 7780Make symbolic links to current file or all marked (or next ARG) files. 7781When operating on just the current file, you specify the new name. 7782When operating on multiple or marked files, you specify a directory 7783and new symbolic links are made in that directory 7784with the same names that the files currently have.Fdired-do-hardlink 7785Add names (hard links) current file or all marked (or next ARG) files. 7786When operating on just the current file, you specify the new name. 7787When operating on multiple or marked files, you specify a directory 7788and new hard links are made in that directory 7789with the same names that the files currently have.Fdired-do-rename 7790Rename current file or all marked (or next ARG) files. 7791When renaming just the current file, you specify the new name. 7792When renaming multiple or marked files, you specify a directory.Fdired-do-rename-regexp 7793Rename marked files containing REGEXP to NEWNAME. 7794As each match is found, the user must type a character saying 7795 what to do with it. For directions, type \[help-command] at that time. 7796NEWNAME may contain \=\<n> or \& as in `query-replace-regexp'. 7797REGEXP defaults to the last regexp used. 7798With a zero prefix arg, renaming by regexp affects the complete 7799 pathname - usually only the non-directory part of file names is used 7800 and changed.Fdired-do-copy-regexp 7801Copy all marked files containing REGEXP to NEWNAME. 7802See function `dired-rename-regexp' for more info.Fdired-do-hardlink-regexp 7803Hardlink all marked files containing REGEXP to NEWNAME. 7804See function `dired-rename-regexp' for more info.Fdired-do-symlink-regexp 7805Symlink all marked files containing REGEXP to NEWNAME. 7806See function `dired-rename-regexp' for more info.Fdired-upcase 7807Rename all marked (or next ARG) files to upper case.Fdired-downcase 7808Rename all marked (or next ARG) files to lower case.Fdired-maybe-insert-subdir 7809Insert this subdirectory into the same dired buffer. 7810If it is already present, just move to it (type \[dired-do-redisplay] to refresh), 7811 else inserts it at its natural place (as `ls -lR' would have done). 7812With a prefix arg, you may edit the ls switches used for this listing. 7813 You can add `R' to the switches to expand the whole tree starting at 7814 this subdirectory. 7815This function takes some pains to conform to `ls -lR' output.Fdired-prev-subdir 7816Go to previous subdirectory, regardless of level. 7817When called interactively and not on a subdir line, go to this subdir's line.Fdired-goto-subdir 7818Go to end of header line of DIR in this dired buffer. 7819Return value of point on success, otherwise return nil. 7820The next char is either \n, or \r if DIR is hidden.Fdired-mark-subdir-files 7821Mark all files except `.' and `..'.Fdired-kill-subdir 7822Remove all lines of current subdirectory. 7823Lower levels are unaffected.Fdired-tree-up 7824Go up ARG levels in the dired tree.Fdired-tree-down 7825Go down in the dired tree.Fdired-hide-subdir 7826Hide or unhide the current subdirectory and move to next directory. 7827Optional prefix arg is a repeat factor. 7828Use \[dired-hide-all] to (un)hide all directories.Fdired-hide-all 7829Hide all subdirectories, leaving only their header lines. 7830If there is already something hidden, make everything visible again. 7831Use \[dired-hide-subdir] to (un)hide a particular subdirectory.Fdired-jump 7832Jump to dired buffer corresponding to current buffer. 7833If in a file, dired the current directory and move to file's line. 7834If in dired already, pop up a level and goto old directory's line. 7835In case the proper dired file line cannot be found, refresh the dired 7836buffer and try again.Fdisassemble 7837Print disassembled code for OBJECT in (optional) BUFFER. 7838OBJECT can be a symbol defined as a function, or a function itself 7839(a lambda expression or a compiled-function object). 7840If OBJECT is not already compiled, we compile it, but do not 7841redefine OBJECT if it is a symbol.Fdescribe-current-display-table 7842Describe the display table in use in the selected window and buffer.Fmake-display-table 7843Return a new, empty display table.Fstandard-display-8bit 7844Display characters in the range L to H literally.Fstandard-display-default 7845Display characters in the range L to H using the default notation.Fstandard-display-ascii 7846Display character C using string S. 7847S is usually a terminal-dependent escape sequence. 7848This function is meaningless for an X frame.Fstandard-display-g1 7849Display character C as character SC in the g1 character set. 7850This function assumes that your terminal uses the SO/SI characters; 7851it is meaningless for an X frame.Fstandard-display-graphic 7852Display character C as character GC in graphics character set. 7853This function assumes VT100-compatible escapes; it is meaningless for an 7854X frame.Fstandard-display-underline 7855Display character C as character UC plus underlining.Fstandard-display-european 7856Toggle display of European characters encoded with ISO 8859. 7857When enabled, characters in the range of 160 to 255 display not 7858as octal escapes, but as accented characters. 7859With prefix argument, enable European character display iff arg is positive.Fdissociated-press 7860Dissociate the text of the current buffer. 7861Output goes in buffer named *Dissociation*, 7862which is redisplayed each time text is added to it. 7863Every so often the user must say whether to continue. 7864If ARG is positive, require ARG chars of continuity. 7865If ARG is negative, require -ARG words of continuity. 7866Default is 2.Fdoctor 7867Switch to *doctor* buffer and start giving psychotherapy.Fdouble-mode 7868Toggle double mode. 7869With prefix arg, turn double mode on iff arg is positive. 7870 7871When double mode is on, some keys will insert will insert different 7872strings when pressed twice. See variable `double-map' for details.Fdunnet 7873Switch to *dungeon* buffer and start game.Feasy-menu-define 7874Define a menu bar submenu in maps MAPS, according to MENU. 7875The arguments SYMBOL and DOC are ignored; they are present for 7876compatibility only. SYMBOL is not evaluated. In other Emacs versions 7877these arguments may be used as a variable to hold the menu data, and a 7878doc string for that variable. 7879 7880The first element of MENU must be a string. It is the menu bar item name. 7881The rest of the elements are menu items. 7882 7883A menu item is usually a vector of three elements: [NAME CALLBACK ENABLE] 7884 7885NAME is a string--the menu item name. 7886 7887CALLBACK is a command to run when the item is chosen, 7888or a list to evaluate when the item is chosen. 7889 7890ENABLE is a symbol; if its value is non-nil, the item is enabled 7891for selection. 7892 7893A menu item can be a string. Then that string appears in the menu as 7894unselectable text. A string consisting solely of hyphens is displayed 7895as a solid horizontal line. 7896 7897A menu item can be a list. It is treated as a submenu. 7898The first element should be the submenu name. That's used as the 7899menu item in the top-level menu. The cdr of the submenu list 7900is a list of menu items, as above.Felectric-buffer-list 7901Pops up a buffer describing the set of Emacs buffers. 7902Vaguely like ITS lunar select buffer; combining typeoutoid buffer 7903listing with menuoid buffer selection. 7904 7905If the very next character typed is a space then the buffer list 7906window disappears. Otherwise, one may move around in the buffer list 7907window, marking buffers to be selected, saved or deleted. 7908 7909To exit and select a new buffer, type a space when the cursor is on 7910the appropriate line of the buffer-list window. Other commands are 7911much like those of buffer-menu-mode. 7912 7913Calls value of `electric-buffer-menu-mode-hook' on entry if non-nil. 7914 7915\{electric-buffer-menu-mode-map}FElectric-command-history-redo-expression 7916Edit current history line in minibuffer and execute result. 7917With prefix arg NOCONFIRM, execute current line as-is without editing.Fdef-edebug-spec 7918Set the edebug-form-spec property of SYMBOL according to SPEC. 7919Both SYMBOL and SPEC are unevaluated. The SPEC can be 0, t, a symbol 7920(naming a function), or a list.Fedebug-eval-top-level-form 7921Evaluate a top level form, such as a defun or defmacro. 7922This is like `eval-defun', but the code is always instrumented for Edebug. 7923Print its name in the minibuffer and leave point where it is, 7924or if an error occurs, leave point after it with mark at the original 7925point.Fediff-patch-file 7926Run Ediff by patching FILE-TP-PATCH.Fediff-files 7927Run Ediff on a pair files, FILE-A and FILE-B.Fediff-buffers 7928Run Ediff on a pair of buffers, BUFFER-A and BUFFER-B.Fediff-patch-buffer 7929Run Ediff by patching BUFFER-NAME.Fvc-ediff 7930Run ediff on version REV of the current buffer in another window. 7931If the current buffer is named `F', the version is named `F.~REV~'. 7932If `F.~REV~' already exists, it is used instead of being re-created.Frcs-ediff 7933Run Ediff on the current buffer, comparing it with previous RCS revision. 7934With prefix argument, prompts for revision name.Fediff-files-remote 7935Run Ediff on remote files, FILE-A and FILE-B.Vedmacro-eight-bits 7936*Non-nil if edit-kbd-macro should leave 8-bit characters intact. 7937Default nil means to write characters above \177 in octal notation.Fedit-kbd-macro 7938Edit a keyboard macro. 7939At the prompt, type any key sequence which is bound to a keyboard macro. 7940Or, type `C-x e' or RET to edit the last keyboard macro, `C-h l' to edit 7941the last 100 keystrokes as a keyboard macro, or `M-x' to edit a macro by 7942its command name. 7943With a prefix argument, format the macro in a more concise way.Fedit-last-kbd-macro 7944Edit the most recently defined keyboard macro.Fedit-named-kbd-macro 7945Edit a keyboard macro which has been given a name by `name-last-kbd-macro'.Fread-kbd-macro 7946Read the region as a keyboard macro definition. 7947The region is interpreted as spelled-out keystrokes, e.g., "M-x abc RET". 7948See documentation for `edmacro-mode' for details. 7949Leading/trailing "C-x (" and "C-x )" in the text are allowed and ignored. 7950The resulting macro is installed as the "current" keyboard macro. 7951 7952In Lisp, may also be called with a single STRING argument in which case 7953the result is returned rather than being installed as the current macro. 7954The result will be a string if possible, otherwise an event vector. 7955Second argument NEED-VECTOR means to return an event vector always.Fformat-kbd-macro 7956Return the keyboard macro MACRO as a human-readable string. 7957This string is suitable for passing to `read-kbd-macro'. 7958Second argument VERBOSE means to put one command per line with comments. 7959If VERBOSE is `1', put everything on one line. If VERBOSE is omitted 7960or nil, use a compact 80-column format.Finsert-kbd-macro 7961Insert in buffer the definition of kbd macro NAME, as Lisp code. 7962Optional second arg KEYS means also record the keys it is on 7963(this is the prefix argument, when calling interactively). 7964 7965This Lisp code will, when executed, define the kbd macro with the same 7966definition it has now. If you say to record the keys, the Lisp code 7967will also rebind those keys to the macro. Only global key bindings 7968are recorded since executing this Lisp code always makes global 7969bindings. 7970 7971To save a kbd macro, visit a file of Lisp code such as your `~/.emacs', 7972use this command, and then save the file.Fedt-emulation-on 7973Emulate DEC's EDT editor. 7974Note that many keys are rebound; including nearly all keypad keys. 7975Use \[edt-emulation-off] to undo all rebindings except the keypad keys.Freport-emacs-bug 7976Report a bug in GNU Emacs. 7977Prompts for bug subject. Leaves you in a mail buffer.Femerge-files 7978Run Emerge on two files.Femerge-files-with-ancestor 7979Run Emerge on two files, giving another file as the ancestor.Femerge-buffers 7980Run Emerge on two buffers.Femerge-buffers-with-ancestor 7981Run Emerge on two buffers, giving another buffer as the ancestor.Femerge-revisions 7982Emerge two RCS revisions of a file.Femerge-revisions-with-ancestor 7983Emerge two RCS revisions of a file, with another revision as ancestor.Fsetenv 7984Set the value of the environment variable named VARIABLE to VALUE. 7985VARIABLE should be a string. VALUE is optional; if not provided or is 7986`nil', the environment variable VARIABLE will be removed. 7987This function works by modifying `process-environment'.Vtags-file-name 7988*File name of tags table. 7989To switch to a new tags table, setting this variable is sufficient. 7990If you set this variable, do not also set `tags-table-list'. 7991Use the `etags' program to make a tags table file.Vtags-table-list 7992*List of file names of tags tables to search. 7993An element that is a directory means the file "TAGS" in that directory. 7994To switch to a new list of tags tables, setting this variable is sufficient. 7995If you set this variable, do not also set `tags-file-name'. 7996Use the `etags' program to make a tags table file.Vtags-add-tables 7997*Control whether to add a new tags table to the current list. 7998t means do; nil means don't (always start a new list). 7999Any other value means ask the user whether to add a new tags table 8000to the current list (as opposed to starting a new list).Vfind-tag-hook 8001*Hook to be run by \[find-tag] after finding a tag. See `run-hooks'. 8002The value in the buffer in which \[find-tag] is done is used, 8003not the value in the buffer \[find-tag] goes to.Vfind-tag-default-function 8004*A function of no arguments used by \[find-tag] to pick a default tag. 8005If nil, and the symbol that is the value of `major-mode' 8006has a `find-tag-default-function' property (see `put'), that is used. 8007Otherwise, `find-tag-default' is used.Fvisit-tags-table 8008Tell tags commands to use tags table file FILE. 8009FILE should be the name of a file created with the `etags' program. 8010A directory name is ok too; it means file TAGS in that directory. 8011 8012Normally \[visit-tags-table] sets the global value of `tags-file-name'. 8013With a prefix arg, set the buffer-local value instead. 8014When you find a tag with \[find-tag], the buffer it finds the tag 8015in is given a local value of this variable which is the name of the tags 8016file the tag was in.Ftags-table-files 8017Return a list of files in the current tags table. 8018Assumes the tags table is the current buffer. 8019File names returned are absolute.Ffind-tag-noselect 8020Find tag (in current tags table) whose name contains TAGNAME. 8021Returns the buffer containing the tag's definition and moves its point there, 8022but does not select the buffer. 8023The default for TAGNAME is the expression in the buffer near point. 8024 8025If second arg NEXT-P is t (interactively, with prefix arg), search for 8026another tag that matches the last tagname or regexp used. When there are 8027multiple matches for a tag, more exact matches are found first. If NEXT-P 8028is the atom `-' (interactively, with prefix arg that is a negative number 8029or just \[negative-argument]), pop back to the previous tag gone to. 8030 8031If third arg REGEXP-P is non-nil, treat TAGNAME as a regexp. 8032 8033See documentation of variable `tags-file-name'.Ffind-tag 8034Find tag (in current tags table) whose name contains TAGNAME. 8035Select the buffer containing the tag's definition, and move point there. 8036The default for TAGNAME is the expression in the buffer around or before point. 8037 8038If second arg NEXT-P is t (interactively, with prefix arg), search for 8039another tag that matches the last tagname or regexp used. When there are 8040multiple matches for a tag, more exact matches are found first. If NEXT-P 8041is the atom `-' (interactively, with prefix arg that is a negative number 8042or just \[negative-argument]), pop back to the previous tag gone to. 8043 8044See documentation of variable `tags-file-name'.Ffind-tag-other-window 8045Find tag (in current tags table) whose name contains TAGNAME. 8046Select the buffer containing the tag's definition in another window, and 8047move point there. The default for TAGNAME is the expression in the buffer 8048around or before point. 8049 8050If second arg NEXT-P is t (interactively, with prefix arg), search for 8051another tag that matches the last tagname or regexp used. When there are 8052multiple matches for a tag, more exact matches are found first. If NEXT-P 8053is negative (interactively, with prefix arg that is a negative number or 8054just \[negative-argument]), pop back to the previous tag gone to. 8055 8056See documentation of variable `tags-file-name'.Ffind-tag-other-frame 8057Find tag (in current tags table) whose name contains TAGNAME. 8058Select the buffer containing the tag's definition in another frame, and 8059move point there. The default for TAGNAME is the expression in the buffer 8060around or before point. 8061 8062If second arg NEXT-P is t (interactively, with prefix arg), search for 8063another tag that matches the last tagname or regexp used. When there are 8064multiple matches for a tag, more exact matches are found first. If NEXT-P 8065is negative (interactively, with prefix arg that is a negative number or 8066just \[negative-argument]), pop back to the previous tag gone to. 8067 8068See documentation of variable `tags-file-name'.Ffind-tag-regexp 8069Find tag (in current tags table) whose name matches REGEXP. 8070Select the buffer containing the tag's definition and move point there. 8071 8072If second arg NEXT-P is t (interactively, with prefix arg), search for 8073another tag that matches the last tagname or regexp used. When there are 8074multiple matches for a tag, more exact matches are found first. If NEXT-P 8075is negative (interactively, with prefix arg that is a negative number or 8076just \[negative-argument]), pop back to the previous tag gone to. 8077 8078If third arg OTHER-WINDOW is non-nil, select the buffer in another window. 8079 8080See documentation of variable `tags-file-name'.Fnext-file 8081Select next file among files in current tags table. 8082 8083A first argument of t (prefix arg, if interactive) initializes to the 8084beginning of the list of files in the tags table. If the argument is 8085neither nil nor t, it is evalled to initialize the list of files. 8086 8087Non-nil second argument NOVISIT means use a temporary buffer 8088 to save time and avoid uninteresting warnings. 8089 8090Value is nil if the file was already visited; 8091if the file was newly read in, the value is the filename.Ftags-loop-continue 8092Continue last \[tags-search] or \[tags-query-replace] command. 8093Used noninteractively with non-nil argument to begin such a command (the 8094argument is passed to `next-file', which see). 8095Two variables control the processing we do on each file: 8096the value of `tags-loop-scan' is a form to be executed on each file 8097to see if it is interesting (it returns non-nil if so) 8098and `tags-loop-operate' is a form to execute to operate on an interesting file 8099If the latter returns non-nil, we exit; otherwise we scan the next file.Ftags-search 8100Search through all files listed in tags table for match for REGEXP. 8101Stops when a match is found. 8102To continue searching for next match, use command \[tags-loop-continue]. 8103 8104See documentation of variable `tags-file-name'.Ftags-query-replace 8105Query-replace-regexp FROM with TO through all files listed in tags table. 8106Third arg DELIMITED (prefix arg) means replace only word-delimited matches. 8107If you exit (\[keyboard-quit] or ESC), you can resume the query-replace 8108with the command \[tags-loop-continue]. 8109 8110See documentation of variable `tags-file-name'.Flist-tags 8111Display list of tags in file FILE. 8112FILE should not contain a directory specification.Ftags-apropos 8113Display list of all tags in tags table REGEXP matches.Fselect-tags-table 8114Select a tags table file from a menu of those you have already used. 8115The list of tags tables to select from is stored in `tags-table-file-list'; 8116see the doc of that variable if you want to add names to the list.Fcomplete-tag 8117Perform tags completion on the text around point. 8118Completes to the set of names listed in the current tags table. 8119The string to complete is chosen in the same way as the default 8120for \[find-tag] (which see).Vfind-ls-option 8121*Option to `find' to produce an `ls -l'-type listing.Vfind-grep-options 8122*Option to grep to be as silent as possible. 8123On Berkeley systems, this is `-s', for others it seems impossible to 8124suppress all output, so `-l' is used to print nothing more than the 8125file name.Ffind-dired 8126Run `find' and go into dired-mode on a buffer of the output. 8127The command run (after changing into DIR) is 8128 8129 find . \( ARGS \) -lsFfind-name-dired 8130Search DIR recursively for files matching the globbing pattern PATTERN, 8131and run dired on those files. 8132PATTERN is a shell wildcard (not an Emacs regexp) and need not be quoted. 8133The command run (after changing into DIR) is 8134 8135 find . -name 'PATTERN' -lsFfind-grep-dired 8136Find files in DIR containing a regexp ARG and start Dired on output. 8137The command run (after changing into DIR) is 8138 8139 find . -exec grep -s ARG {} \; -ls 8140 8141Thus ARG can also contain additional grep options.Fenable-flow-control 8142Toggle flow control handling. 8143When handling is enabled, user can type C-s as C-\, and C-q as C-^. 8144With arg, enable flow control mode if arg is positive, otherwise disable.Fenable-flow-control-on 8145Enable flow control if using one of a specified set of terminal types. 8146Use `(enable-flow-control-on "vt100" "h19")' to enable flow control 8147on VT-100 and H19 terminals. When flow control is enabled, 8148you must type C-\ to get the effect of a C-s, and type C-^ 8149to get the effect of a C-q.Vfont-lock-mode-hook 8150Function or functions to run on entry to Font Lock mode.Ffont-lock-mode 8151Toggle Font Lock mode. 8152With arg, turn Font Lock mode on if and only if arg is positive. 8153 8154When Font Lock mode is enabled, text is fontified as you type it: 8155 8156 - comments are displayed in `font-lock-comment-face'; 8157 (That is a variable whose value should be a face name.) 8158 - strings are displayed in `font-lock-string-face'; 8159 - documentation strings are displayed in `font-lock-doc-string-face'; 8160 - function and variable names in their defining forms are displayed 8161 in `font-lock-function-name-face'; 8162 - and certain other expressions are displayed in other faces 8163 according to the value of the variable `font-lock-keywords'. 8164 8165When you turn Font Lock mode on/off, the buffer is fontified/defontified. 8166To fontify a buffer without having newly typed text become fontified, you 8167can use \[font-lock-fontify-buffer].Fforms-mode 8168Major mode to visit files in a field-structured manner using a form. 8169 8170Commands: Equivalent keys in read-only mode: 8171 TAB forms-next-field TAB 8172 \C-c TAB forms-next-field 8173 \C-c < forms-first-record < 8174 \C-c > forms-last-record > 8175 \C-c ? describe-mode ? 8176 \C-c \C-k forms-delete-record 8177 \C-c \C-q forms-toggle-read-only q 8178 \C-c \C-o forms-insert-record 8179 \C-c \C-l forms-jump-record l 8180 \C-c \C-n forms-next-record n 8181 \C-c \C-p forms-prev-record p 8182 \C-c \C-s forms-search s 8183 \C-c \C-x forms-exit x 8184Fforms-find-file 8185Visit a file in Forms mode.Fforms-find-file-other-window 8186Visit a file in Forms mode in other window.Vfortran-tab-mode-default 8187*Default tabbing/carriage control style for empty files in Fortran mode. 8188A value of t specifies tab-digit style of continuation control. 8189A value of nil specifies that continuation lines are marked 8190with a character in column 6.Ffortran-mode 8191Major mode for editing Fortran code. 8192\[fortran-indent-line] indents the current Fortran line correctly. 8193DO statements must not share a common CONTINUE. 8194 8195Type ;? or ;\[help-command] to display a list of built-in abbrevs for Fortran keywords. 8196 8197Key definitions: 8198\{fortran-mode-map} 8199 8200Variables controlling indentation style and extra features: 8201 8202 comment-start 8203 Normally nil in Fortran mode. If you want to use comments 8204 starting with `!', set this to the string "!". 8205 fortran-do-indent 8206 Extra indentation within do blocks. (default 3) 8207 fortran-if-indent 8208 Extra indentation within if blocks. (default 3) 8209 fortran-structure-indent 8210 Extra indentation within structure, union, map and interface blocks. 8211 (default 3) 8212 fortran-continuation-indent 8213 Extra indentation applied to continuation statements. (default 5) 8214 fortran-comment-line-extra-indent 8215 Amount of extra indentation for text within full-line comments. (default 0) 8216 fortran-comment-indent-style 8217 nil means don't change indentation of text in full-line comments, 8218 fixed means indent that text at `fortran-comment-line-extra-indent' beyond 8219 the value of `fortran-minimum-statement-indent-fixed' (for fixed 8220 format continuation style) or `fortran-minimum-statement-indent-tab' 8221 (for TAB format continuation style). 8222 relative means indent at `fortran-comment-line-extra-indent' beyond the 8223 indentation for a line of code. 8224 (default 'fixed) 8225 fortran-comment-indent-char 8226 Single-character string to be inserted instead of space for 8227 full-line comment indentation. (default " ") 8228 fortran-minimum-statement-indent-fixed 8229 Minimum indentation for Fortran statements in fixed format mode. (def.6) 8230 fortran-minimum-statement-indent-tab 8231 Minimum indentation for Fortran statements in TAB format mode. (default 9) 8232 fortran-line-number-indent 8233 Maximum indentation for line numbers. A line number will get 8234 less than this much indentation if necessary to avoid reaching 8235 column 5. (default 1) 8236 fortran-check-all-num-for-matching-do 8237 Non-nil causes all numbered lines to be treated as possible "continue" 8238 statements. (default nil) 8239 fortran-blink-matching-if 8240 From a Fortran ENDIF statement, blink the matching IF statement. 8241 Also, from an ENDDO statement, blink on matching DO [WHILE] statement. 8242 (default nil) 8243 fortran-continuation-string 8244 Single-character string to be inserted in column 5 of a continuation 8245 line. (default "$") 8246 fortran-comment-region 8247 String inserted by \[fortran-comment-region] at start of each line in 8248 region. (default "c$$$") 8249 fortran-electric-line-number 8250 Non-nil causes line number digits to be moved to the correct column 8251 as typed. (default t) 8252 fortran-break-before-delimiters 8253 Non-nil causes `fortran-do-auto-fill' breaks lines before delimiters. 8254 (default t) 8255 fortran-startup-message 8256 Set to nil to inhibit message first time Fortran mode is used. 8257 8258Turning on Fortran mode calls the value of the variable `fortran-mode-hook' 8259with no args, if that value is non-nil.Fgnus 8260Read network news. 8261If optional argument CONFIRM is non-nil, ask NNTP server.Fgnus-post-news 8262Begin editing a new USENET news article to be posted. 8263Type \[describe-mode] once editing the article to get a list of commands.Fgomoku 8264Start a Gomoku game between you and Emacs. 8265If a game is in progress, this command allow you to resume it. 8266If optional arguments N and M are given, an N by M board is used. 8267 8268You and Emacs play in turn by marking a free square. You mark it with X 8269and Emacs marks it with O. The winner is the first to get five contiguous 8270marks horizontally, vertically or in diagonal. 8271 8272You play by moving the cursor over the square you choose and hitting 8273\<gomoku-mode-map>\[gomoku-human-plays]. 8274Use \[describe-mode] for more info.Fset-gosmacs-bindings 8275Rebind some keys globally to make GNU Emacs resemble Gosling Emacs. 8276Use \[set-gnu-bindings] to restore previous global bindings.Fgdb 8277Run gdb on program FILE in buffer *gud-FILE*. 8278The directory containing FILE becomes the initial working directory 8279and source-file directory for your debugger.Fsdb 8280Run sdb on program FILE in buffer *gud-FILE*. 8281The directory containing FILE becomes the initial working directory 8282and source-file directory for your debugger.Fdbx 8283Run dbx on program FILE in buffer *gud-FILE*. 8284The directory containing FILE becomes the initial working directory 8285and source-file directory for your debugger.Fxdb 8286Run xdb on program FILE in buffer *gud-FILE*. 8287The directory containing FILE becomes the initial working directory 8288and source-file directory for your debugger. 8289 8290You can set the variable 'gud-xdb-directories' to a list of program source 8291directories if your program contains sources from more than one directory.Fperldb 8292Run perldb on program FILE in buffer *gud-FILE*. 8293The directory containing FILE becomes the initial working directory 8294and source-file directory for your debugger.Fhanoi 8295Towers of Hanoi diversion. Argument is number of rings.Vthree-step-help 8296*Non-nil means give more info about Help command in three steps. 8297The three steps are simple prompt, prompt with all options, 8298and window listing and describing the options. 8299A value of nil means skip the middle step, so that 8300\[help-command] \[help-command] gives the window that lists the options.FHelper-describe-bindings 8301Describe local key bindings of current mode.FHelper-help 8302Provide help for current mode.Fhexl-mode 8303\<hexl-mode-map> 8304A major mode for editing binary files in hex dump format. 8305 8306This function automatically converts a buffer into the hexl format 8307using the function `hexlify-buffer'. 8308 8309Each line in the buffer has an "address" (displayed in hexadecimal) 8310representing the offset into the file that the characters on this line 8311are at and 16 characters from the file (displayed as hexadecimal 8312values grouped every 16 bits) and as their ASCII values. 8313 8314If any of the characters (displayed as ASCII characters) are 8315unprintable (control or meta characters) they will be replaced as 8316periods. 8317 8318If `hexl-mode' is invoked with an argument the buffer is assumed to be 8319in hexl format. 8320 8321A sample format: 8322 8323 HEX ADDR: 0001 0203 0405 0607 0809 0a0b 0c0d 0e0f ASCII-TEXT 8324 -------- ---- ---- ---- ---- ---- ---- ---- ---- ---------------- 8325 00000000: 5468 6973 2069 7320 6865 786c 2d6d 6f64 This is hexl-mod 8326 00000010: 652e 2020 4561 6368 206c 696e 6520 7265 e. Each line re 8327 00000020: 7072 6573 656e 7473 2031 3620 6279 7465 presents 16 byte 8328 00000030: 7320 6173 2068 6578 6164 6563 696d 616c s as hexadecimal 8329 00000040: 2041 5343 4949 0a61 6e64 2070 7269 6e74 ASCII.and print 8330 00000050: 6162 6c65 2041 5343 4949 2063 6861 7261 able ASCII chara 8331 00000060: 6374 6572 732e 2020 416e 7920 636f 6e74 cters. Any cont 8332 00000070: 726f 6c20 6f72 206e 6f6e 2d41 5343 4949 rol or non-ASCII 8333 00000080: 2063 6861 7261 6374 6572 730a 6172 6520 characters.are 8334 00000090: 6469 7370 6c61 7965 6420 6173 2070 6572 displayed as per 8335 000000a0: 696f 6473 2069 6e20 7468 6520 7072 696e iods in the prin 8336 000000b0: 7461 626c 6520 6368 6172 6163 7465 7220 table character 8337 000000c0: 7265 6769 6f6e 2e0a region.. 8338 8339Movement is as simple as movement in a normal emacs text buffer. Most 8340cursor movement bindings are the same (ie. Use \[hexl-backward-char], \[hexl-forward-char], \[hexl-next-line], and \[hexl-previous-line] 8341to move the cursor left, right, down, and up). 8342 8343Advanced cursor movement commands (ala \[hexl-beginning-of-line], \[hexl-end-of-line], \[hexl-beginning-of-buffer], and \[hexl-end-of-buffer]) are 8344also supported. 8345 8346There are several ways to change text in hexl mode: 8347 8348ASCII characters (character between space (0x20) and tilde (0x7E)) are 8349bound to self-insert so you can simply type the character and it will 8350insert itself (actually overstrike) into the buffer. 8351 8352\[hexl-quoted-insert] followed by another keystroke allows you to insert the key even if 8353it isn't bound to self-insert. An octal number can be supplied in place 8354of another key to insert the octal number's ASCII representation. 8355 8356\[hexl-insert-hex-char] will insert a given hexadecimal value (if it is between 0 and 0xFF) 8357into the buffer at the current point. 8358 8359\[hexl-insert-octal-char] will insert a given octal value (if it is between 0 and 0377) 8360into the buffer at the current point. 8361 8362\[hexl-insert-decimal-char] will insert a given decimal value (if it is between 0 and 255) 8363into the buffer at the current point. 8364 8365\[hexl-mode-exit] will exit hexl-mode. 8366 8367Note: saving the file with any of the usual Emacs commands 8368will actually convert it back to binary format while saving. 8369 8370You can use \[hexl-find-file] to visit a file in hexl-mode. 8371 8372\[describe-bindings] for advanced commands.Fhexl-find-file 8373Edit file FILENAME in hexl-mode. 8374Switch to a buffer visiting file FILENAME, creating one in none exists.Fhexlify-buffer 8375Convert a binary buffer to hexl formatFhide-ifdef-mode 8376Toggle Hide-Ifdef mode. This is a minor mode, albeit a large one. 8377With ARG, turn Hide-Ifdef mode on iff arg is positive. 8378In Hide-Ifdef mode, code within #ifdef constructs that the C preprocessor 8379would eliminate may be hidden from view. Several variables affect 8380how the hiding is done: 8381 8382hide-ifdef-env 8383 An association list of defined and undefined symbols for the 8384 current buffer. Initially, the global value of `hide-ifdef-env' 8385 is used. 8386 8387hide-ifdef-define-alist 8388 An association list of defined symbol lists. 8389 Use `hide-ifdef-set-define-alist' to save the current `hide-ifdef-env' 8390 and `hide-ifdef-use-define-alist' to set the current `hide-ifdef-env' 8391 from one of the lists in `hide-ifdef-define-alist'. 8392 8393hide-ifdef-lines 8394 Set to non-nil to not show #if, #ifdef, #ifndef, #else, and 8395 #endif lines when hiding. 8396 8397hide-ifdef-initially 8398 Indicates whether `hide-ifdefs' should be called when Hide-Ifdef mode 8399 is activated. 8400 8401hide-ifdef-read-only 8402 Set to non-nil if you want to make buffers read only while hiding. 8403 After `show-ifdefs', read-only status is restored to previous value. 8404 8405\{hide-ifdef-mode-map}Vhide-ifdef-initially 8406*Non-nil if `hide-ifdefs' should be called when Hide-Ifdef mode 8407is first activated.Vhide-ifdef-read-only 8408*Set to non-nil if you want buffer to be read-only while hiding text.Vhide-ifdef-lines 8409*Set to t if you don't want to see the #ifX, #else, and #endif lines.Vhippie-expand-try-functions-list 8410The list of expansion functions tried in order by `hippie-expand'. 8411To change the behavior of `hippie-expand', remove, change the order of, 8412or insert functions in this list.Vhippie-expand-verbose 8413*Non-nil makes `hippie-expand' output which function it is trying.Vhippie-expand-max-buffers 8414*The maximum number of buffers (apart from the current) searched. 8415If nil, all buffers are searched.Vhippie-expand-ignore-buffers 8416*A list specifying which buffers not to search (if not current). 8417Can contain both regexps matching buffer names (as strings) and major modes 8418(as atoms)Fhippie-expand 8419Try to expand text before point, using multiple methods. 8420The expansion functions in `hippie-expand-try-functions-list' are 8421tried in order, until a possible expansion is found. Repeated 8422application of `hippie-expand' inserts successively possible 8423expansions. 8424With a positive numeric argument, jumps directly to the ARG next 8425function in this list. With a negative argument or just \[universal-argument], 8426undoes the expansion.Fmake-hippie-expand-function 8427Construct a function similar to `hippie-expand'. 8428Make it use the expansion functions in TRY-LIST. An optional second 8429argument VERBOSE non-nil makes the function verbose.Ficomplete-prime-session 8430Prep emacs v 19 for more finely-grained minibuffer completion-feedback. 8431 8432You can inhibit icomplete after loading by setting icomplete-inhibit 8433non-nil. Set the var back to nil to re-enable icomplete.Fielm 8434Interactively evaluate Emacs Lisp expressions. 8435Switches to the buffer *ielm*, or creates it if it does not exist.Fimenu 8436Jump to a place in the buffer chosen using a buffer menu or mouse menu. 8437See `imenu-choose-buffer-index' for more information.Vinferior-lisp-filter-regexp 8438*What not to save on inferior Lisp's input history. 8439Input matching this regexp is not saved on the input history in Inferior Lisp 8440mode. Default is whitespace followed by 0 or 1 single-letter colon-keyword 8441(as in :a, :c, etc.)Vinferior-lisp-program 8442*Program name for invoking an inferior Lisp with for Inferior Lisp mode.Vinferior-lisp-load-command 8443*Format-string for building a Lisp expression to load a file. 8444This format string should use `%s' to substitute a file name 8445and should result in a Lisp expression that will command the inferior Lisp 8446to load that file. The default works acceptably on most Lisps. 8447The string "(progn (load \"%s\" :verbose nil :print t) (values))\ 8448" 8449produces cosmetically superior output for this application, 8450but it works only in Common Lisp.Vinferior-lisp-prompt 8451Regexp to recognise prompts in the Inferior Lisp mode. 8452Defaults to "^[^> \n]*>+:? *", which works pretty good for Lucid, kcl, 8453and franz. This variable is used to initialize `comint-prompt-regexp' in the 8454Inferior Lisp buffer. 8455 8456More precise choices: 8457Lucid Common Lisp: "^\(>\|\(->\)+\) *" 8458franz: "^\(->\|<[0-9]*>:\) *" 8459kcl: "^>+ *" 8460 8461This is a fine thing to set in your .emacs file.Vinferior-lisp-mode-hook 8462*Hook for customising Inferior Lisp mode.Finferior-lisp 8463Run an inferior Lisp process, input and output via buffer `*inferior-lisp*'. 8464If there is a process already running in `*inferior-lisp*', just switch 8465to that buffer. 8466With argument, allows you to edit the command line (default is value 8467of `inferior-lisp-program'). Runs the hooks from 8468`inferior-lisp-mode-hook' (after the `comint-mode-hook' is run). 8469(Type \[describe-mode] in the process buffer for a list of commands.)Finfo 8470Enter Info, the documentation browser. 8471Optional argument FILE specifies the file to examine; 8472the default is the top-level directory of Info. 8473 8474In interactive use, a prefix argument directs this command 8475to read a file name from the minibuffer.Finfo-standalone 8476Run Emacs as a standalone Info reader. 8477Usage: emacs -f info-standalone [filename] 8478In standalone mode, \<Info-mode-map>\[Info-exit] exits Emacs itself.FInfo-goto-emacs-command-node 8479Go to the Info node in the Emacs manual for command COMMAND. 8480The command is found by looking up in Emacs manual's Command Index.FInfo-goto-emacs-key-command-node 8481Go to the Info node in the Emacs manual the command bound to KEY, a string. 8482Interactively, if the binding is execute-extended-command, a command is read. 8483The command is found by looking up in Emacs manual's Command Index.FInfo-tagify 8484Create or update Info-file tag table in current buffer.FInfo-split 8485Split an info file into an indirect file plus bounded-size subfiles. 8486Each subfile will be up to 50,000 characters plus one node. 8487 8488To use this command, first visit a large Info file that has a tag 8489table. The buffer is modified into a (small) indirect info file which 8490should be saved in place of the original visited file. 8491 8492The subfiles are written in the same directory the original file is 8493in, with names generated by appending `-' and a number to the original 8494file name. The indirect file still functions as an Info file, but it 8495contains just the tag table and a directory of subfiles.FInfo-validate 8496Check current buffer for validity as an Info file. 8497Check that every node pointer points to an existing node.Fbatch-info-validate 8498Runs `Info-validate' on the files remaining on the command line. 8499Must be used only with -batch, and kills Emacs on completion. 8500Each file will be processed even if an error occurred previously. 8501For example, invoke "emacs -batch -f batch-info-validate $info/ ~/*.info"Fiso-accents-mode 8502Toggle ISO Accents mode, in which accents modify the following letter. 8503This permits easy insertion of accented characters according to ISO-8859-1. 8504When Iso-accents mode is enabled, accent character keys 8505(`, ', ", ^, / and ~) do not self-insert; instead, they modify the following 8506letter key so that it inserts an ISO accented letter. 8507 8508The variable `iso-accents-enable' specifies the list of characters to 8509enable as accents. If you don't need all of them, remove the ones you 8510don't need from that list. 8511 8512Special combinations: ~c gives a c with cedilla, 8513~d gives a d with dash. 8514"s gives German sharp s. 8515/a gives a with ring. 8516/e gives an a-e ligature. 8517~< and ~> give guillemets. 8518 8519With an argument, a positive argument enables ISO Accents mode, 8520and a negative argument disables it.Vispell-dictionary-alist 8521An alist of dictionaries and their associated parameters. 8522 8523Each element of this list is also a list: 8524 8525 (DICTIONARY-NAME 8526 CASECHARS NOT-CASECHARS OTHERCHARS MANY-OTHERCHARS-P 8527 ISPELL-ARGS EXTENDED-CHARACTER-MODE) 8528 8529DICTIONARY-NAME is a possible value of variable ispell-dictionary, nil 8530means the default dictionary. 8531 8532CASECHARS is a regular expression of valid characters that comprise a 8533word. 8534 8535NOT-CASECHARS is the opposite regexp of CASECHARS. 8536 8537OTHERCHARS is a regular expression of other characters that are valid 8538in word constructs. Otherchars cannot be adjacent to each other in a 8539word, nor can they begin or end a word. This implies we can't check 8540"Stevens'" as a correct possessive and other correct formations. 8541 8542Hint: regexp syntax requires the hyphen to be declared first here. 8543 8544MANY-OTHERCHARS-P is non-nil if many otherchars are to be allowed in a 8545word instead of only one. 8546 8547ISPELL-ARGS is a list of additional arguments passed to the ispell 8548subprocess. 8549 8550EXTENDED-CHARACTER-MODE should be used when dictionaries are used which 8551have been configured in ispell's parse.y. (For example, umlauts 8552can be encoded as \"a, a\", "a, ...) Defaults are ~tex and ~nroff 8553in english. This has the same effect as the command-line `-T' option. 8554The buffer Major Mode controls ispell's parsing in tex or nroff mode, 8555but the dictionary can control the extended character mode. 8556Both defaults can be overruled in a buffer-local fashion. See 8557ispell-parsing-keyword for details on this. 8558 8559Note that the CASECHARS and OTHERCHARS slots of the alist should 8560contain the same character set as casechars and otherchars in the 8561language.aff file (e.g., english.aff).Fispell-word 8562Check spelling of word under or before the cursor. 8563If word not found in dictionary, display possible corrections in a window 8564and let user select. 8565 If optional argument FOLLOWING is non-nil or if ispell-following-word 8566is non-nil when called interactively, then the following word 8567(rather than preceding) will be checked when the cursor is not over a word. 8568 When the optional argument QUIETLY is non-nil or ispell-quietly is non-nil 8569when called interactively, non-corrective messages are suppressed. 8570 8571 Word syntax described by ispell-dictionary-alist (which see). 8572 8573This will check or reload the dictionary. Use \[ispell-change-dictionary] 8574or \[ispell-region] to update the ispell process.Fispell-pdict-save 8575Check to see if the personal dictionary has been modified. 8576 If so, ask if it needs to be saved.Fispell-help 8577This gives a list of the options available when a misspelling is encountered. 8578 8579Selections are: 8580 8581DIGIT: Replace the word with a digit offered in the *Choices* buffer. 8582' ': Accept word this time. 8583'i': Accept word and insert into private dictionary. 8584'a': Accept word for this session. 8585'A': Accept word and place in `buffer-local dictionary'. 8586'r': Replace word with typed-in value. Rechecked. 8587'R': Replace word with typed-in value. Query-replaced in buffer. Rechecked. 8588'?': Show these commands. 8589'x': Exit spelling buffer. Move cursor to original point. 8590'X': Exit spelling buffer. Leaves cursor at the current point, and permits 8591 the aborted check to be completed later. 8592'q': Quit spelling session (Kills ispell process). 8593'l': Look up typed-in replacement in alternate dictionary. Wildcards okay. 8594'u': Like 'i', but the word is lower-cased first. 8595'm': Like 'i', but allows one to include dictionary completion information. 8596'C-l': redraws screen 8597'C-r': recursive edit 8598'C-z': suspend emacsFispell-kill-ispell 8599Kill current ispell process (so that you may start a fresh one). 8600With NO-ERROR, just return non-nil if there was no ispell running.Fispell-change-dictionary 8601Change ispell-dictionary (q.v.) and kill old ispell process. 8602A new one will be started as soon as necessary. 8603 8604By just answering RET you can find out what the current dictionary is. 8605 8606With prefix argument, set the default directory.Fispell-region 8607Interactively check a region for spelling errors.Fispell-buffer 8608Check the current buffer for spelling errors interactively.Fispell-complete-word 8609Look up word before or under point in dictionary (see lookup-words command) 8610and try to complete it. If optional INTERIOR-FRAG is non-nil then the word 8611may be a character sequence inside of a word. 8612 8613Standard ispell choices are then available.Fispell-complete-word-interior-frag 8614Runs `ispell-complete-word' assuming that the word is a character sequence 8615inside of a word.Fispell-message 8616Check the spelling of a mail message or news post. 8617Don't check spelling of message headers except the Subject field. 8618Don't check included messages. 8619 8620To abort spell checking of a message REGION and send the message anyway, 8621use the 'x' or 'q' command. (Any subsequent regions will be checked.) 8622The 'X' command aborts the message send so that you can edit the buffer. 8623 8624To spell-check whenever a message is sent, include the appropriate lines 8625in your .emacs file: 8626 (add-hook 'news-inews-hook 'ispell-message) 8627 (add-hook 'mail-send-hook 'ispell-message) 8628 (add-hook 'mh-before-send-letter-hook 'ispell-message) 8629 8630Or you can bind the function C-c i in gnus or mail by setting 8631news-reply-mode-hook or mail-mode-hook to the following lambda expression: 8632 (function (lambda () (local-set-key "\C-ci" 'ispell-message)))Vledit-save-files 8633*Non-nil means Ledit should save files before transferring to Lisp.Vledit-go-to-lisp-string 8634*Shell commands to execute to resume Lisp job.Vledit-go-to-liszt-string 8635*Shell commands to execute to resume Lisp compiler job.Fledit-mode 8636\<ledit-mode-map>Major mode for editing text and stuffing it to a Lisp job. 8637Like Lisp mode, plus these special commands: 8638 \[ledit-save-defun] -- record defun at or after point 8639 for later transmission to Lisp job. 8640 \[ledit-save-region] -- record region for later transmission to Lisp job. 8641 \[ledit-go-to-lisp] -- transfer to Lisp job and transmit saved text. 8642 \[ledit-go-to-liszt] -- transfer to Liszt (Lisp compiler) job 8643 and transmit saved text. 8644\{ledit-mode-map} 8645To make Lisp mode automatically change to Ledit mode, 8646do (setq lisp-mode-hook 'ledit-from-lisp-mode)Flife 8647Run Conway's Life simulation. 8648The starting pattern is randomly selected. Prefix arg (optional first 8649arg non-nil from a program) is the number of seconds to sleep between 8650generations (this defaults to 1).Funload-feature 8651Unload the library that provided FEATURE, restoring all its autoloads. 8652If the feature is required by any other loaded code, and optional FORCE 8653is nil, raise an error.Vlpr-switches 8654*List of strings to pass as extra switch args to `lpr' when it is invoked.Vlpr-command 8655*Shell command for printing a fileFlpr-buffer 8656Print buffer contents as with Unix command `lpr'. 8657`lpr-switches' is a list of extra switches (strings) to pass to lpr.Fprint-buffer 8658Print buffer contents as with Unix command `lpr -p'. 8659`lpr-switches' is a list of extra switches (strings) to pass to lpr.Flpr-region 8660Print region contents as with Unix command `lpr'. 8661`lpr-switches' is a list of extra switches (strings) to pass to lpr.Fprint-region 8662Print region contents as with Unix command `lpr -p'. 8663`lpr-switches' is a list of extra switches (strings) to pass to lpr.Fphases-of-moon 8664Display the quarters of the moon for last month, this month, and next month. 8665If called with an optional prefix argument, prompts for month and year. 8666 8667This function is suitable for execution in a .emacs file.Fname-last-kbd-macro 8668Assign a name to the last keyboard macro defined. 8669Argument SYMBOL is the name to define. 8670The symbol's function definition becomes the keyboard macro string. 8671Such a "function" cannot be called from Lisp, but it is a valid editor command.Finsert-kbd-macro 8672Insert in buffer the definition of kbd macro NAME, as Lisp code. 8673Optional second arg KEYS means also record the keys it is on 8674(this is the prefix argument, when calling interactively). 8675 8676This Lisp code will, when executed, define the kbd macro with the same 8677definition it has now. If you say to record the keys, the Lisp code 8678will also rebind those keys to the macro. Only global key bindings 8679are recorded since executing this Lisp code always makes global 8680bindings. 8681 8682To save a kbd macro, visit a file of Lisp code such as your `~/.emacs', 8683use this command, and then save the file.Fkbd-macro-query 8684Query user during kbd macro execution. 8685 With prefix argument, enters recursive edit, reading keyboard 8686commands even within a kbd macro. You can give different commands 8687each time the macro executes. 8688 Without prefix argument, asks whether to continue running the macro. 8689Your options are: \<query-replace-map> 8690\[act] Finish this iteration normally and continue with the next. 8691\[skip] Skip the rest of this iteration, and start the next. 8692\[exit] Stop the macro entirely right now. 8693\[recenter] Redisplay the screen, then ask again. 8694\[edit] Enter recursive edit; ask again when you exit from that.Fapply-macro-to-region-lines 8695For each complete line between point and mark, move to the beginning 8696of the line, and run the last keyboard macro. 8697 8698When called from lisp, this function takes two arguments TOP and 8699BOTTOM, describing the current region. TOP must be before BOTTOM. 8700The optional third argument MACRO specifies a keyboard macro to 8701execute. 8702 8703This is useful for quoting or unquoting included text, adding and 8704removing comments, or producing tables where the entries are regular. 8705 8706For example, in Usenet articles, sections of text quoted from another 8707author are indented, or have each line start with `>'. To quote a 8708section of text, define a keyboard macro which inserts `>', put point 8709and mark at opposite ends of the quoted section, and use 8710`\[apply-macro-to-region-lines]' to mark the entire section. 8711 8712Suppose you wanted to build a keyword table in C where each entry 8713looked like this: 8714 8715 { "foo", foo_data, foo_function }, 8716 { "bar", bar_data, bar_function }, 8717 { "baz", baz_data, baz_function }, 8718 8719You could enter the names in this format: 8720 8721 foo 8722 bar 8723 baz 8724 8725and write a macro to massage a word into a table entry: 8726 8727 \C-x ( 8728 \M-d { "\C-y", \C-y_data, \C-y_function }, 8729 \C-x ) 8730 8731and then select the region of un-tablified names and use 8732`\[apply-macro-to-region-lines]' to build the table from the names. 8733Fmail-extract-address-components 8734Given an RFC-822 ADDRESS, extract full name and canonical address. 8735Returns a list of the form (FULL-NAME CANONICAL-ADDRESS). 8736If no name can be extracted, FULL-NAME will be nil. 8737ADDRESS may be a string or a buffer. If it is a buffer, the visible 8738 (narrowed) portion of the buffer will be interpreted as the address. 8739 (This feature exists so that the clever caller might be able to avoid 8740 consing a string.) 8741If ADDRESS contains more than one RFC-822 address, only the first is 8742 returned. Some day this function may be extended to extract multiple 8743 addresses, or perhaps return the position at which parsing stopped.Fwhat-domain 8744Convert mail domain to country tit corresponds to.Vmail-use-rfc822 8745*If non-nil, use a full, hairy RFC822 parser on mail addresses. 8746Otherwise, (the default) use a smaller, somewhat faster, and 8747often correct parser.Fmail-fetch-field 8748Return the value of the header field FIELD-NAME. 8749The buffer is expected to be narrowed to just the headers of the message. 8750If second arg LAST is non-nil, use the last such field if there are several. 8751If third arg ALL is non-nil, concatenate all such fields with commas between.Fbuild-mail-abbrevs 8752Read mail aliases from `~/.mailrc' file and set `mail-abbrevs'.Fdefine-mail-abbrev 8753Define NAME as a mail-abbrev that translates to DEFINITION. 8754If DEFINITION contains multiple addresses, separate them with commas.Fdefine-mail-alias 8755Define NAME as a mail alias that translates to DEFINITION. 8756This means that sending a message to NAME will actually send to DEFINITION. 8757DEFINITION can be one or more mail addresses separated by commas.Fmakefile-mode 8758Major mode for editing Makefiles. 8759Calling this function invokes the function(s) "makefile-mode-hook" before 8760doing anything else. 8761 8762\{makefile-mode-map} 8763 8764In the browser, use the following keys: 8765 8766\{makefile-browser-map} 8767 8768makefile-mode can be configured by modifying the following 8769variables: 8770 8771makefile-mode-name: 8772 The "pretty name" of makefile-mode, as it 8773 appears in the modeline. 8774 8775makefile-browser-buffer-name: 8776 Name of the macro- and target browser buffer. 8777 8778makefile-target-colon: 8779 The string that gets appended to all target names 8780 inserted by makefile-insert-target. 8781 ":" or "::" are quite common values. 8782 8783makefile-macro-assign: 8784 The string that gets appended to all macro names 8785 inserted by makefile-insert-macro. 8786 The normal value should be " = ", since this is what 8787 standard make expects. However, newer makes such as dmake 8788 allow a larger variety of different macro assignments, so you 8789 might prefer to use " += " or " := " . 8790 8791makefile-tab-after-target-colon: 8792 If you want a TAB (instead of a space) to be appended after the 8793 target colon, then set this to a non-nil value. 8794 8795makefile-browser-leftmost-column: 8796 Number of blanks to the left of the browser selection mark. 8797 8798makefile-browser-cursor-column: 8799 Column in which the cursor is positioned when it moves 8800 up or down in the browser. 8801 8802makefile-browser-selected-mark: 8803 String used to mark selected entries in the browser. 8804 8805makefile-browser-unselected-mark: 8806 String used to mark unselected entries in the browser. 8807 8808makefile-browser-auto-advance-after-selection-p: 8809 If this variable is set to a non-nil value the cursor 8810 will automagically advance to the next line after an item 8811 has been selected in the browser. 8812 8813makefile-pickup-everything-picks-up-filenames-p: 8814 If this variable is set to a non-nil value then 8815 makefile-pickup-everything also picks up filenames as targets 8816 (i.e. it calls makefile-find-filenames-as-targets), otherwise 8817 filenames are omitted. 8818 8819makefile-cleanup-continuations-p: 8820 If this variable is set to a non-nil value then makefile-mode 8821 will assure that no line in the file ends with a backslash 8822 (the continuation character) followed by any whitespace. 8823 This is done by silently removing the trailing whitespace, leaving 8824 the backslash itself intact. 8825 IMPORTANT: Please note that enabling this option causes makefile-mode 8826 to MODIFY A FILE WITHOUT YOUR CONFIRMATION when 'it seems necessary'. 8827 8828makefile-browser-hook: 8829 A function or list of functions to be called just before the 8830 browser is entered. This is executed in the makefile buffer. 8831 8832makefile-special-targets-list: 8833 List of special targets. You will be offered to complete 8834 on one of those in the minibuffer whenever you enter a "." 8835 at the beginning of a line in makefile-mode.Fmake-command-summary 8836Make a summary of current key bindings in the buffer *Summary*. 8837Previous contents of that buffer are killed first.Fmanual-entry 8838Get a Un*x manual page and put it in a buffer. 8839This command is the top-level command in the man package. It runs a Un*x 8840command to retrieve and clean a manpage in the background and places the 8841results in a Man mode (manpage browsing) buffer. See variable 8842`Man-notify' for what happens when the buffer is ready. 8843Normally, if a buffer already exists for this man page, it will display 8844immediately; either a prefix argument or a nil value to `Man-reuse-okay-p' 8845overrides this and forces the man page to be regenerated.Fmap-y-or-n-p 8846Ask a series of boolean questions. 8847Takes args PROMPTER ACTOR LIST, and optional args HELP and ACTION-ALIST. 8848 8849LIST is a list of objects, or a function of no arguments to return the next 8850object or nil. 8851 8852If PROMPTER is a string, the prompt is (format PROMPTER OBJECT). If not 8853a string, PROMPTER is a function of one arg (an object from LIST), which 8854returns a string to be used as the prompt for that object. If the return 8855value is not a string, it is eval'd to get the answer; it may be nil to 8856ignore the object, t to act on the object without asking the user, or a 8857form to do a more complex prompt. 8858 8859ACTOR is a function of one arg (an object from LIST), 8860which gets called with each object that the user answers `yes' for. 8861 8862If HELP is given, it is a list (OBJECT OBJECTS ACTION), 8863where OBJECT is a string giving the singular noun for an elt of LIST; 8864OBJECTS is the plural noun for elts of LIST, and ACTION is a transitive 8865verb describing ACTOR. The default is ("object" "objects" "act on"). 8866 8867At the prompts, the user may enter y, Y, or SPC to act on that object; 8868n, N, or DEL to skip that object; ! to act on all following objects; 8869ESC or q to exit (skip all following objects); . (period) to act on the 8870current object and then exit; or \[help-command] to get help. 8871 8872If ACTION-ALIST is given, it is an alist (KEY FUNCTION HELP) of extra keys 8873that will be accepted. KEY is a character; FUNCTION is a function of one 8874arg (an object from LIST); HELP is a string. When the user hits KEY, 8875FUNCTION is called. If it returns non-nil, the object is considered 8876"acted upon", and the next object from LIST is processed. If it returns 8877nil, the prompt is repeated for the same object. 8878 8879Final optional argument NO-CURSOR-IN-ECHO-AREA non-nil says not to set 8880`cursor-in-echo-area' while prompting. 8881 8882This function uses `query-replace-map' to define the standard responses, 8883but not all of the responses which `query-replace' understands 8884are meaningful here. 8885 8886Returns the number of actions taken.Fmh-smail 8887Compose and send mail with the MH mail system. 8888This function is an entry point to mh-e, the Emacs front end 8889to the MH mail system.Fmh-smail-other-window 8890Compose and send mail in other window with the MH mail system. 8891This function is an entry point to mh-e, the Emacs front end 8892to the MH mail system.Fmh-letter-mode 8893Mode for composing letters in mh-e.\<mh-letter-mode-map> 8894When you have finished composing, type \[mh-send-letter] to send the letter. 8895 8896\{mh-letter-mode-map} 8897 8898Variables controlling this mode (defaults in parentheses): 8899 8900 mh-delete-yanked-msg-window (nil) 8901 If non-nil, \[mh-yank-cur-msg] will delete any windows displaying 8902 the yanked message. 8903 8904 mh-yank-from-start-of-msg (t) 8905 If non-nil, \[mh-yank-cur-msg] will include the entire message. 8906 If `body', just yank the body (no header). 8907 If nil, only the portion of the message following the point will be yanked. 8908 If there is a region, this variable is ignored. 8909 8910 mh-signature-file-name ("~/.signature") 8911 File to be inserted into message by \[mh-insert-signature]. 8912 8913Upon invoking mh-letter-mode, text-mode-hook and mh-letter-mode-hook are 8914invoked with no args, if those values are non-nil.Fmh-rmail 8915Inc(orporate) new mail with MH, or, with arg, scan an MH mail folder. 8916This function is an entry point to mh-e, the Emacs front end 8917to the MH mail system.Fconvert-mocklisp-buffer 8918Convert buffer of Mocklisp code to real Lisp that GNU Emacs can run.Fmodula-2-mode 8919This is a mode intended to support program development in Modula-2. 8920All control constructs of Modula-2 can be reached by typing C-c 8921followed by the first character of the construct. 8922\<m2-mode-map> 8923 \[m2-begin] begin \[m2-case] case 8924 \[m2-definition] definition \[m2-else] else 8925 \[m2-for] for \[m2-header] header 8926 \[m2-if] if \[m2-module] module 8927 \[m2-loop] loop \[m2-or] or 8928 \[m2-procedure] procedure Control-c Control-w with 8929 \[m2-record] record \[m2-stdio] stdio 8930 \[m2-type] type \[m2-until] until 8931 \[m2-var] var \[m2-while] while 8932 \[m2-export] export \[m2-import] import 8933 \[m2-begin-comment] begin-comment \[m2-end-comment] end-comment 8934 \[suspend-emacs] suspend Emacs \[m2-toggle] toggle 8935 \[m2-compile] compile \[m2-next-error] next-error 8936 \[m2-link] link 8937 8938 `m2-indent' controls the number of spaces for each indentation. 8939 `m2-compile-command' holds the command to compile a Modula-2 program. 8940 `m2-link-command' holds the command to link a Modula-2 program.Fmpuz 8941Multiplication puzzle with GNU Emacs.Fenable-command 8942Allow COMMAND to be executed without special confirmation from now on. 8943The user's .emacs file is altered so that this will apply 8944to future sessions.Fdisable-command 8945Require special confirmation to execute COMMAND from now on. 8946The user's .emacs file is altered so that this will apply 8947to future sessions.Fnroff-mode 8948Major mode for editing text intended for nroff to format. 8949\{nroff-mode-map} 8950Turning on Nroff mode runs `text-mode-hook', then `nroff-mode-hook'. 8951Also, try `nroff-electric-mode', for automatically inserting 8952closing requests for requests that are used in matched pairs.Flist-options 8953Display a list of Emacs user options, with values and documentation.Fedit-options 8954Edit a list of Emacs user option values. 8955Selects a buffer containing such a list, 8956in which there are commands to set the option values. 8957Type \[describe-mode] in that buffer for a list of commands.Foutline-mode 8958Set major mode for editing outlines with selective display. 8959Headings are lines which start with asterisks: one for major headings, 8960two for subheadings, etc. Lines not starting with asterisks are body lines. 8961 8962Body text or subheadings under a heading can be made temporarily 8963invisible, or visible again. Invisible lines are attached to the end 8964of the heading, so they move with it, if the line is killed and yanked 8965back. A heading with text hidden under it is marked with an ellipsis (...). 8966 8967Commands:\<outline-mode-map> 8968\[outline-next-visible-heading] outline-next-visible-heading move by visible headings 8969\[outline-previous-visible-heading] outline-previous-visible-heading 8970\[outline-forward-same-level] outline-forward-same-level similar but skip subheadings 8971\[outline-backward-same-level] outline-backward-same-level 8972\[outline-up-heading] outline-up-heading move from subheading to heading 8973 8974\[hide-body] make all text invisible (not headings). 8975\[show-all] make everything in buffer visible. 8976 8977The remaining commands are used when point is on a heading line. 8978They apply to some of the body or subheadings of that heading. 8979\[hide-subtree] hide-subtree make body and subheadings invisible. 8980\[show-subtree] show-subtree make body and subheadings visible. 8981\[show-children] show-children make direct subheadings visible. 8982 No effect on body, or subheadings 2 or more levels down. 8983 With arg N, affects subheadings N levels down. 8984\[hide-entry] make immediately following body invisible. 8985\[show-entry] make it visible. 8986\[hide-leaves] make body under heading and under its subheadings invisible. 8987 The subheadings remain visible. 8988\[show-branches] make all subheadings at all levels visible. 8989 8990The variable `outline-regexp' can be changed to control what is a heading. 8991A line is a heading if `outline-regexp' matches something at the 8992beginning of the line. The longer the match, the deeper the level. 8993 8994Turning on outline mode calls the value of `text-mode-hook' and then of 8995`outline-mode-hook', if they are non-nil.Foutline-minor-mode 8996Toggle Outline minor mode. 8997With arg, turn Outline minor mode on if arg is positive, off otherwise. 8998See the command `outline-mode' for more information on this mode.Fpascal-mode 8999Major mode for editing Pascal code. \<pascal-mode-map> 9000TAB indents for Pascal code. Delete converts tabs to spaces as it moves back. 9001 9002\[pascal-complete-word] completes the word around current point with respect to position in code 9003\[pascal-show-completions] shows all possible completions at this point. 9004 9005Other useful functions are: 9006 9007\[pascal-mark-defun] - Mark function. 9008\[pascal-insert-block] - insert begin ... end; 9009\[pascal-star-comment] - insert (* ... *) 9010\[pascal-comment-area] - Put marked area in a comment, fixing nested comments. 9011\[pascal-uncomment-area] - Uncomment an area commented with \[pascal-comment-area]. 9012\[pascal-beg-of-defun] - Move to beginning of current function. 9013\[pascal-end-of-defun] - Move to end of current function. 9014\[pascal-goto-defun] - Goto function prompted for in the minibuffer. 9015\[pascal-outline] - Enter pascal-outline-mode (see also pascal-outline). 9016 9017Variables controlling indentation/edit style: 9018 9019 pascal-indent-level (default 3) 9020 Indentation of Pascal statements with respect to containing block. 9021 pascal-case-indent (default 2) 9022 Indentation for case statements. 9023 pascal-auto-newline (default nil) 9024 Non-nil means automatically newline after simcolons and the punctation mark 9025 after an end. 9026 pascal-tab-always-indent (defualt t) 9027 Non-nil means TAB in Pascal mode should always reindent the current line, 9028 regardless of where in the line point is when the TAB command is used. 9029 pascal-auto-endcomments (default t) 9030 Non-nil means a comment { ... } is set after the ends which ends cases and 9031 functions. The name of the function or case will be set between the braces. 9032 9033See also the user variables pascal-type-keywords, pascal-start-keywords and 9034pascal-separator-keywords. 9035 9036Turning on Pascal mode calls the value of the variable pascal-mode-hook with 9037no args, if that value is non-nil.Fperl-mode 9038Major mode for editing Perl code. 9039Expression and list commands understand all Perl brackets. 9040Tab indents for Perl code. 9041Comments are delimited with # ... \n. 9042Paragraphs are separated by blank lines only. 9043Delete converts tabs to spaces as it moves back. 9044\{perl-mode-map} 9045Variables controlling indentation style: 9046 perl-tab-always-indent 9047 Non-nil means TAB in Perl mode should always indent the current line, 9048 regardless of where in the line point is when the TAB command is used. 9049 perl-tab-to-comment 9050 Non-nil means that for lines which don't need indenting, TAB will 9051 either delete an empty comment, indent an existing comment, move 9052 to end-of-line, or if at end-of-line already, create a new comment. 9053 perl-nochange 9054 Lines starting with this regular expression are not auto-indented. 9055 perl-indent-level 9056 Indentation of Perl statements within surrounding block. 9057 The surrounding block's indentation is the indentation 9058 of the line on which the open-brace appears. 9059 perl-continued-statement-offset 9060 Extra indentation given to a substatement, such as the 9061 then-clause of an if or body of a while. 9062 perl-continued-brace-offset 9063 Extra indentation given to a brace that starts a substatement. 9064 This is in addition to `perl-continued-statement-offset'. 9065 perl-brace-offset 9066 Extra indentation for line if it starts with an open brace. 9067 perl-brace-imaginary-offset 9068 An open brace following other text is treated as if it were 9069 this far to the right of the start of its line. 9070 perl-label-offset 9071 Extra indentation for line that is a label. 9072 9073Various indentation styles: K&R BSD BLK GNU LW 9074 perl-indent-level 5 8 0 2 4 9075 perl-continued-statement-offset 5 8 4 2 4 9076 perl-continued-brace-offset 0 0 0 0 -4 9077 perl-brace-offset -5 -8 0 0 0 9078 perl-brace-imaginary-offset 0 0 4 0 0 9079 perl-label-offset -5 -8 -2 -2 -2 9080 9081Turning on Perl mode runs the normal hook `perl-mode-hook'.Fpicture-mode 9082Switch to Picture mode, in which a quarter-plane screen model is used. 9083Printing characters replace instead of inserting themselves with motion 9084afterwards settable by these commands: 9085 C-c < Move left after insertion. 9086 C-c > Move right after insertion. 9087 C-c ^ Move up after insertion. 9088 C-c . Move down after insertion. 9089 C-c ` Move northwest (nw) after insertion. 9090 C-c ' Move northeast (ne) after insertion. 9091 C-c / Move southwest (sw) after insertion. 9092 C-c \ Move southeast (se) after insertion. 9093The current direction is displayed in the mode line. The initial 9094direction is right. Whitespace is inserted and tabs are changed to 9095spaces when required by movement. You can move around in the buffer 9096with these commands: 9097 \[picture-move-down] Move vertically to SAME column in previous line. 9098 \[picture-move-up] Move vertically to SAME column in next line. 9099 \[picture-end-of-line] Move to column following last non-whitespace character. 9100 \[picture-forward-column] Move right inserting spaces if required. 9101 \[picture-backward-column] Move left changing tabs to spaces if required. 9102 C-c C-f Move in direction of current picture motion. 9103 C-c C-b Move in opposite direction of current picture motion. 9104 Return Move to beginning of next line. 9105You can edit tabular text with these commands: 9106 M-Tab Move to column beneath (or at) next interesting character. 9107 `Indents' relative to a previous line. 9108 Tab Move to next stop in tab stop list. 9109 C-c Tab Set tab stops according to context of this line. 9110 With ARG resets tab stops to default (global) value. 9111 See also documentation of variable picture-tab-chars 9112 which defines "interesting character". You can manually 9113 change the tab stop list with command \[edit-tab-stops]. 9114You can manipulate text with these commands: 9115 C-d Clear (replace) ARG columns after point without moving. 9116 C-c C-d Delete char at point - the command normally assigned to C-d. 9117 \[picture-backward-clear-column] Clear (replace) ARG columns before point, moving back over them. 9118 \[picture-clear-line] Clear ARG lines, advancing over them. The cleared 9119 text is saved in the kill ring. 9120 \[picture-open-line] Open blank line(s) beneath current line. 9121You can manipulate rectangles with these commands: 9122 C-c C-k Clear (or kill) a rectangle and save it. 9123 C-c C-w Like C-c C-k except rectangle is saved in named register. 9124 C-c C-y Overlay (or insert) currently saved rectangle at point. 9125 C-c C-x Like C-c C-y except rectangle is taken from named register. 9126 \[copy-rectangle-to-register] Copies a rectangle to a register. 9127 \[advertised-undo] Can undo effects of rectangle overlay commands 9128 commands if invoked soon enough. 9129You can return to the previous mode with: 9130 C-c C-c Which also strips trailing whitespace from every line. 9131 Stripping is suppressed by supplying an argument. 9132 9133Entry to this mode calls the value of picture-mode-hook if non-nil. 9134 9135Note that Picture mode commands will work outside of Picture mode, but 9136they are not defaultly assigned to keys.Fprolog-mode 9137Major mode for editing Prolog code for Prologs. 9138Blank lines and `%%...' separate paragraphs. `%'s start comments. 9139Commands: 9140\{prolog-mode-map} 9141Entry to this mode calls the value of `prolog-mode-hook' 9142if that value is non-nil.Frun-prolog 9143Run an inferior Prolog process, input and output via buffer *prolog*.Fremote-compile 9144Compile the the current buffer's directory on HOST. Log in as USER. 9145See \[compile].Fdelete-rectangle 9146Delete (don't save) text in rectangle with point and mark as corners. 9147The same range of columns is deleted in each line starting with the line 9148where the region begins and ending with the line where the region ends.Fdelete-extract-rectangle 9149Delete contents of rectangle and return it as a list of strings. 9150Arguments START and END are the corners of the rectangle. 9151The value is list of strings, one for each line of the rectangle.Fextract-rectangle 9152Return contents of rectangle with corners at START and END. 9153Value is list of strings, one for each line of the rectangle.Fkill-rectangle 9154Delete rectangle with corners at point and mark; save as last killed one. 9155Calling from program, supply two args START and END, buffer positions. 9156But in programs you might prefer to use `delete-extract-rectangle'.Fyank-rectangle 9157Yank the last killed rectangle with upper left corner at point.Finsert-rectangle 9158Insert text of RECTANGLE with upper left corner at point. 9159RECTANGLE's first line is inserted at point, its second 9160line is inserted at a point vertically under point, etc. 9161RECTANGLE should be a list of strings. 9162After this command, the mark is at the upper left corner 9163and point is at the lower right corner.Fopen-rectangle 9164Blank out rectangle with corners at point and mark, shifting text right. 9165The text previously in the region is not overwritten by the blanks, 9166but instead winds up to the right of the rectangle.Fstring-rectangle 9167Insert STRING on each line of the region-rectangle, shifting text right. 9168The left edge of the rectangle specifies the column for insertion. 9169This command does not delete or overwrite any existing text. 9170 9171Called from a program, takes three args; START, END and STRING.Fclear-rectangle 9172Blank out rectangle with corners at point and mark. 9173The text previously in the region is overwritten by the blanks. 9174When called from a program, requires two args which specify the corners.Freposition-window 9175Make the current definition and/or comment visible. 9176Further invocations move it to the top of the window or toggle the 9177visibility of comments that precede it. 9178 Point is left unchanged unless prefix ARG is supplied. 9179 If the definition is fully onscreen, it is moved to the top of the 9180window. If it is partly offscreen, the window is scrolled to get the 9181definition (or as much as will fit) onscreen, unless point is in a comment 9182which is also partly offscreen, in which case the scrolling attempts to get 9183as much of the comment onscreen as possible. 9184 Initially `reposition-window' attempts to make both the definition and 9185preceding comments visible. Further invocations toggle the visibility of 9186the comment lines. 9187 If ARG is non-nil, point may move in order to make the whole defun 9188visible (if only part could otherwise be made so), to make the defun line 9189visible (if point is in code and it could not be made so, or if only 9190comments, including the first comment line, are visible), or to make the 9191first comment line visible (if point is in a comment).Fresume-suspend-hook 9192Clear out the file used for transmitting args when Emacs resumes.Fring-p 9193Returns t if X is a ring; nil otherwise.Fmake-ring 9194Make a ring that can contain SIZE elements.Vrlogin-program 9195*Name of program to invoke rloginVrlogin-explicit-args 9196*List of arguments to pass to rlogin on the command line.Vrlogin-mode-hook 9197*Hooks to run after setting current buffer to rlogin-mode.Vrlogin-process-connection-type 9198*If non-`nil', use a pty for the local rlogin process. 9199If `nil', use a pipe (if pipes are supported on the local system). 9200 9201Generally it is better not to waste ptys on systems which have a static 9202number of them. On the other hand, some implementations of `rlogin' assume 9203a pty is being used, and errors will result from using a pipe instead.Vrlogin-initially-track-cwd 9204*If non-`nil', do remote directory tracking via ange-ftp right away. 9205If `nil', you can still enable directory tracking by doing 9206`M-x dirtrack-toggle'.Vrlogin-password-paranoia 9207*If non-`nil', query user for a password in the minibuffer when a Password: prompt appears. 9208It's also possible to selectively enter passwords without echoing them in 9209the minibuffer using the command `rlogin-password' explicitly.Frlogin 9210Open a network login connection to HOST via the `rlogin' program. 9211Input is sent line-at-a-time to the remote connection. 9212 9213Communication with the remote host is recorded in a buffer *rlogin-HOST*, 9214where HOST is the first word in the string ARGS. If a prefix argument is 9215given and the buffer *rlogin-HOST* already exists, a new buffer with a 9216different connection will be made. 9217 9218The variable `rlogin-program' contains the name of the actual program to 9219run. It can be a relative or absolute path. 9220 9221The variable `rlogin-explicit-args' is a list of arguments to give to 9222the rlogin when starting. They are added after any arguments given in ARGS.Vrmail-dont-reply-to-names 9223*A regexp specifying names to prune of reply to messages. 9224A value of nil means exclude your own name only.Vrmail-default-dont-reply-to-names 9225A regular expression specifying part of the value of the default value of 9226the variable `rmail-dont-reply-to-names', for when the user does not set 9227`rmail-dont-reply-to-names' explicitly. (The other part of the default 9228value is the user's name.) 9229It is useful to set this variable in the site customization file.Vrmail-ignored-headers 9230*Regexp to match Header fields that rmail should normally hide.Vrmail-highlighted-headers 9231*Regexp to match Header fields that rmail should normally highlight.Vrmail-delete-after-output 9232*Non-nil means automatically delete a message that is copied to a file.Vrmail-primary-inbox-list 9233*List of files which are inboxes for user's primary mail file `~/RMAIL'. 9234`nil' means the default, which is ("/usr/spool/mail/$USER") 9235(the name varies depending on the operating system, 9236and the value of the environment variable MAIL overrides it).Vrmail-mail-new-frame 9237*Non-nil means Rmail makes a new frame for composing outgoing mail.Vrmail-retry-setup-hook 9238Hook that `rmail-retry-failure' uses in place of `mail-setup-hook'.Vrmail-secondary-file-directory 9239*Directory for additional secondary Rmail files.Vrmail-secondary-file-regexp 9240*Regexp for which files are secondary Rmail files.Frmail 9241Read and edit incoming mail. 9242Moves messages into file named by `rmail-file-name' (a babyl format file) 9243 and edits that file in RMAIL Mode. 9244Type \[describe-mode] once editing that file, for a list of RMAIL commands. 9245 9246May be called with file name as argument; then performs rmail editing on 9247that file, but does not copy any new mail into the file. 9248Interactively, if you supply a prefix argument, then you 9249have a chance to specify a file name with the minibuffer.Frmail-mode 9250Rmail Mode is used by \<rmail-mode-map>\[rmail] for editing Rmail files. 9251All normal editing commands are turned off. 9252Instead, these commands are available: 9253 9254\[rmail-beginning-of-message] Move point to front of this message (same as \[beginning-of-buffer]). 9255\[scroll-up] Scroll to next screen of this message. 9256\[scroll-down] Scroll to previous screen of this message. 9257\[rmail-next-undeleted-message] Move to Next non-deleted message. 9258\[rmail-previous-undeleted-message] Move to Previous non-deleted message. 9259\[rmail-next-message] Move to Next message whether deleted or not. 9260\[rmail-previous-message] Move to Previous message whether deleted or not. 9261\[rmail-first-message] Move to the first message in Rmail file. 9262\[rmail-last-message] Move to the last message in Rmail file. 9263\[rmail-show-message] Jump to message specified by numeric position in file. 9264\[rmail-search] Search for string and show message it is found in. 9265\[rmail-delete-forward] Delete this message, move to next nondeleted. 9266\[rmail-delete-backward] Delete this message, move to previous nondeleted. 9267\[rmail-undelete-previous-message] Undelete message. Tries current message, then earlier messages 9268 till a deleted message is found. 9269\[rmail-edit-current-message] Edit the current message. \[rmail-cease-edit] to return to Rmail. 9270\[rmail-expunge] Expunge deleted messages. 9271\[rmail-expunge-and-save] Expunge and save the file. 9272\[rmail-quit] Quit Rmail: expunge, save, then switch to another buffer. 9273\[save-buffer] Save without expunging. 9274\[rmail-get-new-mail] Move new mail from system spool directory into this file. 9275\[rmail-mail] Mail a message (same as \[mail-other-window]). 9276\[rmail-continue] Continue composing outgoing message started before. 9277\[rmail-reply] Reply to this message. Like \[rmail-mail] but initializes some fields. 9278\[rmail-retry-failure] Send this message again. Used on a mailer failure message. 9279\[rmail-forward] Forward this message to another user. 9280\[rmail-output-to-rmail-file] Output this message to an Rmail file (append it). 9281\[rmail-output] Output this message to a Unix-format mail file (append it). 9282\[rmail-input] Input Rmail file. Run Rmail on that file. 9283\[rmail-add-label] Add label to message. It will be displayed in the mode line. 9284\[rmail-kill-label] Kill label. Remove a label from current message. 9285\[rmail-next-labeled-message] Move to Next message with specified label 9286 (label defaults to last one specified). 9287 Standard labels: filed, unseen, answered, forwarded, deleted. 9288 Any other label is present only if you add it with \[rmail-add-label]. 9289\[rmail-previous-labeled-message] Move to Previous message with specified label 9290\[rmail-summary] Show headers buffer, with a one line summary of each message. 9291\[rmail-summary-by-labels] Summarize only messages with particular label(s). 9292\[rmail-summary-by-recipients] Summarize only messages with particular recipient(s). 9293\[rmail-summary-by-regexp] Summarize only messages with particular regexp(s). 9294\[rmail-summary-by-topic] Summarize only messages with subject line regexp(s). 9295\[rmail-toggle-header] Toggle display of complete header.Frmail-input 9296Run Rmail on file FILENAME.Frot13-other-window 9297Display current buffer in rot 13 in another window.Vresize-minibuffer-mode 9298*If non-`nil', resize the minibuffer so its entire contents are visible.Vresize-minibuffer-window-max-height 9299*Maximum size the minibuffer window is allowed to become. 9300If less than 1 or not a number, the limit is the height of the frame in 9301which the active minibuffer window resides.Vresize-minibuffer-window-exactly 9302*If non-`nil', make minibuffer exactly the size needed to display all its contents. 9303Otherwise, the minibuffer window can temporarily increase in size but 9304never get smaller while it is active.Vresize-minibuffer-frame 9305*If non-`nil' and the active minibuffer is the sole window in its frame, allow changing the frame height.Vresize-minibuffer-frame-max-height 9306*Maximum size the minibuffer frame is allowed to become. 9307If less than 1 or not a number, there is no limit.Vresize-minibuffer-frame-exactly 9308*If non-`nil', make minibuffer frame exactly the size needed to display all its contents. 9309Otherwise, the minibuffer frame can temporarily increase in size but 9310never get smaller while it is active.Fresize-minibuffer-mode 9311Enable or disable resize-minibuffer mode. 9312A negative prefix argument disables this mode. A positive argument or 9313argument of 0 enables it. 9314 9315When this minor mode is enabled, the minibuffer is dynamically resized to 9316contain the entire region of text put in it as you type. 9317 9318The variable `resize-minibuffer-mode' is set to t or nil depending on 9319whether this mode is active or not. 9320 9321The maximum height to which the minibuffer can grow is controlled by the 9322variable `resize-minibuffer-window-max-height'. 9323 9324The variable `resize-minibuffer-window-exactly' determines whether the 9325minibuffer window should ever be shrunk to make it no larger than needed to 9326display its contents. 9327 9328When using a window system, it is possible for a minibuffer to tbe the sole 9329window in a frame. Since that window is already its maximum size, the only 9330way to make more text visible at once is to increase the size of the frame. 9331The variable `resize-minibuffer-frame' controls whether this should be 9332done. The variables `resize-minibuffer-frame-max-height' and 9333`resize-minibuffer-frame-exactly' are analogous to their window 9334counterparts.Fscheme-mode 9335Major mode for editing Scheme code. 9336Editing commands are similar to those of lisp-mode. 9337 9338In addition, if an inferior Scheme process is running, some additional 9339commands will be defined, for evaluating expressions and controlling 9340the interpreter, and the state of the process will be displayed in the 9341modeline of all Scheme buffers. The names of commands that interact 9342with the Scheme process start with "xscheme-". For more information 9343see the documentation for xscheme-interaction-mode. 9344 9345Commands: 9346Delete converts tabs to spaces as it moves back. 9347Blank lines separate paragraphs. Semicolons start comments. 9348\{scheme-mode-map} 9349Entry to this mode calls the value of scheme-mode-hook 9350if that value is non-nil.Fscribe-mode 9351Major mode for editing files of Scribe (a text formatter) source. 9352Scribe-mode is similar text-mode, with a few extra commands added. 9353\{scribe-mode-map} 9354 9355Interesting variables: 9356 9357scribe-fancy-paragraphs 9358 Non-nil makes Scribe mode use a different style of paragraph separation. 9359 9360scribe-electric-quote 9361 Non-nil makes insert of double quote use `` or '' depending on context. 9362 9363scribe-electric-parenthesis 9364 Non-nil makes an open-parenthesis char (one of `([<{') 9365 automatically insert its close if typed after an @Command form.Vmail-self-blind 9366Non-nil means insert BCC to self in messages to be sent. 9367This is done when the message is initialized, 9368so you can remove or alter the BCC field to override the default.Vmail-interactive 9369Non-nil means when sending a message wait for and display errors. 9370nil means let mailer mail back a message to report errors.Vmail-yank-ignored-headers 9371Delete these headers from old message when it's inserted in a reply.Vsend-mail-function 9372Function to call to send the current buffer as mail. 9373The headers are be delimited by a line which is `mail-header-separator'.Vmail-header-separator 9374*Line used to separate headers from text in messages being composed.Vmail-archive-file-name 9375*Name of file to write all outgoing messages in, or nil for none. 9376Do not use an rmail file here! Instead, use its inbox file.Vmail-default-reply-to 9377*Address to insert as default Reply-to field of outgoing messages.Vmail-signature 9378*Text inserted at end of mail buffer when a message is initialized. 9379If t, it means to insert the contents of the file `~/.signature'.Fmail-mode 9380Major mode for editing mail to be sent. 9381Like Text Mode but with these additional commands: 9382C-c C-s mail-send (send the message) C-c C-c mail-send-and-exit 9383C-c C-f move to a header field (and create it if there isn't): 9384 C-c C-f C-t move to To: C-c C-f C-s move to Subj: 9385 C-c C-f C-b move to BCC: C-c C-f C-c move to CC: 9386 C-c C-f C-f move to FCC: 9387C-c C-t move to message text. 9388C-c C-y mail-yank-original (insert current message, in Rmail). 9389C-c C-q mail-fill-yanked-message (fill what was yanked). 9390C-c C-v mail-sent-via (add a sent-via field for each To or CC).Fmail 9391Edit a message to be sent. Prefix arg means resume editing (don't erase). 9392When this function returns, the buffer `*mail*' is selected. 9393The value is t if the message was newly initialized; otherwise, nil. 9394 9395By default, the signature file `~/.signature' is inserted at the end; 9396see the variable `mail-signature'. 9397 9398\<mail-mode-map> 9399While editing message, type \[mail-send-and-exit] to send the message and exit. 9400 9401Various special commands starting with C-c are available in sendmail mode 9402to move to message header fields: 9403\{mail-mode-map} 9404 9405If `mail-self-blind' is non-nil, a BCC to yourself is inserted 9406when the message is initialized. 9407 9408If `mail-default-reply-to' is non-nil, it should be an address (a string); 9409a Reply-to: field with that address is inserted. 9410 9411If `mail-archive-file-name' is non-nil, an FCC field with that file name 9412is inserted. 9413 9414If `mail-setup-hook' is bound, its value is called with no arguments 9415after the message is initialized. It can add more default fields. 9416 9417When calling from a program, the second through fifth arguments 9418 TO, SUBJECT, IN-REPLY-TO and CC specify if non-nil 9419 the initial contents of those header fields. 9420 These arguments should not have final newlines. 9421The sixth argument REPLYBUFFER is a buffer whose contents 9422 should be yanked if the user types C-c C-y. 9423The seventh argument ACTIONS is a list of actions to take 9424 if/when the message is sent. Each action looks like (FUNCTION . ARGS); 9425 when the message is sent, we apply FUNCTION to ARGS. 9426 This is how Rmail arranges to mark messages `answered'.Fmail-other-window 9427Like `mail' command, but display mail buffer in another window.Fmail-other-frame 9428Like `mail' command, but display mail buffer in another frame.Fserver-start 9429Allow this Emacs process to be a server for client processes. 9430This starts a server communications subprocess through which 9431client "editors" can send your editing commands to this Emacs job. 9432To use the server, set up the program `etc/emacsclient' in the 9433Emacs distribution as your standard "editor". 9434 9435Prefix arg means just kill any existing server communications subprocess.Fsgml-mode 9436Major mode for editing SGML. 9437Makes > display the matching <. Makes / display matching /. 9438Use \[sgml-validate] to validate your document with an SGML parser.Vshell-prompt-pattern 9439Regexp to match prompts in the inferior shell. 9440Defaults to "^[^#$%>\n]*[#$%>] *", which works pretty well. 9441This variable is used to initialise `comint-prompt-regexp' in the 9442shell buffer. 9443 9444The pattern should probably not match more than one line. If it does, 9445shell-mode may become confused trying to distinguish prompt from input 9446on lines which don't start with a prompt. 9447 9448This is a fine thing to set in your `.emacs' file.Fshell 9449Run an inferior shell, with I/O through buffer *shell*. 9450If buffer exists but shell process is not running, make new shell. 9451If buffer exists and shell process is running, just switch to buffer `*shell*'. 9452Program used comes from variable `explicit-shell-file-name', 9453 or (if that is nil) from the ESHELL environment variable, 9454 or else from SHELL if there is no ESHELL. 9455If a file `~/.emacs_SHELLNAME' exists, it is given as initial input 9456 (Note that this may lose due to a timing error if the shell 9457 discards input when it starts up.) 9458The buffer is put in Shell mode, giving commands for sending input 9459and controlling the subjobs of the shell. See `shell-mode'. 9460See also the variable `shell-prompt-pattern'. 9461 9462The shell file name (sans directories) is used to make a symbol name 9463such as `explicit-csh-args'. If that symbol is a variable, 9464its value is used as a list of arguments when invoking the shell. 9465Otherwise, one argument `-i' is passed to the shell. 9466 9467(Type \[describe-mode] in the shell buffer for a list of commands.)Fdefine-skeleton 9468Define a user-configurable COMMAND that enters a statement skeleton. 9469DOCUMENTATION is that of the command, while the variable of the same name, 9470which contains the definition, has a documentation to that effect. 9471PROMPT and ELEMENT ... are as defined under `skeleton-insert'.Fskeleton-insert 9472Insert the complex statement skeleton DEFINITION describes very concisely. 9473If optional NO-NEWLINE is nil the skeleton will end on a line of its own. 9474 9475DEFINITION is made up as (PROMPT ELEMENT ...). PROMPT may be nil if not 9476needed, a prompt-string or an expression for complex read functions. 9477 9478If ELEMENT is a string or a character it gets inserted (see also 9479`skeleton-transformation'). Other possibilities are: 9480 9481 \n go to next line and align cursor 9482 > indent according to major mode 9483 < undent tab-width spaces but not beyond beginning of line 9484 _ cursor after termination 9485 & skip next ELEMENT if previous didn't move point 9486 | skip next ELEMENT if previous moved point 9487 -num delete num preceding characters 9488 resume: skipped, continue here if quit is signaled 9489 nil skipped 9490 9491ELEMENT may itself be DEFINITION with a PROMPT. The user is prompted 9492repeatedly for different inputs. The DEFINITION is processed as often 9493as the user enters a non-empty string. \[keyboard-quit] terminates 9494skeleton insertion, but continues after `resume:' and positions at `_' 9495if any. If PROMPT in such a sub-definition contains a ".. %s .." it 9496is replaced by `skeleton-subprompt'. 9497 9498Other lisp-expressions are evaluated and the value treated as above. 9499The following local variables are available: 9500 9501 str first time: read a string prompting with PROMPT and insert it 9502 if PROMPT is not a string it is evaluated instead 9503 then: insert previously read string once more 9504 quit non-nil when resume: section is entered by keyboard quit 9505 v1, v2 local variables for memorising anything you wantFpair-insert-maybe 9506Insert the character you type ARG times. 9507 9508With no ARG, if `pair' is non-nil, and if 9509`pair-on-word' is non-nil or we are not before or inside a 9510word, and if `pair-filter' returns nil, pairing is performed. 9511 9512If a match is found in `pair-alist', that is inserted, else 9513the defaults are used. These are (), [], {}, <> and `' for the 9514symmetrical ones, and the same character twice for the others.Fdefine-skeleton 9515Define a user-configurable COMMAND that enters a statement skeleton. 9516DOCUMENTATION is that of the command, while the variable of the same name, 9517which contains the definition, has a documentation to that effect. 9518PROMPT and ELEMENT ... are as defined under `skeleton-insert'.Fskeleton-insert 9519Insert the complex statement skeleton DEFINITION describes very concisely. 9520If optional NO-NEWLINE is nil the skeleton will end on a line of its own. 9521 9522DEFINITION is made up as (PROMPT ELEMENT ...). PROMPT may be nil if not 9523needed, a prompt-string or an expression for complex read functions. 9524 9525If ELEMENT is a string or a character it gets inserted (see also 9526`skeleton-transformation'). Other possibilities are: 9527 9528 \n go to next line and align cursor 9529 > indent according to major mode 9530 < undent tab-width spaces but not beyond beginning of line 9531 _ cursor after termination 9532 & skip next ELEMENT if previous didn't move point 9533 | skip next ELEMENT if previous moved point 9534 -num delete num preceding characters 9535 resume: skipped, continue here if quit is signaled 9536 nil skipped 9537 9538ELEMENT may itself be DEFINITION with a PROMPT. The user is prompted 9539repeatedly for different inputs. The DEFINITION is processed as often 9540as the user enters a non-empty string. \[keyboard-quit] terminates 9541skeleton insertion, but continues after `resume:' and positions at `_' 9542if any. If PROMPT in such a sub-definition contains a ".. %s .." it 9543is replaced by `skeleton-subprompt'. 9544 9545Other lisp-expressions are evaluated and the value treated as above. 9546The following local variables are available: 9547 9548 str first time: read a string prompting with PROMPT and insert it 9549 if PROMPT is not a string it is evaluated instead 9550 then: insert previously read string once more 9551 quit non-nil when resume: section is entered by keyboard quit 9552 v1, v2 local variables for memorising anything you wantFpair-insert-maybe 9553Insert the character you type ARG times. 9554 9555With no ARG, if `pair' is non-nil, and if 9556`pair-on-word' is non-nil or we are not before or inside a 9557word, and if `pair-filter' returns nil, pairing is performed. 9558 9559If a match is found in `pair-alist', that is inserted, else 9560the defaults are used. These are (), [], {}, <> and `' for the 9561symmetrical ones, and the same character twice for the others.Vcalendar-time-display-form 9562*The pseudo-pattern that governs the way a time of day is formatted. 9563 9564A pseudo-pattern is a list of expressions that can involve the keywords 9565`12-hours', `24-hours', and `minutes', all numbers in string form, 9566and `am-pm' and `time-zone', both alphabetic strings. 9567 9568For example, the form 9569 9570 '(24-hours ":" minutes 9571 (if time-zone " (") time-zone (if time-zone ")")) 9572 9573would give military-style times like `21:07 (UTC)'.Vcalendar-latitude 9574*Latitude of `calendar-location-name' in degrees, + north, - south. 9575For example, 40.7 for New York City. 9576It may not be a good idea to set this in advance for your site; 9577if there may be users running Emacs at your site 9578who are physically located elsewhere, they would get the wrong 9579value and might not know how to override it.Vcalendar-longitude 9580*Longitude of `calendar-location-name' in degrees, + east, - west. 9581For example, -74.0 for New York City. 9582It may not be a good idea to set this in advance for your site; 9583if there may be users running Emacs at your site 9584who are physically located elsewhere, they would get the wrong 9585value and might not know how to override it.Vcalendar-location-name 9586*Expression evaluating to name of `calendar-longitude', calendar-latitude'. 9587Default value is just the latitude, longitude pair.Fsunrise-sunset 9588Local time of sunrise and sunset for today. Accurate to +/- 2 minutes. 9589If called with an optional prefix argument, prompt for date. 9590 9591If called with an optional double prefix argument, prompt for longitude, 9592latitude, time zone, and date, and always use standard time. 9593 9594This function is suitable for execution in a .emacs file.Fsolar-equinoxes-solstices 9595Date and time of equinoxes and solstices, if visible in the calendar window. 9596Requires floating point.Fsort-subr 9597General text sorting routine to divide buffer into records and sort them. 9598Arguments are REVERSE NEXTRECFUN ENDRECFUN &optional STARTKEYFUN ENDKEYFUN. 9599 9600We divide the accessible portion of the buffer into disjoint pieces 9601called sort records. A portion of each sort record (perhaps all of 9602it) is designated as the sort key. The records are rearranged in the 9603buffer in order by their sort keys. The records may or may not be 9604contiguous. 9605 9606Usually the records are rearranged in order of ascending sort key. 9607If REVERSE is non-nil, they are rearranged in order of descending sort key. 9608 9609The next four arguments are functions to be called to move point 9610across a sort record. They will be called many times from within sort-subr. 9611 9612NEXTRECFUN is called with point at the end of the previous record. 9613It moves point to the start of the next record. 9614It should move point to the end of the buffer if there are no more records. 9615The first record is assumed to start at the position of point when sort-subr 9616is called. 9617 9618ENDRECFUN is called with point within the record. 9619It should move point to the end of the record. 9620 9621STARTKEYFUN moves from the start of the record to the start of the key. 9622It may return either a non-nil value to be used as the key, or 9623else the key is the substring between the values of point after 9624STARTKEYFUN and ENDKEYFUN are called. If STARTKEYFUN is nil, the key 9625starts at the beginning of the record. 9626 9627ENDKEYFUN moves from the start of the sort key to the end of the sort key. 9628ENDKEYFUN may be nil if STARTKEYFUN returns a value or if it would be the 9629same as ENDRECFUN.Fsort-lines 9630Sort lines in region alphabetically; argument means descending order. 9631Called from a program, there are three arguments: 9632REVERSE (non-nil means reverse order), BEG and END (region to sort).Fsort-paragraphs 9633Sort paragraphs in region alphabetically; argument means descending order. 9634Called from a program, there are three arguments: 9635REVERSE (non-nil means reverse order), BEG and END (region to sort).Fsort-pages 9636Sort pages in region alphabetically; argument means descending order. 9637Called from a program, there are three arguments: 9638REVERSE (non-nil means reverse order), BEG and END (region to sort).Fsort-numeric-fields 9639Sort lines in region numerically by the ARGth field of each line. 9640Fields are separated by whitespace and numbered from 1 up. 9641Specified field must contain a number in each line of the region. 9642With a negative arg, sorts by the ARGth field counted from the right. 9643Called from a program, there are three arguments: 9644FIELD, BEG and END. BEG and END specify region to sort.Fsort-fields 9645Sort lines in region lexicographically by the ARGth field of each line. 9646Fields are separated by whitespace and numbered from 1 up. 9647With a negative arg, sorts by the ARGth field counted from the right. 9648Called from a program, there are three arguments: 9649FIELD, BEG and END. BEG and END specify region to sort.Fsort-regexp-fields 9650Sort the region lexicographically as specified by RECORD-REGEXP and KEY. 9651RECORD-REGEXP specifies the textual units which should be sorted. 9652 For example, to sort lines RECORD-REGEXP would be "^.*$" 9653KEY specifies the part of each record (ie each match for RECORD-REGEXP) 9654 is to be used for sorting. 9655 If it is "\digit" then the digit'th "\(...\)" match field from 9656 RECORD-REGEXP is used. 9657 If it is "\&" then the whole record is used. 9658 Otherwise, it is a regular-expression for which to search within the record. 9659If a match for KEY is not found within a record then that record is ignored. 9660 9661With a negative prefix arg sorts in reverse order. 9662 9663For example: to sort lines in the region by the first word on each line 9664 starting with the letter "f", 9665 RECORD-REGEXP would be "^.*$" and KEY would be "\=\<f\w*\>"Fsort-columns 9666Sort lines in region alphabetically by a certain range of columns. 9667For the purpose of this command, the region includes 9668the entire line that point is in and the entire line the mark is in. 9669The column positions of point and mark bound the range of columns to sort on. 9670A prefix argument means sort into reverse order. 9671 9672Note that `sort-columns' rejects text that contains tabs, 9673because tabs could be split across the specified columns 9674and it doesn't know how to handle that. Also, when possible, 9675it uses the `sort' utility program, which doesn't understand tabs. 9676Use \[untabify] to convert tabs to spaces before sorting.Freverse-region 9677Reverse the order of lines in a region. 9678From a program takes two point or marker arguments, BEG and END.Fspell-buffer 9679Check spelling of every word in the buffer. 9680For each incorrect word, you are asked for the correct spelling 9681and then put into a query-replace to fix some or all occurrences. 9682If you do not want to change a word, just give the same word 9683as its "correct" spelling; then the query replace is skipped.Fspell-word 9684Check spelling of word at or before point. 9685If it is not correct, ask user for the correct spelling 9686and `query-replace' the entire buffer to substitute it.Fspell-region 9687Like `spell-buffer' but applies only to region. 9688Used in a program, applies from START to END. 9689DESCRIPTION is an optional string naming the unit being checked: 9690for example, "word".Fspell-string 9691Check spelling of string supplied as argument.Fspook 9692Adds that special touch of class to your outgoing mail.Fsnarf-spooks 9693Return a vector containing the lines from `spook-phrases-file'.Fsc-cite-original 9694Workhorse citing function which performs the initial citation. 9695This is callable from the various mail and news readers' reply 9696function according to the agreed upon standard. See `\[sc-describe]' 9697for more details. `sc-cite-original' does not do any yanking of the 9698original message but it does require a few things: 9699 9700 1) The reply buffer is the current buffer. 9701 9702 2) The original message has been yanked and inserted into the 9703 reply buffer. 9704 9705 3) Verbose mail headers from the original message have been 9706 inserted into the reply buffer directly before the text of the 9707 original message. 9708 9709 4) Point is at the beginning of the verbose headers. 9710 9711 5) Mark is at the end of the body of text to be cited. 9712 9713For Emacs 19's, the region need not be active (and typically isn't 9714when this function is called. Also, the hook `sc-pre-hook' is run 9715before, and `sc-post-hook' is run after the guts of this function.Funtabify 9716Convert all tabs in region to multiple spaces, preserving columns. 9717Called non-interactively, the region is specified by arguments 9718START and END, rather than by the position of point and mark. 9719The variable `tab-width' controls the spacing of tab stops.Ftabify 9720Convert multiple spaces in region to tabs when possible. 9721A group of spaces is partially replaced by tabs 9722when this can be done without changing the column they end at. 9723Called non-interactively, the region is specified by arguments 9724START and END, rather than by the position of point and mark. 9725The variable `tab-width' controls the spacing of tab stops.Ftar-mode 9726Major mode for viewing a tar file as a dired-like listing of its contents. 9727You can move around using the usual cursor motion commands. 9728Letters no longer insert themselves. 9729Type `e' to pull a file out of the tar file and into its own buffer; 9730or click mouse-2 on the file's line in the Tar mode buffer. 9731Type `c' to copy an entry from the tar file into another file on disk. 9732 9733If you edit a sub-file of this archive (as with the `e' command) and 9734save it with Control-x Control-s, the contents of that buffer will be 9735saved back into the tar-file buffer; in this way you can edit a file 9736inside of a tar archive without extracting it and re-archiving it. 9737 9738See also: variables `tar-update-datestamp' and `tar-anal-blocksize'. 9739\{tar-mode-map}Ftcl-mode 9740Major mode for editing tcl scripts. 9741The following keys are bound: 9742\{tcl-mode-map} 9743Ftelnet 9744Open a network login connection to host named HOST (a string). 9745Communication with HOST is recorded in a buffer *HOST-telnet*. 9746Normally input is edited in Emacs and sent a line at a time.Frsh 9747Open a network login connection to host named HOST (a string). 9748Communication with HOST is recorded in a buffer *HOST-rsh*. 9749Normally input is edited in Emacs and sent a line at a time.Fterminal-emulator 9750Under a display-terminal emulator in BUFFER, run PROGRAM on arguments ARGS. 9751ARGS is a list of argument-strings. Remaining arguments are WIDTH and HEIGHT. 9752BUFFER's contents are made an image of the display generated by that program, 9753and any input typed when BUFFER is the current Emacs buffer is sent to that 9754program an keyboard input. 9755 9756Interactively, BUFFER defaults to "*terminal*" and PROGRAM and ARGS 9757are parsed from an input-string using your usual shell. 9758WIDTH and HEIGHT are determined from the size of the current window 9759-- WIDTH will be one less than the window's width, HEIGHT will be its height. 9760 9761To switch buffers and leave the emulator, or to give commands 9762to the emulator itself (as opposed to the program running under it), 9763type Control-^. The following character is an emulator command. 9764Type Control-^ twice to send it to the subprogram. 9765This escape character may be changed using the variable `terminal-escape-char'. 9766 9767`Meta' characters may not currently be sent through the terminal emulator. 9768 9769Here is a list of some of the variables which control the behaviour 9770of the emulator -- see their documentation for more information: 9771terminal-escape-char, terminal-scrolling, terminal-more-processing, 9772terminal-redisplay-interval. 9773 9774This function calls the value of terminal-mode-hook if that exists 9775and is non-nil after the terminal buffer has been set up and the 9776subprocess started. 9777 9778Presently with `termcap' only; if somebody sends us code to make this 9779work with `terminfo' we will try to use it.Vtex-shell-file-name 9780*If non-nil, the shell file name to run in the subshell used to run TeX.Vtex-directory 9781*Directory in which temporary files are left. 9782You can make this `/tmp' if your TEXINPUTS has no relative directories in it 9783and you don't try to apply \[tex-region] or \[tex-buffer] when there are 9784`\input' commands with relative directories.Vtex-offer-save 9785*If non-nil, ask about saving modified buffers before \[tex-file] is run.Vtex-run-command 9786*Command used to run TeX subjob. 9787If this string contains an asterisk (`*'), that is replaced by the file name; 9788otherwise, the file name, preceded by blank, is added at the end.Vlatex-run-command 9789*Command used to run LaTeX subjob. 9790If this string contains an asterisk (`*'), that is replaced by the file name; 9791otherwise, the file name, preceded by blank, is added at the end.Vlatex-block-names 9792*User defined LaTeX block names. 9793Combined with `standard-latex-block-names' for minibuffer completion.Vslitex-run-command 9794*Command used to run SliTeX subjob. 9795If this string contains an asterisk (`*'), that is replaced by the file name; 9796otherwise, the file name, preceded by blank, is added at the end.Vtex-bibtex-command 9797*Command used by `tex-bibtex-file' to gather bibliographic data. 9798If this string contains an asterisk (`*'), that is replaced by the file name; 9799otherwise, the file name, preceded by blank, is added at the end.Vtex-dvi-print-command 9800*Command used by \[tex-print] to print a .dvi file. 9801If this string contains an asterisk (`*'), that is replaced by the file name; 9802otherwise, the file name, preceded by blank, is added at the end.Vtex-alt-dvi-print-command 9803*Command used by \[tex-print] with a prefix arg to print a .dvi file. 9804If this string contains an asterisk (`*'), that is replaced by the file name; 9805otherwise, the file name, preceded by blank, is added at the end. 9806 9807If two printers are not enough of a choice, you can set the variable 9808`tex-alt-dvi-print-command' to an expression that asks what you want; 9809for example, 9810 9811 (setq tex-alt-dvi-print-command 9812 '(format "lpr -P%s" (read-string "Use printer: "))) 9813 9814would tell \[tex-print] with a prefix argument to ask you which printer to 9815use.Vtex-dvi-view-command 9816*Command used by \[tex-view] to display a `.dvi' file. 9817If this string contains an asterisk (`*'), that is replaced by the file name; 9818otherwise, the file name, preceded by blank, is added at the end. 9819 9820This can be set conditionally so that the previewer used is suitable for the 9821window system being used. For example, 9822 9823 (setq tex-dvi-view-command 9824 (if (eq window-system 'x) "xdvi" "dvi2tty * | cat -s")) 9825 9826would tell \[tex-view] to use xdvi under X windows and to use dvi2tty 9827otherwise.Vtex-show-queue-command 9828*Command used by \[tex-show-print-queue] to show the print queue. 9829Should show the queue(s) that \[tex-print] puts jobs on.Vtex-default-mode 9830*Mode to enter for a new file that might be either TeX or LaTeX. 9831This variable is used when it can't be determined whether the file 9832is plain TeX or LaTeX or what because the file contains no commands. 9833Normally set to either `plain-tex-mode' or `latex-mode'.Vtex-open-quote 9834*String inserted by typing \[tex-insert-quote] to open a quotation.Vtex-close-quote 9835*String inserted by typing \[tex-insert-quote] to close a quotation.Ftex-mode 9836Major mode for editing files of input for TeX, LaTeX, or SliTeX. 9837Tries to determine (by looking at the beginning of the file) whether 9838this file is for plain TeX, LaTeX, or SliTeX and calls `plain-tex-mode', 9839`latex-mode', or `slitex-mode', respectively. If it cannot be determined, 9840such as if there are no commands in the file, the value of `tex-default-mode' 9841says which mode to use.Fplain-tex-mode 9842Major mode for editing files of input for plain TeX. 9843Makes $ and } display the characters they match. 9844Makes " insert `` when it seems to be the beginning of a quotation, 9845and '' when it appears to be the end; it inserts " only after a \. 9846 9847Use \[tex-region] to run TeX on the current region, plus a "header" 9848copied from the top of the file (containing macro definitions, etc.), 9849running TeX under a special subshell. \[tex-buffer] does the whole buffer. 9850\[tex-file] saves the buffer and then processes the file. 9851\[tex-print] prints the .dvi file made by any of these. 9852\[tex-view] previews the .dvi file made by any of these. 9853\[tex-bibtex-file] runs bibtex on the file of the current buffer. 9854 9855Use \[validate-tex-buffer] to check buffer for paragraphs containing 9856mismatched $'s or braces. 9857 9858Special commands: 9859\{tex-mode-map} 9860 9861Mode variables: 9862tex-run-command 9863 Command string used by \[tex-region] or \[tex-buffer]. 9864tex-directory 9865 Directory in which to create temporary files for TeX jobs 9866 run by \[tex-region] or \[tex-buffer]. 9867tex-dvi-print-command 9868 Command string used by \[tex-print] to print a .dvi file. 9869tex-alt-dvi-print-command 9870 Alternative command string used by \[tex-print] (when given a prefix 9871 argument) to print a .dvi file. 9872tex-dvi-view-command 9873 Command string used by \[tex-view] to preview a .dvi file. 9874tex-show-queue-command 9875 Command string used by \[tex-show-print-queue] to show the print 9876 queue that \[tex-print] put your job on. 9877 9878Entering Plain-tex mode runs the hook `text-mode-hook', then the hook 9879`tex-mode-hook', and finally the hook `plain-tex-mode-hook'. When the 9880special subshell is initiated, the hook `tex-shell-hook' is run.Flatex-mode 9881Major mode for editing files of input for LaTeX. 9882Makes $ and } display the characters they match. 9883Makes " insert `` when it seems to be the beginning of a quotation, 9884and '' when it appears to be the end; it inserts " only after a \. 9885 9886Use \[tex-region] to run LaTeX on the current region, plus the preamble 9887copied from the top of the file (containing \documentstyle, etc.), 9888running LaTeX under a special subshell. \[tex-buffer] does the whole buffer. 9889\[tex-file] saves the buffer and then processes the file. 9890\[tex-print] prints the .dvi file made by any of these. 9891\[tex-view] previews the .dvi file made by any of these. 9892\[tex-bibtex-file] runs bibtex on the file of the current buffer. 9893 9894Use \[validate-tex-buffer] to check buffer for paragraphs containing 9895mismatched $'s or braces. 9896 9897Special commands: 9898\{tex-mode-map} 9899 9900Mode variables: 9901latex-run-command 9902 Command string used by \[tex-region] or \[tex-buffer]. 9903tex-directory 9904 Directory in which to create temporary files for LaTeX jobs 9905 run by \[tex-region] or \[tex-buffer]. 9906tex-dvi-print-command 9907 Command string used by \[tex-print] to print a .dvi file. 9908tex-alt-dvi-print-command 9909 Alternative command string used by \[tex-print] (when given a prefix 9910 argument) to print a .dvi file. 9911tex-dvi-view-command 9912 Command string used by \[tex-view] to preview a .dvi file. 9913tex-show-queue-command 9914 Command string used by \[tex-show-print-queue] to show the print 9915 queue that \[tex-print] put your job on. 9916 9917Entering Latex mode runs the hook `text-mode-hook', then 9918`tex-mode-hook', and finally `latex-mode-hook'. When the special 9919subshell is initiated, `tex-shell-hook' is run.Fslitex-mode 9920Major mode for editing files of input for SliTeX. 9921Makes $ and } display the characters they match. 9922Makes " insert `` when it seems to be the beginning of a quotation, 9923and '' when it appears to be the end; it inserts " only after a \. 9924 9925Use \[tex-region] to run SliTeX on the current region, plus the preamble 9926copied from the top of the file (containing \documentstyle, etc.), 9927running SliTeX under a special subshell. \[tex-buffer] does the whole buffer. 9928\[tex-file] saves the buffer and then processes the file. 9929\[tex-print] prints the .dvi file made by any of these. 9930\[tex-view] previews the .dvi file made by any of these. 9931\[tex-bibtex-file] runs bibtex on the file of the current buffer. 9932 9933Use \[validate-tex-buffer] to check buffer for paragraphs containing 9934mismatched $'s or braces. 9935 9936Special commands: 9937\{tex-mode-map} 9938 9939Mode variables: 9940slitex-run-command 9941 Command string used by \[tex-region] or \[tex-buffer]. 9942tex-directory 9943 Directory in which to create temporary files for SliTeX jobs 9944 run by \[tex-region] or \[tex-buffer]. 9945tex-dvi-print-command 9946 Command string used by \[tex-print] to print a .dvi file. 9947tex-alt-dvi-print-command 9948 Alternative command string used by \[tex-print] (when given a prefix 9949 argument) to print a .dvi file. 9950tex-dvi-view-command 9951 Command string used by \[tex-view] to preview a .dvi file. 9952tex-show-queue-command 9953 Command string used by \[tex-show-print-queue] to show the print 9954 queue that \[tex-print] put your job on. 9955 9956Entering SliTeX mode runs the hook `text-mode-hook', then the hook 9957`tex-mode-hook', then the hook `latex-mode-hook', and finally the hook 9958`slitex-mode-hook'. When the special subshell is initiated, the hook 9959`tex-shell-hook' is run.Ftexinfo-format-buffer 9960Process the current buffer as texinfo code, into an Info file. 9961The Info file output is generated in a buffer visiting the Info file 9962names specified in the @setfilename command. 9963 9964Non-nil argument (prefix, if interactive) means don't make tag table 9965and don't split the file if large. You can use Info-tagify and 9966Info-split to do these manually.Ftexinfo-format-region 9967Convert the current region of the Texinfo file to Info format. 9968This lets you see what that part of the file will look like in Info. 9969The command is bound to \[texinfo-format-region]. The text that is 9970converted to Info is stored in a temporary buffer.Ftexinfo-mode 9971Major mode for editing Texinfo files. 9972 9973 It has these extra commands: 9974\{texinfo-mode-map} 9975 9976 These are files that are used as input for TeX to make printed manuals 9977and also to be turned into Info files with \[makeinfo-buffer] or 9978the `makeinfo' program. These files must be written in a very restricted and 9979modified version of TeX input format. 9980 9981 Editing commands are like text-mode except that the syntax table is 9982set up so expression commands skip Texinfo bracket groups. To see 9983what the Info version of a region of the Texinfo file will look like, 9984use \[makeinfo-region], which runs `makeinfo' on the current region. 9985 9986 You can show the structure of a Texinfo file with \[texinfo-show-structure]. 9987This command shows the structure of a Texinfo file by listing the 9988lines with the @-sign commands for @chapter, @section, and the like. 9989These lines are displayed in another window called the *Occur* window. 9990In that window, you can position the cursor over one of the lines and 9991use \[occur-mode-goto-occurrence], to jump to the corresponding spot 9992in the Texinfo file. 9993 9994 In addition, Texinfo mode provides commands that insert various 9995frequently used @-sign commands into the buffer. You can use these 9996commands to save keystrokes. And you can insert balanced braces with 9997\[texinfo-insert-braces] and later use the command \[up-list] to 9998move forward past the closing brace. 9999 10000Also, Texinfo mode provides functions for automatically creating or 10001updating menus and node pointers. These functions 10002 10003 * insert the `Next', `Previous' and `Up' pointers of a node, 10004 * insert or update the menu for a section, and 10005 * create a master menu for a Texinfo source file. 10006 10007Here are the functions: 10008 10009 texinfo-update-node \[texinfo-update-node] 10010 texinfo-every-node-update \[texinfo-every-node-update] 10011 texinfo-sequential-node-update 10012 10013 texinfo-make-menu \[texinfo-make-menu] 10014 texinfo-all-menus-update \[texinfo-all-menus-update] 10015 texinfo-master-menu 10016 10017 texinfo-indent-menu-description (column &optional region-p) 10018 10019The `texinfo-column-for-description' variable specifies the column to 10020which menu descriptions are indented. 10021 10022Passed an argument (a prefix argument, if interactive), the 10023`texinfo-update-node' and `texinfo-make-menu' functions do their jobs 10024in the region. 10025 10026To use the updating commands, you must structure your Texinfo file 10027hierarchically, such that each `@node' line, with the exception of the 10028Top node, is accompanied by some kind of section line, such as an 10029`@chapter' or `@section' line. 10030 10031If the file has a `top' node, it must be called `top' or `Top' and 10032be the first node in the file. 10033 10034Entering Texinfo mode calls the value of text-mode-hook, and then the 10035value of texinfo-mode-hook.Ftexinfo-update-node 10036Without any prefix argument, update the node in which point is located. 10037Non-nil argument (prefix, if interactive) means update the nodes in the 10038marked region. 10039 10040The functions for creating or updating nodes and menus, and their 10041keybindings, are: 10042 10043 texinfo-update-node (&optional region-p) \[texinfo-update-node] 10044 texinfo-every-node-update () \[texinfo-every-node-update] 10045 texinfo-sequential-node-update (&optional region-p) 10046 10047 texinfo-make-menu (&optional region-p) \[texinfo-make-menu] 10048 texinfo-all-menus-update () \[texinfo-all-menus-update] 10049 texinfo-master-menu () 10050 10051 texinfo-indent-menu-description (column &optional region-p) 10052 10053The `texinfo-column-for-description' variable specifies the column to 10054which menu descriptions are indented. Its default value is 32.Ftexinfo-every-node-update 10055Update every node in a Texinfo file.Ftexinfo-sequential-node-update 10056Update one node (or many) in a Texinfo file with sequential pointers. 10057 10058This function causes the `Next' or `Previous' pointer to point to the 10059immediately preceding or following node, even if it is at a higher or 10060lower hierarchical level in the document. Continually pressing `n' or 10061`p' takes you straight through the file. 10062 10063Without any prefix argument, update the node in which point is located. 10064Non-nil argument (prefix, if interactive) means update the nodes in the 10065marked region. 10066 10067This command makes it awkward to navigate among sections and 10068subsections; it should be used only for those documents that are meant 10069to be read like a novel rather than a reference, and for which the 10070Info `g*' command is inadequate.Fforward-thing 10071Move forward to the end of the next THING.Fbounds-of-thing-at-point 10072Determine the start and end buffer locations for the THING at point, 10073where THING is an entity for which there is a either a corresponding 10074forward-THING operation, or corresponding beginning-of-THING and 10075end-of-THING operations, eg. 'word, 'sentence, 'defun. 10076 Return a cons cell '(start . end) giving the start and end positions.Fthing-at-point 10077Return the THING at point, where THING is an entity defined by 10078bounds-of-thing-at-point.Vdisplay-time-day-and-date 10079*Non-nil means \[display-time] should display day and date as well as time.Fdisplay-time 10080Display current time, load level, and mail flag in mode line of each buffer. 10081Updates automatically every minute. 10082If `display-time-day-and-date' is non-nil, the current day and date 10083are displayed as well. 10084After each update, `display-time-hook' is run with `run-hooks'.Ftime-stamp 10085Update the time stamp string in the buffer. 10086If you put a time stamp template anywhere in the first 8 lines of a file, 10087it can be updated every time you save the file. See the top of 10088`time-stamp.el' for a sample. The template looks like one of the following: 10089 Time-stamp: <> 10090 Time-stamp: " " 10091The time stamp is written between the brackets or quotes, resulting in 10092 Time-stamp: <93/06/18 10:26:51 gildea> 10093Only does its thing if the variable time-stamp-active is non-nil. 10094Typically used on write-file-hooks for automatic time-stamping. 10095The format of the time stamp is determined by the variable time-stamp-format. 10096The variables time-stamp-line-limit, time-stamp-start, and time-stamp-end 10097control finding the template.Frun-at-time 10098Run a function at a time, and optionally on a regular interval. 10099Arguments are TIME, REPEAT, FUNCTION &rest ARGS. 10100TIME, a string, can be specified absolutely or relative to now. 10101TIME can also be an integer, a number of seconds. 10102REPEAT, an integer number of seconds, is the interval on which to repeat 10103the call to the function. If REPEAT is nil, call it just once. 10104 10105Absolute times may be specified in a wide variety of formats; 10106Something of the form `HOUR:MIN:SEC TIMEZONE MONTH/DAY/YEAR', where 10107all fields are numbers, works; the format used by the Unix `date' 10108command works too. 10109 10110Relative times may be specified as a series of numbers followed by units: 10111 1 min denotes one minute from now. 10112 min does too. 10113 1 min 5 sec denotes 65 seconds from now. 10114 1 min 2 sec 3 hour 4 day 5 week 6 fortnight 7 month 8 year 10115 denotes the sum of all the given durations from now.Ftpu-edt-on 10116Turn on TPU/edt emulation.Ftpu-set-scroll-margins 10117Set scroll margins.Ftpu-set-cursor-free 10118Allow the cursor to move freely about the screen.Ftpu-set-cursor-bound 10119Constrain the cursor to the flow of the text.Ftq-create 10120Create and return a transaction queue communicating with PROCESS. 10121PROCESS should be a subprocess capable of sending and receiving 10122streams of bytes. It may be a local process, or it may be connected 10123to a tcp server on another machine.Vtrace-buffer 10124*Trace output will by default go to that buffer.Ftrace-function 10125Traces FUNCTION with trace output going to BUFFER. 10126For every call of FUNCTION Lisp-style trace messages that display argument 10127and return values will be inserted into BUFFER. This function generates the 10128trace advice for FUNCTION and activates it together with any other advice 10129there might be!! The trace BUFFER will popup whenever FUNCTION is called. 10130Do not use this to trace functions that switch buffers or do any other 10131display oriented stuff, use `trace-function-background' instead.Ftrace-function-background 10132Traces FUNCTION with trace output going quietly to BUFFER. 10133For every call of FUNCTION Lisp-style trace messages that display argument 10134and return values will be inserted into BUFFER. This function generates the 10135trace advice for FUNCTION and activates it together with any other advice 10136there might be!! Trace output will quietly go to BUFFER without changing 10137the window or buffer configuration at all.Vtc-mode-map 10138Keymap for commands for two-column mode.Ftc-two-columns 10139Split current window vertically for two-column editing. 10140 10141When called the first time, associates a buffer with the current 10142buffer. Both buffers are put in two-column minor mode and 10143tc-mode-hook gets called on both. These buffers remember 10144about one another, even when renamed. 10145 10146When called again, restores the screen layout with the current buffer 10147first and the associated buffer to it's right. 10148 10149If you include long lines, i.e which will span both columns (eg. 10150source code), they should be in what will be the first column, with 10151the associated buffer having empty lines next to them. 10152 10153You have the following commands at your disposal: 10154 10155\[tc-two-columns] Rearrange screen 10156\[tc-associate-buffer] Reassociate buffer after changing major mode 10157\[tc-scroll-up] Scroll both buffers up by a screenfull 10158\[tc-scroll-down] Scroll both buffers down by a screenful 10159\[tc-scroll-line] Scroll both buffers up by one or more lines 10160\[tc-recenter] Recenter and realign other buffer 10161\[shrink-window-horizontally], \[enlarge-window-horizontally] Shrink, enlarge current column 10162\[tc-associated-buffer] Switch to associated buffer 10163\[tc-merge] Merge both buffers 10164 10165These keybindings can be customized in your ~/.emacs by `tc-prefix' 10166and `tc-mode-map'. 10167 10168The appearance of the screen can be customized by the variables 10169`tc-window-width', `tc-beyond-fill-column', 10170`tc-mode-line-format' and `truncate-partial-width-windows'.Ftc-associate-buffer 10171Associate another buffer with this one in two-column minor mode. 10172Can also be used to associate a just previously visited file, by 10173accepting the proposed default buffer. 10174 10175See \[tc-two-columns] and `two-column.el' for further details.Ftc-split 10176Unmerge a two-column text into two buffers in two-column minor mode. 10177The text is unmerged at the cursor's column which becomes the local 10178value of `tc-window-width'. Only lines that have the ARG same 10179preceding characters at that column get split. The ARG preceding 10180characters without any leading whitespace become the local value for 10181`tc-separator'. This way lines that continue across both 10182columns remain untouched in the first buffer. 10183 10184This function can be used with a prototype line, to set up things as 10185you like them. You write the first line of each column with the 10186separator you like and then unmerge that line. E.g.: 10187 10188First column's text sSs Second columns text 10189 \___/\ 10190 / \ 10191 5 character Separator You type M-5 \[tc-split] with the point here 10192 10193See \[tc-two-columns] and `two-column.el' for further details.Ftc-dissociate 10194Turn off two-column minor mode in current and associated buffer. 10195If the associated buffer is unmodified and empty, it is killed.Ftc-merge 10196Merges the associated buffer with the current buffer. 10197They get merged at the column, which is the value of 10198`tc-window-width', i.e. usually at the vertical window 10199separator. This separator gets replaced with white space. Beyond 10200that the value of gets inserted on merged lines. The two columns are 10201thus pasted side by side, in a single text. If the other buffer is 10202not displayed to the left of this one, then this one becomes the left 10203column. 10204 10205If you want `tc-separator' on empty lines in the second column, 10206you should put just one space in them. In the final result, you can strip 10207off trailing spaces with \[beginning-of-buffer] \[replace-regexp] [ SPC TAB ] + $ RET RETFtc-associated-buffer 10208Switch to associated buffer.Ftc-scroll-line 10209Scroll current window upward by ARG lines. 10210The associated window gets scrolled to the same line.Ftc-scroll-up 10211Scroll current window upward by ARG screens. 10212The associated window gets scrolled to the same line.Ftc-scroll-down 10213Scroll current window downward by ARG screens. 10214The associated window gets scrolled to the same line.Ftc-recenter 10215Center point in window. With ARG, put point on line ARG. 10216This counts from bottom if ARG is negative. The associated window 10217gets scrolled to the same line.Funderline-region 10218Underline all nonblank characters in the region. 10219Works by overstriking underscores. 10220Called from program, takes two arguments START and END 10221which specify the range to operate on.Fununderline-region 10222Remove all underlining (overstruck underscores) in the region. 10223Called from program, takes two arguments START and END 10224which specify the range to operate on.Fbatch-unrmail 10225Convert Rmail files to system inbox format. 10226Specify the input Rmail file names as command line arguments. 10227For each Rmail file, the corresponding output file name 10228is made by adding `.mail' at the end. 10229For example, invoke `emacs -batch -f batch-unrmail RMAIL'.Funrmail 10230Convert Rmail file FILE to system inbox format file TO-FILE.Vreplace-copying-with 10231*If non-nil, replace copying notices with this file.Fupdate-copyright 10232Update the copyright notice at the beginning of the buffer 10233to indicate the current year. If optional arg REPLACE is given 10234(interactively, with prefix arg) replace the years in the notice 10235rather than adding the current year after them. 10236If `replace-copying-with' is set, the copying permissions following the 10237copyright are replaced as well. 10238 10239If optional third argument ASK is non-nil, the user is prompted for whether 10240or not to update the copyright. If optional fourth argument ASK-YEAR is 10241non-nil, the user is prompted for whether or not to replace the year rather 10242than adding to it.Fask-to-update-copyright 10243If the current buffer contains a copyright notice that is out of date, 10244ask the user if it should be updated with `update-copyright' (which see). 10245Put this on write-file-hooks.Fask-user-about-lock 10246Ask user what to do when he wants to edit FILE but it is locked by USER. 10247This function has a choice of three things to do: 10248 do (signal 'buffer-file-locked (list FILE USER)) 10249 to refrain from editing the file 10250 return t (grab the lock on the file) 10251 return nil (edit the file even though it is locked). 10252You can rewrite it to use any criterion you like to choose which one to do.Fask-user-about-supersession-threat 10253Ask a user who is about to modify an obsolete buffer what to do. 10254This function has two choices: it can return, in which case the modification 10255of the buffer will proceed, or it can (signal 'file-supersession (file)), 10256in which case the proposed buffer modification will not be made. 10257 10258You can rewrite this to use any criterion you like to choose which one to do. 10259The buffer in question is current when this function is called.Vvc-checkin-hook 10260*List of functions called after a checkin is done. See `run-hooks'.Fvc-next-action 10261Do the next logical checkin or checkout operation on the current file. 10262 If the file is not already registered, this registers it for version 10263control and then retrieves a writable, locked copy for editing. 10264 If the file is registered and not locked by anyone, this checks out 10265a writable and locked file ready for editing. 10266 If the file is checked out and locked by the calling user, this 10267first checks to see if the file has changed since checkout. If not, 10268it performs a revert. 10269 If the file has been changed, this pops up a buffer for entry 10270of a log message; when the message has been entered, it checks in the 10271resulting changes along with the log message as change commentary. If 10272the variable `vc-keep-workfiles' is non-nil (which is its default), a 10273read-only copy of the changed file is left in place afterwards. 10274 If the file is registered and locked by someone else, you are given 10275the option to steal the lock. 10276 If you call this from within a VC dired buffer with no files marked, 10277it will operate on the file in the current line. 10278 If you call this from within a VC dired buffer, and one or more 10279files are marked, it will accept a log message and then operate on 10280each one. The log message will be used as a comment for any register 10281or checkin operations, but ignored when doing checkouts. Attempted 10282lock steals will raise an error. 10283 10284 For checkin, a prefix argument lets you specify the version number to use.Fvc-register 10285Register the current file into your version-control system.Fvc-diff 10286Display diffs between file versions. 10287Normally this compares the current file and buffer with the most recent 10288checked in version of that file. This uses no arguments. 10289With a prefix argument, it reads the file name to use 10290and two version designators specifying which versions to compare.Fvc-version-other-window 10291Visit version REV of the current buffer in another window. 10292If the current buffer is named `F', the version is named `F.~REV~'. 10293If `F.~REV~' already exists, it is used instead of being re-created.Fvc-insert-headers 10294Insert headers in a file for use with your version-control system. 10295Headers desired are inserted at the start of the buffer, and are pulled from 10296the variable `vc-header-alist'.Fvc-directory 10297Show version-control status of all files under the current directory.Fvc-create-snapshot 10298Make a snapshot called NAME. 10299The snapshot is made from all registered files at or below the current 10300directory. For each file, the version level of its latest 10301version becomes part of the named configuration.Fvc-retrieve-snapshot 10302Retrieve the snapshot called NAME. 10303This function fails if any files are locked at or below the current directory 10304Otherwise, all registered files are checked out (unlocked) at their version 10305levels in the snapshot.Fvc-print-log 10306List the change log of the current buffer in a window.Fvc-revert-buffer 10307Revert the current buffer's file back to the latest checked-in version. 10308This asks for confirmation if the buffer contents are not identical 10309to that version.Fvc-cancel-version 10310Get rid of most recently checked in version of this file. 10311A prefix argument means do not revert the buffer afterwards.Fvc-update-change-log 10312Find change log file and add entries from recent RCS logs. 10313The mark is left at the end of the text prepended to the change log. 10314With prefix arg of C-u, only find log entries for the current buffer's file. 10315With any numeric prefix arg, find log entries for all files currently visited. 10316Otherwise, find log entries for all registered files in the default directory. 10317From a program, any arguments are passed to the `rcs2log' script.Fvi-mode 10318Major mode that acts like the `vi' editor. 10319The purpose of this mode is to provide you the combined power of vi (namely, 10320the "cross product" effect of commands and repeat last changes) and Emacs. 10321 10322This command redefines nearly all keys to look like vi commands. 10323It records the previous major mode, and any vi command for input 10324(`i', `a', `s', etc.) switches back to that mode. 10325Thus, ordinary Emacs (in whatever major mode you had been using) 10326is "input" mode as far as vi is concerned. 10327 10328To get back into vi from "input" mode, you must issue this command again. 10329Therefore, it is recommended that you assign it to a key. 10330 10331Major differences between this mode and real vi : 10332 10333* Limitations and unsupported features 10334 - Search patterns with line offset (e.g. /pat/+3 or /pat/z.) are 10335 not supported. 10336 - Ex commands are not implemented; try ':' to get some hints. 10337 - No line undo (i.e. the 'U' command), but multi-undo is a standard feature. 10338 10339* Modifications 10340 - The stopping positions for some point motion commands (word boundary, 10341 pattern search) are slightly different from standard 'vi'. 10342 Also, no automatic wrap around at end of buffer for pattern searching. 10343 - Since changes are done in two steps (deletion then insertion), you need 10344 to undo twice to completely undo a change command. But this is not needed 10345 for undoing a repeated change command. 10346 - No need to set/unset 'magic', to search for a string with regular expr 10347 in it just put a prefix arg for the search commands. Replace cmds too. 10348 - ^R is bound to incremental backward search, so use ^L to redraw screen. 10349 10350* Extensions 10351 - Some standard (or modified) Emacs commands were integrated, such as 10352 incremental search, query replace, transpose objects, and keyboard macros. 10353 - In command state, ^X links to the 'ctl-x-map', and ESC can be linked to 10354 esc-map or set undefined. These can give you the full power of Emacs. 10355 - See vi-com-map for those keys that are extensions to standard vi, e.g. 10356 `vi-name-last-change-or-macro', `vi-verify-spelling', `vi-locate-def', 10357 `vi-mark-region', and 'vi-quote-words'. Some of them are quite handy. 10358 - Use \[vi-switch-mode] to switch among different modes quickly. 10359 10360Syntax table and abbrevs while in vi mode remain as they were in Emacs.Fview-file 10361View FILE in View mode, returning to previous buffer when done. 10362The usual Emacs commands are not available; instead, 10363a special set of commands (mostly letters and punctuation) 10364are defined for moving around in the buffer. 10365Space scrolls forward, Delete scrolls backward. 10366For list of all View commands, type ? or h while viewing. 10367 10368This command runs the normal hook `view-mode-hook'.Fview-file-other-window 10369View FILE in View mode in other window. 10370Return to previous buffer when done. 10371The usual Emacs commands are not available; instead, 10372a special set of commands (mostly letters and punctuation) 10373are defined for moving around in the buffer. 10374Space scrolls forward, Delete scrolls backward. 10375For list of all View commands, type ? or h while viewing. 10376 10377This command runs the normal hook `view-mode-hook'.Fview-buffer 10378View BUFFER in View mode, returning to previous buffer when done. 10379The usual Emacs commands are not available; instead, 10380a special set of commands (mostly letters and punctuation) 10381are defined for moving around in the buffer. 10382Space scrolls forward, Delete scrolls backward. 10383For list of all View commands, type ? or h while viewing. 10384 10385This command runs the normal hook `view-mode-hook'.Fview-buffer-other-window 10386View BUFFER in View mode in another window, 10387returning to original buffer when done *only* if 10388prefix argument NOT-RETURN is nil (which is the default). 10389 10390The usual Emacs commands are not available in View mode; instead, 10391a special set of commands (mostly letters and punctuation) 10392are defined for moving around in the buffer. 10393Space scrolls forward, Delete scrolls backward. 10394For list of all View commands, type ? or h while viewing. 10395 10396This command runs the normal hook `view-mode-hook'.Fview-mode 10397Major mode for viewing text but not editing it. 10398Letters do not insert themselves. Instead these commands are provided. 10399Most commands take prefix arguments. Commands dealing with lines 10400default to "scroll size" lines (initially size of window). 10401Search commands default to a repeat count of one. 10402M-< or < move to beginning of buffer. 10403M-> or > move to end of buffer. 10404C-v or Space scroll forward lines. 10405M-v or DEL scroll backward lines. 10406CR or LF scroll forward one line (backward with prefix argument). 10407z like Space except set number of lines for further 10408 scrolling commands to scroll by. 10409C-u and Digits provide prefix arguments. `-' denotes negative argument. 10410= prints the current line number. 10411g goes to line given by prefix argument. 10412/ or M-C-s searches forward for regular expression 10413\ or M-C-r searches backward for regular expression. 10414n searches forward for last regular expression. 10415p searches backward for last regular expression. 10416C-@ or . set the mark. 10417x exchanges point and mark. 10418C-s or s do forward incremental search. 10419C-r or r do reverse incremental search. 10420@ or ' return to mark and pops mark ring. 10421 Mark ring is pushed at start of every 10422 successful search and when jump to line to occurs. 10423 The mark is set on jump to buffer start or end. 10424? or h provide help message (list of commands). 10425\[Helper-help] provides help (list of commands or description of a command). 10426C-n moves down lines vertically. 10427C-p moves upward lines vertically. 10428C-l recenters the screen. 10429q or C-c exit view-mode and return to previous buffer. 10430 10431Entry to this mode runs the normal hook `view-mode-hook'. 10432 10433\{view-mode-map}Fvip-mode 10434Turn on VIP emulation of VI.Fwordstar-mode 10435Major mode with WordStar-like key bindings. 10436 10437BUGS: 10438 - Help menus with WordStar commands (C-j just calls help-for-help) 10439 are not implemented 10440 - Options for search and replace 10441 - Show markers (C-k h) is somewhat strange 10442 - Search and replace (C-q a) is only available in forward direction 10443 10444No key bindings beginning with ESC are installed, they will work 10445Emacs-like. 10446 10447The key bindings are: 10448 10449 C-a backward-word 10450 C-b fill-paragraph 10451 C-c scroll-up-line 10452 C-d forward-char 10453 C-e previous-line 10454 C-f forward-word 10455 C-g delete-char 10456 C-h backward-char 10457 C-i indent-for-tab-command 10458 C-j help-for-help 10459 C-k ordstar-C-k-map 10460 C-l ws-repeat-search 10461 C-n open-line 10462 C-p quoted-insert 10463 C-r scroll-down-line 10464 C-s backward-char 10465 C-t kill-word 10466 C-u keyboard-quit 10467 C-v overwrite-mode 10468 C-w scroll-down 10469 C-x next-line 10470 C-y kill-complete-line 10471 C-z scroll-up 10472 10473 C-k 0 ws-set-marker-0 10474 C-k 1 ws-set-marker-1 10475 C-k 2 ws-set-marker-2 10476 C-k 3 ws-set-marker-3 10477 C-k 4 ws-set-marker-4 10478 C-k 5 ws-set-marker-5 10479 C-k 6 ws-set-marker-6 10480 C-k 7 ws-set-marker-7 10481 C-k 8 ws-set-marker-8 10482 C-k 9 ws-set-marker-9 10483 C-k b ws-begin-block 10484 C-k c ws-copy-block 10485 C-k d save-buffers-kill-emacs 10486 C-k f find-file 10487 C-k h ws-show-markers 10488 C-k i ws-indent-block 10489 C-k k ws-end-block 10490 C-k p ws-print-block 10491 C-k q kill-emacs 10492 C-k r insert-file 10493 C-k s save-some-buffers 10494 C-k t ws-mark-word 10495 C-k u ws-exdent-block 10496 C-k C-u keyboard-quit 10497 C-k v ws-move-block 10498 C-k w ws-write-block 10499 C-k x kill-emacs 10500 C-k y ws-delete-block 10501 10502 C-o c center-line 10503 C-o b switch-to-buffer 10504 C-o j justify-current-line 10505 C-o k kill-buffer 10506 C-o l list-buffers 10507 C-o m auto-fill-mode 10508 C-o r set-fill-column 10509 C-o C-u keyboard-quit 10510 C-o wd delete-other-windows 10511 C-o wh split-window-horizontally 10512 C-o wo other-window 10513 C-o wv split-window-vertically 10514 10515 C-q 0 ws-find-marker-0 10516 C-q 1 ws-find-marker-1 10517 C-q 2 ws-find-marker-2 10518 C-q 3 ws-find-marker-3 10519 C-q 4 ws-find-marker-4 10520 C-q 5 ws-find-marker-5 10521 C-q 6 ws-find-marker-6 10522 C-q 7 ws-find-marker-7 10523 C-q 8 ws-find-marker-8 10524 C-q 9 ws-find-marker-9 10525 C-q a ws-query-replace 10526 C-q b ws-to-block-begin 10527 C-q c end-of-buffer 10528 C-q d end-of-line 10529 C-q f ws-search 10530 C-q k ws-to-block-end 10531 C-q l ws-undo 10532 C-q p ws-last-cursorp 10533 C-q r beginning-of-buffer 10534 C-q C-u keyboard-quit 10535 C-q w ws-last-error 10536 C-q y ws-kill-eol 10537 C-q DEL ws-kill-bol 10538Frun-scheme 10539Run an inferior Scheme process. 10540Output goes to the buffer `*scheme*'. 10541With argument, asks for a command line.Fyow 10542Return or display a random Zippy quotation. With prefix arg, insert it.Finsert-zippyism 10543Prompt with completion for a known Zippy quotation, and insert it at point.Fpsychoanalyze-pinhead 10544Zippy goes to the analyst.Fmap-y-or-n-p 10545Ask a series of boolean questions. 10546Takes args PROMPTER ACTOR LIST, and optional args HELP and ACTION-ALIST. 10547 10548LIST is a list of objects, or a function of no arguments to return the next 10549object or nil. 10550 10551If PROMPTER is a string, the prompt is (format PROMPTER OBJECT). If not 10552a string, PROMPTER is a function of one arg (an object from LIST), which 10553returns a string to be used as the prompt for that object. If the return 10554value is not a string, it is eval'd to get the answer; it may be nil to 10555ignore the object, t to act on the object without asking the user, or a 10556form to do a more complex prompt. 10557 10558ACTOR is a function of one arg (an object from LIST), 10559which gets called with each object that the user answers `yes' for. 10560 10561If HELP is given, it is a list (OBJECT OBJECTS ACTION), 10562where OBJECT is a string giving the singular noun for an elt of LIST; 10563OBJECTS is the plural noun for elts of LIST, and ACTION is a transitive 10564verb describing ACTOR. The default is ("object" "objects" "act on"). 10565 10566At the prompts, the user may enter y, Y, or SPC to act on that object; 10567n, N, or DEL to skip that object; ! to act on all following objects; 10568ESC or q to exit (skip all following objects); . (period) to act on the 10569current object and then exit; or \[help-command] to get help. 10570 10571If ACTION-ALIST is given, it is an alist (KEY FUNCTION HELP) of extra keys 10572that will be accepted. KEY is a character; FUNCTION is a function of one 10573arg (an object from LIST); HELP is a string. When the user hits KEY, 10574FUNCTION is called. If it returns non-nil, the object is considered 10575"acted upon", and the next object from LIST is processed. If it returns 10576nil, the prompt is repeated for the same object. 10577 10578Final optional argument NO-CURSOR-IN-ECHO-AREA non-nil says not to set 10579`cursor-in-echo-area' while prompting. 10580 10581This function uses `query-replace-map' to define the standard responses, 10582but not all of the responses which `query-replace' understands 10583are meaningful here. 10584 10585Returns the number of actions taken.Fforward-page 10586Move forward to page boundary. With arg, repeat, or go back if negative. 10587A page boundary is any line whose beginning matches the regexp 10588`page-delimiter'.Fbackward-page 10589Move backward to page boundary. With arg, repeat, or go fwd if negative. 10590A page boundary is any line whose beginning matches the regexp 10591`page-delimiter'.Fmark-page 10592Put mark at end of page, point at beginning. 10593A numeric arg specifies to move forward or backward by that many pages, 10594thus marking a page other than the one point was originally in.Fnarrow-to-page 10595Make text outside current page invisible. 10596A numeric arg specifies to move forward or backward by that many pages, 10597thus showing a page other than the one point was originally in.Fcount-lines-page 10598Report number of lines on current page, and how many are before or after point.Fwhat-page 10599Print page and line number of point.Vparagraph-start 10600*Regexp for beginning of a line that starts OR separates paragraphs. 10601This regexp should match lines that separate paragraphs 10602and should also match lines that start a paragraph 10603(and are part of that paragraph). 10604The variable `paragraph-separate' specifies how to distinguish 10605lines that start paragraphs from lines that separate them.Vparagraph-separate 10606*Regexp for beginning of a line that separates paragraphs. 10607If you change this, you may have to change paragraph-start also.Vsentence-end 10608*Regexp describing the end of a sentence. 10609All paragraph boundaries also end sentences, regardless. 10610 10611In order to be recognized as the end of a sentence, the ending period, 10612question mark, or exclamation point must be followed by two spaces, 10613unless it's inside some sort of quotes or parenthesis.Vpage-delimiter 10614*Regexp describing line-beginnings that separate pages.Vparagraph-ignore-fill-prefix 10615Non-nil means the paragraph commands are not affected by `fill-prefix'. 10616This is desirable in modes where blank lines are the paragraph delimiters.Fforward-paragraph 10617Move forward to end of paragraph. 10618With arg N, do it N times; negative arg -N means move backward N paragraphs. 10619 10620A line which `paragraph-start' matches either separates paragraphs 10621(if `paragraph-separate' matches it also) or is the first line of a paragraph. 10622A paragraph end is the beginning of a line which is not part of the paragraph 10623to which the end of the previous line belongs, or the end of the buffer.Fbackward-paragraph 10624Move backward to start of paragraph. 10625With arg N, do it N times; negative arg -N means move forward N paragraphs. 10626 10627A paragraph start is the beginning of a line which is a 10628`first-line-of-paragraph' or which is ordinary text and follows a 10629paragraph-separating line; except: if the first real line of a 10630paragraph is preceded by a blank line, the paragraph starts at that 10631blank line. 10632 10633See `forward-paragraph' for more information.Fmark-paragraph 10634Put point at beginning of this paragraph, mark at end. 10635The paragraph marked is the one that contains point or follows point.Fkill-paragraph 10636Kill forward to end of paragraph. 10637With arg N, kill forward to Nth end of paragraph; 10638negative arg -N means kill backward to Nth start of paragraph.Fbackward-kill-paragraph 10639Kill back to start of paragraph. 10640With arg N, kill back to Nth start of paragraph; 10641negative arg -N means kill forward to Nth end of paragraph.Ftranspose-paragraphs 10642Interchange this (or next) paragraph with previous one.Fforward-sentence 10643Move forward to next `sentence-end'. With argument, repeat. 10644With negative argument, move backward repeatedly to `sentence-beginning'. 10645 10646The variable `sentence-end' is a regular expression that matches ends of 10647sentences. Also, every paragraph boundary terminates sentences as well.Fbackward-sentence 10648Move backward to start of sentence. With arg, do it arg times. 10649See `forward-sentence' for more information.Fkill-sentence 10650Kill from point to end of sentence. 10651With arg, repeat; negative arg -N means kill back to Nth start of sentence.Fbackward-kill-sentence 10652Kill back from point to start of sentence. 10653With arg, repeat, or kill forward to Nth end of sentence if negative arg -N.Fmark-end-of-sentence 10654Put mark at end of sentence. Arg works as in `forward-sentence'.Ftranspose-sentences 10655Interchange this (next) and previous sentence.Vregister-alist 10656Alist of elements (NAME . CONTENTS), one for each Emacs register. 10657NAME is a character (a number). CONTENTS is a string, number, 10658frame configuration, mark or list. 10659A list of strings represents a rectangle. 10660A list of the form (file . NAME) represents the file named NAME.Fget-register 10661Return contents of Emacs register named CHAR, or nil if none.Fset-register 10662Set contents of Emacs register named CHAR to VALUE. Returns VALUE. 10663See the documentation of the variable `register-alist' for possible VALUE.Fpoint-to-register 10664Store current location of point in register REGISTER. 10665With prefix argument, store current frame configuration. 10666Use \[jump-to-register] to go to that location or restore that configuration. 10667Argument is a character, naming the register.Fwindow-configuration-to-register 10668Store the window configuration of the selected frame in register REGISTER. 10669Use \[jump-to-register] to restore the configuration. 10670Argument is a character, naming the register.Fframe-configuration-to-register 10671Store the window configuration of all frames in register REGISTER. 10672Use \[jump-to-register] to restore the configuration. 10673Argument is a character, naming the register.Fjump-to-register 10674Move point to location stored in a register. 10675If the register contains a file name, find that file. 10676 (To put a file name in a register, you must use `set-register'.) 10677If the register contains a window configuration (one frame) or a frame 10678configuration (all frames), restore that frame or all frames accordingly. 10679First argument is a character, naming the register. 10680Optional second arg non-nil (interactively, prefix argument) says to 10681delete any existing frames that the frame configuration doesn't mention. 10682(Otherwise, these frames are iconified.)Fview-register 10683Display what is contained in register named REGISTER. 10684REGISTER is a character.Finsert-register 10685Insert contents of register REG. REG is a character. 10686Normally puts point before and mark after the inserted text. 10687If optional second arg is non-nil, puts mark before and point after. 10688Interactively, second arg is non-nil if prefix arg is supplied.Fcopy-to-register 10689Copy region into register REG. With prefix arg, delete as well. 10690Called from program, takes four args: REG, START, END and DELETE-FLAG. 10691START and END are buffer positions indicating what to copy.Fappend-to-register 10692Append region to text in register REG. With prefix arg, delete as well. 10693Called from program, takes four args: REG, START, END and DELETE-FLAG. 10694START and END are buffer positions indicating what to append.Fprepend-to-register 10695Prepend region to text in register REG. With prefix arg, delete as well. 10696Called from program, takes four args: REG, START, END and DELETE-FLAG. 10697START and END are buffer positions indicating what to prepend.Fcopy-rectangle-to-register 10698Copy rectangular region into register REG. With prefix arg, delete as well. 10699Called from program, takes four args: REG, START, END and DELETE-FLAG. 10700START and END are buffer positions giving two corners of rectangle.Vcase-replace 10701*Non-nil means query-replace should preserve case in replacements.Fquery-replace 10702Replace some occurrences of FROM-STRING with TO-STRING. 10703As each match is found, the user must type a character saying 10704what to do with it. For directions, type \[help-command] at that time. 10705 10706Preserves case in each replacement if `case-replace' and `case-fold-search' 10707are non-nil and FROM-STRING has no uppercase letters. 10708Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace 10709only matches surrounded by word boundaries. 10710 10711To customize possible responses, change the "bindings" in `query-replace-map'.Fquery-replace-regexp 10712Replace some things after point matching REGEXP with TO-STRING. 10713As each match is found, the user must type a character saying 10714what to do with it. For directions, type \[help-command] at that time. 10715 10716Preserves case in each replacement if `case-replace' and `case-fold-search' 10717are non-nil and REGEXP has no uppercase letters. 10718Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace 10719only matches surrounded by word boundaries. 10720In TO-STRING, `\&' stands for whatever matched the whole of REGEXP, 10721and `\=\N' (where N is a digit) stands for 10722 whatever what matched the Nth `\(...\)' in REGEXP.Fmap-query-replace-regexp 10723Replace some matches for REGEXP with various strings, in rotation. 10724The second argument TO-STRINGS contains the replacement strings, separated 10725by spaces. This command works like `query-replace-regexp' except 10726that each successive replacement uses the next successive replacement string, 10727wrapping around from the last such string to the first. 10728 10729Non-interactively, TO-STRINGS may be a list of replacement strings. 10730 10731A prefix argument N says to use each replacement string N times 10732before rotating to the next.Freplace-string 10733Replace occurrences of FROM-STRING with TO-STRING. 10734Preserve case in each match if `case-replace' and `case-fold-search' 10735are non-nil and FROM-STRING has no uppercase letters. 10736Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace 10737only matches surrounded by word boundaries. 10738 10739This function is usually the wrong thing to use in a Lisp program. 10740What you probably want is a loop like this: 10741 (while (search-forward FROM-STRING nil t) 10742 (replace-match TO-STRING nil t)) 10743which will run faster and will not set the mark or print anything.Freplace-regexp 10744Replace things after point matching REGEXP with TO-STRING. 10745Preserve case in each match if `case-replace' and `case-fold-search' 10746are non-nil and REGEXP has no uppercase letters. 10747Third arg DELIMITED (prefix arg if interactive), if non-nil, means replace 10748only matches surrounded by word boundaries. 10749In TO-STRING, `\&' stands for whatever matched the whole of REGEXP, 10750and `\=\N' (where N is a digit) stands for 10751 whatever what matched the Nth `\(...\)' in REGEXP. 10752 10753This function is usually the wrong thing to use in a Lisp program. 10754What you probably want is a loop like this: 10755 (while (re-search-forward REGEXP nil t) 10756 (replace-match TO-STRING nil nil)) 10757which will run faster and will not set the mark or print anything.Vregexp-history 10758History list for some commands that read regular expressions.Fkeep-lines 10759Delete all lines except those containing matches for REGEXP. 10760A match split across lines preserves all the lines it lies in. 10761Applies to all lines after point.Fflush-lines 10762Delete lines containing matches for REGEXP. 10763If a match is split across lines, all the lines it lies in are deleted. 10764Applies to lines after point.Fhow-many 10765Print number of matches for REGEXP following point.Foccur-mode 10766Major mode for output from \[occur]. 10767Move point to one of the occurrences in this buffer, 10768then use \[occur-mode-goto-occurrence] to go to the same occurrence 10769in the buffer that the occurrences were found in. 10770Or click \<occur-mode-map>\[occur-mode-mouse-goto] on an occurrence line. 10771\{occur-mode-map}Foccur-mode-mouse-goto 10772In Occur mode, go to the occurrence whose line you click on.Foccur-mode-goto-occurrence 10773Go to the occurrence the current line describes.Vlist-matching-lines-default-context-lines 10774*Default number of context lines to include around a `list-matching-lines' 10775match. A negative number means to include that many lines before the match. 10776A positive number means to include that many lines both before and after.Foccur 10777Show all lines in the current buffer containing a match for REGEXP. 10778 10779If a match spreads across multiple lines, all those lines are shown. 10780 10781Each line is displayed with NLINES lines before and after, or -NLINES 10782before if NLINES is negative. 10783NLINES defaults to `list-matching-lines-default-context-lines'. 10784Interactively it is the prefix arg. 10785 10786The lines are shown in a buffer named `*Occur*'. 10787It serves as a menu to find any of the occurrences in this buffer. 10788\[describe-mode] in that buffer will explain how.Vquery-replace-help 10789Help message while in query-replaceVquery-replace-map 10790Keymap that defines the responses to questions in `query-replace'. 10791The "bindings" in this map are not commands; they are answers. 10792The valid answers include `act', `skip', `act-and-show', 10793`exit', `act-and-exit', `edit', `delete-and-edit', `recenter', 10794`automatic', `backup', and `help'.Fperform-replace 10795Subroutine of `query-replace'. Its complexity handles interactive queries. 10796Don't use this in your own program unless you want to query and set the mark 10797just as `query-replace' does. Instead, write a simple loop like this: 10798 (while (re-search-forward "foo[ ]+bar" nil t) 10799 (replace-match "foobar" nil nil)) 10800which will run faster and probably do exactly what you want.Vquery-replace-highlight 10801*Non-nil means to highlight words during query replacement.Fopen-line 10802Insert a newline and leave point before it. 10803If there is a fill prefix, insert the fill prefix on the new line 10804if the line would have been empty. 10805With arg N, insert N newlines.Fsplit-line 10806Split current line, moving portion beyond point vertically down.Fquoted-insert 10807Read next input character and insert it. 10808This is useful for inserting control characters. 10809You may also type up to 3 octal digits, to insert a character with that code. 10810 10811In overwrite mode, this function inserts the character anyway, and 10812does not handle octal digits specially. This means that if you use 10813overwrite as your normal editing mode, you can use this function to 10814insert characters when necessary. 10815 10816In binary overwrite mode, this function does overwrite, and octal 10817digits are interpreted as a character code. This is supposed to make 10818this function useful in editing binary files.Fdelete-indentation 10819Join this line to previous and fix up whitespace at join. 10820If there is a fill prefix, delete it from the beginning of this line. 10821With argument, join this line to following line.Ffixup-whitespace 10822Fixup white space between objects around point. 10823Leave one space or none, according to the context.Fdelete-horizontal-space 10824Delete all spaces and tabs around point.Fjust-one-space 10825Delete all spaces and tabs around point, leaving one space.Fdelete-blank-lines 10826On blank line, delete all surrounding blank lines, leaving just one. 10827On isolated blank line, delete that one. 10828On nonblank line, delete all blank lines that follow it.Fback-to-indentation 10829Move point to the first non-whitespace character on this line.Fnewline-and-indent 10830Insert a newline, then indent according to major mode. 10831Indentation is done using the value of `indent-line-function'. 10832In programming language modes, this is the same as TAB. 10833In some text modes, where TAB inserts a tab, this command indents to the 10834column specified by the variable `left-margin'.Freindent-then-newline-and-indent 10835Reindent current line, insert newline, then indent the new line. 10836Indentation of both lines is done according to the current major mode, 10837which means calling the current value of `indent-line-function'. 10838In programming language modes, this is the same as TAB. 10839In some text modes, where TAB inserts a tab, this indents to the 10840column specified by the variable `left-margin'.Fbackward-delete-char-untabify 10841Delete characters backward, changing tabs into spaces. 10842Delete ARG chars, and kill (save in kill ring) if KILLP is non-nil. 10843Interactively, ARG is the prefix arg (default 1) 10844and KILLP is t if prefix arg is was specified.Fzap-to-char 10845Kill up to and including ARG'th occurrence of CHAR. 10846Goes backward if ARG is negative; error if CHAR not found.Fbeginning-of-buffer 10847Move point to the beginning of the buffer; leave mark at previous position. 10848With arg N, put point N/10 of the way from the true beginning. 10849 10850Don't use this command in Lisp programs! 10851(goto-char (point-min)) is faster and avoids clobbering the mark.Fend-of-buffer 10852Move point to the end of the buffer; leave mark at previous position. 10853With arg N, put point N/10 of the way from the true end. 10854 10855Don't use this command in Lisp programs! 10856(goto-char (point-max)) is faster and avoids clobbering the mark.Fmark-whole-buffer 10857Put point at beginning and mark at end of buffer. 10858You probably should not use this function in Lisp programs; 10859it is usually a mistake for a Lisp function to use any subroutine 10860that uses or sets the mark.Fcount-lines-region 10861Print number of lines and characters in the region.Fwhat-line 10862Print the current line number (in the buffer) of point.Fcount-lines 10863Return number of lines between START and END. 10864This is usually the number of newlines between them, 10865but can be one more if START is not equal to END 10866and the greater of them is not at the start of a line.Fwhat-cursor-position 10867Print info on cursor position (on screen and within buffer).Ffundamental-mode 10868Major mode not specialized for anything in particular. 10869Other major modes are defined by comparison with this one.Vread-expression-map 10870Minibuffer keymap used for reading Lisp expressions.Feval-expression 10871Evaluate EXPRESSION and print value in minibuffer. 10872Value is also consed on to front of the variable `values'.Fedit-and-eval-command 10873Prompting with PROMPT, let user edit COMMAND and eval result. 10874COMMAND is a Lisp expression. Let user edit that expression in 10875the minibuffer, then read and evaluate the result.Frepeat-complex-command 10876Edit and re-evaluate last complex command, or ARGth from last. 10877A complex command is one which used the minibuffer. 10878The command is placed in the minibuffer as a Lisp form for editing. 10879The result is executed, repeating the command as changed. 10880If the command has been changed or is not the most recent previous command 10881it is added to the front of the command history. 10882You can use the minibuffer history commands \<minibuffer-local-map>\[next-history-element] and \[previous-history-element] 10883to get different commands to edit and resubmit.Vminibuffer-history 10884Default minibuffer history list. 10885This is used for all minibuffer input 10886except when an alternate history list is specified.Vminibuffer-history-sexp-flag 10887Non-nil when doing history operations on `command-history'. 10888More generally, indicates that the history list being acted on 10889contains expressions rather than strings.Fprevious-matching-history-element 10890Find the previous history element that matches REGEXP. 10891(Previous history elements refer to earlier actions.) 10892With prefix argument N, search for Nth previous match. 10893If N is negative, find the next or Nth next match.Fnext-matching-history-element 10894Find the next history element that matches REGEXP. 10895(The next history element refers to a more recent action.) 10896With prefix argument N, search for Nth next match. 10897If N is negative, find the previous or Nth previous match.Fnext-history-element 10898Insert the next element of the minibuffer history into the minibuffer.Fprevious-history-element 10899Inserts the previous element of the minibuffer history into the minibuffer.Fnext-complete-history-element 10900Get next element of history which is a completion of minibuffer contents.Fprevious-complete-history-element 10901Get previous element of history which is a completion of minibuffer contents.Fgoto-line 10902Goto line ARG, counting from line 1 at beginning of buffer.Fundo 10903Undo some previous changes. 10904Repeat this command to undo more changes. 10905A numeric argument serves as a repeat count.Vpending-undo-list 10906Within a run of consecutive undo commands, list remaining to be undone.Fundo-start 10907Set `pending-undo-list' to the front of the undo list. 10908The next call to `undo-more' will undo the most recently made change.Fundo-more 10909Undo back N undo-boundaries beyond what was already undone recently. 10910Call `undo-start' to get ready to undo recent changes, 10911then call `undo-more' one or more times to undo them.Vshell-command-history 10912History list for some commands that read shell commands.Fshell-command 10913Execute string COMMAND in inferior shell; display output, if any. 10914If COMMAND ends in ampersand, execute it asynchronously. 10915 10916Optional second arg non-nil (prefix arg, if interactive) 10917means insert output in current buffer after point (leave mark after it). 10918This cannot be done asynchronously.Fshell-command-on-region 10919Execute string COMMAND in inferior shell with region as input. 10920Normally display output (if any) in temp buffer `*Shell Command Output*'; 10921Prefix arg means replace the region with it. 10922Noninteractive args are START, END, COMMAND, FLAG. 10923Noninteractively FLAG means insert output in place of text from START to END, 10924and put point at the end, but don't alter the mark. 10925 10926If the output is one line, it is displayed in the echo area, 10927but it is nonetheless available in buffer `*Shell Command Output*' 10928even though that buffer is not automatically displayed. If there is no output 10929or output is inserted in the current buffer then `*Shell Command Output*' is 10930deleted.Funiversal-argument 10931Begin a numeric argument for the following command. 10932Digits or minus sign following \[universal-argument] make up the numeric argument. 10933\[universal-argument] following the digits or minus sign ends the argument. 10934\[universal-argument] without digits or minus sign provides 4 as argument. 10935Repeating \[universal-argument] without digits or minus sign 10936 multiplies the argument by 4 each time.Fdigit-argument 10937Part of the numeric argument for the next command. 10938\[universal-argument] following digits or minus sign ends the argument.Fnegative-argument 10939Begin a negative numeric argument for the next command. 10940\[universal-argument] following digits or minus sign ends the argument.Fforward-to-indentation 10941Move forward ARG lines and position at first nonblank character.Fbackward-to-indentation 10942Move backward ARG lines and position at first nonblank character.Vkill-whole-line 10943*If non-nil, `kill-line' with no arg at beg of line kills the whole line.Fkill-line 10944Kill the rest of the current line; if no nonblanks there, kill thru newline. 10945With prefix argument, kill that many lines from point. 10946Negative arguments kill lines backward. 10947 10948When calling from a program, nil means "no arg", 10949a number counts as a prefix arg. 10950 10951If `kill-whole-line' is non-nil, then kill the whole line 10952when given no argument at the beginning of a line.Vinterprogram-cut-function 10953Function to call to make a killed region available to other programs. 10954 10955Most window systems provide some sort of facility for cutting and 10956pasting text between the windows of different programs. 10957This variable holds a function that Emacs calls whenever text 10958is put in the kill ring, to make the new kill available to other 10959programs. 10960 10961The function takes one or two arguments. 10962The first argument, TEXT, is a string containing 10963the text which should be made available. 10964The second, PUSH, if non-nil means this is a "new" kill; 10965nil means appending to an "old" kill.Vinterprogram-paste-function 10966Function to call to get text cut from other programs. 10967 10968Most window systems provide some sort of facility for cutting and 10969pasting text between the windows of different programs. 10970This variable holds a function that Emacs calls to obtain 10971text that other programs have provided for pasting. 10972 10973The function should be called with no arguments. If the function 10974returns nil, then no other program has provided such text, and the top 10975of the Emacs kill ring should be used. If the function returns a 10976string, that string should be put in the kill ring as the latest kill. 10977 10978Note that the function should return a string only if a program other 10979than Emacs has provided a string for pasting; if Emacs provided the 10980most recent string, the function should return nil. If it is 10981difficult to tell whether Emacs or some other program provided the 10982current string, it is probably good enough to return nil if the string 10983is equal (according to `string=') to the last text Emacs provided.Vkill-ring 10984List of killed text sequences. 10985Since the kill ring is supposed to interact nicely with cut-and-paste 10986facilities offered by window systems, use of this variable should 10987interact nicely with `interprogram-cut-function' and 10988`interprogram-paste-function'. The functions `kill-new', 10989`kill-append', and `current-kill' are supposed to implement this 10990interaction; you may want to use them instead of manipulating the kill 10991ring directly.Vkill-ring-max 10992*Maximum length of kill ring before oldest elements are thrown away.Vkill-ring-yank-pointer 10993The tail of the kill ring whose car is the last thing yanked.Fkill-new 10994Make STRING the latest kill in the kill ring. 10995Set the kill-ring-yank pointer to point to it. 10996If `interprogram-cut-function' is non-nil, apply it to STRING.Fkill-append 10997Append STRING to the end of the latest kill in the kill ring. 10998If BEFORE-P is non-nil, prepend STRING to the kill. 10999If `interprogram-cut-function' is set, pass the resulting kill to 11000it.Fcurrent-kill 11001Rotate the yanking point by N places, and then return that kill. 11002If N is zero, `interprogram-paste-function' is set, and calling it 11003returns a string, then that string is added to the front of the 11004kill ring and returned as the latest kill. 11005If optional arg DO-NOT-MOVE is non-nil, then don't actually move the 11006yanking point; just return the Nth kill forward.Vkill-read-only-ok 11007*Non-nil means don't signal an error for killing read-only text.Fkill-region 11008Kill between point and mark. 11009The text is deleted but saved in the kill ring. 11010The command \[yank] can retrieve it from there. 11011(If you want to kill and then yank immediately, use \[copy-region-as-kill].) 11012If the buffer is read-only, Emacs will beep and refrain from deleting 11013the text, but put the text in the kill ring anyway. This means that 11014you can use the killing commands to copy text from a read-only buffer. 11015 11016This is the primitive for programs to kill text (as opposed to deleting it). 11017Supply two arguments, character numbers indicating the stretch of text 11018 to be killed. 11019Any command that calls this function is a "kill command". 11020If the previous command was also a kill command, 11021the text killed this time appends to the text killed last time 11022to make one entry in the kill ring.Fcopy-region-as-kill 11023Save the region as if killed, but don't kill it. 11024If `interprogram-cut-function' is non-nil, also save the text for a window 11025system cut and paste.Fkill-ring-save 11026Save the region as if killed, but don't kill it. 11027This command is similar to `copy-region-as-kill', except that it gives 11028visual feedback indicating the extent of the region being copied. 11029If `interprogram-cut-function' is non-nil, also save the text for a window 11030system cut and paste.Fappend-next-kill 11031Cause following command, if it kills, to append to previous kill.Fyank-pop 11032Replace just-yanked stretch of killed text with a different stretch. 11033This command is allowed only immediately after a `yank' or a `yank-pop'. 11034At such a time, the region contains a stretch of reinserted 11035previously-killed text. `yank-pop' deletes that text and inserts in its 11036place a different stretch of killed text. 11037 11038With no argument, the previous kill is inserted. 11039With argument N, insert the Nth previous kill. 11040If N is negative, this is a more recent kill. 11041 11042The sequence of kills wraps around, so that after the oldest one 11043comes the newest one.Fyank 11044Reinsert the last stretch of killed text. 11045More precisely, reinsert the stretch of killed text most recently 11046killed OR yanked. Put point at end, and set mark at beginning. 11047With just C-u as argument, same but put point at beginning (and mark at end). 11048With argument N, reinsert the Nth most recently killed stretch of killed 11049text. 11050See also the command \[yank-pop].Frotate-yank-pointer 11051Rotate the yanking point in the kill ring. 11052With argument, rotate that many kills forward (or backward, if negative).Finsert-buffer 11053Insert after point the contents of BUFFER. 11054Puts mark after the inserted text. 11055BUFFER may be a buffer or a buffer name.Fappend-to-buffer 11056Append to specified buffer the text of the region. 11057It is inserted into that buffer before its point. 11058 11059When calling from a program, give three arguments: 11060BUFFER (or buffer name), START and END. 11061START and END specify the portion of the current buffer to be copied.Fprepend-to-buffer 11062Prepend to specified buffer the text of the region. 11063It is inserted into that buffer after its point. 11064 11065When calling from a program, give three arguments: 11066BUFFER (or buffer name), START and END. 11067START and END specify the portion of the current buffer to be copied.Fcopy-to-buffer 11068Copy to specified buffer the text of the region. 11069It is inserted into that buffer, replacing existing text there. 11070 11071When calling from a program, give three arguments: 11072BUFFER (or buffer name), START and END. 11073START and END specify the portion of the current buffer to be copied.Vmark-even-if-inactive 11074*Non-nil means you can use the mark even when inactive. 11075This option makes a difference in Transient Mark mode. 11076When the option is non-nil, deactivation of the mark 11077turns off region highlighting, but commands that use the mark 11078behave as if the mark were still active.Fmark 11079Return this buffer's mark value as integer; error if mark inactive. 11080If optional argument FORCE is non-nil, access the mark value 11081even if the mark is not currently active, and return nil 11082if there is no mark at all. 11083 11084If you are using this in an editing command, you are most likely making 11085a mistake; see the documentation of `set-mark'.Fdeactivate-mark 11086Deactivate the mark by setting `mark-active' to nil. 11087(That makes a difference only in Transient Mark mode.) 11088Also runs the hook `deactivate-mark-hook'.Fset-mark 11089Set this buffer's mark to POS. Don't use this function! 11090That is to say, don't use this function unless you want 11091the user to see that the mark has moved, and you want the previous 11092mark position to be lost. 11093 11094Normally, when a new mark is set, the old one should go on the stack. 11095This is why most applications should use push-mark, not set-mark. 11096 11097Novice Emacs Lisp programmers often try to use the mark for the wrong 11098purposes. The mark saves a location for the user's convenience. 11099Most editing commands should not alter the mark. 11100To remember a location for internal use in the Lisp program, 11101store it in a Lisp variable. Example: 11102 11103 (let ((beg (point))) (forward-line 1) (delete-region beg (point))).Vmark-ring 11104The list of saved former marks of the current buffer, 11105most recent first.Vmark-ring-max 11106*Maximum size of mark ring. Start discarding off end if gets this big.Vglobal-mark-ring 11107The list of saved global marks, most recent first.Vglobal-mark-ring-max 11108*Maximum size of global mark ring. Start discarding off end if gets this big.Fset-mark-command 11109Set mark at where point is, or jump to mark. 11110With no prefix argument, set mark, push old mark position on local mark 11111ring, and push mark on global mark ring. 11112With argument, jump to mark, and pop a new position for mark off the ring 11113(does not affect global mark ring). 11114 11115Novice Emacs Lisp programmers often try to use the mark for the wrong 11116purposes. See the documentation of `set-mark' for more information.Fpush-mark 11117Set mark at LOCATION (point, by default) and push old mark on mark ring. 11118If the last global mark pushed was not in the current buffer, 11119also push LOCATION on the global mark ring. 11120Display `Mark set' unless the optional second arg NOMSG is non-nil. 11121In Transient Mark mode, activate mark if optional third arg ACTIVATE non-nil. 11122 11123Novice Emacs Lisp programmers often try to use the mark for the wrong 11124purposes. See the documentation of `set-mark' for more information. 11125 11126In Transient Mark mode, this does not activate the mark.Fpop-mark 11127Pop off mark ring into the buffer's actual mark. 11128Does not set point. Does nothing if mark ring is empty.Fexchange-point-and-mark 11129Put the mark where point is now, and point where the mark is now. 11130This command works even when the mark is not active, 11131and it reactivates the mark.Ftransient-mark-mode 11132Toggle Transient Mark mode. 11133With arg, turn Transient Mark mode on if arg is positive, off otherwise. 11134 11135In Transient Mark mode, when the mark is active, the region is highlighted. 11136Changing the buffer "deactivates" the mark. 11137So do certain other operations that set the mark 11138but whose main purpose is something else--for example, 11139incremental search, \[beginning-of-buffer], and \[end-of-buffer].Fpop-global-mark 11140Pop off global mark ring and jump to the top location.Vnext-line-add-newlines 11141*If non-nil, `next-line' inserts newline to avoid `end of buffer' error.Fnext-line 11142Move cursor vertically down ARG lines. 11143If there is no character in the target line exactly under the current column, 11144the cursor is positioned after the character in that line which spans this 11145column, or at the end of the line if it is not long enough. 11146If there is no line in the buffer after this one, behavior depends on the 11147value of next-line-add-newlines. If non-nil, a newline character is inserted 11148to create a line and the cursor moves to that line, otherwise the cursor is 11149moved to the end of the buffer (if already at the end of the buffer, an error 11150is signaled). 11151 11152The command \[set-goal-column] can be used to create 11153a semipermanent goal column to which this command always moves. 11154Then it does not try to move vertically. This goal column is stored 11155in `goal-column', which is nil when there is none. 11156 11157If you are thinking of using this in a Lisp program, consider 11158using `forward-line' instead. It is usually easier to use 11159and more reliable (no dependence on goal column, etc.).Fprevious-line 11160Move cursor vertically up ARG lines. 11161If there is no character in the target line exactly over the current column, 11162the cursor is positioned after the character in that line which spans this 11163column, or at the end of the line if it is not long enough. 11164 11165The command \[set-goal-column] can be used to create 11166a semipermanent goal column to which this command always moves. 11167Then it does not try to move vertically. 11168 11169If you are thinking of using this in a Lisp program, consider using 11170`forward-line' with a negative argument instead. It is usually easier 11171to use and more reliable (no dependence on goal column, etc.).Vtrack-eol 11172*Non-nil means vertical motion starting at end of line keeps to ends of lines. 11173This means moving to the end of each line moved onto. 11174The beginning of a blank line does not count as the end of a line.Vgoal-column 11175*Semipermanent goal column for vertical motion, as set by \[set-goal-column], or nil.Vtemporary-goal-column 11176Current goal column for vertical motion. 11177It is the column where point was 11178at the start of current run of vertical motion commands. 11179When the `track-eol' feature is doing its job, the value is 9999.Fset-goal-column 11180Set the current horizontal position as a goal for \[next-line] and \[previous-line]. 11181Those commands will move to this position in the line moved to 11182rather than trying to keep the same horizontal position. 11183With a non-nil argument, clears out the goal column 11184so that \[next-line] and \[previous-line] resume vertical motion. 11185The goal column is stored in the variable `goal-column'.Vhscroll-step 11186*The number of columns to try scrolling a window by when point moves out. 11187If that fails to bring point back on frame, point is centered instead. 11188If this is zero, point is always centered after it moves off frame.Fhscroll-point-visible 11189Scrolls the selected window horizontally to make point visible.Ftranspose-chars 11190Interchange characters around point, moving forward one character. 11191With prefix arg ARG, effect is to take character before point 11192and drag it forward past ARG other characters (backward if ARG negative). 11193If no argument and at end of line, the previous two chars are exchanged.Ftranspose-words 11194Interchange words around point, leaving point at end of them. 11195With prefix arg ARG, effect is to take word before or around point 11196and drag it forward past ARG other words (backward if ARG negative). 11197If ARG is zero, the words around or after point and around or after mark 11198are interchanged.Ftranspose-sexps 11199Like \[transpose-words] but applies to sexps. 11200Does not work on a sexp that point is in the middle of 11201if it is a list or string.Ftranspose-lines 11202Exchange current line and previous line, leaving point after both. 11203With argument ARG, takes previous line and moves it past ARG lines. 11204With argument 0, interchanges line point is in with line mark is in.Vcomment-column 11205*Column to indent right-margin comments to. 11206Setting this variable automatically makes it local to the current buffer. 11207Each mode establishes a different default value for this variable; you 11208can set the value for a particular mode using that mode's hook.Vcomment-start 11209*String to insert to start a new comment, or nil if no comment syntax defined.Vcomment-start-skip 11210*Regexp to match the start of a comment plus everything up to its body. 11211If there are any \(...\) pairs, the comment delimiter text is held to begin 11212at the place matched by the close of the first pair.Vcomment-end 11213*String to insert to end a new comment. 11214Should be an empty string if comments are terminated by end-of-line.Vcomment-indent-hook 11215Obsolete variable for function to compute desired indentation for a comment. 11216This function is called with no args with point at the beginning of 11217the comment's starting delimiter.Vcomment-indent-function 11218Function to compute desired indentation for a comment. 11219This function is called with no args with point at the beginning of 11220the comment's starting delimiter.Findent-for-comment 11221Indent this line's comment to comment column, or insert an empty comment.Fset-comment-column 11222Set the comment column based on point. 11223With no arg, set the comment column to the current column. 11224With just minus as arg, kill any comment on this line. 11225With any other arg, set comment column to indentation of the previous comment 11226 and then align or create a comment on this line at that column.Fkill-comment 11227Kill the comment on this line, if any. 11228With argument, kill comments on that many lines starting with this one.Fcomment-region 11229Comment or uncomment each line in the region. 11230With just C-u prefix arg, uncomment each line in region. 11231Numeric prefix arg ARG means use ARG comment characters. 11232If ARG is negative, delete that many comment characters instead. 11233Comments are terminated on each line, even for syntax in which newline does 11234not end the comment. Blank lines do not get comments.Fbackward-word 11235Move backward until encountering the end of a word. 11236With argument, do this that many times. 11237In programs, it is faster to call `forward-word' with negative arg.Fmark-word 11238Set mark arg words away from point.Fkill-word 11239Kill characters forward until encountering the end of a word. 11240With argument, do this that many times.Fbackward-kill-word 11241Kill characters backward until encountering the end of a word. 11242With argument, do this that many times.Fcurrent-word 11243Return the word point is on (or a nearby word) as a string. 11244If optional arg STRICT is non-nil, return nil unless point is within 11245or adjacent to a word.Vfill-prefix 11246*String for filling to insert at front of new line, or nil for none. 11247Setting this variable automatically makes it local to the current buffer.Vauto-fill-inhibit-regexp 11248*Regexp to match lines which should not be auto-filled.Fauto-fill-mode 11249Toggle auto-fill mode. 11250With arg, turn Auto-Fill mode on if and only if arg is positive. 11251In Auto-Fill mode, inserting a space at a column beyond `fill-column' 11252automatically breaks the line at a previous space.Fauto-fill-function 11253Automatically break line at a previous space, in insertion of text.Fturn-on-auto-fill 11254Unconditionally turn on Auto Fill mode.Fset-fill-column 11255Set `fill-column' to current column, or to argument if given. 11256The variable `fill-column' has a separate value for each buffer.Vcomment-multi-line 11257*Non-nil means \[indent-new-comment-line] should continue same comment 11258on new line, with no new terminator or starter. 11259This is obsolete because you might as well use \[newline-and-indent].Findent-new-comment-line 11260Break line at point and indent, continuing comment if within one. 11261This indents the body of the continued comment 11262under the previous comment line. 11263 11264This command is intended for styles where you write a comment per line, 11265starting a new comment (and terminating it if necessary) on each line. 11266If you want to continue one comment across several lines, use \[newline-and-indent].Fset-selective-display 11267Set `selective-display' to ARG; clear it if no arg. 11268When the value of `selective-display' is a number > 0, 11269lines whose indentation is >= that value are not displayed. 11270The variable `selective-display' has a separate value for each buffer.Voverwrite-mode-textual 11271The string displayed in the mode line when in overwrite mode.Voverwrite-mode-binary 11272The string displayed in the mode line when in binary overwrite mode.Foverwrite-mode 11273Toggle overwrite mode. 11274With arg, turn overwrite mode on iff arg is positive. 11275In overwrite mode, printing characters typed in replace existing text 11276on a one-for-one basis, rather than pushing it to the right. At the 11277end of a line, such characters extend the line. Before a tab, 11278such characters insert until the tab is filled in. 11279\[quoted-insert] still inserts characters in overwrite mode; this 11280is supposed to make it easier to insert characters when necessary.Fbinary-overwrite-mode 11281Toggle binary overwrite mode. 11282With arg, turn binary overwrite mode on iff arg is positive. 11283In binary overwrite mode, printing characters typed in replace 11284existing text. Newlines are not treated specially, so typing at the 11285end of a line joins the line to the next, with the typed character 11286between them. Typing before a tab character simply replaces the tab 11287with the character typed. 11288\[quoted-insert] replaces the text at the cursor, just as ordinary 11289typing characters do. 11290 11291Note that binary overwrite mode is not its own minor mode; it is a 11292specialization of overwrite-mode, entered by setting the 11293`overwrite-mode' variable to `overwrite-mode-binary'.Vline-number-mode 11294*Non-nil means display line number in mode line.Fline-number-mode 11295Toggle Line Number mode. 11296With arg, turn Line Number mode on iff arg is positive. 11297When Line Number mode is enabled, the line number appears 11298in the mode line.Vblink-matching-paren 11299*Non-nil means show matching open-paren when close-paren is inserted.Vblink-matching-paren-distance 11300*If non-nil, is maximum distance to search for matching open-paren.Fblink-matching-open 11301Move cursor momentarily to the beginning of the sexp before point.Fkeyboard-quit 11302Signal a quit condition. 11303During execution of Lisp code, this character causes a quit directly. 11304At top-level, as an editor command, this simply beeps.Fset-variable 11305Set VARIABLE to VALUE. VALUE is a Lisp object. 11306When using this interactively, supply a Lisp expression for VALUE. 11307If you want VALUE to be a string, you must surround it with doublequotes. 11308 11309If VARIABLE has a `variable-interactive' property, that is used as if 11310it were the arg to `interactive' (which see) to interactively read the value.Fchoose-completion 11311Choose the completion that point is in or next to.Fcompletion-list-mode 11312Major mode for buffers showing lists of possible completions. 11313Type \<completion-list-mode-map>\[choose-completion] in the completion list to select the completion near point. 11314Use \<completion-list-mode-map>\[mouse-choose-completion] to select one with the mouse.Vcommand-line-processed 11315t once command line has been processedVinhibit-startup-message 11316*Non-nil inhibits the initial startup message. 11317This is for use in your personal init file, once you are familiar 11318with the contents of the startup message.Vinhibit-startup-echo-area-message 11319*Non-nil inhibits the initial startup echo area message. 11320Inhibition takes effect only if your `.emacs' file contains 11321a line of the form 11322 (setq inhibit-startup-echo-area-message "YOUR-USER-NAME") 11323Thus, someone else using a copy of your `.emacs' file will see 11324the startup message unless he personally acts to inhibit it.Vinhibit-default-init 11325*Non-nil inhibits loading the `default' library.Vcommand-switch-alist 11326Alist of command-line switches. 11327Elements look like (SWITCH-STRING . HANDLER-FUNCTION). 11328HANDLER-FUNCTION receives switch name as sole arg; 11329remaining command-line args are in the variable `command-line-args-left'.Vcommand-line-functions 11330List of functions to process unrecognized command-line arguments. 11331Each function should access the dynamically bound variables 11332`argi' (the current argument) and `command-line-args-left' (the remaining 11333arguments). The function should return non-nil only if it recognizes and 11334processes `argi'. If it does so, it may consume successive arguments by 11335altering `command-line-args-left' to remove them.Vcommand-line-default-directory 11336Default directory to use for command line arguments. 11337This is normally copied from `default-directory' when Emacs starts.Vbefore-init-hook 11338Functions to call after handling urgent options but before init files. 11339The frame system uses this to open frames to display messages while 11340Emacs loads the user's initialization file.Vafter-init-hook 11341Functions to call after loading the init file (`~/.emacs'). 11342The call is not protected by a condition-case, so you can set `debug-on-error' 11343in `.emacs', and put all the actual code on `after-init-hook'.Vterm-setup-hook 11344Functions to be called after loading terminal-specific Lisp code. 11345See `run-hooks'. This variable exists for users to set, 11346so as to override the definitions made by the terminal-specific file. 11347Emacs never sets this variable itself.Vkeyboard-type 11348The brand of keyboard you are using. 11349This variable is used to define 11350the proper function and keypad keys for use under X. It is used in a 11351fashion analogous to the environment value TERM.Vwindow-setup-hook 11352Normal hook run to initialize window system display. 11353Emacs runs this hook after processing the command line arguments and loading 11354the user's init file.Vinitial-major-mode 11355Major mode command symbol to use for the initial *scratch* buffer.Vinit-file-user 11356Identity of user whose `.emacs' file is or was read. 11357The value is nil if no init file is being used; otherwise, it may be either 11358the null string, meaning that the init file was taken from the user that 11359originally logged in, or it may be a string containing a user's name. 11360 11361In either of the latter cases, `(concat "~" init-file-user "/")' 11362evaluates to the name of the directory where the `.emacs' file was 11363looked for.Vsite-run-file 11364File containing site-wide run-time initializations. 11365This file is loaded at run-time before `~/.emacs'. It contains inits 11366that need to be in place for the entire site, but which, due to their 11367higher incidence of change, don't make sense to load into emacs' 11368dumped image. Thus, the run-time load order is: 1. file described in 11369this variable, if non-nil; 2. `~/.emacs'; 3. `default.el'.Flambda 11370Return a lambda expression. 11371A call of the form (lambda ARGS DOCSTRING INTERACTIVE BODY) is 11372self-quoting; the result of evaluating the lambda expression is the 11373expression itself. The lambda expression may then be treated as a 11374function, i. e. stored as the function value of a symbol, passed to 11375funcall or mapcar, etcetera. 11376ARGS should take the same form as an argument list for a `defun'. 11377DOCSTRING should be a string, as described for `defun'. It may be omitted. 11378INTERACTIVE should be a call to the function `interactive', which see. 11379It may also be omitted. 11380BODY should be a list of lisp expressions.Fone-window-p 11381Returns non-nil if there is only one window. 11382Optional arg NOMINI non-nil means don't count the minibuffer 11383even if it is active. 11384 11385The optional arg ALL-FRAMES t means count windows on all frames. 11386If it is `visible', count windows on all visible frames. 11387ALL-FRAMES nil or omitted means count only the selected frame, 11388plus the minibuffer it uses (which may be on another frame). 11389If ALL-FRAMES is neither nil nor t, count only the selected frame.Fwalk-windows 11390Cycle through all visible windows, calling PROC for each one. 11391PROC is called with a window as argument. 11392Optional second arg MINIBUF t means count the minibuffer window 11393even if not active. If MINIBUF is neither t nor nil it means 11394not to count the minibuffer even if it is active. 11395 11396Optional third arg ALL-FRAMES, if t, means include all frames. 11397ALL-FRAMES nil or omitted means cycle within the selected frame, 11398but include the minibuffer window (if MINIBUF says so) that that 11399frame uses, even if it is on another frame. 11400If ALL-FRAMES is neither nil nor t, stick strictly to the selected frame.Fminibuffer-window-active-p 11401Return t if WINDOW (a minibuffer window) is now active.Fsuppress-keymap 11402Make MAP override all normally self-inserting keys to be undefined. 11403Normally, as an exception, digits and minus-sign are set to make prefix args, 11404but optional second arg NODIGITS non-nil treats them like other chars.Vkey-substitution-in-progress 11405Used internally by substitute-key-definition.Fsubstitute-key-definition 11406Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF. 11407In other words, OLDDEF is replaced with NEWDEF where ever it appears. 11408If optional fourth argument OLDMAP is specified, we redefine 11409in KEYMAP as NEWDEF those chars which are defined as OLDDEF in OLDMAP.Fdefine-key-after 11410Add binding in KEYMAP for KEY => DEFINITION, right after AFTER's binding. 11411This is like `define-key' except that the binding for KEY is placed 11412just after the binding for the event AFTER, instead of at the beginning 11413of the map. 11414The order matters when the keymap is used as a menu. 11415KEY must contain just one event type--that is to say, it must be 11416a string or vector of length 1.Fkeyboard-translate 11417Translate character FROM to TO at a low level. 11418This function creates a `keyboard-translate-table' if necessary 11419and then modifies one entry in it.Vglobal-map 11420Default global keymap mapping Emacs keyboard input into commands. 11421The value is a keymap which is usually (but not necessarily) Emacs's 11422global map.Vesc-map 11423Default keymap for ESC (meta) commands. 11424The normal global definition of the character ESC indirects to this keymap.Vctl-x-map 11425Default keymap for C-x commands. 11426The normal global definition of the character C-x indirects to this keymap.Vctl-x-4-map 11427Keymap for subcommands of C-x 4Vctl-x-5-map 11428Keymap for frame commands.Flistify-key-sequence 11429Convert a key sequence to a list of events.Feventp 11430True if the argument is an event object.Fevent-modifiers 11431Returns a list of symbols representing the modifier keys in event EVENT. 11432The elements of the list may include `meta', `control', 11433`shift', `hyper', `super', `alt', `click', `double', `triple', `drag', 11434and `down'.Fevent-basic-type 11435Returns the basic type of the given event (all modifiers removed). 11436The value is an ASCII printing character (not upper case) or a symbol.Fmouse-movement-p 11437Return non-nil if OBJECT is a mouse movement event.Fevent-start 11438Return the starting position of EVENT. 11439If EVENT is a mouse press or a mouse click, this returns the location 11440of the event. 11441If EVENT is a drag, this returns the drag's starting position. 11442The return value is of the form 11443 (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) 11444The `posn-' functions access elements of such lists.Fevent-end 11445Return the ending location of EVENT. EVENT should be a click or drag event. 11446If EVENT is a click event, this function is the same as `event-start'. 11447The return value is of the form 11448 (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) 11449The `posn-' functions access elements of such lists.Fevent-click-count 11450Return the multi-click count of EVENT, a click or drag event. 11451The return value is a positive integer.Fposn-window 11452Return the window in POSITION. 11453POSITION should be a list of the form 11454 (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) 11455as returned by the `event-start' and `event-end' functions.Fposn-point 11456Return the buffer location in POSITION. 11457POSITION should be a list of the form 11458 (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) 11459as returned by the `event-start' and `event-end' functions.Fposn-x-y 11460Return the x and y coordinates in POSITION. 11461POSITION should be a list of the form 11462 (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) 11463as returned by the `event-start' and `event-end' functions.Fposn-col-row 11464Return the column and row in POSITION, measured in characters. 11465POSITION should be a list of the form 11466 (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) 11467as returned by the `event-start' and `event-end' functions. 11468For a scroll-bar event, the result column is 0, and the row 11469corresponds to the vertical position of the click in the scroll bar.Fposn-timestamp 11470Return the timestamp of POSITION. 11471POSITION should be a list of the form 11472 (WINDOW BUFFER-POSITION (X . Y) TIMESTAMP) 11473as returned by the `event-start' and `event-end' functions.Fbaud-rate 11474Obsolete function returning the value of the `baud-rate' variable. 11475Please convert your programs to use the variable `baud-rate' directly.Frun-hooks 11476Takes hook names and runs each one in turn. Major mode functions use this. 11477Each argument should be a symbol, a hook variable. 11478These symbols are processed in the order specified. 11479If a hook symbol has a non-nil value, that value may be a function 11480or a list of functions to be called to run the hook. 11481If the value is a function, it is called with no arguments. 11482If it is a list, the elements are called, in order, with no arguments.Frun-hook-with-args 11483Run HOOK with the specified arguments ARGS. 11484HOOK should be a symbol, a hook variable. If HOOK has a non-nil 11485value, that value may be a function or a list of functions to be 11486called to run the hook. If the value is a function, it is called with 11487the given arguments and its return value is returned. If it is a list 11488of functions, those functions are called, in order, 11489with the given arguments ARGS. 11490It is best not to depend on the value return by `run-hook-with-args', 11491as that may change.Vrun-hooks 11492Variable by which C primitives find the function `run-hooks'. 11493Don't change it.Fadd-hook 11494Add to the value of HOOK the function FUNCTION. 11495FUNCTION is not added if already present. 11496FUNCTION is added (if necessary) at the beginning of the hook list 11497unless the optional argument APPEND is non-nil, in which case 11498FUNCTION is added at the end. 11499 11500HOOK should be a symbol, and FUNCTION may be any valid function. If 11501HOOK is void, it is first set to nil. If HOOK's value is a single 11502function, it is changed to a list of functions.Fremove-hook 11503Remove from the value of HOOK the function FUNCTION. 11504HOOK should be a symbol, and FUNCTION may be any valid function. If 11505FUNCTION isn't the value of HOOK, or, if FUNCTION doesn't appear in the 11506list of hooks to run in HOOK, then nothing is done. See `add-hook'.Feval-after-load 11507Arrange that, if FILE is ever loaded, FORM will be run at that time. 11508This makes or adds to an entry on `after-load-alist'. 11509It does nothing if FORM is already on the list for FILE. 11510FILE should be the name of a library, with no directory name.Feval-next-after-load 11511Read the following input sexp, and run it whenever FILE is loaded. 11512This makes or adds to an entry on `after-load-alist'. 11513FILE should be the name of a library, with no directory name.Fread-quoted-char 11514Like `read-char', except that if the first character read is an octal 11515digit, we read up to two more octal digits and return the character 11516represented by the octal number consisting of those digits. 11517Optional argument PROMPT specifies a string to use to prompt the user.Fforce-mode-line-update 11518Force the mode-line of the current buffer to be redisplayed. 11519With optional non-nil ALL, force redisplay of all mode-lines.Fmomentary-string-display 11520Momentarily display STRING in the buffer at POS. 11521Display remains until next character is typed. 11522If the char is EXIT-CHAR (optional third arg, default is SPC) it is swallowed; 11523otherwise it is then available as input (as a command if nothing else). 11524Display MESSAGE (optional fourth arg) in the echo area. 11525If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there.Ferror 11526Signal an error, making error message by passing all args to `format'.Fstart-process-shell-command 11527Start a program in a subprocess. Return the process object for it. 11528Args are NAME BUFFER COMMAND &rest COMMAND-ARGS. 11529NAME is name for process. It is modified if necessary to make it unique. 11530BUFFER is the buffer or (buffer-name) to associate with the process. 11531 Process output goes at end of that buffer, unless you specify 11532 an output stream or filter function to handle the output. 11533 BUFFER may be also nil, meaning that this process is not associated 11534 with any buffer 11535Third arg is command name, the name of a shell command. 11536Remaining arguments are the arguments for the command. 11537Wildcards and redirection are handled as usual in the shell.Fsave-match-data 11538Execute the BODY forms, restoring the global value of the match data.Fshell-quote-argument 11539Quote an argument for passing as argument to an inferior shell.Fmake-syntax-table 11540Return a new syntax table. 11541It inherits all letters and control characters from the standard 11542syntax table; other characters are copied from the standard syntax table.Vtext-mode-syntax-table 11543Syntax table used while in text mode.Vtext-mode-abbrev-table 11544Abbrev table used while in text mode.Vtext-mode-map 11545Keymap for Text mode. 11546Many other modes, such as Mail mode, Outline mode and Indented Text mode, 11547inherit all the commands defined in this map.Ftext-mode 11548Major mode for editing text intended for humans to read. 11549Special commands: 11550\{text-mode-map} 11551Turning on Text mode calls the value of the variable `text-mode-hook', 11552if that value is non-nil.Vindented-text-mode-map 11553Keymap for Indented Text mode. 11554All the commands defined in Text mode are inherited unless overridden.Findented-text-mode 11555Major mode for editing text with indented paragraphs. 11556In this mode, paragraphs are delimited only by blank lines. 11557You can thus get the benefit of adaptive filling 11558 (see the variable `adaptive-fill-mode'). 11559\{indented-text-mode-map} 11560Turning on `indented-text-mode' calls the value of the variable 11561`text-mode-hook', if that value is non-nil.Fcenter-paragraph 11562Center each nonblank line in the paragraph at or after point. 11563See `center-line' for more info.Fcenter-region 11564Center each nonblank line starting in the region. 11565See `center-line' for more info.Fcenter-line 11566Center the line point is on, within the width specified by `fill-column'. 11567This means adjusting the indentation so that it equals 11568the distance between the end of the text and `fill-column'.Vvc-master-templates 11569*Where to look for version-control master files. 11570The first pair corresponding to a given back end is used as a template 11571when creating new masters.Vvc-make-backup-files 11572*If non-nil, backups of registered files are made as with other files. 11573If nil (the default), files covered by version control don't get backups.Vvc-rcs-status 11574*If non-nil, revision and locks on RCS working file displayed in modeline. 11575Otherwise, not displayed.Vvc-file-prop-obarray 11576Obarray for per-file properties.Fvc-name 11577Return the master name of a file, nil if it is not registered.Fvc-backend-deduce 11578Return the version-control type of a file, nil if it is not registered.Fvc-toggle-read-only 11579Change read-only status of current buffer, perhaps via version control. 11580If the buffer is visiting a file registered with version control, 11581then check the file in or out. Otherwise, just change the read-only flag 11582of the buffer.Fvc-mode-line 11583Set `vc-mode' to display type of version control for FILE. 11584The value is set in the current buffer, which should be the buffer 11585visiting FILE.Fvc-file-not-found-hook 11586When file is not found, try to check it out from RCS or SCCS. 11587Returns t if checkout was successful, nil otherwise.Fcount-windows 11588Returns the number of visible windows. 11589Optional arg NO-MINI non-nil means don't count the minibuffer 11590even if it is active.Fbalance-windows 11591Makes all visible windows the same height (approximately).Vsplit-window-keep-point 11592*If non-nil, split windows keeps the original point in both children. 11593This is often more convenient for editing. 11594If nil, adjust point in each of the two windows to minimize redisplay. 11595This is convenient on slow terminals, but point can move strangely.Fsplit-window-vertically 11596Split current window into two windows, one above the other. 11597The uppermost window gets ARG lines and the other gets the rest. 11598Negative arg means select the size of the lowermost window instead. 11599With no argument, split equally or close to it. 11600Both windows display the same buffer now current. 11601 11602If the variable split-window-keep-point is non-nil, both new windows 11603will get the same value of point as the current window. This is often 11604more convenient for editing. 11605 11606Otherwise, we chose window starts so as to minimize the amount of 11607redisplay; this is convenient on slow terminals. The new selected 11608window is the one that the current value of point appears in. The 11609value of point can change if the text around point is hidden by the 11610new mode line.Fsplit-window-horizontally 11611Split current window into two windows side by side. 11612This window becomes the leftmost of the two, and gets 11613ARG columns. No arg means split equally.Fenlarge-window-horizontally 11614Make current window ARG columns wider.Fshrink-window-horizontally 11615Make current window ARG columns narrower.Fshrink-window-if-larger-than-buffer 11616Shrink the WINDOW to be as small as possible to display its contents. 11617Do nothing if the buffer contains more lines than the present window height, 11618or if some of the window's contents are scrolled out of view, 11619or if the window is not the full width of the frame, 11620or if the window is the only window of its frame.Vemacs-version 11621Version numbers of this version of Emacs.Vemacs-build-time 11622Time at which Emacs was dumped out.Femacs-version 11623Return string describing the version of Emacs that is running. 11624If optional argument HERE is non-nil, insert string at point. 11625Don't use this function in programs to choose actions according 11626to the system configuration; look at `system-configuration' instead.