diff options
| author | Alan Mackenzie | 2012-01-15 19:34:11 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2012-01-15 19:34:11 +0000 |
| commit | 44b0225ed09cfbc6cee7ed53c630988c342df806 (patch) | |
| tree | c2e9c9eb79d76db50179d0be46da54a82b751033 | |
| parent | b493658e2c67e9ae41798edefd7cb9a264e53e99 (diff) | |
| parent | 97912defd376ad75ac582d073851a5a7a4d3cc12 (diff) | |
| download | emacs-44b0225ed09cfbc6cee7ed53c630988c342df806.tar.gz emacs-44b0225ed09cfbc6cee7ed53c630988c342df806.zip | |
Merge.
| -rw-r--r-- | admin/ChangeLog | 5 | ||||
| -rw-r--r-- | admin/FOR-RELEASE | 8 | ||||
| -rw-r--r-- | doc/emacs/ChangeLog | 40 | ||||
| -rw-r--r-- | doc/emacs/anti.texi | 124 | ||||
| -rw-r--r-- | doc/emacs/cmdargs.texi | 226 | ||||
| -rw-r--r-- | doc/emacs/display.texi | 18 | ||||
| -rw-r--r-- | doc/emacs/emacs.texi | 9 | ||||
| -rw-r--r-- | doc/emacs/files.texi | 7 | ||||
| -rw-r--r-- | doc/emacs/misc.texi | 16 | ||||
| -rw-r--r-- | doc/emacs/rmail.texi | 4 | ||||
| -rw-r--r-- | doc/emacs/xresources.texi | 926 | ||||
| -rw-r--r-- | etc/ChangeLog | 5 | ||||
| -rw-r--r-- | etc/tutorials/TUTORIAL | 6 | ||||
| -rw-r--r-- | etc/tutorials/TUTORIAL.he | 227 | ||||
| -rw-r--r-- | etc/tutorials/TUTORIAL.translators | 5 | ||||
| -rw-r--r-- | lisp/ChangeLog | 27 | ||||
| -rw-r--r-- | lisp/cedet/ChangeLog | 17 | ||||
| -rw-r--r-- | lisp/cedet/ede.el | 215 | ||||
| -rw-r--r-- | lisp/cedet/ede/auto.el | 28 | ||||
| -rw-r--r-- | lisp/cedet/ede/simple.el | 3 | ||||
| -rw-r--r-- | lisp/dired.el | 21 | ||||
| -rw-r--r-- | lisp/epg.el | 7 | ||||
| -rw-r--r-- | lisp/info.el | 2 | ||||
| -rw-r--r-- | lisp/net/tramp-sh.el | 1 | ||||
| -rw-r--r-- | lisp/startup.el | 4 | ||||
| -rw-r--r-- | msdos/ChangeLog | 5 | ||||
| -rw-r--r-- | msdos/sed4.inp | 1 | ||||
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/w32fns.c | 5 |
29 files changed, 851 insertions, 1116 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 3bfbab881aa..597beb60ce2 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-01-14 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * FOR-RELEASE (Check the Emacs Tutorial): Mark TUTORIAL.he as | ||
| 4 | updated and checked. | ||
| 5 | |||
| 1 | 2011-11-26 Andreas Schwab <schwab@linux-m68k.org> | 6 | 2011-11-26 Andreas Schwab <schwab@linux-m68k.org> |
| 2 | 7 | ||
| 3 | * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote): | 8 | * grammars/bovine-grammar.el (bovine--grammar-newstyle-unquote): |
diff --git a/admin/FOR-RELEASE b/admin/FOR-RELEASE index c82dbf36f0d..daf8e33d041 100644 --- a/admin/FOR-RELEASE +++ b/admin/FOR-RELEASE | |||
| @@ -107,7 +107,7 @@ TUTORIAL.de | |||
| 107 | TUTORIAL.eo | 107 | TUTORIAL.eo |
| 108 | TUTORIAL.es | 108 | TUTORIAL.es |
| 109 | TUTORIAL.fr | 109 | TUTORIAL.fr |
| 110 | TUTORIAL.he | 110 | TUTORIAL.he eliz |
| 111 | TUTORIAL.it | 111 | TUTORIAL.it |
| 112 | TUTORIAL.ja | 112 | TUTORIAL.ja |
| 113 | TUTORIAL.ko | 113 | TUTORIAL.ko |
| @@ -133,7 +133,7 @@ buffers.texi cyd | |||
| 133 | building.texi cyd | 133 | building.texi cyd |
| 134 | calendar.texi | 134 | calendar.texi |
| 135 | cal-xtra.texi | 135 | cal-xtra.texi |
| 136 | cmdargs.texi | 136 | cmdargs.texi cyd |
| 137 | commands.texi cyd | 137 | commands.texi cyd |
| 138 | custom.texi cyd | 138 | custom.texi cyd |
| 139 | dired.texi cyd | 139 | dired.texi cyd |
| @@ -144,7 +144,7 @@ emacs-xtra.texi | |||
| 144 | emerge-xtra.texi | 144 | emerge-xtra.texi |
| 145 | entering.texi cyd | 145 | entering.texi cyd |
| 146 | files.texi cyd | 146 | files.texi cyd |
| 147 | fixit.texi | 147 | fixit.texi cyd |
| 148 | fortran-xtra.texi | 148 | fortran-xtra.texi |
| 149 | frames.texi cyd | 149 | frames.texi cyd |
| 150 | glossary.texi | 150 | glossary.texi |
| @@ -175,7 +175,7 @@ trouble.texi cyd | |||
| 175 | vc-xtra.texi cyd | 175 | vc-xtra.texi cyd |
| 176 | vc1-xtra.texi cyd | 176 | vc1-xtra.texi cyd |
| 177 | windows.texi cyd | 177 | windows.texi cyd |
| 178 | xresources.texi | 178 | xresources.texi cyd |
| 179 | 179 | ||
| 180 | ** Check the Lisp manual. | 180 | ** Check the Lisp manual. |
| 181 | 181 | ||
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8f7f8ebb220..4f3e5f77fd5 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,43 @@ | |||
| 1 | 2012-01-15 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * xresources.texi (X Resources): Describe GTK+ case first. | ||
| 4 | (Resources): Don't use borderWidth as an example, since it doesn't | ||
| 5 | work with GTK+. | ||
| 6 | (Table of Resources): Clarify role of several resources, including | ||
| 7 | the Emacs 24 behavior of cursorBlink etc. | ||
| 8 | (Face Resources): Node deleted. Recommend using Customize | ||
| 9 | instead. Add paragraph to `Table of Resources' node summarizing | ||
| 10 | how to use X resources for changing faces. | ||
| 11 | (Lucid Resources): Rewrite, omitting description of font names, | ||
| 12 | referring to the Fonts node instead. | ||
| 13 | (LessTif Resources): Copyedits. | ||
| 14 | (GTK resources): Rewrite, describing the difference between gtk2 | ||
| 15 | and gtk3. | ||
| 16 | (GTK Resource Basics): New node. | ||
| 17 | (GTK Widget Names, GTK Names in Emacs): Rewrite. | ||
| 18 | (GTK styles): Just refer to Fonts node for GTK font format. | ||
| 19 | |||
| 20 | * display.texi (Faces): Document the cursor face. | ||
| 21 | |||
| 22 | 2012-01-14 Chong Yidong <cyd@gnu.org> | ||
| 23 | |||
| 24 | * cmdargs.texi (Action Arguments): No need to mention | ||
| 25 | EMACSLOADPATH. | ||
| 26 | (General Variables): Add xref to Lisp Libraries. | ||
| 27 | (Initial Options): Copyedits. | ||
| 28 | (Resume Arguments): Node deleted; emacs.bash/csh are obsolete. | ||
| 29 | (Environment): Clarify what getenv does. | ||
| 30 | (General Variables): Clarify EMACSPATH etc. Emacs does not assume | ||
| 31 | light backgrounds on xterms. | ||
| 32 | (Misc Variables): TEMP and TMP are not Windows-specific. | ||
| 33 | (Display X): Copyedits. | ||
| 34 | (Colors X): -bd does nothing for GTK. | ||
| 35 | (Icons X): Gnome 3 doesn't use taskbars. | ||
| 36 | |||
| 37 | * misc.texi (Shell): Document exec-path here. | ||
| 38 | |||
| 39 | * rmail.texi (Movemail): Add xref for exec-path. | ||
| 40 | |||
| 1 | 2012-01-13 Glenn Morris <rgm@gnu.org> | 41 | 2012-01-13 Glenn Morris <rgm@gnu.org> |
| 2 | 42 | ||
| 3 | * dired.texi (Dired and Find): Clarify find-ls-options. | 43 | * dired.texi (Dired and Find): Clarify find-ls-options. |
diff --git a/doc/emacs/anti.texi b/doc/emacs/anti.texi index 68f617d2cfd..d9f17c91f5e 100644 --- a/doc/emacs/anti.texi +++ b/doc/emacs/anti.texi | |||
| @@ -3,135 +3,19 @@ | |||
| 3 | @c See file emacs.texi for copying conditions. | 3 | @c See file emacs.texi for copying conditions. |
| 4 | 4 | ||
| 5 | @node Antinews, Mac OS / GNUstep, X Resources, Top | 5 | @node Antinews, Mac OS / GNUstep, X Resources, Top |
| 6 | @appendix Emacs 22 Antinews | 6 | @appendix Emacs 23 Antinews |
| 7 | @c Update the emacs.texi Antinews menu entry with the above version number. | 7 | @c Update the emacs.texi Antinews menu entry with the above version number. |
| 8 | 8 | ||
| 9 | For those users who live backwards in time, here is information | 9 | For those users who live backwards in time, here is information |
| 10 | about downgrading to Emacs version 22.3. We hope you will enjoy the | 10 | about downgrading to Emacs version 23.4. We hope you will enjoy the |
| 11 | greater simplicity that results from the absence of many Emacs | 11 | greater simplicity that results from the absence of many Emacs |
| 12 | @value{EMACSVER} features. | 12 | @value{EMACSVER} features. |
| 13 | 13 | ||
| 14 | @itemize @bullet | 14 | @itemize @bullet |
| 15 | |||
| 16 | @item | ||
| 17 | We have switched to a character representation specially designed for | ||
| 18 | Emacs. Rather than forcing all the widely used scripts into artificial | ||
| 19 | alignment, as Unicode does, Emacs treats them all equally, giving | ||
| 20 | each one a place in the space of character codes. We have eliminated | ||
| 21 | the confusing practice, in Emacs 23, whereby one character can belong | ||
| 22 | to multiple character sets. Now each script has its own variant, and | ||
| 23 | they all are different as far as Emacs is concerned. For example, | ||
| 24 | there's a Latin-1 c-cedilla character, and there's a Latin-2 | ||
| 25 | c-cedilla; searching a buffer for the Latin-1 variant only finds that | ||
| 26 | variant, but not the others. | ||
| 27 | |||
| 28 | @item | ||
| 29 | Emacs now uses its own special internal encoding for non-@acronym{ASCII} | ||
| 30 | characters, known as @samp{emacs-mule}. This was imperative to | ||
| 31 | support several different variants of the same character, each one | ||
| 32 | belonging to its own script: @samp{emacs-mule} marks each character | ||
| 33 | with its script, to better discern them from one another. | ||
| 34 | |||
| 35 | @item | ||
| 36 | For simplicity, the functions @code{encode-coding-region} and | ||
| 37 | @code{decode-coding-region} no longer accept an argument saying where | ||
| 38 | to store the result of their conversions. The result always replaces | ||
| 39 | the original, so there's no need to look for it elsewhere. | ||
| 40 | |||
| 41 | @item | ||
| 42 | Emacs no longer performs font anti-aliasing. If your fonts look ugly, | ||
| 43 | try choosing a larger font and increasing the screen resolution. | ||
| 44 | Admittedly, this becomes difficult as you go further back in time, | ||
| 45 | since available screen resolutions will decrease. | ||
| 46 | |||
| 47 | @item | ||
| 48 | The Fontconfig font library is no longer supported. To specify a | ||
| 49 | font, you must use an XLFD (X Logical Font Descriptor). The other | ||
| 50 | ways of specifying fonts---so-called ``Fontconfig'' and ``GTK'' font | ||
| 51 | names---are redundant, so they have been removed. | ||
| 52 | |||
| 53 | @item | ||
| 54 | Transient Mark mode is now disabled by default. Furthermore, some | ||
| 55 | commands that operate specifically on the region when it is active and | ||
| 56 | Transient Mark mode is enabled (such as @code{fill-paragraph} | ||
| 57 | @code{ispell-word}, and @code{indent-for-tab-command}), no longer do | ||
| 58 | so. | ||
| 59 | |||
| 60 | @item | ||
| 61 | Holding @key{shift} while typing a motion command no longer creates a | ||
| 62 | temporarily active region, since that's inconsistent with how Emacs | ||
| 63 | normally handles keybindings. The variable @code{shift-select-mode} | ||
| 64 | has been deleted. You can, however, still create temporarily active | ||
| 65 | regions by dragging the mouse. | ||
| 66 | |||
| 67 | @item | ||
| 68 | The line motion commands, @kbd{C-n} and @kbd{C-p}, now move by logical | ||
| 69 | text lines, not screen lines. Even if a long text line is continued | ||
| 70 | over multiple screen lines, @kbd{C-n} and @kbd{C-p} treat it as a | ||
| 71 | single line, because that's ultimately what it is. | ||
| 72 | |||
| 73 | @item | ||
| 74 | Visual Line mode, which provides ``word wrap'' functionality, has been | ||
| 75 | removed. You can still use Long Lines mode to gain an approximation | ||
| 76 | of word wrapping, though this has some drawbacks---for instance, | ||
| 77 | syntax highlighting often doesn't work well on wrapped lines. | ||
| 78 | |||
| 79 | @item | ||
| 80 | @kbd{C-l} now runs @code{recenter} instead of | ||
| 81 | @code{recenter-top-bottom}. This always sets the current line at the | ||
| 82 | center of the window, instead of cycling through the center, top, and | ||
| 83 | bottom of the window on successive invocations. This lets you type | ||
| 84 | @kbd{C-l C-l C-l C-l} to be @emph{absolutely sure} that you have | ||
| 85 | recentered the line. | ||
| 86 | |||
| 87 | @item | ||
| 88 | The way Emacs generates possible minibuffer completions is now much | ||
| 89 | simpler to understand. It matches alternatives to the text before | ||
| 90 | point, ignoring the text after point; it also does not attempt to | ||
| 91 | perform partial completion if the first completion attempt fails. | ||
| 92 | |||
| 93 | @item | ||
| 94 | Typing @kbd{M-n} at the start of the minibuffer history list no longer | ||
| 95 | attempts to generate guesses of possible minibuffer input. It instead | ||
| 96 | does the straightforward thing, by issuing the message @samp{End of | ||
| 97 | history; no default available}. | ||
| 98 | |||
| 99 | @item | ||
| 100 | Individual buffers can no longer display faces specially. The text | ||
| 101 | scaling commands @kbd{C-x C-+}, @kbd{C-x C--}, and @kbd{C-x C-0} have | ||
| 102 | been removed, and so has the buffer face menu bound to | ||
| 103 | @kbd{S-down-mouse-1}. | ||
| 104 | |||
| 105 | @item | ||
| 106 | VC no longer supports fileset-based operations on distributed version | ||
| 107 | control systems (DVCSs) such as Arch, Bazaar, Subversion, Mercurial, | ||
| 108 | and Git. For instance, multi-file commits will be performed by | ||
| 109 | committing one file at a time. As you go further back in time, we | ||
| 110 | will remove DVCS support entirely, so you should migrate your projects | ||
| 111 | to CVS. | ||
| 112 | |||
| 113 | @item | ||
| 114 | Rmail now uses a special file format, Babyl format, specifically designed | ||
| 115 | for storing and editing mail. When you visit a file in Rmail, or get new | ||
| 116 | mail, Rmail converts it automatically to Babyl format. | ||
| 117 | |||
| 118 | @item | ||
| 119 | Emacs can no longer display frames on X windows and text terminals | ||
| 120 | (ttys) simultaneously. If you start Emacs as an X application, it | ||
| 121 | can only create X frames; if you start Emacs on a tty, it can only use | ||
| 122 | that tty. No more confusion about which type of frame | ||
| 123 | @command{emacsclient} will use in any given Emacs session! | ||
| 124 | |||
| 125 | @item | ||
| 126 | Emacs can no longer be started as a daemon. You can be sure that if | ||
| 127 | you don't see Emacs, then it's not running. | ||
| 128 | |||
| 129 | @item | 15 | @item |
| 130 | Emacs has added support for many soon-to-be-non-obsolete platforms, | 16 | FIXME |
| 131 | including VMS, DECstation, SCO Unix, and systems lacking alloca. | ||
| 132 | Support for Sun windows has been added. | ||
| 133 | 17 | ||
| 134 | @item | 18 | @item |
| 135 | To keep up with decreasing computer memory capacity and disk space, many | 19 | To keep up with decreasing computer memory capacity and disk space, many |
| 136 | other functions and files have been eliminated in Emacs 22.3. | 20 | other functions and files have been eliminated in Emacs 23.4. |
| 137 | @end itemize | 21 | @end itemize |
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 11cc4df8ce9..00730cc6510 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi | |||
| @@ -65,7 +65,6 @@ arguments.) | |||
| 65 | and call functions. | 65 | and call functions. |
| 66 | * Initial Options:: Arguments that take effect while starting Emacs. | 66 | * Initial Options:: Arguments that take effect while starting Emacs. |
| 67 | * Command Example:: Examples of using command line arguments. | 67 | * Command Example:: Examples of using command line arguments. |
| 68 | * Resume Arguments:: Specifying arguments when you resume a running Emacs. | ||
| 69 | * Environment:: Environment variables that Emacs uses. | 68 | * Environment:: Environment variables that Emacs uses. |
| 70 | * Display X:: Changing the default display and using remote login. | 69 | * Display X:: Changing the default display and using remote login. |
| 71 | * Font X:: Choosing a font for text, under X. | 70 | * Font X:: Choosing a font for text, under X. |
| @@ -124,10 +123,9 @@ Visit @var{file} using @code{find-file}, then go to line number | |||
| 124 | @opindex --load | 123 | @opindex --load |
| 125 | @cindex loading Lisp libraries, command-line argument | 124 | @cindex loading Lisp libraries, command-line argument |
| 126 | Load a Lisp library named @var{file} with the function @code{load}. | 125 | Load a Lisp library named @var{file} with the function @code{load}. |
| 127 | @xref{Lisp Libraries}. If @var{file} is not an absolute file name, | 126 | If @var{file} is not an absolute file name, Emacs first looks for it |
| 128 | the library can be found either in the current directory, or in the | 127 | in the current directory, then in the directories listed in |
| 129 | Emacs library search path as specified with @env{EMACSLOADPATH} | 128 | @code{load-path} (@pxref{Lisp Libraries}). |
| 130 | (@pxref{General Variables}). | ||
| 131 | 129 | ||
| 132 | @strong{Warning:} If previous command-line arguments have visited | 130 | @strong{Warning:} If previous command-line arguments have visited |
| 133 | files, the current directory is the directory of the last file | 131 | files, the current directory is the directory of the last file |
| @@ -186,11 +184,11 @@ specifically related to the X Window System appear in the following | |||
| 186 | sections. | 184 | sections. |
| 187 | 185 | ||
| 188 | Some initial options affect the loading of the initialization file. | 186 | Some initial options affect the loading of the initialization file. |
| 189 | The normal actions of Emacs are to first load @file{site-start.el} if | 187 | Normally, Emacs first loads @file{site-start.el} if it exists, then |
| 190 | it exists, then your own initialization file @file{~/.emacs} if it | 188 | your own initialization file if it exists, and finally the default |
| 191 | exists, and finally @file{default.el} if it exists. @xref{Init File}. | 189 | initialization file @file{default.el} if it exists (@pxref{Init |
| 192 | Certain options prevent loading of some of these files or substitute | 190 | File}). Certain options prevent loading of some of these files or |
| 193 | other files for them. | 191 | substitute other files for them. |
| 194 | 192 | ||
| 195 | @table @samp | 193 | @table @samp |
| 196 | @item -chdir @var{directory} | 194 | @item -chdir @var{directory} |
| @@ -207,8 +205,8 @@ stopped. This makes desktop saving and restoring easier. | |||
| 207 | @itemx --terminal=@var{device} | 205 | @itemx --terminal=@var{device} |
| 208 | @opindex --terminal | 206 | @opindex --terminal |
| 209 | @cindex device for Emacs terminal I/O | 207 | @cindex device for Emacs terminal I/O |
| 210 | Use @var{device} as the device for terminal input and output. | 208 | Use @var{device} as the device for terminal input and output. This |
| 211 | @samp{--terminal} implies @samp{--no-window-system}. | 209 | option implies @samp{--no-window-system}. |
| 212 | 210 | ||
| 213 | @item -d @var{display} | 211 | @item -d @var{display} |
| 214 | @opindex -d | 212 | @opindex -d |
| @@ -252,7 +250,7 @@ terminal's standard input stream (@code{stdin}) instead. | |||
| 252 | @samp{--batch} implies @samp{-q} (do not load an initialization file), | 250 | @samp{--batch} implies @samp{-q} (do not load an initialization file), |
| 253 | but @file{site-start.el} is loaded nonetheless. It also causes Emacs | 251 | but @file{site-start.el} is loaded nonetheless. It also causes Emacs |
| 254 | to exit after processing all the command options. In addition, it | 252 | to exit after processing all the command options. In addition, it |
| 255 | disables auto-saving except in buffers for which it has been | 253 | disables auto-saving except in buffers for which auto-saving is |
| 256 | explicitly requested. | 254 | explicitly requested. |
| 257 | 255 | ||
| 258 | @item --script @var{file} | 256 | @item --script @var{file} |
| @@ -270,8 +268,8 @@ Emacs. They can start with this text on the first line | |||
| 270 | 268 | ||
| 271 | @noindent | 269 | @noindent |
| 272 | which will invoke Emacs with @samp{--script} and supply the name of | 270 | which will invoke Emacs with @samp{--script} and supply the name of |
| 273 | the script file as @var{file}. Emacs Lisp then treats @samp{#!} as a | 271 | the script file as @var{file}. Emacs Lisp then treats the @samp{#!} |
| 274 | comment delimiter. | 272 | on this first line as a comment delimiter. |
| 275 | 273 | ||
| 276 | @item -q | 274 | @item -q |
| 277 | @opindex -q | 275 | @opindex -q |
| @@ -280,11 +278,10 @@ comment delimiter. | |||
| 280 | @cindex bypassing init and @file{default.el} file | 278 | @cindex bypassing init and @file{default.el} file |
| 281 | @cindex init file, not loading | 279 | @cindex init file, not loading |
| 282 | @cindex @file{default.el} file, not loading | 280 | @cindex @file{default.el} file, not loading |
| 283 | Do not load your Emacs initialization file, and do not load the file | 281 | Do not load any initialization file (@pxref{Init File}). When Emacs |
| 284 | @file{default.el} either (@pxref{Init File}). Regardless of this | 282 | is invoked with this option, the Customize facility does not allow |
| 285 | switch, @file{site-start.el} is still loaded. When Emacs is invoked | 283 | options to be saved (@pxref{Easy Customization}). This option does |
| 286 | like this, the Customize facility does not allow options to be saved | 284 | not disable loading @file{site-start.el}. |
| 287 | (@pxref{Easy Customization}). | ||
| 288 | 285 | ||
| 289 | @item --no-site-file | 286 | @item --no-site-file |
| 290 | @opindex --no-site-file | 287 | @opindex --no-site-file |
| @@ -371,45 +368,6 @@ also guarantees there will be no problem redirecting output to | |||
| 371 | @file{log}, because Emacs will not assume that it has a display terminal | 368 | @file{log}, because Emacs will not assume that it has a display terminal |
| 372 | to work with. | 369 | to work with. |
| 373 | 370 | ||
| 374 | @node Resume Arguments | ||
| 375 | @appendixsec Resuming Emacs with Arguments | ||
| 376 | |||
| 377 | You can specify action arguments for Emacs when you resume it after | ||
| 378 | a suspension. To prepare for this, put the following code in your | ||
| 379 | @file{.emacs} file (@pxref{Hooks}): | ||
| 380 | |||
| 381 | @c `resume-suspend-hook' is correct. It is the name of a function. | ||
| 382 | @example | ||
| 383 | (add-hook 'suspend-hook 'resume-suspend-hook) | ||
| 384 | (add-hook 'suspend-resume-hook 'resume-process-args) | ||
| 385 | @end example | ||
| 386 | |||
| 387 | As further preparation, you must execute the shell script | ||
| 388 | @file{emacs.csh} (if you use csh as your shell) or @file{emacs.bash} | ||
| 389 | (if you use bash as your shell). These scripts define an alias named | ||
| 390 | @code{edit}, which will resume Emacs giving it new command line | ||
| 391 | arguments such as files to visit. The scripts are found in the | ||
| 392 | @file{etc} subdirectory of the Emacs distribution. | ||
| 393 | |||
| 394 | Only action arguments work properly when you resume Emacs. Initial | ||
| 395 | arguments are not recognized---it's too late to execute them anyway. | ||
| 396 | |||
| 397 | Note that resuming Emacs (with or without arguments) must be done from | ||
| 398 | within the shell that is the parent of the Emacs job. This is why | ||
| 399 | @code{edit} is an alias rather than a program or a shell script. It is | ||
| 400 | not possible to implement a resumption command that could be run from | ||
| 401 | other subjobs of the shell; there is no way to define a command that could | ||
| 402 | be made the value of @env{EDITOR}, for example. Therefore, this feature | ||
| 403 | does not take the place of the Emacs Server feature (@pxref{Emacs | ||
| 404 | Server}). | ||
| 405 | |||
| 406 | The aliases use the Emacs Server feature if you appear to have a | ||
| 407 | server Emacs running. However, they cannot determine this with complete | ||
| 408 | accuracy. They may think that a server is still running when in | ||
| 409 | actuality you have killed that Emacs, because the file | ||
| 410 | @file{/tmp/esrv@dots{}} still exists. If this happens, find that | ||
| 411 | file and delete it. | ||
| 412 | |||
| 413 | @node Environment | 371 | @node Environment |
| 414 | @appendixsec Environment Variables | 372 | @appendixsec Environment Variables |
| 415 | @cindex environment variables | 373 | @cindex environment variables |
| @@ -424,19 +382,19 @@ letters only. The values are all text strings. | |||
| 424 | environment automatically from their parent process. This means you | 382 | environment automatically from their parent process. This means you |
| 425 | can set up an environment variable in your login shell, and all the | 383 | can set up an environment variable in your login shell, and all the |
| 426 | programs you run (including Emacs) will automatically see it. | 384 | programs you run (including Emacs) will automatically see it. |
| 427 | Subprocesses of Emacs (such as shells, compilers, and version-control | 385 | Subprocesses of Emacs (such as shells, compilers, and version control |
| 428 | software) inherit the environment from Emacs, too. | 386 | programs) inherit the environment from Emacs, too. |
| 429 | 387 | ||
| 430 | @findex setenv | 388 | @findex setenv |
| 431 | @findex getenv | 389 | @findex getenv |
| 432 | @vindex initial-environment | 390 | @vindex initial-environment |
| 433 | Inside Emacs, the command @kbd{M-x getenv} gets the value of an | 391 | Inside Emacs, the command @kbd{M-x getenv} reads the name of an |
| 434 | environment variable. @kbd{M-x setenv} sets a variable in the Emacs | 392 | environment variable, and prints its value in the echo area. @kbd{M-x |
| 435 | environment, and @kbd{C-u M-x setenv} removes a variable. | 393 | setenv} sets a variable in the Emacs environment, and @kbd{C-u M-x |
| 436 | (Environment variable substitutions with @samp{$} work in the value | 394 | setenv} removes a variable. (Environment variable substitutions with |
| 437 | just as in file names; see @ref{File Names with $}.) The variable | 395 | @samp{$} work in the value just as in file names; see @ref{File Names |
| 438 | @code{initial-environment} stores the initial environment inherited by | 396 | with $}.) The variable @code{initial-environment} stores the initial |
| 439 | Emacs. | 397 | environment inherited by Emacs. |
| 440 | 398 | ||
| 441 | The way to set environment variables outside of Emacs depends on the | 399 | The way to set environment variables outside of Emacs depends on the |
| 442 | operating system, and especially the shell that you are using. For | 400 | operating system, and especially the shell that you are using. For |
| @@ -483,22 +441,25 @@ This is used to initialize the Lisp variable @code{data-directory}. | |||
| 483 | Directory for the documentation string file, which is used to | 441 | Directory for the documentation string file, which is used to |
| 484 | initialize the Lisp variable @code{doc-directory}. | 442 | initialize the Lisp variable @code{doc-directory}. |
| 485 | @item EMACSLOADPATH | 443 | @item EMACSLOADPATH |
| 486 | A colon-separated list of directories@footnote{ | 444 | A colon-separated list of directories@footnote{ Here and below, |
| 487 | Here and below, whenever we say ``colon-separated list of directories,'' | 445 | whenever we say ``colon-separated list of directories,'' it pertains |
| 488 | it pertains to Unix and GNU/Linux systems. On MS-DOS and MS-Windows, | 446 | to Unix and GNU/Linux systems. On MS-DOS and MS-Windows, the |
| 489 | the directories are separated by semi-colons instead, since DOS/Windows | 447 | directories are separated by semi-colons instead, since DOS/Windows |
| 490 | file names might include a colon after a drive letter.} | 448 | file names might include a colon after a drive letter.} to search for |
| 491 | to search for Emacs Lisp files---used to initialize @code{load-path}. | 449 | Emacs Lisp files. If set, it overrides the usual initial value of the |
| 450 | @code{load-path} variable (@pxref{Lisp Libraries}). | ||
| 492 | @item EMACSPATH | 451 | @item EMACSPATH |
| 493 | A colon-separated list of directories to search for executable | 452 | A colon-separated list of directories to search for executable files. |
| 494 | files---used to initialize @code{exec-path}. | 453 | If set, Emacs uses this in addition to @env{PATH} (see below) when |
| 454 | initializing the variable @code{exec-path} (@pxref{Shell}). | ||
| 495 | @item EMAIL | 455 | @item EMAIL |
| 496 | @vindex user-mail-address@r{, initialization} | 456 | @vindex user-mail-address@r{, initialization} |
| 497 | Your email address; used to initialize the Lisp variable | 457 | Your email address; used to initialize the Lisp variable |
| 498 | @code{user-mail-address}, which the Emacs mail interface puts into | 458 | @code{user-mail-address}, which the Emacs mail interface puts into the |
| 499 | the @samp{From} header of outgoing messages (@pxref{Mail Headers}). | 459 | @samp{From} header of outgoing messages (@pxref{Mail Headers}). |
| 500 | @item ESHELL | 460 | @item ESHELL |
| 501 | Used for shell-mode to override the @env{SHELL} environment variable. | 461 | Used for shell-mode to override the @env{SHELL} environment variable |
| 462 | (@pxref{Interactive Shell}). | ||
| 502 | @item HISTFILE | 463 | @item HISTFILE |
| 503 | The name of the file that shell commands are saved in between logins. | 464 | The name of the file that shell commands are saved in between logins. |
| 504 | This variable defaults to @file{~/.bash_history} if you use Bash, to | 465 | This variable defaults to @file{~/.bash_history} if you use Bash, to |
| @@ -554,23 +515,28 @@ environment and coding system. @xref{Language Environments}. | |||
| 554 | The user's login name. See also @env{USER}. | 515 | The user's login name. See also @env{USER}. |
| 555 | @item MAIL | 516 | @item MAIL |
| 556 | The name of your system mail inbox. | 517 | The name of your system mail inbox. |
| 518 | @ifnottex | ||
| 557 | @item MH | 519 | @item MH |
| 558 | Name of setup file for the mh system. (The default is @file{~/.mh_profile}.) | 520 | Name of setup file for the mh system. @xref{Top,,MH-E,mh-e, The Emacs |
| 521 | Interface to MH}. | ||
| 522 | @end ifnottex | ||
| 559 | @item NAME | 523 | @item NAME |
| 560 | Your real-world name. | 524 | Your real-world name. This is used to initialize the variable |
| 525 | @code{user-full-name} (@pxref{Mail Headers}). | ||
| 561 | @item NNTPSERVER | 526 | @item NNTPSERVER |
| 562 | The name of the news server. Used by the mh and Gnus packages. | 527 | The name of the news server. Used by the mh and Gnus packages. |
| 563 | @item ORGANIZATION | 528 | @item ORGANIZATION |
| 564 | The name of the organization to which you belong. Used for setting the | 529 | The name of the organization to which you belong. Used for setting the |
| 565 | `Organization:' header in your posts from the Gnus package. | 530 | `Organization:' header in your posts from the Gnus package. |
| 566 | @item PATH | 531 | @item PATH |
| 567 | A colon-separated list of directories in which executables reside. This | 532 | A colon-separated list of directories containing executable files. |
| 568 | is used to initialize the Emacs Lisp variable @code{exec-path}. | 533 | This is used to initialize the variable @code{exec-path} |
| 534 | (@pxref{Shell}). | ||
| 569 | @item PWD | 535 | @item PWD |
| 570 | If set, this should be the default directory when Emacs was started. | 536 | If set, this should be the default directory when Emacs was started. |
| 571 | @item REPLYTO | 537 | @item REPLYTO |
| 572 | If set, this specifies an initial value for the variable | 538 | If set, this specifies an initial value for the variable |
| 573 | @code{mail-default-reply-to}. @xref{Mail Headers}. | 539 | @code{mail-default-reply-to} (@pxref{Mail Headers}). |
| 574 | @item SAVEDIR | 540 | @item SAVEDIR |
| 575 | The name of a directory in which news articles are saved by default. | 541 | The name of a directory in which news articles are saved by default. |
| 576 | Used by the Gnus package. | 542 | Used by the Gnus package. |
| @@ -578,23 +544,29 @@ Used by the Gnus package. | |||
| 578 | The name of an interpreter used to parse and execute programs run from | 544 | The name of an interpreter used to parse and execute programs run from |
| 579 | inside Emacs. | 545 | inside Emacs. |
| 580 | @item SMTPSERVER | 546 | @item SMTPSERVER |
| 581 | The name of the outgoing mail server. Used by the SMTP library | 547 | The name of the outgoing mail server. This is used to initialize the |
| 582 | (@pxref{Top,,,smtpmail,Sending mail via SMTP}). | 548 | variable @code{smtpmail-smtp-server} (@pxref{Mail Sending}). |
| 583 | @cindex background mode, on @command{xterm} | 549 | @cindex background mode, on @command{xterm} |
| 584 | @item TERM | 550 | @item TERM |
| 585 | The type of the terminal that Emacs is using. This variable must be | 551 | The type of the terminal that Emacs is using. This variable must be |
| 586 | set unless Emacs is run in batch mode. On MS-DOS, it defaults to | 552 | set unless Emacs is run in batch mode. On MS-DOS, it defaults to |
| 587 | @samp{internal}, which specifies a built-in terminal emulation that | 553 | @samp{internal}, which specifies a built-in terminal emulation that |
| 588 | handles the machine's own display. If the value of @env{TERM} indicates | 554 | handles the machine's own display. |
| 589 | that Emacs runs in non-windowed mode from @command{xterm} or a similar | ||
| 590 | terminal emulator, the background mode defaults to @samp{light}, and | ||
| 591 | Emacs will choose colors that are appropriate for a light background. | ||
| 592 | @item TERMCAP | 555 | @item TERMCAP |
| 593 | The name of the termcap library file describing how to program the | 556 | The name of the termcap library file describing how to program the |
| 594 | terminal specified by the @env{TERM} variable. This defaults to | 557 | terminal specified by @env{TERM}. This defaults to |
| 595 | @file{/etc/termcap}. | 558 | @file{/etc/termcap}. |
| 596 | @item TMPDIR | 559 | @item TMPDIR |
| 597 | Used by the Emerge package as a prefix for temporary files. | 560 | @itemx TMP |
| 561 | @itemx TEMP | ||
| 562 | These environment variables are used to initialize the variable | ||
| 563 | @code{temporary-file-directory}, which specifies a directory in which | ||
| 564 | to put temporary files (@pxref{Backup}). Emacs tries to use | ||
| 565 | @env{TMPDIR} first; if that is unset, it tries @env{TMP}, then | ||
| 566 | @env{TEMP}, and finally @file{/tmp}. But on MS-Windows and MS-DOS, | ||
| 567 | Emacs tries @env{TEMP}, then @env{TMPDIR}, then @env{TMP}, and finally | ||
| 568 | @file{c:/temp}. | ||
| 569 | |||
| 598 | @item TZ | 570 | @item TZ |
| 599 | This specifies the current time zone and possibly also daylight | 571 | This specifies the current time zone and possibly also daylight |
| 600 | saving time information. On MS-DOS, if @env{TZ} is not set in the | 572 | saving time information. On MS-DOS, if @env{TZ} is not set in the |
| @@ -624,11 +596,6 @@ variable. | |||
| 624 | On MS-DOS, this variable defaults to the value of the @env{USER} | 596 | On MS-DOS, this variable defaults to the value of the @env{USER} |
| 625 | variable. | 597 | variable. |
| 626 | 598 | ||
| 627 | @item TEMP | ||
| 628 | @itemx TMP | ||
| 629 | On MS-DOS and MS-Windows, these specify the name of the directory for | ||
| 630 | storing temporary files in. | ||
| 631 | |||
| 632 | @item EMACSTEST | 599 | @item EMACSTEST |
| 633 | On MS-DOS, this specifies a file to use to log the operation of the | 600 | On MS-DOS, this specifies a file to use to log the operation of the |
| 634 | internal terminal emulator. This feature is useful for submitting bug | 601 | internal terminal emulator. This feature is useful for submitting bug |
| @@ -710,27 +677,21 @@ of the settings which on X belong in the @file{.Xdefaults} file | |||
| 710 | @cindex display name (X Window System) | 677 | @cindex display name (X Window System) |
| 711 | @cindex @env{DISPLAY} environment variable | 678 | @cindex @env{DISPLAY} environment variable |
| 712 | 679 | ||
| 713 | The environment variable @env{DISPLAY} tells all X clients, including | 680 | The environment variable @env{DISPLAY} tells all X clients, |
| 714 | Emacs, where to display their windows. Its value is set by default | 681 | including Emacs, where to display their windows. Its value is set by |
| 715 | in ordinary circumstances, when you start an X server and run jobs | 682 | default in ordinary circumstances, when you start an X server and run |
| 716 | locally. Occasionally you may need to specify the display yourself; for | 683 | jobs locally. You can specify the display yourself; one reason to do |
| 717 | example, if you do a remote login and want to run a client program | 684 | this is if you want to log into another system and run Emacs there, |
| 718 | remotely, displaying on your local screen. | 685 | and have the window displayed at your local terminal. |
| 719 | |||
| 720 | With Emacs, the main reason people change the default display is to | ||
| 721 | let them log into another system, run Emacs on that system, but have the | ||
| 722 | window displayed at their local terminal. You might need to log in | ||
| 723 | to another system because the files you want to edit are there, or | ||
| 724 | because the Emacs executable file you want to run is there. | ||
| 725 | 686 | ||
| 726 | @env{DISPLAY} has the syntax | 687 | @env{DISPLAY} has the syntax |
| 727 | @samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the | 688 | @samp{@var{host}:@var{display}.@var{screen}}, where @var{host} is the |
| 728 | host name of the X Window System server machine, @var{display} is an | 689 | host name of the X Window System server machine, @var{display} is an |
| 729 | arbitrarily-assigned number that distinguishes your server (X | 690 | arbitrarily-assigned number that distinguishes your server (X |
| 730 | terminal) from other servers on the same machine, and @var{screen} is | 691 | terminal) from other servers on the same machine, and @var{screen} is |
| 731 | a rarely-used field that allows an X server to control multiple | 692 | a field that allows an X server to control multiple terminal screens. |
| 732 | terminal screens. The period and the @var{screen} field are optional. | 693 | The period and the @var{screen} field are optional. If included, |
| 733 | If included, @var{screen} is usually zero. | 694 | @var{screen} is usually zero. |
| 734 | 695 | ||
| 735 | For example, if your host is named @samp{glasperle} and your server is | 696 | For example, if your host is named @samp{glasperle} and your server is |
| 736 | the first (or perhaps the only) server listed in the configuration, your | 697 | the first (or perhaps the only) server listed in the configuration, your |
| @@ -744,9 +705,9 @@ by changing the @env{DISPLAY} variable, or with the option @samp{-d | |||
| 744 | emacs --display=glasperle:0 & | 705 | emacs --display=glasperle:0 & |
| 745 | @end smallexample | 706 | @end smallexample |
| 746 | 707 | ||
| 747 | You can inhibit the direct use of the window system and GUI with the | 708 | You can inhibit the use of the X window system with the @samp{-nw} |
| 748 | @samp{-nw} option. It tells Emacs to display using ordinary @acronym{ASCII} on | 709 | option. Then Emacs uses its controlling text terminal for display. |
| 749 | its controlling terminal. This is also an initial option. | 710 | @xref{Initial Options}. |
| 750 | 711 | ||
| 751 | Sometimes, security arrangements prevent a program on a remote system | 712 | Sometimes, security arrangements prevent a program on a remote system |
| 752 | from displaying on your local system. In this case, trying to run Emacs | 713 | from displaying on your local system. In this case, trying to run Emacs |
| @@ -778,17 +739,17 @@ font: | |||
| 778 | Use @var{font} as the default font. | 739 | Use @var{font} as the default font. |
| 779 | @end table | 740 | @end table |
| 780 | 741 | ||
| 781 | When passing a font specification to Emacs on the command line, you | 742 | When passing a font name to Emacs on the command line, you may need to |
| 782 | may need to ``quote'' it, by enclosing it in quotation marks, if it | 743 | ``quote'' it, by enclosing it in quotation marks, if it contains |
| 783 | contains characters that the shell treats specially (e.g.@: spaces). | 744 | characters that the shell treats specially (e.g.@: spaces). For |
| 784 | For example: | 745 | example: |
| 785 | 746 | ||
| 786 | @smallexample | 747 | @smallexample |
| 787 | emacs -fn "DejaVu Sans Mono-12" | 748 | emacs -fn "DejaVu Sans Mono-12" |
| 788 | @end smallexample | 749 | @end smallexample |
| 789 | 750 | ||
| 790 | @xref{Fonts}, for other ways to specify the default font and font name | 751 | @xref{Fonts}, for details about font names and other ways to specify |
| 791 | formats. | 752 | the default font. |
| 792 | 753 | ||
| 793 | @node Colors X | 754 | @node Colors X |
| 794 | @appendixsec Window Color Options | 755 | @appendixsec Window Color Options |
| @@ -819,7 +780,8 @@ Specify the background color, overriding the color specified by the | |||
| 819 | @itemx --border-color=@var{color} | 780 | @itemx --border-color=@var{color} |
| 820 | @opindex --border-color | 781 | @opindex --border-color |
| 821 | @cindex border color, command-line argument | 782 | @cindex border color, command-line argument |
| 822 | Specify the color of the border of the X window. | 783 | Specify the color of the border of the X window. This has no effect |
| 784 | if Emacs is compiled with GTK+ support. | ||
| 823 | @item -cr @var{color} | 785 | @item -cr @var{color} |
| 824 | @opindex -cr | 786 | @opindex -cr |
| 825 | @itemx --cursor-color=@var{color} | 787 | @itemx --cursor-color=@var{color} |
| @@ -844,11 +806,10 @@ Reverse video---swap the foreground and background colors. | |||
| 844 | @opindex --color | 806 | @opindex --color |
| 845 | @cindex standard colors on a character terminal | 807 | @cindex standard colors on a character terminal |
| 846 | @cindex override character terminal color support | 808 | @cindex override character terminal color support |
| 847 | For a character terminal only, specify the mode of color support. | 809 | Set the @dfn{color support mode} when Emacs is run on a text terminal. |
| 848 | This option is intended for overriding the number of supported colors | 810 | This option overrides the number of supported colors that the |
| 849 | that the character terminal advertises in its @code{termcap} or | 811 | character terminal advertises in its @code{termcap} or @code{terminfo} |
| 850 | @code{terminfo} database. The parameter @var{mode} can be one of the | 812 | database. The parameter @var{mode} can be one of the following: |
| 851 | following: | ||
| 852 | @table @samp | 813 | @table @samp |
| 853 | @item never | 814 | @item never |
| 854 | @itemx no | 815 | @itemx no |
| @@ -1090,7 +1051,7 @@ Start Emacs in an iconified (``minimized'') state. | |||
| 1090 | @itemx --no-bitmap-icon | 1051 | @itemx --no-bitmap-icon |
| 1091 | @opindex --no-bitmap-icon | 1052 | @opindex --no-bitmap-icon |
| 1092 | @cindex Emacs icon, a gnu | 1053 | @cindex Emacs icon, a gnu |
| 1093 | Do not display the Emacs icon. | 1054 | Disable the use of the Emacs icon. |
| 1094 | @end table | 1055 | @end table |
| 1095 | 1056 | ||
| 1096 | Most window managers allow you to ``iconify'' (or ``minimize'') an | 1057 | Most window managers allow you to ``iconify'' (or ``minimize'') an |
| @@ -1102,10 +1063,11 @@ The text frame doesn't appear until you deiconify (or ``un-minimize'') | |||
| 1102 | it. | 1063 | it. |
| 1103 | 1064 | ||
| 1104 | By default, Emacs uses an icon containing the Emacs logo. On | 1065 | By default, Emacs uses an icon containing the Emacs logo. On |
| 1105 | desktop environments such as Gnome, this icon is also displayed on the | 1066 | desktop environments such as Gnome, this icon is also displayed in |
| 1106 | ``taskbar''. The @samp{-nbi} or @samp{--no-bitmap-icon} option tells | 1067 | other contexts, e.g.@: when switching into an Emacs frame. The |
| 1107 | Emacs to let the window manager choose what sort of icon to | 1068 | @samp{-nbi} or @samp{--no-bitmap-icon} option tells Emacs to let the |
| 1108 | use---usually just a small rectangle containing the frame's title. | 1069 | window manager choose what sort of icon to use---usually just a small |
| 1070 | rectangle containing the frame's title. | ||
| 1109 | 1071 | ||
| 1110 | @node Misc X | 1072 | @node Misc X |
| 1111 | @appendixsec Other Display Options | 1073 | @appendixsec Other Display Options |
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index e7d58c32290..67feb791fe1 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -489,10 +489,20 @@ support a limited range of colors. | |||
| 489 | changes for future Emacs sessions. @xref{Face Customization}. A face | 489 | changes for future Emacs sessions. @xref{Face Customization}. A face |
| 490 | does not have to specify every single attribute; often it inherits | 490 | does not have to specify every single attribute; often it inherits |
| 491 | most attributes from another face. Any ultimately unspecified | 491 | most attributes from another face. Any ultimately unspecified |
| 492 | attribute is taken from a face named @code{default}, whose attributes | 492 | attribute is taken from the face named @code{default}. |
| 493 | are all specified. The @code{default} face is the default for | 493 | |
| 494 | displaying text, and its background color is also used as the frame's | 494 | The @code{default} face is the default for displaying text, and all |
| 495 | background color. | 495 | of its attributes are specified. Its background color is also used as |
| 496 | the frame's background color. | ||
| 497 | |||
| 498 | @cindex cursor face | ||
| 499 | Another special face is the @code{cursor} face. On graphical | ||
| 500 | displays, the background color of this face is used to draw the text | ||
| 501 | cursor. None of the other attributes of this face have any effect; | ||
| 502 | the foreground color for text under the cursor is taken from the | ||
| 503 | background color of the underlying text. On text terminals, the | ||
| 504 | appearance of the text cursor is determined by the terminal, not by | ||
| 505 | the @code{cursor} face. | ||
| 496 | 506 | ||
| 497 | You can also use X resources to specify attributes of any particular | 507 | You can also use X resources to specify attributes of any particular |
| 498 | face. @xref{Resources}. | 508 | face. @xref{Resources}. |
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index b8722e9f850..1f7fecb8b6a 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -210,7 +210,7 @@ Appendices | |||
| 210 | * GNU Free Documentation License:: The license for this documentation. | 210 | * GNU Free Documentation License:: The license for this documentation. |
| 211 | * Emacs Invocation:: Hairy startup options. | 211 | * Emacs Invocation:: Hairy startup options. |
| 212 | * X Resources:: X resources for customizing Emacs. | 212 | * X Resources:: X resources for customizing Emacs. |
| 213 | * Antinews:: Information about Emacs version 22. | 213 | * Antinews:: Information about Emacs version 23. |
| 214 | * Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep. | 214 | * Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep. |
| 215 | * Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. | 215 | * Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. |
| 216 | * Manifesto:: What's GNU? Gnu's Not Unix! | 216 | * Manifesto:: What's GNU? Gnu's Not Unix! |
| @@ -1104,7 +1104,6 @@ Command Line Arguments for Emacs Invocation | |||
| 1104 | and call functions. | 1104 | and call functions. |
| 1105 | * Initial Options:: Arguments that take effect while starting Emacs. | 1105 | * Initial Options:: Arguments that take effect while starting Emacs. |
| 1106 | * Command Example:: Examples of using command line arguments. | 1106 | * Command Example:: Examples of using command line arguments. |
| 1107 | * Resume Arguments:: Specifying arguments when you resume a running Emacs. | ||
| 1108 | * Environment:: Environment variables that Emacs uses. | 1107 | * Environment:: Environment variables that Emacs uses. |
| 1109 | * Display X:: Changing the default display and using remote login. | 1108 | * Display X:: Changing the default display and using remote login. |
| 1110 | * Font X:: Choosing a font for text, under X. | 1109 | * Font X:: Choosing a font for text, under X. |
| @@ -1125,15 +1124,15 @@ X Options and Resources | |||
| 1125 | 1124 | ||
| 1126 | * Resources:: Using X resources with Emacs (in general). | 1125 | * Resources:: Using X resources with Emacs (in general). |
| 1127 | * Table of Resources:: Table of specific X resources that affect Emacs. | 1126 | * Table of Resources:: Table of specific X resources that affect Emacs. |
| 1128 | * Face Resources:: X resources for customizing faces. | ||
| 1129 | * Lucid Resources:: X resources for Lucid menus. | 1127 | * Lucid Resources:: X resources for Lucid menus. |
| 1130 | * LessTif Resources:: X resources for LessTif and Motif menus. | 1128 | * LessTif Resources:: X resources for LessTif and Motif menus. |
| 1131 | * GTK resources:: Resources for GTK widgets. | 1129 | * GTK resources:: Resources for GTK widgets. |
| 1132 | 1130 | ||
| 1133 | GTK resources | 1131 | GTK resources |
| 1134 | 1132 | ||
| 1135 | * GTK widget names:: How widgets in GTK are named in general. | 1133 | * GTK Resource Basics:: Basic usage of GTK+ resources. |
| 1136 | * GTK Names in Emacs:: GTK widget names in Emacs. | 1134 | * GTK Widget Names:: How GTK+ widgets are named. |
| 1135 | * GTK Names in Emacs:: GTK+ widgets used by Emacs. | ||
| 1137 | * GTK styles:: What can be customized in a GTK widget. | 1136 | * GTK styles:: What can be customized in a GTK widget. |
| 1138 | 1137 | ||
| 1139 | Emacs and Mac OS / GNUstep | 1138 | Emacs and Mac OS / GNUstep |
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index a522e055d2b..77211a3d9ac 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi | |||
| @@ -1871,10 +1871,9 @@ Add each file name in @var{directory} and all of its nested | |||
| 1871 | subdirectories to the file name cache, using @command{locate} to find | 1871 | subdirectories to the file name cache, using @command{locate} to find |
| 1872 | them all. | 1872 | them all. |
| 1873 | @item M-x file-cache-add-directory-list @key{RET} @var{variable} @key{RET} | 1873 | @item M-x file-cache-add-directory-list @key{RET} @var{variable} @key{RET} |
| 1874 | Add each file name in each directory listed in @var{variable} | 1874 | Add each file name in each directory listed in @var{variable} to the |
| 1875 | to the file name cache. @var{variable} should be a Lisp variable | 1875 | file name cache. @var{variable} should be a Lisp variable whose value |
| 1876 | such as @code{load-path} or @code{exec-path}, whose value is a list | 1876 | is a list of directory names, like @code{load-path}. |
| 1877 | of directory names. | ||
| 1878 | @item M-x file-cache-clear-cache @key{RET} | 1877 | @item M-x file-cache-clear-cache @key{RET} |
| 1879 | Clear the cache; that is, remove all file names from it. | 1878 | Clear the cache; that is, remove all file names from it. |
| 1880 | @end table | 1879 | @end table |
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 69e141efb0f..93dd5e3b8ce 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi | |||
| @@ -465,6 +465,15 @@ then give commands interactively. Full terminal emulation is | |||
| 465 | available. | 465 | available. |
| 466 | @end table | 466 | @end table |
| 467 | 467 | ||
| 468 | @vindex exec-path | ||
| 469 | Whenever you specify a relative file name for an executable program | ||
| 470 | (either in the @var{cmd} argument to one of the above commands, or in | ||
| 471 | other contexts), Emacs searches for the program in the directories | ||
| 472 | specified by the variable @code{exec-path}. The value of this | ||
| 473 | variable must be a list of directory names; the default value is | ||
| 474 | initialized from the environment variable @env{PATH} when Emacs is | ||
| 475 | started (@pxref{General Variables}). | ||
| 476 | |||
| 468 | @kbd{M-x eshell} invokes a shell implemented entirely in Emacs. It | 477 | @kbd{M-x eshell} invokes a shell implemented entirely in Emacs. It |
| 469 | is documented in its own manual. | 478 | is documented in its own manual. |
| 470 | @ifnottex | 479 | @ifnottex |
| @@ -551,11 +560,8 @@ to @command{gpg}. This will output the list of keys to the | |||
| 551 | The above commands use the shell specified by the variable | 560 | The above commands use the shell specified by the variable |
| 552 | @code{shell-file-name}. Its default value is determined by the | 561 | @code{shell-file-name}. Its default value is determined by the |
| 553 | @env{SHELL} environment variable when Emacs is started. If the file | 562 | @env{SHELL} environment variable when Emacs is started. If the file |
| 554 | name is relative, Emacs searches the directories in the list | 563 | name is relative, Emacs searches the directories listed in |
| 555 | @code{exec-path}; this list is initialized based on the environment | 564 | @code{exec-path} (@pxref{Shell}). |
| 556 | variable @env{PATH} when Emacs is started. Your init file can | ||
| 557 | override either or both of these default initializations (@pxref{Init | ||
| 558 | File}). | ||
| 559 | 565 | ||
| 560 | To specify a coding system for @kbd{M-!} or @kbd{M-|}, use the command | 566 | To specify a coding system for @kbd{M-!} or @kbd{M-|}, use the command |
| 561 | @kbd{C-x @key{RET} c} immediately beforehand. @xref{Communication Coding}. | 567 | @kbd{C-x @key{RET} c} immediately beforehand. @xref{Communication Coding}. |
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index 9713b825ee8..be1c1f68c66 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi | |||
| @@ -1428,8 +1428,8 @@ This is equivalent to specifying the @samp{file} protocol: | |||
| 1428 | @code{movemail} to use. If that is a string, it specifies the | 1428 | @code{movemail} to use. If that is a string, it specifies the |
| 1429 | absolute file name of the @code{movemail} executable. If it is | 1429 | absolute file name of the @code{movemail} executable. If it is |
| 1430 | @code{nil}, Rmail searches for @code{movemail} in the directories | 1430 | @code{nil}, Rmail searches for @code{movemail} in the directories |
| 1431 | listed in @code{rmail-movemail-search-path} and @code{exec-path}, then | 1431 | listed in @code{rmail-movemail-search-path}, then in @code{exec-path} |
| 1432 | in @code{exec-directory}. | 1432 | (@pxref{Shell}), then in @code{exec-directory}. |
| 1433 | 1433 | ||
| 1434 | @node Remote Mailboxes | 1434 | @node Remote Mailboxes |
| 1435 | @section Retrieving Mail from Remote Mailboxes | 1435 | @section Retrieving Mail from Remote Mailboxes |
diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi index 7a4e4798061..66281d6dbbb 100644 --- a/doc/emacs/xresources.texi +++ b/doc/emacs/xresources.texi | |||
| @@ -6,31 +6,26 @@ | |||
| 6 | @appendix X Options and Resources | 6 | @appendix X Options and Resources |
| 7 | 7 | ||
| 8 | You can customize some X-related aspects of Emacs behavior using X | 8 | You can customize some X-related aspects of Emacs behavior using X |
| 9 | resources, as is usual for programs that use X. On MS-Windows, you | 9 | resources, as is usual for programs that use X. |
| 10 | can customize some of the same aspects using the system registry. | 10 | |
| 11 | @xref{MS-Windows Registry}. | 11 | When Emacs is compiled with GTK+ support, the appearance of various |
| 12 | 12 | graphical widgets, such as the menu-bar, scroll-bar, and dialog boxes, | |
| 13 | When Emacs is built using an ``X toolkit'', such as Lucid or | 13 | is determined by |
| 14 | LessTif, you need to use X resources to customize the appearance of | ||
| 15 | the widgets, including the menu-bar, scroll-bar, and dialog boxes. | ||
| 16 | This is because the libraries that implement these don't provide for | ||
| 17 | customization through Emacs. GTK+ widgets use a separate system of | ||
| 18 | @ifnottex | 14 | @ifnottex |
| 19 | ``GTK resources'', which we will also describe. | 15 | ``GTK resources'', which we will also describe. |
| 20 | @end ifnottex | 16 | @end ifnottex |
| 21 | @iftex | 17 | @iftex |
| 22 | ``GTK resources.'' In this chapter we describe the most commonly used | 18 | ``GTK resources''. |
| 23 | resource specifications. For full documentation, see the online | ||
| 24 | manual. | ||
| 25 | |||
| 26 | @c Add xref for LessTif/Motif menu resources. | ||
| 27 | @end iftex | 19 | @end iftex |
| 20 | When Emacs is built without GTK+ support, the appearance of these | ||
| 21 | widgets is determined by additional X resources. | ||
| 28 | 22 | ||
| 23 | On MS-Windows, you can customize some of the same aspects using the | ||
| 24 | system registry (@pxref{MS-Windows Registry}). | ||
| 29 | 25 | ||
| 30 | @menu | 26 | @menu |
| 31 | * Resources:: Using X resources with Emacs (in general). | 27 | * Resources:: Using X resources with Emacs (in general). |
| 32 | * Table of Resources:: Table of specific X resources that affect Emacs. | 28 | * Table of Resources:: Table of specific X resources that affect Emacs. |
| 33 | * Face Resources:: X resources for customizing faces. | ||
| 34 | * Lucid Resources:: X resources for Lucid menus. | 29 | * Lucid Resources:: X resources for Lucid menus. |
| 35 | * LessTif Resources:: X resources for LessTif and Motif menus. | 30 | * LessTif Resources:: X resources for LessTif and Motif menus. |
| 36 | * GTK resources:: Resources for GTK widgets. | 31 | * GTK resources:: Resources for GTK widgets. |
| @@ -63,60 +58,41 @@ settings in the Display Control Panel. You can also set resources | |||
| 63 | using the @samp{-xrm} command line option, as explained below.) | 58 | using the @samp{-xrm} command line option, as explained below.) |
| 64 | 59 | ||
| 65 | Each line in the X resource file specifies a value for one option or | 60 | Each line in the X resource file specifies a value for one option or |
| 66 | for a collection of related options. Each resource specification | 61 | for a collection of related options. The order in which the lines |
| 62 | appear in the file does not matter. Each resource specification | ||
| 67 | consists of a @dfn{program name} and a @dfn{resource name}. Case | 63 | consists of a @dfn{program name} and a @dfn{resource name}. Case |
| 68 | distinctions are significant in each of these names. Here is an | 64 | distinctions are significant in each of these names. Here is an |
| 69 | example: | 65 | example: |
| 70 | 66 | ||
| 71 | @example | 67 | @example |
| 72 | emacs.borderWidth: 2 | 68 | emacs.cursorColor: dark green |
| 73 | @end example | 69 | @end example |
| 74 | 70 | ||
| 75 | @ifnottex | ||
| 76 | The program name is the name of the executable file to which the | 71 | The program name is the name of the executable file to which the |
| 77 | resource applies. For Emacs, this is normally @samp{emacs}. To | 72 | resource applies. For Emacs, this is normally @samp{emacs}. To |
| 78 | specify a definition that applies to all instances of Emacs, | 73 | specify a definition that applies to all instances of Emacs, |
| 79 | regardless of the name of the Emacs executable, use @samp{Emacs}. | 74 | regardless of the name of the Emacs executable, use @samp{Emacs}. |
| 80 | 75 | ||
| 81 | The resource name is the name of a program setting. For instance, | 76 | The resource name is the name of a program setting. For instance, |
| 82 | Emacs recognizes a @samp{borderWidth} resource that controls the width | 77 | Emacs recognizes a @samp{cursorColor} resource that controls the color |
| 83 | of the external border for graphical frames. | 78 | of the text cursor. |
| 84 | 79 | ||
| 85 | Resources are grouped into named classes. For instance, the | 80 | Resources are grouped into named classes. For instance, the |
| 86 | @samp{BorderWidth} class contains both the @samp{borderWidth} resource | 81 | @samp{Foreground} class contains the @samp{cursorColor}, |
| 87 | (which we just described), as well as the @samp{internalBorder} | 82 | @samp{foreground} and @samp{pointerColor} resources (@pxref{Table of |
| 88 | resource, which controls the width of the internal border for | 83 | Resources}). Instead of using a resource name, you can use a class |
| 89 | graphical frames. Instead of using a resource name, you can use a | 84 | name to specify the default value for all resources in that class, |
| 90 | class name to specify the same value for all resources in that class. | 85 | like this: |
| 91 | Here's an example: | ||
| 92 | |||
| 93 | @example | ||
| 94 | emacs.BorderWidth: 2 | ||
| 95 | @end example | ||
| 96 | |||
| 97 | If you specify a value for a class, it becomes the default for all | ||
| 98 | resources in that class. You can specify values for individual | ||
| 99 | resources as well; these override the class value, for those | ||
| 100 | particular resources. The following example specifies 2 as the | ||
| 101 | default width for all borders, but overrides this value with 4 for the | ||
| 102 | external border: | ||
| 103 | 86 | ||
| 104 | @example | 87 | @example |
| 105 | emacs.BorderWidth: 2 | 88 | emacs.Foreground: dark green |
| 106 | emacs.borderWidth: 4 | ||
| 107 | @end example | 89 | @end example |
| 108 | @end ifnottex | ||
| 109 | |||
| 110 | The order in which the lines appear in the file does not matter. | ||
| 111 | One way to experiment with the effect of different resource settings | ||
| 112 | is to use the @code{editres} program. See the @code{editres} man page | ||
| 113 | for more details. | ||
| 114 | 90 | ||
| 115 | Emacs does not process X resources at all if you set the variable | 91 | Emacs does not process X resources at all if you set the variable |
| 116 | @code{inhibit-x-resources} to a non-@code{nil} value, or if you | 92 | @code{inhibit-x-resources} to a non-@code{nil} value. If you invoke |
| 117 | specify the @samp{-Q} (or @samp{--quick}) command-line argument | 93 | Emacs with the @samp{-Q} (or @samp{--quick}) command-line option, |
| 118 | (@pxref{Initial Options}). (The @samp{-Q} argument automatically sets | 94 | @code{inhibit-x-resources} is automatically set to @code{t} |
| 119 | @code{inhibit-x-resources} to @code{t}.) | 95 | (@pxref{Initial Options}). |
| 120 | 96 | ||
| 121 | @ifnottex | 97 | @ifnottex |
| 122 | In addition, you can use the following command-line options to | 98 | In addition, you can use the following command-line options to |
| @@ -162,98 +138,93 @@ other resource specifications. | |||
| 162 | @node Table of Resources | 138 | @node Table of Resources |
| 163 | @appendixsec Table of X Resources for Emacs | 139 | @appendixsec Table of X Resources for Emacs |
| 164 | 140 | ||
| 165 | This table lists the resource names that designate options for | 141 | This table lists the X resource names that Emacs recognizes, |
| 166 | Emacs, not counting those for the appearance of the menu bar, each | 142 | excluding those that control the appearance of graphical widgets like |
| 167 | with the class that it belongs to: | 143 | the menu bar: |
| 168 | 144 | ||
| 169 | @table @asis | 145 | @table @asis |
| 170 | @item @code{background} (class @code{Background}) | 146 | @item @code{background} (class @code{Background}) |
| 171 | Background color name. | 147 | Background color (@pxref{Colors}). |
| 172 | 148 | ||
| 173 | @item @code{bitmapIcon} (class @code{BitmapIcon}) | 149 | @item @code{bitmapIcon} (class @code{BitmapIcon}) |
| 174 | Tell the window manager to display the Emacs icon if @samp{on}; don't | 150 | Tell the window manager to display the Emacs icon if @samp{on}; don't |
| 175 | do so if @samp{off}. (The icon is usually shown in the ``taskbar'' on | 151 | do so if @samp{off}. @xref{Icons X}, for a description of the icon. |
| 176 | a graphical desktop.) | ||
| 177 | 152 | ||
| 153 | @ifnottex | ||
| 178 | @item @code{borderColor} (class @code{BorderColor}) | 154 | @item @code{borderColor} (class @code{BorderColor}) |
| 179 | Color name for the external border. | 155 | Color of the frame's external border. This has no effect if Emacs is |
| 156 | compiled with GTK+ support. | ||
| 180 | 157 | ||
| 181 | @ifnottex | ||
| 182 | @item @code{borderWidth} (class @code{BorderWidth}) | 158 | @item @code{borderWidth} (class @code{BorderWidth}) |
| 183 | Width in pixels of the external border. | 159 | Width of the frame's external border, in pixels. This has no effect |
| 160 | if Emacs is compiled with GTK+ support. | ||
| 184 | @end ifnottex | 161 | @end ifnottex |
| 185 | 162 | ||
| 186 | @item @code{cursorColor} (class @code{Foreground}) | 163 | @item @code{cursorColor} (class @code{Foreground}) |
| 187 | Color name for text cursor (point). | 164 | Text cursor color. If this resource is specified when Emacs starts |
| 165 | up, Emacs sets its value as the background color of the @code{cursor} | ||
| 166 | face (@pxref{Faces}). | ||
| 188 | 167 | ||
| 189 | @ifnottex | ||
| 190 | @item @code{cursorBlink} (class @code{CursorBlink}) | 168 | @item @code{cursorBlink} (class @code{CursorBlink}) |
| 191 | Specifies whether to make the cursor blink. The default is @samp{on}. Use | 169 | If the value of this resource is @samp{off} or @samp{false} or |
| 192 | @samp{off} or @samp{false} to turn cursor blinking off. | 170 | @samp{0} at startup, Emacs disables Blink Cursor mode (@pxref{Cursor |
| 193 | @end ifnottex | 171 | Display}). |
| 194 | 172 | ||
| 195 | @item @code{font} (class @code{Font}) | 173 | @item @code{font} (class @code{Font}) |
| 196 | Font name for the @code{default} font. @xref{Fonts}. You can also | 174 | Font name for the @code{default} face (@pxref{Fonts}). You can also |
| 197 | specify a fontset name (@pxref{Fontsets}). | 175 | specify a fontset name (@pxref{Fontsets}). |
| 198 | 176 | ||
| 199 | @item @code{fontBackend} (class @code{FontBackend}) | 177 | @item @code{fontBackend} (class @code{FontBackend}) |
| 200 | The backend(s) to use for drawing fonts; if multiple backends are | 178 | Comma-delimited list of backend(s) to use for drawing fonts, in order |
| 201 | specified, they must be comma-delimited and given in order of | 179 | of precedence. For instance, the value @samp{x,xft} tells Emacs to |
| 202 | precedence. On X, for instance, the value @samp{x,xft} tells Emacs to | ||
| 203 | draw fonts using the X core font driver, falling back on the Xft font | 180 | draw fonts using the X core font driver, falling back on the Xft font |
| 204 | driver if that fails. Normally, you can leave this resource unset, in | 181 | driver if that fails. Normally, you should leave this resource unset, |
| 205 | which case Emacs tries using all font backends available on your | 182 | in which case Emacs tries using all available font backends. |
| 206 | graphical device. | ||
| 207 | 183 | ||
| 208 | @item @code{foreground} (class @code{Foreground}) | 184 | @item @code{foreground} (class @code{Foreground}) |
| 209 | Color name for text. | 185 | Default foreground color for text. |
| 210 | 186 | ||
| 211 | @item @code{geometry} (class @code{Geometry}) | 187 | @item @code{geometry} (class @code{Geometry}) |
| 212 | Window size and position. Be careful not to specify this resource as | 188 | Window size and position. The value should be a size and position |
| 213 | @samp{emacs*geometry}, because that may affect individual menus as well | 189 | specification, of the same form as in the @samp{-g} or |
| 214 | as the Emacs frame itself. | 190 | @samp{--geometry} command-line option (@pxref{Window Size X}). |
| 215 | 191 | ||
| 216 | If this resource specifies a position, that position applies only to the | 192 | The size applies to all frames in the Emacs session, but the position |
| 217 | initial Emacs frame (or, in the case of a resource for a specific frame | 193 | applies only to the initial Emacs frame (or, in the case of a resource |
| 218 | name, only that frame). However, the size, if specified here, applies to | 194 | for a specific frame name, only that frame). |
| 219 | all frames. | 195 | |
| 196 | |||
| 197 | Be careful not to specify this resource as @samp{emacs*geometry}, as | ||
| 198 | that may affect individual menus as well as the main Emacs frame. | ||
| 220 | 199 | ||
| 221 | @ifnottex | ||
| 222 | @item @code{fullscreen} (class @code{Fullscreen}) | 200 | @item @code{fullscreen} (class @code{Fullscreen}) |
| 223 | The desired fullscreen size. The value can be one of @code{fullboth}, | 201 | The desired fullscreen size. The value can be one of @code{fullboth}, |
| 224 | @code{maximized}, @code{fullwidth} or @code{fullheight}, which correspond to | 202 | @code{maximized}, @code{fullwidth} or @code{fullheight}, which |
| 225 | the command-line options @samp{-fs}, @samp{-mm}, @samp{-fw}, and @samp{-fh} | 203 | correspond to the command-line options @samp{-fs}, @samp{-mm}, |
| 226 | (@pxref{Window Size X}). | 204 | @samp{-fw}, and @samp{-fh} (@pxref{Window Size X}). Note that this |
| 227 | 205 | applies to the initial frame only. | |
| 228 | Note that this applies to the initial frame only. | ||
| 229 | @end ifnottex | ||
| 230 | 206 | ||
| 207 | @ifnottex | ||
| 231 | @item @code{iconName} (class @code{Title}) | 208 | @item @code{iconName} (class @code{Title}) |
| 232 | Name to display in the icon. | 209 | Name to display in the icon. |
| 233 | 210 | ||
| 234 | @item @code{internalBorder} (class @code{BorderWidth}) | 211 | @item @code{internalBorder} (class @code{BorderWidth}) |
| 235 | Width in pixels of the internal border. | 212 | Width of the internal frame border, in pixels. |
| 213 | @end ifnottex | ||
| 236 | 214 | ||
| 237 | @item @code{lineSpacing} (class @code{LineSpacing}) | 215 | @item @code{lineSpacing} (class @code{LineSpacing}) |
| 238 | @cindex line spacing | 216 | @cindex line spacing |
| 239 | @cindex leading | 217 | Additional space between lines, in pixels. |
| 240 | Additional space (@dfn{leading}) between lines, in pixels. | ||
| 241 | 218 | ||
| 242 | @item @code{menuBar} (class @code{MenuBar}) | 219 | @item @code{menuBar} (class @code{MenuBar}) |
| 243 | @cindex menu bar | 220 | @cindex menu bar |
| 244 | Give frames menu bars if @samp{on}; don't have menu bars if @samp{off}. | 221 | If the value of this resource is @samp{off} or @samp{false} or |
| 245 | @ifnottex | 222 | @samp{0}, Emacs disables Menu Bar mode at startup (@pxref{Menu Bars}). |
| 246 | @xref{Lucid Resources}, and @ref{LessTif Resources}, | ||
| 247 | @end ifnottex | ||
| 248 | @iftex | ||
| 249 | @xref{Lucid Resources}, | ||
| 250 | @end iftex | ||
| 251 | for how to control the appearance of the menu bar if you have one. | ||
| 252 | 223 | ||
| 253 | @ifnottex | 224 | @ifnottex |
| 254 | @item @code{minibuffer} (class @code{Minibuffer}) | 225 | @item @code{minibuffer} (class @code{Minibuffer}) |
| 255 | If @samp{none}, don't make a minibuffer in this frame. | 226 | If @samp{none}, Emacs will not make a minibuffer in this frame; it |
| 256 | It will use a separate minibuffer frame instead. | 227 | will use a separate minibuffer frame instead. |
| 257 | 228 | ||
| 258 | @item @code{paneFont} (class @code{Font}) | 229 | @item @code{paneFont} (class @code{Font}) |
| 259 | @cindex font for menus | 230 | @cindex font for menus |
| @@ -261,7 +232,9 @@ Font name for menu pane titles, in non-toolkit versions of Emacs. | |||
| 261 | @end ifnottex | 232 | @end ifnottex |
| 262 | 233 | ||
| 263 | @item @code{pointerColor} (class @code{Foreground}) | 234 | @item @code{pointerColor} (class @code{Foreground}) |
| 264 | Color of the mouse cursor. | 235 | Color of the mouse cursor. This has no effect in many graphical |
| 236 | desktop environments, as they do not let Emacs change the mouse cursor | ||
| 237 | this way. | ||
| 265 | 238 | ||
| 266 | @ifnottex | 239 | @ifnottex |
| 267 | @item @code{privateColormap} (class @code{PrivateColormap}) | 240 | @item @code{privateColormap} (class @code{PrivateColormap}) |
| @@ -271,7 +244,6 @@ visual'' of class PseudoColor and Emacs is using it. | |||
| 271 | @item @code{reverseVideo} (class @code{ReverseVideo}) | 244 | @item @code{reverseVideo} (class @code{ReverseVideo}) |
| 272 | Switch foreground and background default colors if @samp{on}, use colors as | 245 | Switch foreground and background default colors if @samp{on}, use colors as |
| 273 | specified if @samp{off}. | 246 | specified if @samp{off}. |
| 274 | @end ifnottex | ||
| 275 | 247 | ||
| 276 | @item @code{screenGamma} (class @code{ScreenGamma}) | 248 | @item @code{screenGamma} (class @code{ScreenGamma}) |
| 277 | @cindex gamma correction | 249 | @cindex gamma correction |
| @@ -281,7 +253,9 @@ Gamma correction for colors, equivalent to the frame parameter | |||
| 281 | @item @code{scrollBarWidth} (class @code{ScrollBarWidth}) | 253 | @item @code{scrollBarWidth} (class @code{ScrollBarWidth}) |
| 282 | @cindex scrollbar width | 254 | @cindex scrollbar width |
| 283 | The scroll bar width in pixels, equivalent to the frame parameter | 255 | The scroll bar width in pixels, equivalent to the frame parameter |
| 284 | @code{scroll-bar-width}. | 256 | @code{scroll-bar-width}. Do not set this resource if Emacs is |
| 257 | compiled with GTK+ support. | ||
| 258 | @end ifnottex | ||
| 285 | 259 | ||
| 286 | @ifnottex | 260 | @ifnottex |
| 287 | @item @code{selectionFont} (class @code{SelectionFont}) | 261 | @item @code{selectionFont} (class @code{SelectionFont}) |
| @@ -306,24 +280,16 @@ Name to display in the title bar of the initial Emacs frame. | |||
| 306 | 280 | ||
| 307 | @item @code{toolBar} (class @code{ToolBar}) | 281 | @item @code{toolBar} (class @code{ToolBar}) |
| 308 | @cindex tool bar | 282 | @cindex tool bar |
| 309 | Number of lines to reserve for the tool bar. A zero value suppresses | 283 | If the value of this resource is @samp{off} or @samp{false} or |
| 310 | the tool bar. For the Emacs tool bar (i.e.@: not Gtk+), if the value | 284 | @samp{0}, Emacs disables Tool Bar mode at startup (@pxref{Tool Bars}). |
| 311 | is non-zero and @code{auto-resize-tool-bars} is non-@code{nil}, the | ||
| 312 | tool bar's size will be changed automatically so that all tool bar | ||
| 313 | items are visible. If the value of @code{auto-resize-tool-bars} is | ||
| 314 | @code{grow-only}, the tool bar expands automatically, but does not | ||
| 315 | contract automatically. To contract the tool bar, you must redraw the | ||
| 316 | frame by entering @kbd{C-l}. For the Gtk+ tool bar, any non-zero | ||
| 317 | value means on and @code{auto-resize-tool-bars} has no effect. | ||
| 318 | 285 | ||
| 319 | @item @code{useXIM} (class @code{UseXIM}) | 286 | @item @code{useXIM} (class @code{UseXIM}) |
| 320 | @cindex XIM | 287 | @cindex XIM |
| 321 | @cindex X input methods | 288 | @cindex X input methods |
| 322 | @cindex input methods, X | 289 | @cindex input methods, X |
| 323 | Turn off use of X input methods (XIM) if @samp{false} or @samp{off}. | 290 | Disable use of X input methods (XIM) if @samp{false} or @samp{off}. |
| 324 | This is only relevant if your Emacs is actually built with XIM | 291 | This is only relevant if your Emacs is built with XIM support. It |
| 325 | support. It is potentially useful to turn off XIM for efficiency, | 292 | might be useful to turn off XIM on slow X client/server links. |
| 326 | especially slow X client/server links. | ||
| 327 | 293 | ||
| 328 | @item @code{verticalScrollBars} (class @code{ScrollBars}) | 294 | @item @code{verticalScrollBars} (class @code{ScrollBars}) |
| 329 | Give frames scroll bars if @samp{on}; don't have scroll bars if | 295 | Give frames scroll bars if @samp{on}; don't have scroll bars if |
| @@ -331,143 +297,51 @@ Give frames scroll bars if @samp{on}; don't have scroll bars if | |||
| 331 | 297 | ||
| 332 | @ifnottex | 298 | @ifnottex |
| 333 | @item @code{visualClass} (class @code{VisualClass}) | 299 | @item @code{visualClass} (class @code{VisualClass}) |
| 334 | Specify the ``visual'' that X should use. This tells X how to handle | 300 | The @dfn{visual class} for X color display. If specified, the value |
| 335 | colors. | 301 | should start with one of @samp{TrueColor}, @samp{PseudoColor}, |
| 336 | 302 | @samp{DirectColor}, @samp{StaticColor}, @samp{GrayScale}, and | |
| 337 | The value should start with one of @samp{TrueColor}, | 303 | @samp{StaticGray}, followed by @samp{-@var{depth}}, where @var{depth} |
| 338 | @samp{PseudoColor}, @samp{DirectColor}, @samp{StaticColor}, | 304 | is the number of color planes. |
| 339 | @samp{GrayScale}, and @samp{StaticGray}, followed by | ||
| 340 | @samp{-@var{depth}}, where @var{depth} is the number of color planes. | ||
| 341 | Most terminals only allow a few ``visuals,'' and the @samp{dpyinfo} | ||
| 342 | program outputs information saying which ones. | ||
| 343 | @end ifnottex | 305 | @end ifnottex |
| 344 | @end table | 306 | @end table |
| 345 | 307 | ||
| 346 | @node Face Resources | 308 | You can also use X resources to customize individual Emacs faces |
| 347 | @appendixsec X Resources for Faces | 309 | (@pxref{Faces}). For example, setting the resource |
| 348 | 310 | @samp{@var{face}.attributeForeground} is equivalent to customizing the | |
| 349 | You can use resources to customize the appearance of particular | 311 | @samp{foreground} attribute of the face @var{face}. However, we |
| 350 | faces (@pxref{Faces}): | 312 | recommend customizing faces from within Emacs, instead of using X |
| 351 | 313 | resources. @xref{Face Customization}. | |
| 352 | @table @code | ||
| 353 | @item @var{face}.attributeForeground | ||
| 354 | Foreground color for face @var{face}. | ||
| 355 | @item @var{face}.attributeBackground | ||
| 356 | Background color for face @var{face}. | ||
| 357 | @item @var{face}.attributeUnderline | ||
| 358 | Underline flag for face @var{face}. Use @samp{on} or @samp{true} for | ||
| 359 | yes. | ||
| 360 | @item @var{face}.attributeStrikeThrough | ||
| 361 | @itemx @var{face}.attributeOverline | ||
| 362 | @itemx @var{face}.attributeBox | ||
| 363 | @itemx @var{face}.attributeInverse | ||
| 364 | Likewise, for other boolean font attributes. | ||
| 365 | @item @var{face}.attributeStipple | ||
| 366 | The name of a pixmap data file to use for the stipple pattern, or | ||
| 367 | @code{false} to not use stipple for the face @var{face}. | ||
| 368 | @item @var{face}.attributeBackgroundPixmap | ||
| 369 | The background pixmap for the face @var{face}. Should be a name of a | ||
| 370 | pixmap file or @code{false}. | ||
| 371 | @item @var{face}.attributeFont | ||
| 372 | Font name (full XFD name or valid X abbreviation) for face @var{face}. | ||
| 373 | Instead of this, you can specify the font through separate attributes. | ||
| 374 | @end table | ||
| 375 | |||
| 376 | Instead of using @code{attributeFont} to specify a font name, you can | ||
| 377 | select a font through these separate attributes: | ||
| 378 | |||
| 379 | @table @code | ||
| 380 | @item @var{face}.attributeFamily | ||
| 381 | Font family for face @var{face}. | ||
| 382 | @item @var{face}.attributeHeight | ||
| 383 | Height of the font to use for face @var{face}: either an integer | ||
| 384 | specifying the height in units of 1/10@dmn{pt}, or a floating point | ||
| 385 | number that specifies a scale factor to scale the underlying face's | ||
| 386 | default font, or a function to be called with the default height which | ||
| 387 | will return a new height. | ||
| 388 | @item @var{face}.attributeWidth | ||
| 389 | @itemx @var{face}.attributeWeight | ||
| 390 | @itemx @var{face}.attributeSlant | ||
| 391 | Each of these resources corresponds to a like-named font attribute, | ||
| 392 | and you write the resource value the same as the symbol you would use | ||
| 393 | for the font attribute value. | ||
| 394 | @item @var{face}.attributeBold | ||
| 395 | Bold flag for face @var{face}---instead of @code{attributeWeight}. Use @samp{on} or @samp{true} for | ||
| 396 | yes. | ||
| 397 | @item @var{face}.attributeItalic | ||
| 398 | Italic flag for face @var{face}---instead of @code{attributeSlant}. | ||
| 399 | @end table | ||
| 400 | 314 | ||
| 315 | @ifnottex | ||
| 401 | @node Lucid Resources | 316 | @node Lucid Resources |
| 402 | @appendixsec Lucid Menu And Dialog X Resources | 317 | @appendixsec Lucid Menu And Dialog X Resources |
| 403 | @cindex Menu X Resources (Lucid widgets) | 318 | @cindex Menu X Resources (Lucid widgets) |
| 404 | @cindex Dialog X Resources (Lucid widgets) | 319 | @cindex Dialog X Resources (Lucid widgets) |
| 405 | @cindex Lucid Widget X Resources | 320 | @cindex Lucid Widget X Resources |
| 406 | 321 | ||
| 407 | @ifnottex | 322 | If Emacs is compiled with the X toolkit support using Lucid widgets, |
| 408 | If the Emacs installed at your site was built to use the X toolkit | 323 | you can use X resources to customize the appearance of the menu bar, |
| 409 | with the Lucid menu widgets, then the menu bar is a separate widget and | 324 | pop-up menus, and dialog boxes. The resources for the menu bar fall |
| 410 | has its own resources. The resource names contain @samp{pane.menubar} | 325 | in the @samp{pane.menubar} class (following, as always, either the |
| 411 | (following, as always, the name of the Emacs invocation, or @samp{Emacs}, | 326 | name of the Emacs executable or @samp{Emacs} for all Emacs |
| 412 | which stands for all Emacs invocations). Specify them like this: | 327 | invocations). The resources for the pop-up menu are in the |
| 413 | 328 | @samp{menu*} class. The resources for dialog boxes are in the | |
| 414 | @example | 329 | @samp{dialog*} class. |
| 415 | Emacs.pane.menubar.@var{resource}: @var{value} | ||
| 416 | @end example | ||
| 417 | |||
| 418 | @noindent | ||
| 419 | For example, to specify the font @samp{Courier-12} for the menu-bar items, | ||
| 420 | write this: | ||
| 421 | @end ifnottex | ||
| 422 | @iftex | ||
| 423 | If the Emacs installed at your site was built to use the X toolkit | ||
| 424 | with the Lucid menu widgets, then the menu bar is a separate widget | ||
| 425 | and has its own resources. The resource specifications start with | ||
| 426 | @samp{Emacs.pane.menubar}---for instance, to specify the font | ||
| 427 | @samp{Courier-12} for the menu-bar items, write this: | ||
| 428 | @end iftex | ||
| 429 | 330 | ||
| 430 | @example | 331 | For example, to display menu bar entries with the @samp{Courier-12} |
| 431 | Emacs.pane.menubar.font: Courier-12 | 332 | font (@pxref{Fonts}), write this: |
| 432 | @end example | ||
| 433 | |||
| 434 | @noindent | ||
| 435 | To specify a font, use fontconfig font names as values to the @code{font} | ||
| 436 | resource, or old style names: | ||
| 437 | 333 | ||
| 438 | @example | 334 | @example |
| 439 | Emacs.pane.menubar.font: lucidasanstypewriter-10 | 335 | Emacs.pane.menubar.font: Courier-12 |
| 440 | @end example | 336 | @end example |
| 441 | 337 | ||
| 442 | @noindent | 338 | @noindent |
| 443 | Emacs first tries to open the font as an old style font, and if that fails | 339 | Lucid widgets can display multilingual text in your locale. To enable |
| 444 | as an fontconfig font. In rare cases, Emacs might do the wrong thing. | 340 | this, specify a @code{fontSet} resource instead of a @code{font} |
| 445 | 341 | resource. @xref{Fontsets}. If both @code{font} and @code{fontSet} | |
| 446 | @noindent | 342 | resources are specified, the @code{fontSet} resource is used. |
| 447 | The Lucid menus can display multilingual text in your locale with old style | ||
| 448 | fonts. For more information about fontsets see the man page for | ||
| 449 | @code{XCreateFontSet}. To enable multilingual menu text you specify a | ||
| 450 | @code{fontSet} resource instead of the font resource. If both | ||
| 451 | @code{font} and @code{fontSet} resources are specified, the | ||
| 452 | @code{fontSet} resource is used. | ||
| 453 | 343 | ||
| 454 | @noindent | 344 | Here is a list of resources for menu bars, pop-up menus, and dialogs: |
| 455 | Resources for @emph{non-menubar} toolkit pop-up menus have | ||
| 456 | @samp{menu*} instead of @samp{pane.menubar}. For example, to specify | ||
| 457 | the font @samp{8x16} for the pop-up menu items, write this: | ||
| 458 | |||
| 459 | @example | ||
| 460 | Emacs.menu*.font: 8x16 | ||
| 461 | @end example | ||
| 462 | |||
| 463 | @noindent | ||
| 464 | For dialog boxes, use @samp{dialog*}: | ||
| 465 | |||
| 466 | @example | ||
| 467 | Emacs.dialog*.font: Sans-12 | ||
| 468 | @end example | ||
| 469 | |||
| 470 | Here is a list of the specific resources for menu bars and pop-up menus: | ||
| 471 | 345 | ||
| 472 | @table @code | 346 | @table @code |
| 473 | @item font | 347 | @item font |
| @@ -475,11 +349,11 @@ Font for menu item text. | |||
| 475 | @item fontSet | 349 | @item fontSet |
| 476 | Fontset for menu item text. | 350 | Fontset for menu item text. |
| 477 | @item foreground | 351 | @item foreground |
| 478 | Color of the foreground. | 352 | Foreground color. |
| 479 | @item background | 353 | @item background |
| 480 | Color of the background. | 354 | Background color. |
| 481 | @item buttonForeground | 355 | @item buttonForeground |
| 482 | In the menu bar, the color of the foreground for a selected item. | 356 | Foreground color for a selected item. |
| 483 | @ifnottex | 357 | @ifnottex |
| 484 | @item horizontalSpacing | 358 | @item horizontalSpacing |
| 485 | Horizontal spacing in pixels between items. Default is 3. | 359 | Horizontal spacing in pixels between items. Default is 3. |
| @@ -489,59 +363,51 @@ Vertical spacing in pixels between items. Default is 2. | |||
| 489 | Horizontal spacing between the arrow (which indicates a submenu) and | 363 | Horizontal spacing between the arrow (which indicates a submenu) and |
| 490 | the associated text. Default is 10. | 364 | the associated text. Default is 10. |
| 491 | @item shadowThickness | 365 | @item shadowThickness |
| 492 | Thickness of shadow line around the widget. Default is 1. | 366 | Thickness of shadow lines for 3D buttons, arrows, and other graphical |
| 493 | 367 | elements. Default is 1. | |
| 494 | Also determines the thickness of shadow lines around other objects, | ||
| 495 | for instance 3D buttons and arrows. If you have the impression that | ||
| 496 | the arrows in the menus do not stand out clearly enough or that the | ||
| 497 | difference between ``in'' and ``out'' buttons is difficult to see, set | ||
| 498 | this to 2. If you have no problems with visibility, the default | ||
| 499 | probably looks better. The background color may also have some effect | ||
| 500 | on the contrast. | ||
| 501 | @end ifnottex | 368 | @end ifnottex |
| 502 | @item margin | 369 | @item margin |
| 503 | The margin of the menu bar, in characters. Default is 1. | 370 | Margin of the menu bar, in characters. Default is 1. |
| 504 | @end table | 371 | @end table |
| 505 | 372 | ||
| 506 | @ifnottex | ||
| 507 | @node LessTif Resources | 373 | @node LessTif Resources |
| 508 | @appendixsec LessTif Menu X Resources | 374 | @appendixsec LessTif Menu X Resources |
| 509 | @cindex Menu X Resources (LessTif widgets) | 375 | @cindex Menu X Resources (LessTif widgets) |
| 510 | @cindex LessTif Widget X Resources | 376 | @cindex LessTif Widget X Resources |
| 511 | 377 | ||
| 512 | If the Emacs installed at your site was built to use the X toolkit | 378 | If Emacs is compiled with the X toolkit support using LessTif or |
| 513 | with the LessTif or Motif widgets, then the menu bar, the dialog | 379 | Motif widgets, you can use X resources to customize the appearance of |
| 514 | boxes, the pop-up menus, and the file-selection box are separate | 380 | the menu bar, pop-up menus, and dialog boxes. However, the resources |
| 515 | widgets and have their own resources. | 381 | are organized differently from Lucid widgets. |
| 516 | 382 | ||
| 517 | The resource names for the menu bar contain @samp{pane.menubar} | 383 | The resource names for the menu bar are in the @samp{pane.menubar} |
| 518 | (following, as always, the name of the Emacs invocation, or | 384 | class, and they must be specified in this form: |
| 519 | @samp{Emacs}, which stands for all Emacs invocations). Specify them | ||
| 520 | like this: | ||
| 521 | 385 | ||
| 522 | @smallexample | 386 | @smallexample |
| 523 | Emacs.pane.menubar.@var{subwidget}.@var{resource}: @var{value} | 387 | Emacs.pane.menubar.@var{subwidget}.@var{resource}: @var{value} |
| 524 | @end smallexample | 388 | @end smallexample |
| 525 | 389 | ||
| 526 | Each individual string in the menu bar is a subwidget; the subwidget's | 390 | @noindent |
| 527 | name is the same as the menu item string. For example, the word | 391 | For pop-up menus, the resources are in the @samp{menu*} class, instead |
| 528 | @samp{File} in the menu bar is part of a subwidget named | 392 | of @samp{pane.menubar}. For dialog boxes, they are in @samp{dialog}. |
| 529 | @samp{emacs.pane.menubar.File}. Most likely, you want to specify the | 393 | In each case, each individual menu string is a subwidget; the |
| 530 | same resources for the whole menu bar. To do this, use @samp{*} instead | 394 | subwidget's name is the same as the menu item string. For example, |
| 531 | of a specific subwidget name. For example, to specify the font | 395 | the @samp{File} menu in the menu bar is a subwidget named |
| 532 | @samp{8x16} for the menu-bar items, write this: | 396 | @samp{emacs.pane.menubar.File}. |
| 397 | |||
| 398 | Typically, you want to specify the same resources for the whole menu | ||
| 399 | bar. To do this, use @samp{*} instead of a specific subwidget name. | ||
| 400 | For example, to specify the font @samp{8x16} for all menu bar items, | ||
| 401 | including submenus, write this: | ||
| 533 | 402 | ||
| 534 | @smallexample | 403 | @smallexample |
| 535 | Emacs.pane.menubar.*.fontList: 8x16 | 404 | Emacs.pane.menubar.*.fontList: 8x16 |
| 536 | @end smallexample | 405 | @end smallexample |
| 537 | 406 | ||
| 538 | @noindent | 407 | Each item in a submenu also has its own name for X resources; for |
| 539 | This also specifies the resource value for submenus. | 408 | example, the @samp{File} submenu has an item named @samp{Save (current |
| 540 | 409 | buffer)}. A resource specification for a submenu item looks like | |
| 541 | Each item in a submenu in the menu bar also has its own name for X | 410 | this: |
| 542 | resources; for example, the @samp{File} submenu has an item named | ||
| 543 | @samp{Save (current buffer)}. A resource specification for a submenu | ||
| 544 | item looks like this: | ||
| 545 | 411 | ||
| 546 | @smallexample | 412 | @smallexample |
| 547 | Emacs.pane.menubar.popup_*.@var{menu}.@var{item}.@var{resource}: @var{value} | 413 | Emacs.pane.menubar.popup_*.@var{menu}.@var{item}.@var{resource}: @var{value} |
| @@ -574,46 +440,23 @@ Emacs.pane.menubar.popup_*.popup_*.Spell Checking.Complete Word: @var{value} | |||
| 574 | @noindent | 440 | @noindent |
| 575 | (This should be one long line.) | 441 | (This should be one long line.) |
| 576 | 442 | ||
| 577 | It's impossible to specify a resource for all the menu-bar items | 443 | If you want the submenu items to look different from the menu bar |
| 578 | without also specifying it for the submenus as well. So if you want the | 444 | itself, you must first specify the resource for all of them, then |
| 579 | submenu items to look different from the menu bar itself, you must ask | 445 | override the value for submenus alone. Here is an example: |
| 580 | for that in two steps. First, specify the resource for all of them; | ||
| 581 | then, override the value for submenus alone. Here is an example: | ||
| 582 | 446 | ||
| 583 | @smallexample | 447 | @smallexample |
| 584 | Emacs.pane.menubar.*.fontList: 8x16 | 448 | Emacs.pane.menubar.*.fontList: 8x16 |
| 585 | Emacs.pane.menubar.popup_*.fontList: 8x16 | 449 | Emacs.pane.menubar.popup_*.fontList: 8x16 |
| 586 | @end smallexample | 450 | @end smallexample |
| 587 | 451 | ||
| 588 | @noindent | 452 | To specify resources for the LessTif file-selection box, use |
| 589 | For LessTif pop-up menus, use @samp{menu*} instead of | ||
| 590 | @samp{pane.menubar}. For example, to specify the font @samp{8x16} for | ||
| 591 | the pop-up menu items, write this: | ||
| 592 | |||
| 593 | @smallexample | ||
| 594 | Emacs.menu*.fontList: 8x16 | ||
| 595 | @end smallexample | ||
| 596 | |||
| 597 | @noindent | ||
| 598 | For LessTif dialog boxes, use @samp{dialog} instead of @samp{menu}: | ||
| 599 | |||
| 600 | @example | ||
| 601 | Emacs.dialog*.fontList: 8x16 | ||
| 602 | Emacs.dialog*.foreground: hotpink | ||
| 603 | @end example | ||
| 604 | |||
| 605 | To specify resources for the LessTif file-selection box, use | ||
| 606 | @samp{fsb*}, like this: | 453 | @samp{fsb*}, like this: |
| 607 | 454 | ||
| 608 | @example | 455 | @example |
| 609 | Emacs.fsb*.fontList: 8x16 | 456 | Emacs.fsb*.fontList: 8x16 |
| 610 | @end example | 457 | @end example |
| 611 | 458 | ||
| 612 | @iftex | 459 | Here is a list of resources for LessTif menu bars and pop-up menus: |
| 613 | @medbreak | ||
| 614 | @end iftex | ||
| 615 | Here is a list of the specific resources for LessTif menu bars and | ||
| 616 | pop-up menus: | ||
| 617 | 460 | ||
| 618 | @table @code | 461 | @table @code |
| 619 | @item armColor | 462 | @item armColor |
| @@ -638,128 +481,92 @@ The color for the border shadow, on the top and the left. | |||
| 638 | @end table | 481 | @end table |
| 639 | @end ifnottex | 482 | @end ifnottex |
| 640 | 483 | ||
| 641 | |||
| 642 | @node GTK resources | 484 | @node GTK resources |
| 643 | @appendixsec GTK resources | 485 | @appendixsec GTK resources |
| 644 | @iftex | 486 | @cindex GTK+ resources |
| 645 | The most common way to customize the GTK widgets Emacs uses (menus, | 487 | @cindex resource files for GTK |
| 646 | dialogs tool bars and scroll bars) is by choosing an appropriate | 488 | @cindex @file{~/.gtkrc-2.0} file |
| 647 | theme, for example with the GNOME theme selector. | 489 | @cindex @file{~/.emacs.d/gtkrc} file |
| 648 | |||
| 649 | You can also do Emacs specific customization by inserting GTK style | ||
| 650 | directives in the file @file{~/.emacs.d/gtkrc}, but only if you have a | ||
| 651 | Gtk+ version earlier than 3 (i.e.@: 2). Some GTK themes ignore | ||
| 652 | customizations in @file{~/.emacs.d/gtkrc} so not everything works with | ||
| 653 | all themes. To customize Emacs font, background, faces, etc., use the | ||
| 654 | normal X resources (@pxref{Resources}). We will present some examples | ||
| 655 | of customizations here, but for a more detailed description, see the | ||
| 656 | online manual | ||
| 657 | |||
| 658 | The first example is just one line. It changes the font on all GTK widgets | ||
| 659 | to courier with size 12: | ||
| 660 | |||
| 661 | @smallexample | ||
| 662 | gtk-font-name = "courier 12" | ||
| 663 | @end smallexample | ||
| 664 | |||
| 665 | The thing to note is that the font name is not an X font name, but a | ||
| 666 | Pango font name. A Pango font name is basically of the format "family | ||
| 667 | style size", where the style is optional as in the case above. A name | ||
| 668 | with a style could be for example: | ||
| 669 | 490 | ||
| 670 | @smallexample | 491 | If Emacs is compiled with GTK+ toolkit support, the simplest way to |
| 671 | gtk-font-name = "helvetica bold 10" | 492 | customize its GTK+ widgets (e.g.@: menus, dialogs, tool bars and |
| 672 | @end smallexample | 493 | scroll bars) is to choose an appropriate GTK+ theme, for example with |
| 494 | the GNOME theme selector. | ||
| 495 | |||
| 496 | In GTK+ version 2, you can also use @dfn{GTK+ resources} to | ||
| 497 | customize the appearance of GTK+ widgets used by Emacs. These | ||
| 498 | resources are specified in either the file @file{~/.emacs.d/gtkrc} | ||
| 499 | (for Emacs-specific GTK+ resources), or @file{~/.gtkrc-2.0} (for | ||
| 500 | general GTK+ resources). We recommend using @file{~/.emacs.d/gtkrc}, | ||
| 501 | since GTK+ seems to ignore @file{~/.gtkrc-2.0} when running GConf with | ||
| 502 | GNOME. Note, however, that some GTK themes may override | ||
| 503 | customizations in @file{~/.emacs.d/gtkrc}; there is nothing we can do | ||
| 504 | about this. GTK+ resources do not affect aspects of Emacs unrelated | ||
| 505 | to GTK+ widgets, such as fonts and colors in the main Emacs window; | ||
| 506 | those are governed by normal X resources (@pxref{Resources}). | ||
| 507 | |||
| 508 | The following sections describe how to customize GTK+ resources for | ||
| 509 | Emacs. For details about GTK+ resources, see the GTK+ API document at | ||
| 510 | @uref{http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html}. | ||
| 673 | 511 | ||
| 674 | To customize widgets you first define a style and then apply the style to | 512 | In GTK+ version 3, GTK+ resources have been replaced by a completely |
| 675 | the widgets. Here is an example that sets the font for menus, but not | 513 | different system. The appearance of GTK+ widgets is now determined by |
| 676 | for other widgets: | 514 | CSS-like style files: @file{gtk-3.0/gtk.css} in the GTK+ installation |
| 515 | directory, and @file{~/.themes/@var{theme}/gtk-3.0/gtk.css} for local | ||
| 516 | style settings (where @var{theme} is the name of the current GTK+ | ||
| 517 | theme). Therefore, the description of GTK+ resources in this section | ||
| 518 | does not apply to GTK+ 3. For details about the GTK+ 3 styling | ||
| 519 | system, see | ||
| 520 | @uref{http://developer.gnome.org/gtk3/3.0/GtkCssProvider.html}. | ||
| 677 | 521 | ||
| 678 | @smallexample | 522 | @menu |
| 679 | # @r{Define the style @samp{menufont}.} | 523 | * GTK Resource Basics:: Basic usage of GTK+ resources. |
| 680 | style "menufont" | 524 | * GTK Widget Names:: How GTK+ widgets are named. |
| 681 | @{ | 525 | * GTK Names in Emacs:: GTK widgets used by Emacs. |
| 682 | font_name = "helvetica bold 14" # This is a Pango font name | 526 | * GTK styles:: What can be customized in a GTK widget. |
| 683 | @} | 527 | @end menu |
| 684 | 528 | ||
| 685 | # @r{Specify that widget type @samp{*emacs-menuitem*} uses @samp{menufont}.} | 529 | @node GTK Resource Basics |
| 686 | widget "*emacs-menuitem*" style "menufont" | 530 | @appendixsubsec GTK Resource Basics |
| 687 | @end smallexample | ||
| 688 | 531 | ||
| 689 | The widget name in this example contains wildcards, so the style will be | 532 | In a GTK+ 2 resource file (usually @file{~/.emacs.d/gtkrc}), the |
| 690 | applied to all widgets that match "*emacs-menuitem*". The widgets are | 533 | simplest kinds of resource settings simply assign a value to a |
| 691 | named by the way they are contained, from the outer widget to the inner widget. | 534 | variable. For example, putting the following line in the resource |
| 692 | So to apply the style "my_style" (not shown) with the full, absolute name, for | 535 | file changes the font on all GTK+ widgets to @samp{courier-12}: |
| 693 | the menubar and the scroll bar in Emacs we use: | ||
| 694 | 536 | ||
| 695 | @smallexample | 537 | @smallexample |
| 696 | widget "Emacs.pane.menubar" style "my_style" | 538 | gtk-font-name = "courier 12" |
| 697 | widget "Emacs.pane.emacs.verticalScrollBar" style "my_style" | ||
| 698 | @end smallexample | 539 | @end smallexample |
| 699 | 540 | ||
| 700 | But to avoid having to type it all, wildcards are often used. @samp{*} | 541 | @noindent |
| 701 | matches zero or more characters and @samp{?} matches one character. So "*" | 542 | Note that in this case the font name must be supplied as a GTK font |
| 702 | matches all widgets. | 543 | pattern (also called a @dfn{Pango font name}), not as a |
| 544 | Fontconfig-style font name or XLFD. @xref{Fonts}. | ||
| 703 | 545 | ||
| 704 | Each widget has a class (for example GtkMenuItem) and a name (emacs-menuitem). | 546 | To customize widgets you first define a @dfn{style}, and then apply |
| 705 | You can assign styles by name or by class. In this example we have used the | 547 | the style to the widgets. Here is an example that sets the font for |
| 706 | class: | 548 | menus (@samp{#} characters indicate comments): |
| 707 | 549 | ||
| 708 | @smallexample | 550 | @smallexample |
| 709 | style "menufont" | 551 | # @r{Define the style @samp{my_style}.} |
| 552 | style "my_style" | ||
| 710 | @{ | 553 | @{ |
| 711 | font_name = "helvetica bold 14" | 554 | font_name = "helvetica bold 14" |
| 712 | @} | 555 | @} |
| 713 | 556 | ||
| 714 | widget_class "*GtkMenuBar" style "menufont" | 557 | # @r{Specify that widget type @samp{*emacs-menuitem*} uses @samp{my_style}.} |
| 558 | widget "*emacs-menuitem*" style "my_style" | ||
| 715 | @end smallexample | 559 | @end smallexample |
| 716 | 560 | ||
| 717 | @noindent | 561 | @noindent |
| 718 | The names and classes for the GTK widgets Emacs uses are: | 562 | The widget name in this example contains wildcards, so the style is |
| 719 | 563 | applied to all widgets matching @samp{*emacs-menuitem*}. The widgets | |
| 720 | @multitable {@code{verticalScrollbar plus}} {@code{GtkFileSelection} and some} | 564 | are named by the way they are contained, from the outer widget to the |
| 721 | @item @code{emacs-filedialog} | 565 | inner widget. Here is another example that applies @samp{my_style} |
| 722 | @tab @code{GtkFileSelection} | 566 | specifically to the Emacs menu bar: |
| 723 | @item @code{emacs-dialog} | ||
| 724 | @tab @code{GtkDialog} | ||
| 725 | @item @code{Emacs} | ||
| 726 | @tab @code{GtkWindow} | ||
| 727 | @item @code{pane} | ||
| 728 | @tab @code{GtkVHbox} | ||
| 729 | @item @code{emacs} | ||
| 730 | @tab @code{GtkFixed} | ||
| 731 | @item @code{verticalScrollBar} | ||
| 732 | @tab @code{GtkVScrollbar} | ||
| 733 | @item @code{emacs-toolbar} | ||
| 734 | @tab @code{GtkToolbar} | ||
| 735 | @item @code{menubar} | ||
| 736 | @tab @code{GtkMenuBar} | ||
| 737 | @item @code{emacs-menuitem} | ||
| 738 | @tab anything in menus | ||
| 739 | @end multitable | ||
| 740 | |||
| 741 | GTK absolute names are quite strange when it comes to menus | ||
| 742 | and dialogs. The names do not start with @samp{Emacs}, as they are | ||
| 743 | free-standing windows and not contained (in the GTK sense) by the | ||
| 744 | Emacs GtkWindow. To customize the dialogs and menus, use wildcards like this: | ||
| 745 | |||
| 746 | @smallexample | ||
| 747 | widget "*emacs-dialog*" style "my_dialog_style" | ||
| 748 | widget "*emacs-filedialog* style "my_file_style" | ||
| 749 | widget "*emacs-menuitem* style "my_menu_style" | ||
| 750 | @end smallexample | ||
| 751 | |||
| 752 | If you specify a customization in @file{~/.emacs.d/gtkrc}, then it | ||
| 753 | automatically applies only to Emacs, since other programs don't read | ||
| 754 | that file. For example, the drop down menu in the file dialog can not | ||
| 755 | be customized by any absolute widget name, only by an absolute class | ||
| 756 | name. This is because the widgets in the drop down menu do not | ||
| 757 | have names and the menu is not contained in the Emacs GtkWindow. To | ||
| 758 | have all menus in Emacs look the same, use this in | ||
| 759 | @file{~/.emacs.d/gtkrc}: | ||
| 760 | 567 | ||
| 761 | @smallexample | 568 | @smallexample |
| 762 | widget_class "*Menu*" style "my_menu_style" | 569 | widget "Emacs.pane.menubar.*" style "my_style" |
| 763 | @end smallexample | 570 | @end smallexample |
| 764 | 571 | ||
| 765 | Here is a more elaborate example, showing how to change the parts of | 572 | Here is a more elaborate example, showing how to change the parts of |
| @@ -768,97 +575,24 @@ the scroll bar: | |||
| 768 | @smallexample | 575 | @smallexample |
| 769 | style "scroll" | 576 | style "scroll" |
| 770 | @{ | 577 | @{ |
| 771 | fg[NORMAL] = "red"@ @ @ @ @ # @r{The arrow color.} | 578 | fg[NORMAL] = "red"@ @ @ @ @ # @r{Arrow color.} |
| 772 | bg[NORMAL] = "yellow"@ @ # @r{The thumb and background around the arrow.} | 579 | bg[NORMAL] = "yellow"@ @ # @r{Thumb and background around arrow.} |
| 773 | bg[ACTIVE] = "blue"@ @ @ @ # @r{The trough color.} | 580 | bg[ACTIVE] = "blue"@ @ @ @ # @r{Trough color.} |
| 774 | bg[PRELIGHT] = "white"@ # @r{The thumb color when the mouse is over it.} | 581 | bg[PRELIGHT] = "white"@ # @r{Thumb color when the mouse is over it.} |
| 775 | @} | 582 | @} |
| 776 | 583 | ||
| 777 | widget "*verticalScrollBar*" style "scroll" | 584 | widget "*verticalScrollBar*" style "scroll" |
| 778 | @end smallexample | 585 | @end smallexample |
| 779 | @end iftex | ||
| 780 | |||
| 781 | @ifnottex | ||
| 782 | @cindex GTK resources and customization | ||
| 783 | @cindex resource files for GTK | ||
| 784 | @cindex @file{~/.gtkrc-2.0} file | ||
| 785 | @cindex @file{~/.emacs.d/gtkrc} file | ||
| 786 | |||
| 787 | If Emacs was built to use the GTK widget set, then the menu bar, tool bar, | ||
| 788 | scroll bar and the dialogs are customized with the standard GTK | ||
| 789 | customization file, @file{~/.gtkrc-2.0}, or with the Emacs specific | ||
| 790 | file @file{~/.emacs.d/gtkrc}. We recommend that you use | ||
| 791 | @file{~/.emacs.d/gtkrc} for customizations, since @file{~/.gtkrc-2.0} | ||
| 792 | seems to be ignored when running GConf with GNOME. These files apply | ||
| 793 | only to GTK widget features. To customize Emacs font, background, | ||
| 794 | faces, etc., use the normal X resources (@pxref{Resources}). | ||
| 795 | |||
| 796 | Some GTK themes override these mechanisms, which means that using | ||
| 797 | these mechanisms will not work to customize them. | ||
| 798 | |||
| 799 | In these files you first define a style and say what it means; then | ||
| 800 | you specify to apply the style to various widget types (@pxref{GTK | ||
| 801 | widget names}). Here is an example of how to change the font for | ||
| 802 | Emacs menus: | ||
| 803 | |||
| 804 | @smallexample | ||
| 805 | # @r{Define the style @samp{menufont}.} | ||
| 806 | style "menufont" | ||
| 807 | @{ | ||
| 808 | font_name = "helvetica bold 14" # This is a Pango font name | ||
| 809 | @} | ||
| 810 | |||
| 811 | # @r{Specify that widget type @samp{*emacs-menuitem*} uses @samp{menufont}.} | ||
| 812 | widget "*emacs-menuitem*" style "menufont" | ||
| 813 | @end smallexample | ||
| 814 | |||
| 815 | Here is a more elaborate example, showing how to change the parts of | ||
| 816 | the scroll bar: | ||
| 817 | |||
| 818 | @smallexample | ||
| 819 | style "scroll" | ||
| 820 | @{ | ||
| 821 | fg[NORMAL] = "red"@ @ @ @ @ # @r{The arrow color.} | ||
| 822 | bg[NORMAL] = "yellow"@ @ # @r{The thumb and background around the arrow.} | ||
| 823 | bg[ACTIVE] = "blue"@ @ @ @ # @r{The trough color.} | ||
| 824 | bg[PRELIGHT] = "white"@ # @r{The thumb color when the mouse is over it.} | ||
| 825 | @} | ||
| 826 | 586 | ||
| 827 | widget "*verticalScrollBar*" style "scroll" | 587 | @node GTK Widget Names |
| 828 | @end smallexample | ||
| 829 | |||
| 830 | There are also parameters that affect GTK as a whole. For example, | ||
| 831 | the property @code{gtk-font-name} sets the default font for GTK. You | ||
| 832 | must use Pango font names (@pxref{GTK styles}). A GTK resources file | ||
| 833 | that just sets a default font looks like this: | ||
| 834 | |||
| 835 | @smallexample | ||
| 836 | gtk-font-name = "courier 12" | ||
| 837 | @end smallexample | ||
| 838 | |||
| 839 | The GTK resources file is fully described in the GTK API document. | ||
| 840 | This can be found in | ||
| 841 | @file{@var{prefix}/share/gtk-doc/html/gtk/gtk-resource-files.html}, | ||
| 842 | where @file{prefix} is the directory in which the GTK libraries were | ||
| 843 | installed (usually @file{/usr} or @file{/usr/local}). You can also | ||
| 844 | find the document online, at | ||
| 845 | @uref{http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html}. | ||
| 846 | |||
| 847 | @menu | ||
| 848 | * GTK widget names:: How widgets in GTK are named in general. | ||
| 849 | * GTK Names in Emacs:: GTK widget names in Emacs. | ||
| 850 | * GTK styles:: What can be customized in a GTK widget. | ||
| 851 | @end menu | ||
| 852 | |||
| 853 | @node GTK widget names | ||
| 854 | @appendixsubsec GTK widget names | 588 | @appendixsubsec GTK widget names |
| 855 | @cindex GTK widget names | 589 | @cindex GTK widget names |
| 856 | 590 | ||
| 857 | A GTK widget is specified by its @dfn{widget class} and | 591 | A GTK+ widget is specified by a @dfn{widget name} and a @dfn{widget |
| 858 | @dfn{widget name}. The widget class is the type of the widget: for | 592 | class}. The widget name refers to a specific widget |
| 859 | example, @code{GtkMenuBar}. The widget name is the name given to a | 593 | (e.g.@: @samp{emacs-menuitem}), while the widget class refers to a |
| 860 | specific widget. A widget always has a class, but need not have a | 594 | collection of similar widgets (e.g.@: @samp{GtkMenuItem}). A widget |
| 861 | name. | 595 | always has a class, but need not have a name. |
| 862 | 596 | ||
| 863 | @dfn{Absolute names} are sequences of widget names or widget | 597 | @dfn{Absolute names} are sequences of widget names or widget |
| 864 | classes, corresponding to hierarchies of widgets embedded within | 598 | classes, corresponding to hierarchies of widgets embedded within |
| @@ -868,55 +602,31 @@ a @code{GtkMenuBar} called @code{menubar}, the absolute class name | |||
| 868 | of the menu-bar widget is @code{GtkWindow.GtkVBox.GtkMenuBar}, and | 602 | of the menu-bar widget is @code{GtkWindow.GtkVBox.GtkMenuBar}, and |
| 869 | its absolute widget name is @code{top.box.menubar}. | 603 | its absolute widget name is @code{top.box.menubar}. |
| 870 | 604 | ||
| 871 | When assigning a style to a widget, you can use the absolute class | 605 | GTK+ resource files can contain two types of commands for specifying |
| 872 | name or the absolute widget name. | 606 | widget appearances: |
| 873 | |||
| 874 | There are two commands to specify changes for widgets: | ||
| 875 | 607 | ||
| 876 | @table @asis | 608 | @table @code |
| 877 | @item @code{widget_class} | 609 | @item widget |
| 878 | specifies a style for widgets based on the absolute class name. | 610 | specifies a style for widgets based on the class name, or just the |
| 611 | class. | ||
| 879 | 612 | ||
| 880 | @item @code{widget} | 613 | @item widget_class |
| 881 | specifies a style for widgets based on the absolute class name, | 614 | specifies a style for widgets based on the class name. |
| 882 | or just the class. | ||
| 883 | @end table | 615 | @end table |
| 884 | 616 | ||
| 885 | @noindent | 617 | @noindent |
| 886 | You must specify the class and the style in double-quotes, and put | 618 | See the previous subsection for examples of using the @code{widget} |
| 887 | these commands at the top level in the GTK customization file, like | 619 | command; the @code{widget_class} command is used similarly. Note that |
| 888 | this: | 620 | the widget name/class and the style must be enclosed in double-quotes, |
| 621 | and these commands must be at the top level in the GTK+ resource file. | ||
| 889 | 622 | ||
| 890 | @smallexample | 623 | As previously noted, you may specify a widget name or class with |
| 891 | style "menufont" | 624 | shell wildcard syntax: @samp{*} matches zero or more characters and |
| 892 | @{ | 625 | @samp{?} matches one character. This example assigns a style to all |
| 893 | font_name = "helvetica bold 14" | 626 | widgets: |
| 894 | @} | ||
| 895 | |||
| 896 | widget "top.box.menubar" style "menufont" | ||
| 897 | widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "menufont" | ||
| 898 | @end smallexample | ||
| 899 | |||
| 900 | Matching of absolute names uses shell wildcard syntax: @samp{*} | ||
| 901 | matches zero or more characters and @samp{?} matches one character. | ||
| 902 | This example assigns @code{base_style} to all widgets: | ||
| 903 | 627 | ||
| 904 | @smallexample | 628 | @smallexample |
| 905 | widget "*" style "base_style" | 629 | widget "*" style "my_style" |
| 906 | @end smallexample | ||
| 907 | |||
| 908 | Given the absolute class name @code{GtkWindow.GtkVBox.GtkMenuBar} | ||
| 909 | and the corresponding absolute widget name @code{top.box.menubar}, all | ||
| 910 | these examples specify @code{my_style} for the menu bar: | ||
| 911 | |||
| 912 | @smallexample | ||
| 913 | widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style" | ||
| 914 | widget_class "GtkWindow.*.GtkMenuBar" style "my_style" | ||
| 915 | widget_class "*GtkMenuBar" style "my_style" | ||
| 916 | widget "top.box.menubar" style "my_style" | ||
| 917 | widget "*box*menubar" style "my_style" | ||
| 918 | widget "*menubar" style "my_style" | ||
| 919 | widget "*menu*" style "my_style" | ||
| 920 | @end smallexample | 630 | @end smallexample |
| 921 | 631 | ||
| 922 | @node GTK Names in Emacs | 632 | @node GTK Names in Emacs |
| @@ -924,68 +634,52 @@ widget "*menu*" style "my_style" | |||
| 924 | @cindex GTK widget names | 634 | @cindex GTK widget names |
| 925 | @cindex GTK widget classes | 635 | @cindex GTK widget classes |
| 926 | 636 | ||
| 927 | In Emacs, the top level widget for a frame is a @code{GtkWindow} | 637 | The GTK+ widgets used by an Emacs frame are listed below: |
| 928 | that contains a @code{GtkVBox}. The @code{GtkVBox} contains the | ||
| 929 | @code{GtkMenuBar} and a @code{GtkFixed} widget. The vertical scroll | ||
| 930 | bars, @code{GtkVScrollbar}, are contained in the @code{GtkFixed} | ||
| 931 | widget. The text you write in Emacs is drawn in the @code{GtkFixed} | ||
| 932 | widget. | ||
| 933 | 638 | ||
| 934 | Dialogs in Emacs are @code{GtkDialog} widgets. The file dialog is a | 639 | @table @asis |
| 935 | @code{GtkFileSelection} widget. | 640 | @item @code{Emacs} (class @code{GtkWindow}) |
| 641 | @table @asis | ||
| 642 | @item @code{pane} (class @code{GtkVBox}) | ||
| 643 | @table @asis | ||
| 644 | @item @code{menubar} (class @code{GtkMenuBar}) | ||
| 645 | @table @asis | ||
| 646 | @item [menu item widgets] | ||
| 647 | @end table | ||
| 648 | @item [unnamed widget] (class @code{GtkHandleBox}) | ||
| 649 | @table @asis | ||
| 650 | @item @code{emacs-toolbar} (class @code{GtkToolbar}) | ||
| 651 | @table @asis | ||
| 652 | @item [tool bar item widgets] | ||
| 653 | @end table | ||
| 654 | @end table | ||
| 655 | @item @code{emacs} (class @code{GtkFixed}) | ||
| 656 | @table @asis | ||
| 657 | @item @code{verticalScrollBar} (class @code{GtkVScrollbar}) | ||
| 658 | @end table | ||
| 659 | @end table | ||
| 660 | @end table | ||
| 661 | @end table | ||
| 936 | 662 | ||
| 937 | @noindent | 663 | @noindent |
| 938 | To set a style for the menu bar using the absolute class name, use: | 664 | The contents of Emacs windows are drawn in the @code{emacs} widget. |
| 665 | Note that even if there are multiple Emacs windows, each scroll bar | ||
| 666 | widget is named @code{verticalScrollBar}. | ||
| 939 | 667 | ||
| 940 | @smallexample | 668 | For example, here are two different ways to set the menu bar style: |
| 941 | widget_class "GtkWindow.GtkVBox.GtkMenuBar" style "my_style" | ||
| 942 | @end smallexample | ||
| 943 | |||
| 944 | @noindent | ||
| 945 | For the scroll bar, the absolute class name is: | ||
| 946 | 669 | ||
| 947 | @smallexample | 670 | @smallexample |
| 948 | widget_class | 671 | widget "Emacs.pane.menubar.*" style "my_style" |
| 949 | "GtkWindow.GtkVBox.GtkFixed.GtkVScrollbar" | 672 | widget_class "GtkWindow.GtkVBox.GtkMenuBar.*" style "my_style" |
| 950 | style "my_style" | ||
| 951 | @end smallexample | 673 | @end smallexample |
| 952 | 674 | ||
| 953 | @noindent | 675 | For GTK+ dialogs, Emacs uses a widget named @code{emacs-dialog}, of |
| 954 | The names for the emacs widgets, and their classes, are: | 676 | class @code{GtkDialog}. For file selection, Emacs uses a widget named |
| 955 | 677 | @code{emacs-filedialog}, of class @code{GtkFileSelection}. | |
| 956 | @multitable {@code{verticalScrollbar plus}} {@code{GtkFileSelection} and some} | ||
| 957 | @item @code{emacs-filedialog} | ||
| 958 | @tab @code{GtkFileSelection} | ||
| 959 | @item @code{emacs-dialog} | ||
| 960 | @tab @code{GtkDialog} | ||
| 961 | @item @code{Emacs} | ||
| 962 | @tab @code{GtkWindow} | ||
| 963 | @item @code{pane} | ||
| 964 | @tab @code{GtkVHbox} | ||
| 965 | @item @code{emacs} | ||
| 966 | @tab @code{GtkFixed} | ||
| 967 | @item @code{verticalScrollBar} | ||
| 968 | @tab @code{GtkVScrollbar} | ||
| 969 | @item @code{emacs-toolbar} | ||
| 970 | @tab @code{GtkToolbar} | ||
| 971 | @item @code{menubar} | ||
| 972 | @tab @code{GtkMenuBar} | ||
| 973 | @item @code{emacs-menuitem} | ||
| 974 | @tab anything in menus | ||
| 975 | @end multitable | ||
| 976 | |||
| 977 | @noindent | ||
| 978 | Thus, for Emacs you can write the two examples above as: | ||
| 979 | |||
| 980 | @smallexample | ||
| 981 | widget "Emacs.pane.menubar" style "my_style" | ||
| 982 | widget "Emacs.pane.emacs.verticalScrollBar" style "my_style" | ||
| 983 | @end smallexample | ||
| 984 | 678 | ||
| 985 | GTK absolute names are quite strange when it comes to menus | 679 | Because the widgets for pop-up menus and dialogs are free-standing |
| 986 | and dialogs. The names do not start with @samp{Emacs}, as they are | 680 | windows and not ``contained'' in the @code{Emacs} widget, their GTK+ |
| 987 | free-standing windows and not contained (in the GTK sense) by the | 681 | absolute names do not start with @samp{Emacs}. To customize these |
| 988 | Emacs GtkWindow. To customize the dialogs and menus, use wildcards like this: | 682 | widgets, use wildcards like this: |
| 989 | 683 | ||
| 990 | @smallexample | 684 | @smallexample |
| 991 | widget "*emacs-dialog*" style "my_dialog_style" | 685 | widget "*emacs-dialog*" style "my_dialog_style" |
| @@ -993,14 +687,7 @@ widget "*emacs-filedialog* style "my_file_style" | |||
| 993 | widget "*emacs-menuitem* style "my_menu_style" | 687 | widget "*emacs-menuitem* style "my_menu_style" |
| 994 | @end smallexample | 688 | @end smallexample |
| 995 | 689 | ||
| 996 | If you specify a customization in @file{~/.emacs.d/gtkrc}, then it | 690 | If you want to apply a style to all menus in Emacs, use this: |
| 997 | automatically applies only to Emacs, since other programs don't read | ||
| 998 | that file. For example, the drop down menu in the file dialog can not | ||
| 999 | be customized by any absolute widget name, only by an absolute class | ||
| 1000 | name. This is because the widgets in the drop down menu do not | ||
| 1001 | have names and the menu is not contained in the Emacs GtkWindow. To | ||
| 1002 | have all menus in Emacs look the same, use this in | ||
| 1003 | @file{~/.emacs.d/gtkrc}: | ||
| 1004 | 691 | ||
| 1005 | @smallexample | 692 | @smallexample |
| 1006 | widget_class "*Menu*" style "my_menu_style" | 693 | widget_class "*Menu*" style "my_menu_style" |
| @@ -1010,15 +697,7 @@ widget_class "*Menu*" style "my_menu_style" | |||
| 1010 | @appendixsubsec GTK styles | 697 | @appendixsubsec GTK styles |
| 1011 | @cindex GTK styles | 698 | @cindex GTK styles |
| 1012 | 699 | ||
| 1013 | In a GTK style you specify the appearance widgets shall have. You | 700 | Here is an example of two GTK+ style declarations: |
| 1014 | can specify foreground and background color, background pixmap and | ||
| 1015 | font. The edit widget (where you edit the text) in Emacs is a GTK | ||
| 1016 | widget, but trying to specify a style for the edit widget will have no | ||
| 1017 | effect. This is so that Emacs compiled for GTK is compatible with | ||
| 1018 | Emacs compiled for other X toolkits. The settings for foreground, | ||
| 1019 | background and font for the edit widget is taken from the X resources; | ||
| 1020 | @pxref{Resources}. Here is an example of two style declarations, | ||
| 1021 | @samp{default} and @samp{ruler}: | ||
| 1022 | 701 | ||
| 1023 | @smallexample | 702 | @smallexample |
| 1024 | pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps" | 703 | pixmap_path "/usr/share/pixmaps:/usr/include/X11/pixmaps" |
| @@ -1128,9 +807,8 @@ text fields in the file dialog. | |||
| 1128 | 807 | ||
| 1129 | @item font_name = "@var{font}" | 808 | @item font_name = "@var{font}" |
| 1130 | This specifies the font for text in the widget. @var{font} is a | 809 | This specifies the font for text in the widget. @var{font} is a |
| 1131 | Pango font name, for example @samp{Sans Italic 10}, @samp{Helvetica | 810 | GTK-style (or Pango) font name, like @samp{Sans Italic 10}. |
| 1132 | Bold 12}, @samp{Courier 14}, @samp{Times 18}. See below for exact | 811 | @xref{Fonts}. The names are case insensitive. |
| 1133 | syntax. The names are case insensitive. | ||
| 1134 | @end table | 812 | @end table |
| 1135 | 813 | ||
| 1136 | There are three ways to specify a color: a color name, an RGB | 814 | There are three ways to specify a color: a color name, an RGB |
| @@ -1138,60 +816,6 @@ triplet, or a GTK-style RGB triplet. @xref{Colors}, for a description | |||
| 1138 | of color names and RGB triplets. Color names should be enclosed with | 816 | of color names and RGB triplets. Color names should be enclosed with |
| 1139 | double quotes, e.g.@: @samp{"red"}. RGB triplets should be written | 817 | double quotes, e.g.@: @samp{"red"}. RGB triplets should be written |
| 1140 | without double quotes, e.g.@: @samp{#ff0000}. GTK-style RGB triplets | 818 | without double quotes, e.g.@: @samp{#ff0000}. GTK-style RGB triplets |
| 1141 | have the form | 819 | have the form @w{@code{@{ @var{r}, @var{g}, @var{b} @}}}, where |
| 1142 | 820 | @var{r}, @var{g} and @var{b} are either integers in the range 0-65535 | |
| 1143 | @smallexample | 821 | or floats in the range 0.0-1.0. |
| 1144 | @code{@{ @var{r}, @var{g}, @var{b} @}} | ||
| 1145 | @end smallexample | ||
| 1146 | |||
| 1147 | @noindent | ||
| 1148 | where @var{r}, @var{g} and @var{b} are either integers in the range | ||
| 1149 | 0-65535 or floats in the range 0.0-1.0. | ||
| 1150 | |||
| 1151 | Pango font names have the form ``@var{family-list} @var{style-options} | ||
| 1152 | @var{size}.'' | ||
| 1153 | @cindex Pango font name | ||
| 1154 | @noindent | ||
| 1155 | @var{family-list} is a comma separated list of font families optionally | ||
| 1156 | terminated by a comma. This way you can specify several families and the | ||
| 1157 | first one found will be used. @var{family} corresponds to the second part in | ||
| 1158 | an X font name, for example in | ||
| 1159 | |||
| 1160 | @smallexample | ||
| 1161 | -adobe-times-medium-r-normal--12-120-75-75-p-64-iso10646-1 | ||
| 1162 | @end smallexample | ||
| 1163 | |||
| 1164 | @noindent | ||
| 1165 | the family name is @samp{times}. | ||
| 1166 | |||
| 1167 | @noindent | ||
| 1168 | @var{style-options} is a whitespace separated list of words where each word | ||
| 1169 | is a style, variant, weight, or stretch. The default value for all of | ||
| 1170 | these is @code{normal}. | ||
| 1171 | |||
| 1172 | @noindent | ||
| 1173 | A `style' corresponds to the fourth part of an X font name. In X font | ||
| 1174 | names it is the character @samp{r}, @samp{i} or @samp{o}; in Pango | ||
| 1175 | font names the corresponding values are @code{normal}, @code{italic}, | ||
| 1176 | or @code{oblique}. | ||
| 1177 | |||
| 1178 | @noindent | ||
| 1179 | A `variant' is either @code{normal} or @code{small-caps}. | ||
| 1180 | Small caps is a font with the lower case characters replaced by | ||
| 1181 | smaller variants of the capital characters. | ||
| 1182 | |||
| 1183 | @noindent | ||
| 1184 | Weight describes the ``boldness'' of a font. It corresponds to the third | ||
| 1185 | part of an X font name. It is one of @code{ultra-light}, @code{light}, | ||
| 1186 | @code{normal}, @code{bold}, @code{ultra-bold}, or @code{heavy}. | ||
| 1187 | |||
| 1188 | @noindent | ||
| 1189 | Stretch gives the width of the font relative to other designs within a | ||
| 1190 | family. It corresponds to the fifth part of an X font name. It is one of | ||
| 1191 | @code{ultra-condensed}, @code{extra-condensed}, @code{condensed}, | ||
| 1192 | @code{semi-condensed}, @code{normal}, @code{semi-expanded}, | ||
| 1193 | @code{expanded}, @code{extra-expanded}, or @code{ultra-expanded}. | ||
| 1194 | |||
| 1195 | @noindent | ||
| 1196 | @var{size} is a decimal number that describes the font size in points. | ||
| 1197 | @end ifnottex | ||
diff --git a/etc/ChangeLog b/etc/ChangeLog index 15257c9fe52..b4e22c506a3 100644 --- a/etc/ChangeLog +++ b/etc/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-01-14 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * tutorials/TUTORIAL.he: Update to follow changes to TUTORIAL in | ||
| 4 | 2012-01-10T08:27:22Z!cyd@gnu.org. | ||
| 5 | |||
| 1 | 2012-01-10 Chong Yidong <cyd@gnu.org> | 6 | 2012-01-10 Chong Yidong <cyd@gnu.org> |
| 2 | 7 | ||
| 3 | * tutorials/TUTORIAL: Don't give instructions for old-style X | 8 | * tutorials/TUTORIAL: Don't give instructions for old-style X |
diff --git a/etc/tutorials/TUTORIAL b/etc/tutorials/TUTORIAL index c41b5d1127e..12b22f83245 100644 --- a/etc/tutorials/TUTORIAL +++ b/etc/tutorials/TUTORIAL | |||
| @@ -296,7 +296,7 @@ like A, 7, *, etc., are inserted as you type them. To insert a | |||
| 296 | Newline character, type <Return> (this is the key on the keyboard | 296 | Newline character, type <Return> (this is the key on the keyboard |
| 297 | which is sometimes labeled "Enter"). | 297 | which is sometimes labeled "Enter"). |
| 298 | 298 | ||
| 299 | To delete <DEL> the character immediately before the current cursor | 299 | To delete the character immediately before the current cursor |
| 300 | position, type <DEL>. This is the key on the keyboard usually labeled | 300 | position, type <DEL>. This is the key on the keyboard usually labeled |
| 301 | "Backspace"--the same one you normally use, outside Emacs, to delete | 301 | "Backspace"--the same one you normally use, outside Emacs, to delete |
| 302 | the last character typed. | 302 | the last character typed. |
| @@ -839,8 +839,8 @@ go to the next occurrence of 'cursor' just type C-s again. If no such | |||
| 839 | occurrence exists, Emacs beeps and tells you the search is currently | 839 | occurrence exists, Emacs beeps and tells you the search is currently |
| 840 | "failing". C-g would also terminate the search. | 840 | "failing". C-g would also terminate the search. |
| 841 | 841 | ||
| 842 | If you are in the middle of an incremental search and type <DEL>, this | 842 | If you are in the middle of an incremental search and type <DEL>, the |
| 843 | the search "retreats" to an earlier location. If you type <DEL> just | 843 | search "retreats" to an earlier location. If you type <DEL> just |
| 844 | after you had typed C-s to advance to the next occurrence of a search | 844 | after you had typed C-s to advance to the next occurrence of a search |
| 845 | string, the <DEL> moves the cursor back to an earlier occurrence. If | 845 | string, the <DEL> moves the cursor back to an earlier occurrence. If |
| 846 | there are no earlier occurrences, the <DEL> erases the last character | 846 | there are no earlier occurrences, the <DEL> erases the last character |
diff --git a/etc/tutorials/TUTORIAL.he b/etc/tutorials/TUTORIAL.he index 98690501f5f..cb82f87f765 100644 --- a/etc/tutorials/TUTORIAL.he +++ b/etc/tutorials/TUTORIAL.he | |||
| @@ -198,19 +198,9 @@ argument) ×ž×©×•× ×ž×§×™×©×™× ×ותו ×œ×¤× ×™ הפקודה ×ליה ×”×•× × | |||
| 198 | כתוצ××”, התצוגה היתה צריכה לזוז ב־8 שורות. ×× ×‘×¨×¦×•× ×›× ×œ×’×œ×•×œ בחזרה, | 198 | כתוצ××”, התצוגה היתה צריכה לזוז ב־8 שורות. ×× ×‘×¨×¦×•× ×›× ×œ×’×œ×•×œ בחזרה, |
| 199 | ×פשר להשיג ×–×ת ×¢"×™ מתן ××¨×’×•×ž× ×˜ ל־M-v. | 199 | ×פשר להשיג ×–×ת ×¢"×™ מתן ××¨×’×•×ž× ×˜ ל־M-v. |
| 200 | 200 | ||
| 201 | ×× ×”×¤×¢×œ×ª× ×ת Emacs על־גבי מערכת ×—×œ×•× ×ית כגון X ×ו MS-Windows, ××ª× | 201 | ×× ×”×¤×¢×œ×ª× ×ת Emacs על־גבי תצוגה גרפית כגון X ×ו MS-Windows, ××ª× |
| 202 | ×¦×¨×™×›×™× ×œ×¨×ות פס צר וגבוה, ששמו פס גלילה (scroll bar) בצידו של החלון | 202 | ×¦×¨×™×›×™× ×œ×¨×ות פס צר וגבוה, ששמו פס גלילה (scroll bar) בצידו של החלון |
| 203 | של Emacs. (שימו לב ×©×‘×©× ×™ צידי החלון ×§×™×™×ž×™× ×¤×¡×™× × ×•×¡×¤×™×. ×לה × ×§×¨××™× | 203 | של Emacs. × ×™×ª×Ÿ לגלול ×ת הטקסט ×¢"×™ הקלקת עכבר בתוך פס הגלילה. |
| 204 | "השוליי×" -- "fringes" -- ×•×ž×©×ž×©×™× ×œ×”×¦×’×ª ×¡×™×ž× ×™ המשך שורה ×•×¡×™×ž×•× ×™× | ||
| 205 | ×חרי×. פס הגלילה, לעומת×, מופיע רק בצד ×חד ×•×”×•× ×”×›×™ קרוב לקצה החלון | ||
| 206 | בצד ההו×.) | ||
| 207 | |||
| 208 | >> × ×¡×• עתה להקליק בכפתור ×”×מצעי של העכבר בחלק העליון של ×”×זור המודגש | ||
| 209 | של פס הגלילה. פעולה זו ×מורה לגלול ×ת הטקסט בשיעור שתלוי ×‘×ž×§×•× ×‘×• | ||
| 210 | הקלקת×. | ||
| 211 | |||
| 212 | >> × ×¡×• לגרור ×ת העכבר מעלה ומטה, תוך כדי לחיצה על הכפתור ×”×מצעי. | ||
| 213 | כתוצ××”, Emacs יגלול ×ת הטקסט מעלה ומטה בהת×× ×œ×ª× ×•×¢×ª העכבר. | ||
| 214 | 204 | ||
| 215 | ×× ×”×¢×›×‘×¨ ×©×œ×›× ×ž×¦×•×™×“ בגלגל, תוכלו להשתמש ×’× ×‘×• לגלילת הטקסט. | 205 | ×× ×”×¢×›×‘×¨ ×©×œ×›× ×ž×¦×•×™×“ בגלגל, תוכלו להשתמש ×’× ×‘×• לגלילת הטקסט. |
| 216 | 206 | ||
| @@ -255,9 +245,9 @@ argument) ×ž×©×•× ×ž×§×™×©×™× ×ותו ×œ×¤× ×™ הפקודה ×ליה ×”×•× × | |||
| 255 | מבטלת ×ת ש×ר ×”×—×œ×•× ×•×ª. | 245 | מבטלת ×ת ש×ר ×”×—×œ×•× ×•×ª. |
| 256 | 246 | ||
| 257 | >> ×”× ×™×¢×• ×ת הסמן לתוך שורה זו והקישו C-u 0 C-l. | 247 | >> ×”× ×™×¢×• ×ת הסמן לתוך שורה זו והקישו C-u 0 C-l. |
| 258 | >> עתה הקישו CONTROL-h k CONTROL-f. | 248 | >> עתה הקישו C-h k C-f. |
| 259 | שימו לב כיצד החלון ×”× ×•×›×—×™ ×ž×¦×˜×ž×¦× ×•×ž×•×¤×™×¢ חלון חדש שבו מוצג | 249 | שימו לב כיצד החלון ×”× ×•×›×—×™ ×ž×¦×˜×ž×¦× ×•×ž×•×¤×™×¢ חלון חדש שבו מוצג |
| 260 | התיעוד של הפקודה CONTROL-f. | 250 | התיעוד של הפקודה C-f. |
| 261 | 251 | ||
| 262 | >> הקישו C-x 1 ושימו לב שהחלון ×¢× ×”×”×¡×‘×¨ על C-f × ×¢×œ×. | 252 | >> הקישו C-x 1 ושימו לב שהחלון ×¢× ×”×”×¡×‘×¨ על C-f × ×¢×œ×. |
| 263 | 253 | ||
| @@ -271,40 +261,37 @@ argument) ×ž×©×•× ×ž×§×™×©×™× ×ותו ×œ×¤× ×™ הפקודה ×ליה ×”×•× × | |||
| 271 | -------------- | 261 | -------------- |
| 272 | 262 | ||
| 273 | ×× ×‘×¨×¦×•× ×›× ×œ×”×›× ×™×¡ טקסט, פשוט הקישו על ×”×ž×§×©×™× ×”×ž×ª×ימי×. ×ª×•×™× ×¨×’×™×œ×™×, | 263 | ×× ×‘×¨×¦×•× ×›× ×œ×”×›× ×™×¡ טקסט, פשוט הקישו על ×”×ž×§×©×™× ×”×ž×ª×ימי×. ×ª×•×™× ×¨×’×™×œ×™×, |
| 274 | כגון A, ×, 7, * וכד' ×ž×ª×¤×¨×©×™× ×¢"×™ Emacs כטקסט ומיד ×ž×ª×•×•×¡×¤×™× ×œ×˜×§×¡×˜ | 264 | כגון A, ×, 7, * וכד' מיד ×ž×ª×•×•×¡×¤×™× ×œ×˜×§×¡×˜ ×”×§×™×™×. הקישו <Return> (מקש |
| 275 | ×”×§×™×™×. הקישו <Return> (מקש חזרת גרר) כדי ×œ×”×›× ×™×¡ ×ת תו השורה החדשה | 265 | חזרת גרר ×©×œ×¢×ª×™× × ×”×•×’ ×œ×§×¨×•× ×œ×• "Enter") כדי ×œ×”×›× ×™×¡ ×ת תו השורה החדשה |
| 276 | (Newline). | 266 | (Newline). |
| 277 | 267 | ||
| 278 | למחיקת התו ×”×חרון ×©×”×§×©×ª× ×”×§×™×©×• <DelBack>. המקש ש×× ×• קור××™× ×œ×• <DelBack> | 268 | למחיקת התו ×”×חרון ×©×”×§×©×ª× ×”×§×™×©×• <DEL>. בדרך כלל זהו מקש שמסומן |
| 279 | יכול ×œ×”×ª×§×¨× ×‘×©×ž×•×ª ×©×•× ×™× -- "Delete", "DEL" ×ו "Backspace". בדרך כלל | 269 | ב־"Backspace", ×•×”×•× ×ž×©×ž×© ××ª×›× ×œ×ž×—×™×§×ª התו ×חרון ×’× ×‘×ª×•×›× ×™×•×ª ×חרות, ×œ× |
| 280 | זהו מקש גדול ובולט ×©× ×ž×¦× ×œ× ×”×¨×—×§ ממקש <Return>, ×•×”×•× ×ž×©×ž×© ××ª×›× ×œ×ž×—×™×§×ª | 270 | רק ב־Emacs. |
| 281 | התו ×חרון ×’× ×‘×ª×•×›× ×™×•×ª ×חרות, ×œ× ×¨×§ ב־Emacs. | ||
| 282 | |||
| 283 | ×× ×§×™×™× ×‘×ž×§×œ×“×ª ×©×œ×›× ×ž×§×© גדול שעליו ×¨×©×•× <Backspace>, ××– זהון המקש ×שר | ||
| 284 | ישמש ×›Ö¾<DelBack>. ×’× ×× ×™×”×™×” מקש ×חר המסומן ב־"Delete" ×‘×ž×§×•× ×חרת ×–×” | ||
| 285 | ××™× ×• ×”Ö¾<DelBack> שלכ×. | ||
| 286 | 271 | ||
| 287 | ב×ופן כללי יותר, <DelBack> מוחק ×ת התו ×©×§×•×“× ×œ×ž×™×§×•× ×”×¡×ž×Ÿ. | 272 | יתכן שבמקלדת ×©×œ×›× ×§×™×™× ×ž×§×© שעליו ×¨×©×•× <Delete>, ×ך ×–×” ××™× ×• המקש ש×× ×• |
| 273 | קור××™× ×œ×• <DEL>. | ||
| 288 | 274 | ||
| 289 | >> הקישו עתה מספר תוי×, ו×חר־כך מחקו ××•×ª× ×¢"×™ הקשות ×חדות | 275 | >> הקישו עתה מספר תוי×, ו×חר־כך מחקו ××•×ª× ×¢"×™ הקשות ×חדות |
| 290 | על <DelBack>. ×ל תחששו ×œ×©× ×•×ª ×ת הקובץ ×”×–×” -- העותק המקורי | 276 | על <DEL>. ×ל תחששו ×œ×©× ×•×ª ×ת הקובץ ×”×–×” -- העותק המקורי |
| 291 | של השיעור ייש×ר ×œ×œ× ×©×™× ×•×™. ××ª× ×¢×•×‘×“×™× ×¢×œ העותק ×”×ישי שלכ×. | 277 | של השיעור ייש×ר ×œ×œ× ×©×™× ×•×™. ××ª× ×¢×•×‘×“×™× ×¢×œ העותק ×”×ישי שלכ×. |
| 292 | 278 | ||
| 293 | ×›×שר שורה של טקסט × ×¢×©×™×ª ×רוכה משורה ×חת של תצוגה, חלק מהטקסט ממשיך | 279 | ×›×שר שורה של טקסט × ×¢×©×™×ª ×רוכה משורה ×חת של תצוגה, חלק מהטקסט ממשיך |
| 294 | בשורת תצוגה × ×•×¡×¤×ª, ×”×™× "שורת ההמשך". תו לוכסן ("/") בסוף השורה (×ו | 280 | בשורת תצוגה × ×•×¡×¤×ª, ×”×™× "שורת ההמשך". על תצוגה גרפית יופיע ×—×¥ עקלקל קטן |
| 295 | ×—×¥ עקלקל קטן ב×זור ×”×©×•×œ×™×™× -- "fringe") מסמל שלשורה יש שורת המשך. | 281 | ב×זור ×”×©×•×œ×™×™× -- "fringe" שמסמל ×›×™ לשורה יש שורת המשך, ו×ילו על תצוגה |
| 282 | טקסטו×לית יופיע תו לוכסן ("/") ל×ותה תכלית בסוף השורה. | ||
| 296 | 283 | ||
| 297 | >> הקישו טקסט עד שתגיעו לקצה השורה, ו××– תמשיכו להקיש עוד טקסט. | 284 | >> הקישו טקסט עד שתגיעו לקצה השורה, ו××– תמשיכו להקיש עוד טקסט. |
| 298 | כתוצ××”, תר×ו שמופיעה שורת המשך. | 285 | כתוצ××”, תר×ו שמופיעה שורת המשך. |
| 299 | 286 | ||
| 300 | >> עתה הקישו <DelBack> ×¢×œÖ¾×ž× ×ª למחוק טקסט עד שהשורה תיעשה קצרה מספיק | 287 | >> עתה הקישו <DEL> ×¢×œÖ¾×ž× ×ª למחוק טקסט עד שהשורה תיעשה קצרה מספיק |
| 301 | ותת××™× ×œ×©×•×¨×” בודדת על־גבי התצוגה. שורת ההמשך תיעל×. | 288 | ותת××™× ×œ×©×•×¨×” בודדת על־גבי התצוגה. שורת ההמשך תיעל×. |
| 302 | 289 | ||
| 303 | × ×™×ª×Ÿ למחוק ×ת תו ×”Ö¾Newline כמו כל תו ×חר. מחיקת ×”Ö¾Newline בין שתי | 290 | × ×™×ª×Ÿ למחוק ×ת תו ×”Ö¾Newline כמו כל תו ×חר. מחיקת ×”Ö¾Newline בין שתי |
| 304 | שורות תמזג ×ת השורות לשורה ×חת. ×× ×”×©×•×¨×” המשולבת תהיה ×רוכה מרוחב | 291 | שורות תמזג ×ת השורות לשורה ×חת. ×× ×”×©×•×¨×” המשולבת תהיה ×רוכה מרוחב |
| 305 | התצוגה, ×”×™× ×ª×•×¦×’ ×¢× ×©×•×¨×ª המשך. | 292 | התצוגה, ×”×™× ×ª×•×¦×’ ×¢× ×©×•×¨×ª המשך. |
| 306 | 293 | ||
| 307 | >> ×”× ×™×¢×• ×ת הסמן לתחילת השורה והקישו <DelBack>. כתוצ××”, השורה תתמזג | 294 | >> ×”× ×™×¢×• ×ת הסמן לתחילת השורה והקישו <DEL>. כתוצ××”, השורה תתמזג |
| 308 | ×× ×§×•×“×ž×ª×”. | 295 | ×× ×§×•×“×ž×ª×”. |
| 309 | 296 | ||
| 310 | >> עתה הקישו <Return> כדי להחזיר ×ת ×”Ö¾Newline שמחקת×. | 297 | >> עתה הקישו <Return> כדי להחזיר ×ת ×”Ö¾Newline שמחקת×. |
| @@ -317,24 +304,24 @@ argument) ×ž×©×•× ×ž×§×™×©×™× ×ותו ×œ×¤× ×™ הפקודה ×ליה ×”×•× × | |||
| 317 | ובכן, ×œ×ž×“×ª× ×ת ×”×ופן הבסיסי ביותר להדפיס משהו ב־Emacs ולתקן שגי×ות. | 304 | ובכן, ×œ×ž×“×ª× ×ת ×”×ופן הבסיסי ביותר להדפיס משהו ב־Emacs ולתקן שגי×ות. |
| 318 | ×פשר למחוק ×’× ×ž×œ×™× ×•××£ שורות שלמות. להלן ×¡×™×›×•× ×¤×§×•×“×•×ª המחיקה: | 305 | ×פשר למחוק ×’× ×ž×œ×™× ×•××£ שורות שלמות. להלן ×¡×™×›×•× ×¤×§×•×“×•×ª המחיקה: |
| 319 | 306 | ||
| 320 | â€<Delback> מחק תו ×©×œ×¤× ×™ הסמן | 307 | â€<DEL> מחק תו ×©×œ×¤× ×™ הסמן |
| 321 | â€C-d מחק תו מתחת ×ו ×חרי הסמן | 308 | â€C-d מחק תו מתחת ×ו ×חרי הסמן |
| 322 | 309 | ||
| 323 | â€â€ªM-<Delback>‬ גזור מילה ×©×œ×¤× ×™ הסמן | 310 | â€â€ªM-<DEL>‬ גזור מילה ×©×œ×¤× ×™ הסמן |
| 324 | â€M-d גזור מילה ש×חרי הסמן | 311 | â€M-d גזור מילה ש×חרי הסמן |
| 325 | 312 | ||
| 326 | â€C-k גזור טקסט מהסמן ועד סוף השורה | 313 | â€C-k גזור טקסט מהסמן ועד סוף השורה |
| 327 | â€M-k גזור טקסט עד סוף המשפט ×”× ×•×›×—×™. | 314 | â€M-k גזור טקסט עד סוף המשפט ×”× ×•×›×—×™. |
| 328 | 315 | ||
| 329 | שימו לב שהיחס בין <Delback> ו־C-d לעומת M-<Delback>‎ ו־M-d ×ž×ž×©×™×›×™× ×ת | 316 | שימו לב שהיחס בין <DEL> ו־C-d לעומת M-<DEL>‎ ו־M-d ×ž×ž×©×™×›×™× ×ת ההקבלה |
| 330 | ההקבלה שבין C-f ו־M-f (××ž× × <Delback> ××™× × ×• תו בקרה, ×‘×•× × ×–× ×™×— ×ת | 317 | שבין C-f ו־M-f (××ž× × <DEL> ××™× × ×• תו בקרה, ×בל ×‘×•× × ×–× ×™×— ×ת ×”× ×§×•×“×” הזו |
| 331 | ×”× ×§×•×“×” הזו לעת־עתה). C-k ו־M-k ×“×•×ž×™× ×œÖ¾C-e ו־M-e, ×× × ×§×‘×™×œ שורות | 318 | לעת־עתה). C-k ו־M-k ×“×•×ž×™× ×œÖ¾C-e ו־M-e, ×× × ×§×‘×™×œ שורות למשפטי×. |
| 332 | למשפטי×. | ||
| 333 | 319 | ||
| 334 | ×‘× ×•×¡×£, קיימת שיטה ×חידה שמ×פשרת לגזור קטע כלשהו של טקסט. ×œ×©× ×›×š, תגיעו | 320 | ×‘× ×•×¡×£, קיימת שיטה ×חידה שמ×פשרת לגזור קטע כלשהו של טקסט. ×œ×©× ×›×š, תגיעו |
| 335 | לקצה ×”×חד של חלק הטקסט והקישו C-@‎ ×ו C-<SPC>‎ (×חד מבין ×©× ×™ ×לו). | 321 | לקצה ×”×חד של חלק הטקסט והקישו C-<SPC>‎. (<SPC> ×”×•× ×ž×§×© הרווח.) עתה |
| 336 | (<SPC> ×”×•× ×ž×§×© הרווח.) עתה ×”× ×™×¢×• ×ת הסמן לקצה ×”×©× ×™ של חלק הטקסט והקישו | 322 | ×”× ×™×¢×• ×ת הסמן לקצה ×”×©× ×™ של חלק הטקסט ×שר ×‘×¨×¦×•× ×›× ×œ×’×–×•×¨. תוך כדי ×ª× ×•×¢×ª |
| 337 | C-w. כתוצ××”, כל הטקסט בין ×©× ×™ המקומות הללו ייגזר. | 323 | הסמן Emacs צובע ×ת הטקסט בין הסמן לבין ×”×ž×§×•× ×‘×• ×”×§×©×ª× C-<SPC>‎. לבסוף, |
| 324 | הקישו C-w. כתוצ××”, כל הטקסט בין ×©× ×™ המקומות הללו ייגזר. | ||
| 338 | 325 | ||
| 339 | >> ×”× ×™×¢×• ×ת הסמן ×ל ×”×ות ב בתחילת הפיסקה הקודמת. | 326 | >> ×”× ×™×¢×• ×ת הסמן ×ל ×”×ות ב בתחילת הפיסקה הקודמת. |
| 340 | >> הקישו C-<SPC>‎. â€Emacs צריך להציג הודעה ×”×ומרת "Mark set" בתחתית | 327 | >> הקישו C-<SPC>‎. â€Emacs צריך להציג הודעה ×”×ומרת "Mark set" בתחתית |
| @@ -348,7 +335,7 @@ C-w. כתוצ××”, כל הטקסט בין ×©× ×™ המקומות הללו ×™×™×’× | |||
| 348 | הטקסט הגזור × ×§×¨× "הדבקה" ("yanking"). ב×ופן כללי, פקודות ×שר עלולות | 335 | הטקסט הגזור × ×§×¨× "הדבקה" ("yanking"). ב×ופן כללי, פקודות ×שר עלולות |
| 349 | ×œ×”×¢×œ×™× ×›×ž×•×™×•×ª גדולות של טקסט תמיד גוזרות ×ת הטקסט (כך ×©× ×™×ª×Ÿ ×™×”×™×” בקלות | 336 | ×œ×”×¢×œ×™× ×›×ž×•×™×•×ª גדולות של טקסט תמיד גוזרות ×ת הטקסט (כך ×©× ×™×ª×Ÿ ×™×”×™×” בקלות |
| 350 | לשחזרו) בעוד הפקודות שמורידות תו בודד ×ו שורות ריקות ותוי רווח -- | 337 | לשחזרו) בעוד הפקודות שמורידות תו בודד ×ו שורות ריקות ותוי רווח -- |
| 351 | מוחקות (כך ×©×œ× × ×™×ª×Ÿ להדביק ×ת הטקסט ×©× ×ž×—×§). כך, <Delback> ו־C-d ×ž×•×—×§×™× | 338 | מוחקות (כך ×©×œ× × ×™×ª×Ÿ להדביק ×ת הטקסט ×©× ×ž×—×§). כך, <DEL> ו־C-d ×ž×•×—×§×™× |
| 352 | ×›×שר ×ž×¤×¢×™×œ×™× ××•×ª× ×œ×œ× ××¨×’×•×ž× ×˜, ×בל ×’×•×–×¨×™× ×›×שר ×ž×¤×¢×™×œ×™× ××•×ª× ×¢× ××¨×’×•×ž× ×˜. | 339 | ×›×שר ×ž×¤×¢×™×œ×™× ××•×ª× ×œ×œ× ××¨×’×•×ž× ×˜, ×בל ×’×•×–×¨×™× ×›×שר ×ž×¤×¢×™×œ×™× ××•×ª× ×¢× ××¨×’×•×ž× ×˜. |
| 353 | 340 | ||
| 354 | >> ×”× ×™×¢×• ×ת הסמן לתחילת שורה ש××™× ×” ריקה. ×חר־כך הקישו C-k כדי לגזור | 341 | >> ×”× ×™×¢×• ×ת הסמן לתחילת שורה ש××™× ×” ריקה. ×חר־כך הקישו C-k כדי לגזור |
| @@ -406,23 +393,22 @@ C-w. כתוצ××”, כל הטקסט בין ×©× ×™ המקומות הללו ×™×™×’× | |||
| 406 | -------------- | 393 | -------------- |
| 407 | 394 | ||
| 408 | ×× ×©×™× ×™×ª× ×ת הטקסט ו××– ×”×—×œ×˜×ª× ×©×”×©×™× ×•×™ ×”×™×” טעות, תוכלו לבטל ×ת ×”×©×™× ×•×™ | 395 | ×× ×©×™× ×™×ª× ×ת הטקסט ו××– ×”×—×œ×˜×ª× ×©×”×©×™× ×•×™ ×”×™×” טעות, תוכלו לבטל ×ת ×”×©×™× ×•×™ |
| 409 | בעזרת פקודת הביטול, C-x u. | 396 | בעזרת פקודת הביטול, ‪C-/‬. |
| 410 | 397 | ||
| 411 | בדרך כלל, C-x u מבטל ×ת ×”×©×™× ×•×™×™× ×©×‘×•×¦×¢×• ×¢"×™ פקודה ×חת. הפעלה חוזרת של | 398 | בדרך כלל,‪C-/‬ מבטל ×ת ×”×©×™× ×•×™×™× ×©×‘×•×¦×¢×• ×¢"×™ פקודה ×חת. הפעלה חוזרת של |
| 412 | C-x u ברצף מבטלת ×©×™× ×•×™×™× ×©×œ פקודות קודמות, ×חת ×חרי ×”×©× ×™×”. | 399 | ‪C-/‬ ברצף מבטלת ×©×™× ×•×™×™× ×©×œ פקודות קודמות, ×חת ×חרי ×”×©× ×™×”. |
| 413 | 400 | ||
| 414 | ×©× ×™ יוצ××™× ×ž×”×›×œ×œ ×”×–×”: פקודות ש××™× ×Ÿ ×ž×©× ×•×ª טקסט (למשל פקודות ×”× ×¢×ª הסמן | 401 | ×©× ×™ יוצ××™× ×ž×”×›×œ×œ ×”×–×”: פקודות ש××™× ×Ÿ ×ž×©× ×•×ª טקסט (למשל פקודות ×”× ×¢×ª הסמן |
| 415 | ופקודות גלילה) ××™× ×Ÿ × ×¡×¤×¨×•×ª ×•×ª×•×™× ×©×ž×›× ×™×¡×™× ×ת ×¢×¦×ž× ×ž×§×•×‘×¦×™× ×‘×§×‘×•×¦×•×ª של | 402 | ופקודות גלילה) ××™× ×Ÿ × ×¡×¤×¨×•×ª ×•×ª×•×™× ×©×ž×›× ×™×¡×™× ×ת ×¢×¦×ž× ×ž×§×•×‘×¦×™× ×‘×§×‘×•×¦×•×ª של |
| 416 | עד 20, כדי להקטין ×ת מספר ×”×¤×¢×ž×™× ×©×™×© להקיש C-x u כדי לבטל ×”×›× ×¡×ª טקסט. | 403 | עד 20, כדי להקטין ×ת מספר ×”×¤×¢×ž×™× ×©×™×© להקיש ‪C-/‬ כדי לבטל ×”×›× ×¡×ª טקסט. |
| 417 | 404 | ||
| 418 | >> גזרו שורה זו ×¢× C-k, ×חר־כך הקישו C-x u ×•×”×™× ×ª×•×¤×™×¢ שוב. | 405 | >> גזרו שורה זו ×¢× C-k, ×חר־כך הקישו ‪C-/‬ ×•×”×™× ×ª×•×¤×™×¢ שוב. |
| 419 | 406 | ||
| 420 | â€C-_‎ ×”×™× ×” דרך חלופית להפעיל ×ת פקודת הביטול. ×”×™× ×¤×•×¢×œ×ª בדיוק כמו C-x u, | 407 | â€C-_‎ ×”×™× ×” דרך חלופית להפעיל ×ת פקודת הביטול. ×”×™× ×¤×•×¢×œ×ª בדיוק כמו ‪C-/‬. |
| 421 | ×בל קלה יותר להקשה מספר ×¤×¢×ž×™× ×‘×–×• ×חר זו. החסרון של C-_‎ ×”×•× ×©×‘×›×ž×” | 408 | במקלדות ×חדות הקשה על ‪C-/‬ שולחת ל־Emacs ×ת התו C-_‎. חלופה × ×•×¡×¤×ª ×”×™× |
| 422 | מקלדות ×œ× ×‘×¨×•×¨ מ×ליו כיצד להקיש ×–×ת. זו הסיבה לקיומו של C-x u. במקלדות | 409 | C-x u, ××Ö¾×›×™ ×”×™× ×¤×—×•×ª × ×•×—×” להקשה מספר ×¤×¢×ž×™× ×‘×–×• ×חר זו. |
| 423 | ×חדות × ×™×ª×Ÿ להקיש C-_‎ ×¢"×™ החזקת CONTROL והקשת לוכסן /. | ||
| 424 | 410 | ||
| 425 | ××¨×’×•×ž× ×˜ × ×•×ž×¨×™ ל־C-_‎ ×ו ל־C-x u משמש כמספר החזרות על הפקודה. | 411 | ××¨×’×•×ž× ×˜ × ×•×ž×¨×™ ל־‪C-/‬ ×ו ל־C-_‎ ×ו ל־C-x u משמש כמספר החזרות על הפקודה. |
| 426 | 412 | ||
| 427 | × ×™×ª×Ÿ לבטל מחיקה של טקסט בדיוק כמו ×©× ×™×ª×Ÿ לבטל גזירה. ×”×”×‘×“×œ×™× ×‘×™×Ÿ מחיקה | 413 | × ×™×ª×Ÿ לבטל מחיקה של טקסט בדיוק כמו ×©× ×™×ª×Ÿ לבטל גזירה. ×”×”×‘×“×œ×™× ×‘×™×Ÿ מחיקה |
| 428 | וגזירה ×ž×©×¤×™×¢×™× ×¢×œ ×™×›×•×œ×ª×›× ×œ×”×“×‘×™×§ ×ת הטקסט הגזור ×¢× C-y; ×”× ××™× × ×—×©×•×‘×™× | 414 | וגזירה ×ž×©×¤×™×¢×™× ×¢×œ ×™×›×•×œ×ª×›× ×œ×”×“×‘×™×§ ×ת הטקסט הגזור ×¢× C-y; ×”× ××™× × ×—×©×•×‘×™× |
| @@ -442,15 +428,15 @@ C-x u ברצף מבטלת ×©×™× ×•×™×™× ×©×œ פקודות קודמות, ×חת | |||
| 442 | ×©×œ× ×‘×ž×¢×¨×›×ª ×©×œ× ×›×¨×¦×•× ×›×. ×פילו ×× ××ª× ×©×•×ž×¨×™× ×ת הקובץ, Emacs מש×יר ×ת | 428 | ×©×œ× ×‘×ž×¢×¨×›×ª ×©×œ× ×›×¨×¦×•× ×›×. ×פילו ×× ××ª× ×©×•×ž×¨×™× ×ת הקובץ, Emacs מש×יר ×ת |
| 443 | התוכן המקורי ×‘×©× ×©×•× ×” למקרה שמ×וחר יותר תחליטו ×©×”×©×™× ×•×™×™× × ×¢×©×• בטעות. | 429 | התוכן המקורי ×‘×©× ×©×•× ×” למקרה שמ×וחר יותר תחליטו ×©×”×©×™× ×•×™×™× × ×¢×©×• בטעות. |
| 444 | 430 | ||
| 445 | ×× ×ª×‘×™×˜×• בחלק התחתון של התצוגה, תר×ו ×©× ×©×•×¨×” בולטת שמתחילה ומסתיימת | 431 | ×× ×ª×‘×™×˜×• בחלק התחתון של התצוגה, תר×ו ×©× ×©×•×¨×” בולטת שמתחילה ×‘×ž×§×¤×™× ×•×œ×™×“ |
| 446 | ×‘×ž×§×¤×™× ×•×œ×™×“ הקצה השמ×לי שלה כתוב "TUTORIAL.he". חלק ×–×” של התצוגה בדרך | 432 | הקצה השמ×לי שלה כתוב "TUTORIAL.he". חלק ×–×” של התצוגה בדרך כלל מציג ×ת |
| 447 | כלל מציג ×ת ×©× ×”×§×•×‘×¥ ×ותו ××ª× ×¤×•×§×“×™×. כרגע ××ª× ×¤×•×§×“×™× ×§×•×‘×¥ ×‘×©× | 433 | ×©× ×”×§×•×‘×¥ ×ותו ××ª× ×¤×•×§×“×™×. כרגע ××ª× ×¤×•×§×“×™× ×§×•×‘×¥ ×‘×©× "TUTORIAL.he" ×©×”×•× |
| 448 | "TUTORIAL.he" ×©×”×•× ×¢×•×ª×§ הטיוטה ×”×ישי ×©×œ×›× ×©×œ שיעור השימוש ב־Emacs. | 434 | עותק הטיוטה ×”×ישי ×©×œ×›× ×©×œ שיעור השימוש ב־Emacs. פתיחת קובץ כלשהו |
| 449 | פתיחת קובץ כלשהו ב־Emacs תציג ×ת שמו של הקובץ ×‘×ž×§×•× ×–×”. | 435 | ב־Emacs תציג ×ת שמו של הקובץ ×‘×ž×§×•× ×–×”. |
| 450 | 436 | ||
| 451 | היבט ×חד מיוחד של פתיחת קובץ ×”×•× ×©×™×© לציין ×ת ×©× ×”×§×•×‘×¥ ×שר ×‘×¨×¦×•× ×›× | 437 | היבט ×חד מיוחד של פתיחת קובץ ×”×•× ×©×™×© לציין ×ת ×©× ×”×§×•×‘×¥ ×שר ×‘×¨×¦×•× ×›× |
| 452 | לפתוח. ×× ×• ××•×ž×¨×™× ×©×”×¤×§×•×“×” "קור×ת ××¨×’×•×ž× ×˜ מהמסוף" (במקרה ×–×” ×”××¨×’×•×ž× ×˜ | 438 | לפתוח. ×× ×• ××•×ž×¨×™× ×©×”×¤×§×•×“×” "קור×ת ××¨×’×•×ž× ×˜" (במקרה ×–×” ×”××¨×’×•×ž× ×˜ ×”×•× ×©× |
| 453 | ×”×•× ×©× ×”×§×•×‘×¥). ×חרי שתקישו ×ת הפקודה | 439 | הקובץ). ×חרי שתקישו ×ת הפקודה |
| 454 | 440 | ||
| 455 | â€C-x C-f פתח קובץ | 441 | â€C-x C-f פתח קובץ |
| 456 | 442 | ||
| @@ -465,12 +451,11 @@ C-x u ברצף מבטלת ×©×™× ×•×™×™× ×©×œ פקודות קודמות, ×חת | |||
| 465 | >> הקישו C-x C-f ו×חר־כך הקישו C-g. ×–×” מבטל ×ת ×”×ž×™× ×™Ö¾×—×•×¦×¥ ×•×’× ×ž×‘×˜×œ | 451 | >> הקישו C-x C-f ו×חר־כך הקישו C-g. ×–×” מבטל ×ת ×”×ž×™× ×™Ö¾×—×•×¦×¥ ×•×’× ×ž×‘×˜×œ |
| 466 | ×ת הפקודה C-x C-f שהשתמשה ×‘×ž×™× ×™Ö¾×—×•×¦×¥. התוצ××” ×”×™× ×©××£ קובץ ×œ× × ×¤×ª×—. | 452 | ×ת הפקודה C-x C-f שהשתמשה ×‘×ž×™× ×™Ö¾×—×•×¦×¥. התוצ××” ×”×™× ×©××£ קובץ ×œ× × ×¤×ª×—. |
| 467 | 453 | ||
| 468 | ×ž×©×¡×™×™×ž×ª× ×œ×”×§×™×© ×ת ×©× ×”×§×•×‘×¥, הקישו <Return> ×œ×¡×™×™× ×ת הקלט. ×ו־××– תיגש | 454 | ×ž×©×¡×™×™×ž×ª× ×œ×”×§×™×© ×ת ×©× ×”×§×•×‘×¥, הקישו <Return> ×œ×¡×™×™× ×ת הקלט. ×ו־××– |
| 469 | C-x C-f לעבודה ×•×ª×ž×¦× ×•×ª×¤×ª×— ×ת הקובץ שבחרת×. ×”×ž×™× ×™Ö¾×—×•×¦×¥ × ×¢×œ× ×›×שר | 455 | ×”×ž×™× ×™Ö¾×—×•×¦×¥ × ×¢×œ× ×•×”×¤×§×•×“×” C-x C-f תיגש לעבודה ×•×ª×ž×¦× ×•×ª×¤×ª×— ×ת הקובץ |
| 470 | פקודת ×”Ö¾C-x C-f ×ª×¡×™×™× ×ת עבודתה. | 456 | שבחרת×. ×›×שר פקודת ×”Ö¾C-x C-f ×ª×¡×™×™× ×ת עבודתה, תוכן הקובץ יופיע על־גבי |
| 471 | 457 | התצוגה ותוכלו לבצע בו ×©×™× ×•×™×™×. כשתחליטו לשמור ×ת ×”×©×™× ×•×™×™×, הקישו ×ת | |
| 472 | זמן קצר ×חר־כך תוכן הקובץ יופיע על־גבי התצוגה ותוכלו לבצע בו ×©×™× ×•×™×™×. | 458 | הפקודה הב××”: |
| 473 | כשתחליטו לשמור ×ת ×”×©×™× ×•×™×™×, הקישו ×ת הפקודה הב××”: | ||
| 474 | 459 | ||
| 475 | â€C-x C-s שמור ×ת הקובץ | 460 | â€C-x C-s שמור ×ת הקובץ |
| 476 | 461 | ||
| @@ -482,8 +467,9 @@ C-x C-f לעבודה ×•×ª×ž×¦× ×•×ª×¤×ª×— ×ת הקובץ שבחרת×. ×”×ž×™× | |||
| 482 | לשמור ×œ×¢×ª×™× ×ž×–×•×ž× ×•×ª ×¢×œÖ¾×ž× ×ª ×œ×”×™×ž× ×¢ מל×בד יותר מדי מהעבודה ×©×œ×›× ×× ×”×ž×—×©×‘ | 467 | לשמור ×œ×¢×ª×™× ×ž×–×•×ž× ×•×ª ×¢×œÖ¾×ž× ×ª ×œ×”×™×ž× ×¢ מל×בד יותר מדי מהעבודה ×©×œ×›× ×× ×”×ž×—×©×‘ |
| 483 | ייפול (ר××” להלן פיסקה על שמירה ×וטומטית). | 468 | ייפול (ר××” להלן פיסקה על שמירה ×וטומטית). |
| 484 | 469 | ||
| 485 | >> הקישו C-x C-s כדי לשמור ×ת העותק ×©×œ×›× ×©×œ השיעור. | 470 | >> הקישו C-x C-s TUTORIAL.he ותסיימו בהקשת <Return>. כתוצ××”, שיעור ×–×” |
| 486 | כתוצ××”, תופיע ההודעה "Wrote ... TUTORIAL.he" בתחתית התצוגה. | 471 | יישמר בקובץ ×‘×©× TUTORIAL.he ובתחתית התצוגה תופיע ההודעה |
| 472 | "Wrote ...TUTORIAL.he". | ||
| 487 | 473 | ||
| 488 | × ×™×ª×Ÿ לפתוח קובץ ×§×™×™× ×¢×œÖ¾×ž× ×ª לצפות בו ×ו לערוך ×ותו. × ×™×ª×Ÿ ×’× ×œ×¤×ª×•×— קובץ | 474 | × ×™×ª×Ÿ לפתוח קובץ ×§×™×™× ×¢×œÖ¾×ž× ×ª לצפות בו ×ו לערוך ×ותו. × ×™×ª×Ÿ ×’× ×œ×¤×ª×•×— קובץ |
| 489 | ש××™× ×• ×§×™×™×. זו הדרך ליצור ×§×‘×¦×™× ×—×“×©×™× ×‘×¢×–×¨×ª Emacs: פתחו ×ת הקובץ | 475 | ש××™× ×• ×§×™×™×. זו הדרך ליצור ×§×‘×¦×™× ×—×“×©×™× ×‘×¢×–×¨×ª Emacs: פתחו ×ת הקובץ |
| @@ -498,10 +484,6 @@ Emacs ייצור ×ת הקובץ ×¢× ×”×˜×§×¡×˜ שהקשת×. מ×ותו רגע | |||
| 498 | ×× ×ª×¤×ª×—×• קובץ × ×•×¡×£ ×¢× C-x C-f, הקובץ הר×שון עדיין × ×©×ר פתוח ב־Emacs. | 484 | ×× ×ª×¤×ª×—×• קובץ × ×•×¡×£ ×¢× C-x C-f, הקובץ הר×שון עדיין × ×©×ר פתוח ב־Emacs. |
| 499 | תוכלו לחזור ×ליו ×¢"×™ C-x C-f. כך תוכלו לפתוח מספר רב של קבצי×. | 485 | תוכלו לחזור ×ליו ×¢"×™ C-x C-f. כך תוכלו לפתוח מספר רב של קבצי×. |
| 500 | 486 | ||
| 501 | >> × ×™×¦×•×¨ עתה קובץ ×‘×©× "foo" ×¢"×™ הקשת C-x C-f foo <Return>‎. | ||
| 502 | ×חר־כך ×”×›× ×™×¡×• קצת טקסט, ערכו ×ותו ולבסוף שמרו בקובץ "foo" | ||
| 503 | ע"י C-x C-s. עתה חזרו לשיעור בעזרת C-x C-f TUTORIAL.he <Return>‎. | ||
| 504 | |||
| 505 | â€Emacs מחזיק כל קובץ בתוך יישות ×‘×©× "חוצץ" ("buffer"). פתיחת קובץ יוצרת | 487 | â€Emacs מחזיק כל קובץ בתוך יישות ×‘×©× "חוצץ" ("buffer"). פתיחת קובץ יוצרת |
| 506 | חוצץ חדש בתוך Emacs. כדי לר×ות ×ת רשימת ×”×—×•×¦×¦×™× ×”×§×™×™×ž×™× ×‘×ª×•×š Emacs, | 488 | חוצץ חדש בתוך Emacs. כדי לר×ות ×ת רשימת ×”×—×•×¦×¦×™× ×”×§×™×™×ž×™× ×‘×ª×•×š Emacs, |
| 507 | הקישו | 489 | הקישו |
| @@ -522,17 +504,19 @@ Emacs ייצור ×ת הקובץ ×¢× ×”×˜×§×¡×˜ שהקשת×. מ×ותו רגע | |||
| 522 | ×¢"×™ C-x C-f שיפקוד ×ת הקובץ ×‘×©× ×™×ª. ×בל קיימת דרך פשוטה יותר: שימוש | 504 | ×¢"×™ C-x C-f שיפקוד ×ת הקובץ ×‘×©× ×™×ª. ×בל קיימת דרך פשוטה יותר: שימוש |
| 523 | בפקודה C-x b. פקודה זו תחייב ××•×ª×›× ×œ×”×§×™×© ×ת ×©× ×”×—×•×¦×¥. | 505 | בפקודה C-x b. פקודה זו תחייב ××•×ª×›× ×œ×”×§×™×© ×ת ×©× ×”×—×•×¦×¥. |
| 524 | 506 | ||
| 525 | >> הקישו C-x b foo <Return>‎ כדי לחזור לחוצץ "foo" ×שר מחזיק טקסט של | 507 | >> × ×™×¦×•×¨ עתה קובץ ×‘×©× "foo" ×¢"×™ הקשת C-x C-f foo <Return>‎. |
| 526 | הקובץ "foo". ×חר־כך הקישו C-x b TUTORIAL.he <Return>‎ כדי לשוב | 508 | עתה חזרו לשיעור ×–×” בעזרת C-x b TUTORIAL.he <Return>‎. |
| 527 | לשיעור זה. | ||
| 528 | 509 | ||
| 529 | ברוב ×”×ž×§×¨×™× ×©× ×”×—×•×¦×¥ ×–×”×” ×œ×©× ×”×§×•×‘×¥ (×œ×œ× ×©× ×”×ª×™×§×™×” שלו). ×בל ×ין ×–×” | 510 | ברוב ×”×ž×§×¨×™× ×©× ×”×—×•×¦×¥ ×–×”×” ×œ×©× ×”×§×•×‘×¥ (×œ×œ× ×©× ×”×ª×™×§×™×” שלו). ×בל ×ין ×–×” |
| 530 | תמיד כך. רשימת ×”×—×•×¦×¦×™× ×©× ×•×¦×¨×ª ×¢"×™ C-x C-b תמיד תציג ×ת שמות כל ×”×—×•×¦×¦×™× | 511 | תמיד כך. רשימת ×”×—×•×¦×¦×™× ×©× ×•×¦×¨×ª ×¢"×™ C-x C-b תציג הן ×ת ×©× ×”×—×•×¦×¥ והן ×ת |
| 531 | ×”×§×™×™×ž×™× ×‘Ö¾Emacs. | 512 | ×©× ×”×§×•×‘×¥ עבור כל ×”×—×•×¦×¦×™× ×”×§×™×™×ž×™× ×‘Ö¾Emacs. |
| 532 | 513 | ||
| 533 | כל טקסט שמוצג בחלון של Emacs ×”×™× ×• תמיד חלק של חוצץ כלשהו. ×§×™×™×ž×™× | 514 | כל טקסט שמוצג בחלון של Emacs ×”×™× ×• תמיד חלק של חוצץ כלשהו. ×§×™×™×ž×™× |
| 534 | ×—×•×¦×¦×™× ×©××™× × ×§×©×•×¨×™× ×œ×©×•× ×§×•×‘×¥. לדוגמ×, החוצץ ×‘×©× "*Buffer List*" ××™× ×• | 515 | ×—×•×¦×¦×™× ×©××™× × ×§×©×•×¨×™× ×œ×©×•× ×§×•×‘×¥. לדוגמ×, החוצץ ×‘×©× "*Buffer List*" |
| 535 | מציג ×©×•× ×§×•×‘×¥. זהו חוצץ המחזיק ×ת רשימת ×”×—×•×¦×¦×™× ×©× ×•×¦×¨ ×¢"×™ C-x C-b. | 516 | המחזיק ×ת רשימת ×”×—×•×¦×¦×™× ×©× ×•×¦×¨×” ×¢"×™ C-x C-b ××™× ×• מציג ×©×•× ×§×•×‘×¥. ×’× |
| 517 | לחוצץ ×”× ×•×›×—×™ ששמו TUTORIAL.he ×œ× ×”×™×” קובץ עד ×©×”×§×©×ª× ×¢×œ C-x C-s כדי | ||
| 518 | לשמור ×ותו בקובץ. | ||
| 519 | |||
| 536 | חוצץ ×‘×©× "*Messages*" ××£ ×”×•× ××™× ×• קשור ×œ×©×•× ×§×•×‘×¥; ×”×•× ×ž×—×–×™×§ ×ת ההודעות | 520 | חוצץ ×‘×©× "*Messages*" ××£ ×”×•× ××™× ×• קשור ×œ×©×•× ×§×•×‘×¥; ×”×•× ×ž×—×–×™×§ ×ת ההודעות |
| 537 | שהופיעו בשורה ×”×ª×—×ª×•× ×” במהלך ×¢×‘×•×“×ª×›× ×‘×ª×•×š Emacs. | 521 | שהופיעו בשורה ×”×ª×—×ª×•× ×” במהלך ×¢×‘×•×“×ª×›× ×‘×ª×•×š Emacs. |
| 538 | 522 | ||
| @@ -573,11 +557,11 @@ C-x C-s. לכן קיימת פקודה | |||
| 573 | מ־Emacs -- â€C-x C-c. (כש××ª× ×ž×¤×¢×™×œ×™× C-x C-c, ×ל תד×גו ×œ×©×™× ×•×™×™× ×©×˜×¨× | 557 | מ־Emacs -- â€C-x C-c. (כש××ª× ×ž×¤×¢×™×œ×™× C-x C-c, ×ל תד×גו ×œ×©×™× ×•×™×™× ×©×˜×¨× |
| 574 | × ×©×ž×¨×•; C-x C-c מציע לשמור כל קובץ ×©×©×™× ×™×ª× ×œ×¤× ×™ ×©×”×•× ×ž×¡×™×™× ×ת Emacs.) | 558 | × ×©×ž×¨×•; C-x C-c מציע לשמור כל קובץ ×©×©×™× ×™×ª× ×œ×¤× ×™ ×©×”×•× ×ž×¡×™×™× ×ת Emacs.) |
| 575 | 559 | ||
| 576 | ×× ××ª× ×ž×©×ª×ž×©×™× ×‘×¦×’ גרפי ×שר תומך במספר ×ª×•×›× ×™×•×ª במקביל, ××™× ×›× ×–×§×•×§×™× | 560 | ×× ××ª× ×ž×©×ª×ž×©×™× ×‘×¦×’ גרפי, ××™× ×›× ×–×§×•×§×™× ×œ×¤×§×•×“×” מיוחדת כדי לעבור מ־Emacs |
| 577 | לפקודה מיוחדת כדי לעבור מ־Emacs ×œ×ª×•×›× ×™×ª ×חרת. ×פשר לעשות ×–×ת בעזרת | 561 | ×œ×ª×•×›× ×™×ª ×חרת. ×פשר לעשות ×–×ת בעזרת העכבר ×ו פקודות של ×ž× ×”×œ ×”×—×œ×•× ×•×ª. |
| 578 | העכבר ×ו פקודות של ×ž× ×”×œ ×”×—×œ×•× ×•×ª. ×ול×, ×›×שר ××ª× ×ž×©×ª×ž×©×™× ×‘×ª×¦×•×’×” | 562 | ×ול×, ×›×שר ××ª× ×ž×©×ª×ž×©×™× ×‘×ª×¦×•×’×” טקסטו×לית שמסוגלת להציג רק ×ª×•×›× ×™×ª ×חת |
| 579 | טקסטו×לית שמסוגלת להציג רק ×ª×•×›× ×™×ª ×חת ×‘×•Ö¾×–×ž× ×™×ª, תצטרכו "להשעות" | 563 | ×‘×•Ö¾×–×ž× ×™×ª, תצטרכו "להשעות" ("suspend") ×ת Emacs ×¢×œÖ¾×ž× ×ª לעבור ×œ×ª×•×›× ×™×ª |
| 580 | ("suspend") ×ת Emacs ×¢×œÖ¾×ž× ×ª לעבור ×œ×ª×•×›× ×™×ª ×חרת. | 564 | ×חרת. |
| 581 | 565 | ||
| 582 | הפקודה C-z יוצ×ת מ־Emacs *ב×ופן ×–×ž× ×™* -- כך שתוכלו לשוב ×ליו מ×וחר | 566 | הפקודה C-z יוצ×ת מ־Emacs *ב×ופן ×–×ž× ×™* -- כך שתוכלו לשוב ×ליו מ×וחר |
| 583 | יותר ולהמשיך מ×ותה × ×§×•×“×”. ×›×שר Emacs רץ על תצוגת טקסט, C-z "משעה" ×ת | 567 | יותר ולהמשיך מ×ותה × ×§×•×“×”. ×›×שר Emacs רץ על תצוגת טקסט, C-z "משעה" ×ת |
| @@ -587,8 +571,7 @@ Emacs: ×”×•× ×ž×—×–×™×¨ ××ª×›× ×œ×©×•×¨×ª הפקודות הבסיסית של | |||
| 587 | 571 | ||
| 588 | הרגע ×”× ×›×•×Ÿ להשתמש ב־C-x C-c ×”×•× ×›×שר ××ª× ×¢×•×ž×“×™× ×œ×”×ª× ×ª×§ (log out). | 572 | הרגע ×”× ×›×•×Ÿ להשתמש ב־C-x C-c ×”×•× ×›×שר ××ª× ×¢×•×ž×“×™× ×œ×”×ª× ×ª×§ (log out). |
| 589 | כמו־כן, תצטרכו להשתמש בו כדי לצ×ת מ־Emacs שהופעל ×¢"×™ ×ª×•×›× ×™×•×ª ×חרות | 573 | כמו־כן, תצטרכו להשתמש בו כדי לצ×ת מ־Emacs שהופעל ×¢"×™ ×ª×•×›× ×™×•×ª ×חרות |
| 590 | כגון קרי×ת דו×ר ××œ×§×˜×¨×•× ×™ -- ×ª×•×›× ×™×•×ª ×לו ×œ× ×ª×ž×™×“ יודעות להסתדר ×¢× | 574 | כגון קרי×ת דו×ר ××œ×§×˜×¨×•× ×™. |
| 591 | השעיית Emacs. | ||
| 592 | 575 | ||
| 593 | קיימות פקודות C-x רבות מ×ד. להלן רשימת ×לו שכבר למדת×: | 576 | קיימות פקודות C-x רבות מ×ד. להלן רשימת ×לו שכבר למדת×: |
| 594 | 577 | ||
| @@ -607,7 +590,7 @@ replace-string (החלף מחרוזת) ×שר מחליפה מחרוזת ×חת × | |||
| 607 | ×חרי שתקישו M-x, â€Emacs מציג M-x בתחתית התצוגה ומחכה שתקישו ×ת ×©× | 590 | ×חרי שתקישו M-x, â€Emacs מציג M-x בתחתית התצוגה ומחכה שתקישו ×ת ×©× |
| 608 | הפקודה, במקרה זה "replace-string". מספיק שתקישו "repl s<TAB>‎" ו־Emacs | 591 | הפקודה, במקרה זה "replace-string". מספיק שתקישו "repl s<TAB>‎" ו־Emacs |
| 609 | ×™×©×œ×™× ×ת ×”×©× ×”×ž×œ×. (<TAB> ×”×•× ×ž×§×© Tab, בדרך כלל תמצ×ו ×ותו מעל מקש | 592 | ×™×©×œ×™× ×ת ×”×©× ×”×ž×œ×. (<TAB> ×”×•× ×ž×§×© Tab, בדרך כלל תמצ×ו ×ותו מעל מקש |
| 610 | ×”Ö¾CapsLock ×ו Shift, ליד הקצה השמ×לי של המקלדת.) סיימו ×ת ×©× ×”×¤×§×•×“×” | 593 | ×”Ö¾CapsLock ×ו Shift, ליד הקצה השמ×לי של המקלדת.) סיימו ×ת ×”×–× ×ª הפקודה |
| 611 | ע"י הקשת <Return>. | 594 | ע"י הקשת <Return>. |
| 612 | 595 | ||
| 613 | הפקודה להחלפת מחרוזת זקוקה ×œ×©× ×™ ××¨×’×•×ž× ×˜×™× -- המחרוזת שתוחלף וזו שתחליף | 596 | הפקודה להחלפת מחרוזת זקוקה ×œ×©× ×™ ××¨×’×•×ž× ×˜×™× -- המחרוזת שתוחלף וזו שתחליף |
| @@ -651,15 +634,15 @@ replace-string (החלף מחרוזת) ×שר מחליפה מחרוזת ×חת × | |||
| 651 | השורה שמעל ×זור תצוגת הד × ×§×¨×ת "שורת הסטטוס" (mode line). שורה זו | 634 | השורה שמעל ×זור תצוגת הד × ×§×¨×ת "שורת הסטטוס" (mode line). שורה זו |
| 652 | מציגה משהו כמו: | 635 | מציגה משהו כמו: |
| 653 | 636 | ||
| 654 | -U:**- TUTORIAL.he 63% L651 (Fundamental)----------------------- | 637 | U:**- TUTORIAL.he 63% L651 (Fundamental) |
| 655 | 638 | ||
| 656 | שורה זו מציגה מידע חשוב לגבי מצבו של Emacs ולגבי הטקסט ×©× ×ž×¦× ×‘×¢×¨×™×›×”. | 639 | שורה זו מציגה מידע חשוב לגבי מצבו של Emacs ולגבי הטקסט ×©× ×ž×¦× ×‘×¢×¨×™×›×”. |
| 657 | 640 | ||
| 658 | ××ª× ×›×‘×¨ ×™×•×“×¢×™× ×ž×”×™ משמעותו של ×©× ×”×§×•×‘×¥ -- זהו הקובץ שפתחת×. NN%‎ מציין | 641 | ××ª× ×›×‘×¨ ×™×•×“×¢×™× ×ž×”×™ משמעותו של ×©× ×”×§×•×‘×¥ -- זהו הקובץ שפתחת×. NN%‎ מציין |
| 659 | ×ת ×ž×™×§×•×ž×›× ×”× ×•×›×—×™ בתוך הטקסט, ל×מור ×›×™ NN ××—×•×–×™× ×ž×”×˜×§×¡×˜ ×§×•×“×ž×™× ×œ×˜×§×¡×˜ | 642 | ×ת ×ž×™×§×•×ž×›× ×”× ×•×›×—×™ בתוך הטקסט, ל×מור ×›×™ NN ××—×•×–×™× ×ž×ª×›×•×œ×ª החוצץ ×§×•×“×ž×™× |
| 660 | המוצג כרגע בחלון. ×× ×”×ž×•×¦×’ בחלון כולל ×ת תחילת הטקסט, תר×ו ×©× "Top" | 643 | לטקסט המוצג כרגע בחלון. ×× ×”×ž×•×¦×’ בחלון כולל ×ת תחילת הטקסט, תר×ו ×©× |
| 661 | ×‘×ž×§×•× "0% ". ×× ×”×ž×•×¦×’ בחלון כולל ×ת סוף הטקסט, תר×ו ×©× "Bot" â€(bottom). | 644 | "Top" ×‘×ž×§×•× "0% ". ×× ×”×ž×•×¦×’ בחלון כולל ×ת סוף הטקסט, תר×ו ×©× "Bot" |
| 662 | ×× ×”×˜×§×¡×˜ כל־כך קצר שכולו מוצג בחלון, שורת הסטטוס תציג "All". | 645 | â€(bottom). ×× ×”×˜×§×¡×˜ כל־כך קצר שכולו מוצג בחלון, שורת הסטטוס תציג "All". |
| 663 | 646 | ||
| 664 | ×”×ות L והמספר ש×חריה ×ž×¦×™×™× ×™× ×ת ×”×ž×™×§×•× ×”× ×•×›×—×™ בדרך ×חרת: ×”× ×ž×¨××™× ×ת | 647 | ×”×ות L והמספר ש×חריה ×ž×¦×™×™× ×™× ×ת ×”×ž×™×§×•× ×”× ×•×›×—×™ בדרך ×חרת: ×”× ×ž×¨××™× ×ת |
| 665 | מספר השורה שבה × ×ž×¦× ×”×¡×ž×Ÿ. | 648 | מספר השורה שבה × ×ž×¦× ×”×¡×ž×Ÿ. |
| @@ -698,7 +681,7 @@ replace-string (החלף מחרוזת) ×שר מחליפה מחרוזת ×חת × | |||
| 698 | 681 | ||
| 699 | לצפיה בתיעוד של ×”×ופן הר×שי ×”× ×•×›×—×™ יש להקיש C-h m. | 682 | לצפיה בתיעוד של ×”×ופן הר×שי ×”× ×•×›×—×™ יש להקיש C-h m. |
| 700 | 683 | ||
| 701 | >> השתמשו ב־C-u C-v ×¤×¢× ×חת ×ו יותר כדי ×œ×”×‘×™× ×©×•×¨×” זו לר×שית התצוגה. | 684 | >> הקישו C-l C-l כדי ×œ×”×‘×™× ×©×•×¨×” זו לר×שית התצוגה. |
| 702 | >> עתה הקישו C-h m כדי לר×ות במה Text mode ×©×•× ×” מה־Fundamental mode. | 685 | >> עתה הקישו C-h m כדי לר×ות במה Text mode ×©×•× ×” מה־Fundamental mode. |
| 703 | >> לבסוף, הקישו C-x 1 כדי לסלק ×ת התיעוד מהתצוגה. | 686 | >> לבסוף, הקישו C-x 1 כדי לסלק ×ת התיעוד מהתצוגה. |
| 704 | 687 | ||
| @@ -740,9 +723,9 @@ Auto Fill mode. ×›×שר ×ופן ×–×” מופעל, Emacs ×וטומטית פות | |||
| 740 | * חיפוש | 723 | * חיפוש |
| 741 | ------- | 724 | ------- |
| 742 | 725 | ||
| 743 | â€Emacs יכול לחפש מחרוזות (רצף של ×ª×•×•×™× ×ו מילי×) קדימה ×ו ×חורה בתוך | 726 | â€Emacs יכול לחפש מחרוזות (רצף של תווי×) קדימה ×ו ×חורה בתוך הטקסט. |
| 744 | הטקסט. חיפוש של מחרוזת ×”×•× ×¡×•×’ של פקודה ×œ×”× ×¢×ª הסמן: ×”×•× ×ž×ž×§× ×ת הסמן | 727 | חיפוש של מחרוזת ×”×•× ×¡×•×’ של פקודה ×œ×”× ×¢×ª הסמן: ×”×•× ×ž×ž×§× ×ת הסמן היכן |
| 745 | היכן ×©× ×ž×¦××” המחרוזת הב××”. | 728 | ×©× ×ž×¦××” המחרוזת הב××”. |
| 746 | 729 | ||
| 747 | החיפוש של Emacs ×”×™× ×• "מצטבר" ("incremental"). פירוש הדבר ×”×•× ×©×”×—×™×¤×•×© | 730 | החיפוש של Emacs ×”×™× ×• "מצטבר" ("incremental"). פירוש הדבר ×”×•× ×©×”×—×™×¤×•×© |
| 748 | מתבצע במקביל ×œ×”×§×©×ª×›× ×ת המחרוזת ×ותה ×‘×¨×¦×•× ×›× ×œ×ž×¦×•×. | 731 | מתבצע במקביל ×œ×”×§×©×ª×›× ×ת המחרוזת ×ותה ×‘×¨×¦×•× ×›× ×œ×ž×¦×•×. |
| @@ -759,7 +742,7 @@ Auto Fill mode. ×›×שר ×ופן ×–×” מופעל, Emacs ×וטומטית פות | |||
| 759 | "סמן", ×¢× ×”×¤×¡×§×” ×חרי כל ×ות, ושימו לב ×œ×”×ª× ×”×’×•×ª הסמן. | 742 | "סמן", ×¢× ×”×¤×¡×§×” ×חרי כל ×ות, ושימו לב ×œ×”×ª× ×”×’×•×ª הסמן. |
| 760 | ×–×” עתה מצ××ª× ×ת המילה "סמן" ×¤×¢× ×חת. | 743 | ×–×” עתה מצ××ª× ×ת המילה "סמן" ×¤×¢× ×חת. |
| 761 | >> הקישו C-s שוב, כדי ×œ×ž×¦×•× ×ת "סמן" במקומות × ×•×¡×¤×™× ×‘×˜×§×¡×˜. | 744 | >> הקישו C-s שוב, כדי ×œ×ž×¦×•× ×ת "סמן" במקומות × ×•×¡×¤×™× ×‘×˜×§×¡×˜. |
| 762 | >> הקישו <Delback> שלוש ×¤×¢×ž×™× ×•×©×™×ž×• לב ×œ×ª× ×•×¢×ª הסמן בכל הקשה. | 745 | >> הקישו <DEL> שלוש ×¤×¢×ž×™× ×•×©×™×ž×• לב ×œ×ª× ×•×¢×ª הסמן בכל הקשה. |
| 763 | >> הקישו <Return> ×œ×¡×™×•× ×”×—×™×¤×•×©. | 746 | >> הקישו <Return> ×œ×¡×™×•× ×”×—×™×¤×•×©. |
| 764 | 747 | ||
| 765 | ×”×× ×©×ž×ª× ×œ×‘ למה שקרה? במהלך "חיפוש מצטבר" Emacs ×ž× ×¡×” ×œ×ž×¦×•× ×ת ×”×ž×§×•× | 748 | ×”×× ×©×ž×ª× ×œ×‘ למה שקרה? במהלך "חיפוש מצטבר" Emacs ×ž× ×¡×” ×œ×ž×¦×•× ×ת ×”×ž×§×•× |
| @@ -768,16 +751,13 @@ Auto Fill mode. ×›×שר ×ופן ×–×” מופעל, Emacs ×וטומטית פות | |||
| 768 | ומודיע שהחיפוש × ×›× ×¡ למצב של "כשלון" ("failing"). הקשה על C-g ×’× ×”×™× | 751 | ומודיע שהחיפוש × ×›× ×¡ למצב של "כשלון" ("failing"). הקשה על C-g ×’× ×”×™× |
| 769 | מסיימת ×ת החיפוש. | 752 | מסיימת ×ת החיפוש. |
| 770 | 753 | ||
| 771 | (הערה: במערכות ×חדות הקשה על C-s מקפיעה ×ת תצוגת המסך, כך ×©×œ× ×ª×¨×ו | 754 | ×× ×‘×ž×”×œ×š החיפוש תקישו על <DEL>, החיפוש "× ×¡×•×’" למצב קוד×. ×× ×”×§×©×ª× |
| 772 | יותר ×©×•× ×¤×œ×˜ של Emacs. משמעות הדבר ×©×ª×›×•× ×ª מערכת ההפעלה ששמה "flow | 755 | <DEL> מיד ×חרי C-s, הקשת <DEL> מחזירה ×ת הסמן ×œ×ž×§×•× ×”×§×•×“× ×‘×• × ×ž×¦××” |
| 773 | control" מופעלת ×¢"×™ C-s ו××™× ×” מעבירה ×ת C-s ל־Emacs. לביטול הקפ×ת | 756 | המחרוזת. ×× ×ין מקומות ×§×•×“×ž×™× ×‘×”× ×ž×•×¤×™×¢×” המחרוזת, הקשת <DEL> מוחקת ×ת |
| 774 | התצוגה במערכות ×לו יש להקיש C-q.) | 757 | התו ×”×חרון של המחרוזת המבוקשת. למשל, × × ×™×— ×©×”×§×©×ª× "ס" ×¢×œÖ¾×ž× ×ª ×œ×ž×¦×•× ×ת |
| 775 | 758 | ×”×ž×§×•× ×”×‘× ×‘×• מופיעה ×”×ות "ס". ×× ×¢×›×©×™×• תקישו "מ", הסמן יזוז ×œ×ž×§×•× ×‘×• | |
| 776 | ×× ×‘×ž×”×œ×š החיפוש תקישו על <Delback>, תר×ו שהתו ×”×חרון של המחרוזת | 759 | × ×ž×¦× "סמ". עתה הקישו <DEL>. ×”Ö¾"מ" × ×ž×—×§ מהמחרוזת והסמן חוזר ×œ×ž×§×•× ×‘×• |
| 777 | המבוקשת × ×ž×—×§ והחיפוש חוזר ×œ×ž×§×•× ×”×§×•×“× ×‘×• × ×ž×¦××” המחרוזת ×œ×œ× ×”×ª×• ×”×חרון. | 760 | ×”×•× ×ž×¦× ×ת "ס" לר××©×•× ×”. |
| 778 | למשל, × × ×™×— ×©×”×§×©×ª× "ס" ×¢×œÖ¾×ž× ×ª ×œ×ž×¦×•× ×ת ×”×ž×§×•× ×”×‘× ×‘×• מופיעה ×”×ות "ס". ×× | ||
| 779 | עכשיו תקישו "מ", הסמן יזוז ×œ×ž×§×•× ×‘×• × ×ž×¦× "סמ". עתה הקישו <Delback>. | ||
| 780 | ×”Ö¾"מ" × ×ž×—×§ מהמחרוזת והסמן חוזר ×œ×ž×§×•× ×‘×• ×”×•× ×ž×¦× ×ת "ס" לר××©×•× ×”. | ||
| 781 | 761 | ||
| 782 | ×× ×‘×ž×”×œ×š החיפוש תפעילו פקודה כלשהי ×¢"×™ הקשה על מקש תוך לחיצה על | 762 | ×× ×‘×ž×”×œ×š החיפוש תפעילו פקודה כלשהי ×¢"×™ הקשה על מקש תוך לחיצה על |
| 783 | CONTROL ×ו META, החיפוש יסתיי×. (כמה ×ª×•×•×™× ×™×•×¦××™× ×ž×›×œ×œ ×–×” -- ×לו ×ª×•×•×™× | 763 | CONTROL ×ו META, החיפוש יסתיי×. (כמה ×ª×•×•×™× ×™×•×¦××™× ×ž×›×œ×œ ×–×” -- ×לו ×ª×•×•×™× |
| @@ -796,10 +776,10 @@ CONTROL ×ו META, החיפוש יסתיי×. (כמה ×ª×•×•×™× ×™×•×¦××™× ×ž | |||
| 796 | ×©×ª×•×›× ×™×•×ª ×חרות ×ž×›× ×•×ª "חלון". ×ª×‘× ×™×•×ª מתו×רות בפסקה הב××”. תוכלו ×œ×ž×¦×•× ×ת | 776 | ×©×ª×•×›× ×™×•×ª ×חרות ×ž×›× ×•×ª "חלון". ×ª×‘× ×™×•×ª מתו×רות בפסקה הב××”. תוכלו ×œ×ž×¦×•× ×ת |
| 797 | רשימת ×”×ž×•× ×—×™× ×©×œ Emacs בפרק "Glossary" של מדריך משתמש.) | 777 | רשימת ×”×ž×•× ×—×™× ×©×œ Emacs בפרק "Glossary" של מדריך משתמש.) |
| 798 | 778 | ||
| 799 | >> הבי×ו סמן לשורה זו והקישו C-u 0 C-l â€(CONTROL-L ×•×œ× CONTROL-1). | 779 | >> הבי×ו סמן לשורה זו והקישו C-l C-l â€(CONTROL-L ×•×œ× CONTROL-1). |
| 800 | 780 | ||
| 801 | >> עתה הקישו C-x 2 וכתוצ××” מכך החלון יתחלק ×œ×©× ×™×™×. כל ×חד ×ž×©× ×™ ×”×—×œ×•× ×•×ª | 781 | >> עתה הקישו C-x 2 וכתוצ××” מכך החלון יתחלק ×œ×©× ×™×™×. כל ×חד ×ž×©× ×™ ×”×—×œ×•× ×•×ª |
| 802 | מציג ×ת השיעור ×”×–×”. הסמן × ×©×ר בחלון העליוןץ | 782 | מציג ×ת השיעור ×”×–×”. הסמן × ×©×ר בחלון העליון. |
| 803 | 783 | ||
| 804 | >> הקישו C-M-v כדי לגלול ×ת החלון התחתון. | 784 | >> הקישו C-M-v כדי לגלול ×ת החלון התחתון. |
| 805 | (×× ×‘×ž×§×œ×“×ª ×©×œ×›× ×ין מקש META ×מיתי, הקישו ‎<ESC> C-v כתחליף.) | 785 | (×× ×‘×ž×§×œ×“×ª ×©×œ×›× ×ין מקש META ×מיתי, הקישו ‎<ESC> C-v כתחליף.) |
| @@ -812,19 +792,19 @@ CONTROL ×ו META, החיפוש יסתיי×. (כמה ×ª×•×•×™× ×™×•×¦××™× ×ž | |||
| 812 | >> הקישו C-x o שוב לחזור לחלון העליון. | 792 | >> הקישו C-x o שוב לחזור לחלון העליון. |
| 813 | הסמן בחלון העליון ייש×ר ×‘×ž×§×•× ×‘×• ×”×•× ×”×™×” ×œ×¤× ×™Ö¾×›×Ÿ. | 793 | הסמן בחלון העליון ייש×ר ×‘×ž×§×•× ×‘×• ×”×•× ×”×™×” ×œ×¤× ×™Ö¾×›×Ÿ. |
| 814 | 794 | ||
| 815 | תוכלו להמשיך להשתמש ב־C-x o כדי לדלג בין ×©× ×™ ×”×—×œ×•× ×•×ª. לכל חלון ×ž×™×§×•× | 795 | תוכלו להמשיך להשתמש ב־C-x o כדי לדלג בין ×”×—×œ×•× ×•×ª. "החלון ×”× ×‘×—×¨", ×ותו |
| 816 | סמן משלו, ×בל רק חלון ×חד מציג ×ת הסמן בכל רגע. כל פקודות העריכה | 796 | חלון בו ×”× ×›× ×¢×•×¨×›×™× ×˜×§×¡×˜, מזוהה ×¢"×™ סמן בולט שמהבהב בזמן ש××™× ×›× |
| 817 | הרגילות פועלות על החלון שבו מוצג הסמן. ×× ×• קור××™× ×œ×—×œ×•×Ÿ ×–×” "החלון | 797 | מקלידי×. לכל ×”×—×œ×•× ×•×ª ×”××—×¨×™× ×ž×™×§×•× ×¡×ž×Ÿ משלה×; ×× ×”×¤×¢×œ×ª× ×ת Emacs על צג |
| 818 | ×”× ×‘×—×¨". | 798 | גרפי, ×ž×™×§×•× ×”×¡×ž×Ÿ ×‘×—×œ×•× ×•×ª ×”××—×¨×™× ×ž×•×¦×’ כתיבה ריקה ש××™× ×” מהבהבת. |
| 819 | 799 | ||
| 820 | הפקודה C-M-v × ×•×—×” מ×ד ×›×שר ×”×™× ×›× ×¢×•×¨×›×™× ×˜×§×¡×˜ בחלון ×חד ×•×ž×©×ª×ž×©×™× ×‘×—×œ×•×Ÿ | 800 | הפקודה C-M-v × ×•×—×” מ×ד ×›×שר ×”×™× ×›× ×¢×•×¨×›×™× ×˜×§×¡×˜ בחלון ×חד ×•×ž×©×ª×ž×©×™× ×‘×—×œ×•×Ÿ |
| 821 | ×חר לייחוס. תוכלו בכל עת לשמור על הסמן בחלון בו ××ª× ×¢×•×¨×›×™× ×˜×§×¡×˜ | 801 | ×חר לייחוס. תוכלו ×œ×”×ª×§×“× ×‘×—×œ×•×Ÿ ×”×©× ×™ בעזרת C-M-v מבלי לעזוב ×ת החלון |
| 822 | ×•×œ×”×ª×§×“× ×‘×—×œ×•×Ÿ ×”×©× ×™ בעזרת C-M-v. | 802 | ×”× ×‘×—×¨. |
| 823 | 803 | ||
| 824 | â€C-M-v ×”×™× ×“×•×’×ž× ×חת של פקודת CONTROL-META. ×× ×‘×ž×§×œ×“×ª ×©×œ×›× ×§×™×™× ×ž×§×© | 804 | â€C-M-v ×”×™× ×“×•×’×ž× ×חת של פקודת CONTROL-META. ×× ×‘×ž×§×œ×“×ª ×©×œ×›× ×§×™×™× ×ž×§×© |
| 825 | META ×מיתי, תוכלו להקיש ×ת הפקודה ×¢"×™ לחיצה והחזקה של מקשי CONTROL | 805 | META (×ו Alt) ×מיתי, תוכלו להקיש ×ת הפקודה ×¢"×™ לחיצה והחזקה של מקשי |
| 826 | ו־META ×’× ×™×—×“ ו××– להקיש v. הסדר שבו תלחצו על CONTROL ו־META ××™× ×• ×ž×©× ×” | 806 | CONTROL ו־META ×’× ×™×—×“ ו××– להקיש v. הסדר שבו תלחצו על CONTROL ו־META |
| 827 | ×›×™ ×©× ×™ ×”×ž×§×©×™× ×”×œ×œ×• ×¤×•×¢×œ×™× ×¢"×™ ×©×™× ×•×™ התו המוקש יחד ×ית×. | 807 | ××™× ×• ×ž×©× ×” ×›×™ ×©× ×™ ×”×ž×§×©×™× ×”×œ×œ×• ×¤×•×¢×œ×™× ×¢"×™ ×©×™× ×•×™ התו המוקש יחד ×ית×. |
| 828 | 808 | ||
| 829 | ×× ×ין במקלדת מקש META ×מיתי ו××ª× ×ž×©×ª×ž×©×™× ×‘Ö¾<ESC> כתחליף, הסדר כן | 809 | ×× ×ין במקלדת מקש META ×מיתי ו××ª× ×ž×©×ª×ž×©×™× ×‘Ö¾<ESC> כתחליף, הסדר כן |
| 830 | ×ž×©× ×”: ×—×™×™×‘×™× ×œ×”×§×™×© <ESC> ורק ל×חר מכן CONTROL-v, וז×ת ×ž×©×•× | 810 | ×ž×©× ×”: ×—×™×™×‘×™× ×œ×”×§×™×© <ESC> ורק ל×חר מכן CONTROL-v, וז×ת ×ž×©×•× |
| @@ -853,9 +833,10 @@ META ×מיתי, תוכלו להקיש ×ת הפקודה ×¢"×™ לחיצה והח | |||
| 853 | * ×ª×‘× ×™×•×ª מרובות | 833 | * ×ª×‘× ×™×•×ª מרובות |
| 854 | --------------- | 834 | --------------- |
| 855 | 835 | ||
| 856 | â€Emacs מסוגל לפתוח מספר "×ª×‘× ×™×•×ª" ("frames") ×‘×ª× ××™ ש××™× ×›× ×ž×©×ª×ž×©×™× ×‘×¦×’ | 836 | â€Emacs מסוגל לפתוח מספר "×ª×‘× ×™×•×ª" ("frames"). ×ª×‘× ×™×ª כוללת קבוצת ×—×œ×•× ×•×ª, |
| 857 | שמסוגל להציג רק טקסט. ×ª×‘× ×™×ª כוללת קבוצת ×—×œ×•× ×•×ª, תפריט, פסי גלילה, ×זור | 837 | תפריט, פסי גלילה, ×זור תצוגת הד וכו'. על צג גרפי מה ש×× ×• קור××™× |
| 858 | תצוגת הד וכו'. (×ª×•×›× ×™×•×ª ×חרות × ×•×”×’×•×ª ×œ×§×¨×•× ×œ×–×” "חלון".) | 838 | "×ª×‘× ×™×ª" × ×§×¨× ×‘×“×¨×šÖ¾×›×œ×œ "חלון". × ×™×ª×Ÿ להציג ×ª×‘× ×™×•×ª ×חדות על ×ותו צג גרפי |
| 839 | ×‘×•Ö¾×–×ž× ×™×ª על צג טקסטו×לי ×פשר להציג רק ×ª×‘× ×™×ª ×חת בכל עת. | ||
| 859 | 840 | ||
| 860 | >> הקישו M-x make-frame <Return>‎. | 841 | >> הקישו M-x make-frame <Return>‎. |
| 861 | כתוצ××”, ×ª×‘× ×™×ª חדשה תופיע על המסך. | 842 | כתוצ××”, ×ª×‘× ×™×ª חדשה תופיע על המסך. |
| @@ -866,10 +847,10 @@ META ×מיתי, תוכלו להקיש ×ת הפקודה ×¢"×™ לחיצה והח | |||
| 866 | >> הקישו M-x delete-frame <Return>‎. | 847 | >> הקישו M-x delete-frame <Return>‎. |
| 867 | ×”×ª×‘× ×™×ª שבה ×”×§×©×ª× ×ת הפקודה תיסגר ×•×ª×™×¢×œ× ×ž×”×ž×¡×š. | 848 | ×”×ª×‘× ×™×ª שבה ×”×§×©×ª× ×ת הפקודה תיסגר ×•×ª×™×¢×œ× ×ž×”×ž×¡×š. |
| 868 | 849 | ||
| 869 | כמו־כן, × ×™×ª×Ÿ לסגור ×ª×‘× ×™×ª בדרך הרגילה ×”× ×ª×ž×›×ª ×¢"×™ ×ž× ×”×œ ×”×—×œ×•× ×•×ª של המערכת | 850 | כמו־כן, × ×™×ª×Ÿ לסגור ×ª×‘× ×™×ª בדרך הרגילה ×”× ×ª×ž×›×ª ×¢"×™ התצוגה הגרפית של |
| 870 | ×©×œ×›× (בדרך־כלל, ×¢"×™ הקלקה על הכפתור המסומן ב־"X" ×‘×¤×™× ×” ×¢×œ×™×•× ×” של | 851 | המערכת ×©×œ×›× (בדרך־כלל, ×¢"×™ הקלקה על הכפתור המסומן ב־"X" ×‘×¤×™× ×” ×¢×œ×™×•× ×” |
| 871 | ×”×ª×‘× ×™×ª.) ×©×•× ×ž×™×“×¢ ××™× ×• הולך לעיבוד ×›×שר ×¡×•×’×¨×™× ×ª×‘× ×™×ª (×ו חלון). המידע | 852 | של ×”×ª×‘× ×™×ª.) ×©×•× ×ž×™×“×¢ ××™× ×• הולך לעיבוד ×›×שר ×¡×•×’×¨×™× ×ª×‘× ×™×ª (×ו חלון). |
| 872 | ×”×–×” פשוט יורד מהתצוגה, ×בל × ×™×ª×Ÿ ל×חזרו מ×וחר יותר. | 853 | המידע ×”×–×” פשוט יורד מהתצוגה, ×בל × ×™×ª×Ÿ ל×חזרו מ×וחר יותר. |
| 873 | 854 | ||
| 874 | 855 | ||
| 875 | * רמות עריכה רקורסיביות | 856 | * רמות עריכה רקורסיביות |
| @@ -983,7 +964,7 @@ find-file. | |||
| 983 | ושמות קבצי×. ×ª×›×•× ×ª ההשלמה מתו×רת במלו××” במדריך למשתמש Emacs בצומת | 964 | ושמות קבצי×. ×ª×›×•× ×ª ההשלמה מתו×רת במלו××” במדריך למשתמש Emacs בצומת |
| 984 | (node) ×‘×©× "Completion". | 965 | (node) ×‘×©× "Completion". |
| 985 | 966 | ||
| 986 | â€Dired מ×פשר להציג רשימת ×§×‘×¦×™× ×‘×ª×™×§×™×” (וכ×פציה ×’× ×‘×ª×ª-תיקיות שלה), ×œ× ×•×¢ | 967 | â€Dired מ×פשר להציג רשימת ×§×‘×¦×™× ×‘×ª×™×§×™×” (וכ×פציה ×’× ×‘×ª×ªÖ¾×ª×™×§×™×•×ª שלה), ×œ× ×•×¢ |
| 987 | בתוך הרשימה הזו, לפתוח קבצי×, ×œ×©× ×•×ª ×ת שמותיה×, למחוק ××•×ª× ×•×œ×‘×¦×¢ ×¢×œ×™×”× | 968 | בתוך הרשימה הזו, לפתוח קבצי×, ×œ×©× ×•×ª ×ת שמותיה×, למחוק ××•×ª× ×•×œ×‘×¦×¢ ×¢×œ×™×”× |
| 988 | עוד פעולות רבות. Dired מתו×ר במלו×ו במדריך למשתמש בצומת ×‘×©× "Dired". | 969 | עוד פעולות רבות. Dired מתו×ר במלו×ו במדריך למשתמש בצומת ×‘×©× "Dired". |
| 989 | 970 | ||
diff --git a/etc/tutorials/TUTORIAL.translators b/etc/tutorials/TUTORIAL.translators index a69d23c471d..64780687bb1 100644 --- a/etc/tutorials/TUTORIAL.translators +++ b/etc/tutorials/TUTORIAL.translators | |||
| @@ -12,8 +12,7 @@ Maintainer: Sun Yijiang <sunyijiang@gmail.com> | |||
| 12 | * TUTORIAL.cs: | 12 | * TUTORIAL.cs: |
| 13 | Author: Milan Zamazal <pdm@zamazal.org> | 13 | Author: Milan Zamazal <pdm@zamazal.org> |
| 14 | Pavel JanÃk <Pavel@Janik.cz> | 14 | Pavel JanÃk <Pavel@Janik.cz> |
| 15 | Maintainer: Milan Zamazal <pdm@zamazal.org> | 15 | Maintainer: Maintainer needed. |
| 16 | Pavel JanÃk <Pavel@Janik.cz> | ||
| 17 | 16 | ||
| 18 | * TUTORIAL.de: | 17 | * TUTORIAL.de: |
| 19 | Author: Werner Lemberg <wl@gnu.org> | 18 | Author: Werner Lemberg <wl@gnu.org> |
| @@ -73,7 +72,7 @@ Maintainer: Alex Ott <ottalex@narod.ru> | |||
| 73 | * TUTORIAL.sk: | 72 | * TUTORIAL.sk: |
| 74 | Author: Miroslav Vaško <vasko@debian.cz> | 73 | Author: Miroslav Vaško <vasko@debian.cz> |
| 75 | Pavel JanÃk <Pavel@Janik.cz> | 74 | Pavel JanÃk <Pavel@Janik.cz> |
| 76 | Maintainer: Pavel JanÃk <Pavel@Janik.cz> | 75 | Maintainer: Maintainer needed. |
| 77 | 76 | ||
| 78 | * TUTORIAL.sl: | 77 | * TUTORIAL.sl: |
| 79 | Author: Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si> | 78 | Author: Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si> |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index be7c45339fa..e40d43ee8b9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,5 +1,32 @@ | |||
| 1 | 2012-01-15 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * net/tramp-sh.el (tramp-remote-path): Set tramp-autoload cookie. | ||
| 4 | |||
| 5 | 2012-01-14 Eli Zaretskii <eliz@gnu.org> | ||
| 6 | |||
| 7 | * info.el (Info-toc-build): If the Info file has no "Up" pointer, | ||
| 8 | don't pass the (nil) value of `upnode' to string-match. | ||
| 9 | |||
| 10 | 2012-01-14 Chong Yidong <cyd@gnu.org> | ||
| 11 | |||
| 12 | * startup.el (command-line): Fix X resource class for cursorColor. | ||
| 13 | Fix values recognized by the cursorBlink resource. | ||
| 14 | |||
| 15 | 2012-01-14 Paul Eggert <eggert@cs.ucla.edu> | ||
| 16 | |||
| 17 | * epg.el (epg--make-temp-file): Avoid permission race condition | ||
| 18 | when running on old Emacs versions (bug#10403). | ||
| 19 | |||
| 20 | 2012-01-14 Glenn Morris <rgm@gnu.org> | ||
| 21 | |||
| 22 | * dired.el (dired-get-filename): Fix 'verbatim case of previous change. | ||
| 23 | |||
| 1 | 2012-01-13 Glenn Morris <rgm@gnu.org> | 24 | 2012-01-13 Glenn Morris <rgm@gnu.org> |
| 2 | 25 | ||
| 26 | * dired.el (dired-switches-escape-p): New function. | ||
| 27 | (dired-insert-directory): Use dired-switches-escape-p. | ||
| 28 | (dired-get-filename): Undo "\ " quoting if needed. (Bug#10469) | ||
| 29 | |||
| 3 | * find-dired.el (find-ls-option): Doc fix. (Bug#10262) | 30 | * find-dired.el (find-ls-option): Doc fix. (Bug#10262) |
| 4 | 31 | ||
| 5 | 2012-01-12 Glenn Morris <rgm@gnu.org> | 32 | 2012-01-12 Glenn Morris <rgm@gnu.org> |
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index 7d6f9f570ec..f9a546ec894 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog | |||
| @@ -1,3 +1,20 @@ | |||
| 1 | 2012-01-09 Eric Ludlam <zappo@gnu.org> | ||
| 2 | |||
| 3 | * ede.el (ede-project-directories): New option. | ||
| 4 | (ede-directory-safe-p): Check it. | ||
| 5 | (ede-initialize-state-current-buffer, ede, ede-new) | ||
| 6 | (ede-check-project-directory, ede-rescan-toplevel) | ||
| 7 | (ede-load-project-file, ede-parent-project, ede-current-project): | ||
| 8 | (ede-target-parent): Avoid loading in a project unless it is safe, | ||
| 9 | since it may involve malicious code. This security flaw was | ||
| 10 | pointed out by Hiroshi Oota. | ||
| 11 | |||
| 12 | * ede/auto.el (ede-project-autoload): Add safe-p slot. | ||
| 13 | (ede-project-class-files): Projects using Project.ede are unsafe. | ||
| 14 | (ede-auto-load-project): New method. | ||
| 15 | |||
| 16 | * ede/simple.el (ede-project-class-files): Mark as unsafe. | ||
| 17 | |||
| 1 | 2011-12-19 Sam Steingold <sds@gnu.org> | 18 | 2011-12-19 Sam Steingold <sds@gnu.org> |
| 2 | 19 | ||
| 3 | * semantic/edit.el (semantic-edits-incremental-parser): Add the | 20 | * semantic/edit.el (semantic-edits-incremental-parser): Add the |
diff --git a/lisp/cedet/ede.el b/lisp/cedet/ede.el index 5f336df5514..cc8b6f53242 100644 --- a/lisp/cedet/ede.el +++ b/lisp/cedet/ede.el | |||
| @@ -94,6 +94,42 @@ target willing to take the file. 'never means never perform the check." | |||
| 94 | :group 'ede | 94 | :group 'ede |
| 95 | :type 'sexp) ; make this be a list of options some day | 95 | :type 'sexp) ; make this be a list of options some day |
| 96 | 96 | ||
| 97 | (defcustom ede-project-directories nil | ||
| 98 | "Directories in which EDE may search for project files. | ||
| 99 | If the value is t, EDE may search in any directory. | ||
| 100 | |||
| 101 | If the value is a function, EDE calls that function with one | ||
| 102 | argument, the directory name; the function should return t iff | ||
| 103 | EDE should look for project files in the directory. | ||
| 104 | |||
| 105 | Otherwise, the value should be a list of fully-expanded directory | ||
| 106 | names. EDE searches for project files only in those directories. | ||
| 107 | If you invoke the commands \\[ede] or \\[ede-new] on a directory | ||
| 108 | that is not listed, Emacs will offer to add it to the list. | ||
| 109 | |||
| 110 | Any other value disables searching for EDE project files." | ||
| 111 | :group 'ede | ||
| 112 | :type '(choice (const :tag "Any directory" t) | ||
| 113 | (repeat :tag "List of directories" | ||
| 114 | (directory)) | ||
| 115 | (function :tag "Predicate")) | ||
| 116 | :version "23.4" | ||
| 117 | :risky t) | ||
| 118 | |||
| 119 | (defun ede-directory-safe-p (dir) | ||
| 120 | "Return non-nil if DIR is a safe directory to load projects from. | ||
| 121 | Projects that do not load a project definition as Emacs Lisp code | ||
| 122 | are safe, and can be loaded automatically. Other project types, | ||
| 123 | such as those created with Project.ede files, are safe only if | ||
| 124 | specified by `ede-project-directories'." | ||
| 125 | (setq dir (directory-file-name (expand-file-name dir))) | ||
| 126 | ;; Load only if allowed by `ede-project-directories'. | ||
| 127 | (or (eq ede-project-directories t) | ||
| 128 | (and (functionp ede-project-directories) | ||
| 129 | (funcall ede-project-directories dir)) | ||
| 130 | (and (listp ede-project-directories) | ||
| 131 | (member dir ede-project-directories)))) | ||
| 132 | |||
| 97 | 133 | ||
| 98 | ;;; Management variables | 134 | ;;; Management variables |
| 99 | 135 | ||
| @@ -420,24 +456,42 @@ provided `global-ede-mode' is enabled." | |||
| 420 | Sets buffer local variables for EDE." | 456 | Sets buffer local variables for EDE." |
| 421 | (let* ((ROOT nil) | 457 | (let* ((ROOT nil) |
| 422 | (proj (ede-directory-get-open-project default-directory | 458 | (proj (ede-directory-get-open-project default-directory |
| 423 | 'ROOT))) | 459 | 'ROOT)) |
| 460 | (projauto nil)) | ||
| 461 | |||
| 424 | (when (or proj ROOT | 462 | (when (or proj ROOT |
| 425 | (ede-directory-project-p default-directory t)) | 463 | ;; If there is no open project, look up the project |
| 464 | ;; autoloader to see if we should initialize. | ||
| 465 | (setq projauto (ede-directory-project-p default-directory t))) | ||
| 466 | |||
| 467 | (when (and (not proj) projauto) | ||
| 468 | |||
| 469 | ;; No project was loaded, but we have a project description | ||
| 470 | ;; object. This means that we can check if it is a safe | ||
| 471 | ;; project to load before requesting it to be loaded. | ||
| 426 | 472 | ||
| 427 | (when (not proj) | 473 | (when (or (oref projauto safe-p) |
| 428 | ;; @todo - this could be wasteful. | 474 | ;; The project style is not safe, so check if it is |
| 429 | (setq proj (ede-load-project-file default-directory 'ROOT))) | 475 | ;; in `ede-project-directories'. |
| 476 | (let ((top (ede-toplevel-project default-directory))) | ||
| 477 | (ede-directory-safe-p top))) | ||
| 430 | 478 | ||
| 431 | (setq ede-object (ede-buffer-object (current-buffer) | 479 | ;; The project is safe, so load it in. |
| 480 | (setq proj (ede-load-project-file default-directory 'ROOT)))) | ||
| 481 | |||
| 482 | ;; Only initialize EDE state in this buffer if we found a project. | ||
| 483 | (when proj | ||
| 484 | |||
| 485 | (setq ede-object (ede-buffer-object (current-buffer) | ||
| 432 | 'ede-object-project)) | 486 | 'ede-object-project)) |
| 433 | 487 | ||
| 434 | (setq ede-object-root-project | 488 | (setq ede-object-root-project |
| 435 | (or ROOT (ede-project-root ede-object-project))) | 489 | (or ROOT (ede-project-root ede-object-project))) |
| 436 | 490 | ||
| 437 | (if (and (not ede-object) ede-object-project) | 491 | (if (and (not ede-object) ede-object-project) |
| 438 | (ede-auto-add-to-target)) | 492 | (ede-auto-add-to-target)) |
| 439 | 493 | ||
| 440 | (ede-apply-target-options)))) | 494 | (ede-apply-target-options))))) |
| 441 | 495 | ||
| 442 | (defun ede-reset-all-buffers (onoff) | 496 | (defun ede-reset-all-buffers (onoff) |
| 443 | "Reset all the buffers due to change in EDE. | 497 | "Reset all the buffers due to change in EDE. |
| @@ -557,13 +611,73 @@ of objects with the `ede-want-file-p' method." | |||
| 557 | 611 | ||
| 558 | ;;; Interactive method invocations | 612 | ;;; Interactive method invocations |
| 559 | ;; | 613 | ;; |
| 560 | (defun ede (file) | 614 | (defun ede (dir) |
| 561 | "Start up EDE on something. | 615 | "Start up EDE for directory DIR. |
| 562 | Argument FILE is the file or directory to load a project from." | 616 | If DIR has an existing project file, load it. |
| 563 | (interactive "fProject File: ") | 617 | Otherwise, create a new project for DIR." |
| 564 | (if (not (file-exists-p file)) | 618 | (interactive |
| 565 | (ede-new file) | 619 | ;; When choosing a directory to turn on, and we see some directory here, |
| 566 | (ede-load-project-file (file-name-directory file)))) | 620 | ;; provide that as the default. |
| 621 | (let* ((top (ede-toplevel-project default-directory)) | ||
| 622 | (promptdflt (or top default-directory))) | ||
| 623 | (list (read-directory-name "Project directory: " | ||
| 624 | promptdflt promptdflt t)))) | ||
| 625 | (unless (file-directory-p dir) | ||
| 626 | (error "%s is not a directory" dir)) | ||
| 627 | (when (ede-directory-get-open-project dir) | ||
| 628 | (error "%s already has an open project associated with it" dir)) | ||
| 629 | |||
| 630 | ;; Check if the directory has been added to the list of safe | ||
| 631 | ;; directories. It can also add the directory to the safe list if | ||
| 632 | ;; the user chooses. | ||
| 633 | (if (ede-check-project-directory dir) | ||
| 634 | (progn | ||
| 635 | ;; If there is a project in DIR, load it, otherwise do | ||
| 636 | ;; nothing. | ||
| 637 | (ede-load-project-file dir) | ||
| 638 | |||
| 639 | ;; Check if we loaded anything on the previous line. | ||
| 640 | (if (ede-current-project dir) | ||
| 641 | |||
| 642 | ;; We successfully opened an existing project. Some open | ||
| 643 | ;; buffers may also be referring to this project. | ||
| 644 | ;; Resetting all the buffers will get them to also point | ||
| 645 | ;; at this new open project. | ||
| 646 | (ede-reset-all-buffers 1) | ||
| 647 | |||
| 648 | ;; ELSE | ||
| 649 | ;; There was no project, so switch to `ede-new' which is how | ||
| 650 | ;; a user can select a new kind of project to create. | ||
| 651 | (let ((default-directory (expand-file-name dir))) | ||
| 652 | (call-interactively 'ede-new)))) | ||
| 653 | |||
| 654 | ;; If the proposed directory isn't safe, then say so. | ||
| 655 | (error "%s is not an allowed project directory in `ede-project-directories'" | ||
| 656 | dir))) | ||
| 657 | |||
| 658 | (defun ede-check-project-directory (dir) | ||
| 659 | "Check if DIR should be in `ede-project-directories'. | ||
| 660 | If it is not, try asking the user if it should be added; if so, | ||
| 661 | add it and save `ede-project-directories' via Customize. | ||
| 662 | Return nil iff DIR should not be in `ede-project-directories'." | ||
| 663 | (setq dir (directory-file-name (expand-file-name dir))) ; strip trailing / | ||
| 664 | (or (eq ede-project-directories t) | ||
| 665 | (and (functionp ede-project-directories) | ||
| 666 | (funcall ede-project-directories dir)) | ||
| 667 | ;; If `ede-project-directories' is a list, maybe add it. | ||
| 668 | (when (listp ede-project-directories) | ||
| 669 | (or (member dir ede-project-directories) | ||
| 670 | (when (y-or-n-p (format "`%s' is not listed in `ede-project-directories'. | ||
| 671 | Add it to the list of allowed project directories? " | ||
| 672 | dir)) | ||
| 673 | (push dir ede-project-directories) | ||
| 674 | ;; If possible, save `ede-project-directories'. | ||
| 675 | (if (or custom-file user-init-file) | ||
| 676 | (let ((coding-system-for-read nil)) | ||
| 677 | (customize-save-variable | ||
| 678 | 'ede-project-directories | ||
| 679 | ede-project-directories))) | ||
| 680 | t))))) | ||
| 567 | 681 | ||
| 568 | (defun ede-new (type &optional name) | 682 | (defun ede-new (type &optional name) |
| 569 | "Create a new project starting from project type TYPE. | 683 | "Create a new project starting from project type TYPE. |
| @@ -598,6 +712,11 @@ Optional argument NAME is the name to give this project." | |||
| 598 | (error "Cannot create project in non-existent directory %s" default-directory)) | 712 | (error "Cannot create project in non-existent directory %s" default-directory)) |
| 599 | (when (not (file-writable-p default-directory)) | 713 | (when (not (file-writable-p default-directory)) |
| 600 | (error "No write permissions for %s" default-directory)) | 714 | (error "No write permissions for %s" default-directory)) |
| 715 | (unless (ede-check-project-directory default-directory) | ||
| 716 | (error "%s is not an allowed project directory in `ede-project-directories'" | ||
| 717 | default-directory)) | ||
| 718 | ;; Make sure the project directory is loadable in the future. | ||
| 719 | (ede-check-project-directory default-directory) | ||
| 601 | ;; Create the project | 720 | ;; Create the project |
| 602 | (let* ((obj (object-assoc type 'name ede-project-class-files)) | 721 | (let* ((obj (object-assoc type 'name ede-project-class-files)) |
| 603 | (nobj (let ((f (oref obj file)) | 722 | (nobj (let ((f (oref obj file)) |
| @@ -631,6 +750,10 @@ Optional argument NAME is the name to give this project." | |||
| 631 | (ede-add-subproject pp nobj) | 750 | (ede-add-subproject pp nobj) |
| 632 | (ede-commit-project pp))) | 751 | (ede-commit-project pp))) |
| 633 | (ede-commit-project nobj)) | 752 | (ede-commit-project nobj)) |
| 753 | ;; Once the project is created, load it again. This used to happen | ||
| 754 | ;; lazily, but with project loading occurring less often and with | ||
| 755 | ;; security in mind, this is now the safe time to reload. | ||
| 756 | (ede-load-project-file default-directory) | ||
| 634 | ;; Have the menu appear | 757 | ;; Have the menu appear |
| 635 | (setq ede-minor-mode t) | 758 | (setq ede-minor-mode t) |
| 636 | ;; Allert the user | 759 | ;; Allert the user |
| @@ -653,11 +776,16 @@ ARGS are additional arguments to pass to method SYM." | |||
| 653 | (defun ede-rescan-toplevel () | 776 | (defun ede-rescan-toplevel () |
| 654 | "Rescan all project files." | 777 | "Rescan all project files." |
| 655 | (interactive) | 778 | (interactive) |
| 656 | (let ((toppath (ede-toplevel-project default-directory)) | 779 | (if (not (ede-directory-get-open-project default-directory)) |
| 657 | (ede-deep-rescan t)) | 780 | ;; This directory isn't open. Can't rescan. |
| 658 | (project-rescan (ede-load-project-file toppath)) | 781 | (error "Attempt to rescan a project that isn't open") |
| 659 | (ede-reset-all-buffers 1) | 782 | |
| 660 | )) | 783 | ;; Continue |
| 784 | (let ((toppath (ede-toplevel-project default-directory)) | ||
| 785 | (ede-deep-rescan t)) | ||
| 786 | |||
| 787 | (project-rescan (ede-load-project-file toppath)) | ||
| 788 | (ede-reset-all-buffers 1)))) | ||
| 661 | 789 | ||
| 662 | (defun ede-new-target (&rest args) | 790 | (defun ede-new-target (&rest args) |
| 663 | "Create a new target specific to this type of project file. | 791 | "Create a new target specific to this type of project file. |
| @@ -893,7 +1021,7 @@ Optional ROOTRETURN will return the root project for DIR." | |||
| 893 | ;; Do the load | 1021 | ;; Do the load |
| 894 | ;;(message "EDE LOAD : %S" file) | 1022 | ;;(message "EDE LOAD : %S" file) |
| 895 | (let* ((file dir) | 1023 | (let* ((file dir) |
| 896 | (path (expand-file-name (file-name-directory file))) | 1024 | (path (file-name-as-directory (expand-file-name dir))) |
| 897 | (pfc (ede-directory-project-p path)) | 1025 | (pfc (ede-directory-project-p path)) |
| 898 | (toppath nil) | 1026 | (toppath nil) |
| 899 | (o nil)) | 1027 | (o nil)) |
| @@ -922,13 +1050,11 @@ Optional ROOTRETURN will return the root project for DIR." | |||
| 922 | ;; See if it's been loaded before | 1050 | ;; See if it's been loaded before |
| 923 | (setq o (object-assoc (ede-dir-to-projectfile pfc toppath) 'file | 1051 | (setq o (object-assoc (ede-dir-to-projectfile pfc toppath) 'file |
| 924 | ede-projects)) | 1052 | ede-projects)) |
| 925 | (if (not o) | 1053 | |
| 926 | ;; If not, get it now. | 1054 | ;; If not open yet, load it. |
| 927 | (let ((ede-constructing pfc)) | 1055 | (unless o |
| 928 | (setq o (funcall (oref pfc load-type) toppath)) | 1056 | (let ((ede-constructing pfc)) |
| 929 | (when (not o) | 1057 | (setq o (ede-auto-load-project pfc toppath)))) |
| 930 | (error "Project type error: :load-type failed to create a project")) | ||
| 931 | (ede-add-project-to-global-list o))) | ||
| 932 | 1058 | ||
| 933 | ;; Return the found root project. | 1059 | ;; Return the found root project. |
| 934 | (when rootreturn (set rootreturn o)) | 1060 | (when rootreturn (set rootreturn o)) |
| @@ -982,13 +1108,7 @@ Optional argument OBJ is an object to find the parent of." | |||
| 982 | (and root | 1108 | (and root |
| 983 | (ede-find-subproject-for-directory root updir)) | 1109 | (ede-find-subproject-for-directory root updir)) |
| 984 | ;; Try the all structure based search. | 1110 | ;; Try the all structure based search. |
| 985 | (ede-directory-get-open-project updir) | 1111 | (ede-directory-get-open-project updir)))))))) |
| 986 | ;; Load up the project file as a last resort. | ||
| 987 | ;; Last resort since it uses file-truename, and other | ||
| 988 | ;; slow features. | ||
| 989 | (and (ede-directory-project-p updir) | ||
| 990 | (ede-load-project-file | ||
| 991 | (file-name-as-directory updir)))))))))) | ||
| 992 | 1112 | ||
| 993 | (defun ede-current-project (&optional dir) | 1113 | (defun ede-current-project (&optional dir) |
| 994 | "Return the current project file. | 1114 | "Return the current project file. |
| @@ -1002,11 +1122,7 @@ If optional DIR is provided, get the project for DIR instead." | |||
| 1002 | ;; No current project. | 1122 | ;; No current project. |
| 1003 | (when (not ans) | 1123 | (when (not ans) |
| 1004 | (let* ((ldir (or dir default-directory))) | 1124 | (let* ((ldir (or dir default-directory))) |
| 1005 | (setq ans (ede-directory-get-open-project ldir)) | 1125 | (setq ans (ede-directory-get-open-project ldir)))) |
| 1006 | (or ans | ||
| 1007 | ;; No open project, if this dir pass project-p, then load. | ||
| 1008 | (when (ede-directory-project-p ldir) | ||
| 1009 | (setq ans (ede-load-project-file ldir)))))) | ||
| 1010 | ;; Return what we found. | 1126 | ;; Return what we found. |
| 1011 | ans)) | 1127 | ans)) |
| 1012 | 1128 | ||
| @@ -1061,12 +1177,13 @@ If TARGET belongs to a subproject, return that project file." | |||
| 1061 | "Return the project which is the parent of TARGET. | 1177 | "Return the project which is the parent of TARGET. |
| 1062 | It is recommended you track the project a different way as this function | 1178 | It is recommended you track the project a different way as this function |
| 1063 | could become slow in time." | 1179 | could become slow in time." |
| 1064 | ;; @todo - use ede-object-project as a starting point. | 1180 | (or ede-object-project |
| 1065 | (let ((ans nil) (projs ede-projects)) | 1181 | ;; If not cached, derive it from the current directory of the target. |
| 1066 | (while (and (not ans) projs) | 1182 | (let ((ans nil) (projs ede-projects)) |
| 1067 | (setq ans (ede-target-in-project-p (car projs) target) | 1183 | (while (and (not ans) projs) |
| 1068 | projs (cdr projs))) | 1184 | (setq ans (ede-target-in-project-p (car projs) target) |
| 1069 | ans)) | 1185 | projs (cdr projs))) |
| 1186 | ans))) | ||
| 1070 | 1187 | ||
| 1071 | (defmethod ede-find-target ((proj ede-project) buffer) | 1188 | (defmethod ede-find-target ((proj ede-project) buffer) |
| 1072 | "Fetch the target in PROJ belonging to BUFFER or nil." | 1189 | "Fetch the target in PROJ belonging to BUFFER or nil." |
diff --git a/lisp/cedet/ede/auto.el b/lisp/cedet/ede/auto.el index 7ff291d3675..b458cc246f0 100644 --- a/lisp/cedet/ede/auto.el +++ b/lisp/cedet/ede/auto.el | |||
| @@ -58,6 +58,13 @@ associated with a single object class, based on the initializers used.") | |||
| 58 | :initform t | 58 | :initform t |
| 59 | :documentation | 59 | :documentation |
| 60 | "Non-nil if this is an option when a user creates a project.") | 60 | "Non-nil if this is an option when a user creates a project.") |
| 61 | (safe-p :initarg :safe-p | ||
| 62 | :initform t | ||
| 63 | :documentation | ||
| 64 | "Non-nil if the project load files are \"safe\". | ||
| 65 | An unsafe project is one that loads project variables via Emacs | ||
| 66 | Lisp code. A safe project is one that loads project variables by | ||
| 67 | scanning files without loading Lisp code from them.") | ||
| 61 | ) | 68 | ) |
| 62 | "Class representing minimal knowledge set to run preliminary EDE functions. | 69 | "Class representing minimal knowledge set to run preliminary EDE functions. |
| 63 | When more advanced functionality is needed from a project type, that projects | 70 | When more advanced functionality is needed from a project type, that projects |
| @@ -69,13 +76,15 @@ type is required and the load function used.") | |||
| 69 | :name "Make" :file 'ede/proj | 76 | :name "Make" :file 'ede/proj |
| 70 | :proj-file "Project.ede" | 77 | :proj-file "Project.ede" |
| 71 | :load-type 'ede-proj-load | 78 | :load-type 'ede-proj-load |
| 72 | :class-sym 'ede-proj-project) | 79 | :class-sym 'ede-proj-project |
| 80 | :safe-p nil) | ||
| 73 | (ede-project-autoload "edeproject-automake" | 81 | (ede-project-autoload "edeproject-automake" |
| 74 | :name "Automake" :file 'ede/proj | 82 | :name "Automake" :file 'ede/proj |
| 75 | :proj-file "Project.ede" | 83 | :proj-file "Project.ede" |
| 76 | :initializers '(:makefile-type Makefile.am) | 84 | :initializers '(:makefile-type Makefile.am) |
| 77 | :load-type 'ede-proj-load | 85 | :load-type 'ede-proj-load |
| 78 | :class-sym 'ede-proj-project) | 86 | :class-sym 'ede-proj-project |
| 87 | :safe-p nil) | ||
| 79 | (ede-project-autoload "automake" | 88 | (ede-project-autoload "automake" |
| 80 | :name "automake" :file 'ede/project-am | 89 | :name "automake" :file 'ede/project-am |
| 81 | :proj-file "Makefile.am" | 90 | :proj-file "Makefile.am" |
| @@ -84,6 +93,8 @@ type is required and the load function used.") | |||
| 84 | :new-p nil)) | 93 | :new-p nil)) |
| 85 | "List of vectors defining how to determine what type of projects exist.") | 94 | "List of vectors defining how to determine what type of projects exist.") |
| 86 | 95 | ||
| 96 | (put 'ede-project-class-files 'risky-local-variable t) | ||
| 97 | |||
| 87 | ;;; EDE project-autoload methods | 98 | ;;; EDE project-autoload methods |
| 88 | ;; | 99 | ;; |
| 89 | (defmethod ede-project-root ((this ede-project-autoload)) | 100 | (defmethod ede-project-root ((this ede-project-autoload)) |
| @@ -122,6 +133,19 @@ Return nil if the project file does not exist." | |||
| 122 | (when (and f (file-exists-p f)) | 133 | (when (and f (file-exists-p f)) |
| 123 | f))) | 134 | f))) |
| 124 | 135 | ||
| 136 | (defmethod ede-auto-load-project ((this ede-project-autoload) dir) | ||
| 137 | "Load in the project associated with THIS project autoload description. | ||
| 138 | THIS project description should be valid for DIR, where the project will | ||
| 139 | be loaded." | ||
| 140 | ;; Last line of defense: don't load unsafe projects. | ||
| 141 | (when (not (or (oref this :safe-p) | ||
| 142 | (ede-directory-safe-p dir))) | ||
| 143 | (error "Attempt to load an unsafe project (bug elsewhere in EDE)")) | ||
| 144 | ;; Things are good - so load the project. | ||
| 145 | (let ((o (funcall (oref this load-type) dir))) | ||
| 146 | (when (not o) | ||
| 147 | (error "Project type error: :load-type failed to create a project")) | ||
| 148 | (ede-add-project-to-global-list o))) | ||
| 125 | 149 | ||
| 126 | (provide 'ede/auto) | 150 | (provide 'ede/auto) |
| 127 | 151 | ||
diff --git a/lisp/cedet/ede/simple.el b/lisp/cedet/ede/simple.el index 028c126e9e4..5cfa750c63f 100644 --- a/lisp/cedet/ede/simple.el +++ b/lisp/cedet/ede/simple.el | |||
| @@ -50,7 +50,8 @@ | |||
| 50 | :name "Simple" :file 'ede/simple | 50 | :name "Simple" :file 'ede/simple |
| 51 | :proj-file 'ede-simple-projectfile-for-dir | 51 | :proj-file 'ede-simple-projectfile-for-dir |
| 52 | :load-type 'ede-simple-load | 52 | :load-type 'ede-simple-load |
| 53 | :class-sym 'ede-simple-project) | 53 | :class-sym 'ede-simple-project |
| 54 | :safe-p nil) | ||
| 54 | t) | 55 | t) |
| 55 | 56 | ||
| 56 | (defcustom ede-simple-save-directory "~/.ede" | 57 | (defcustom ede-simple-save-directory "~/.ede" |
diff --git a/lisp/dired.el b/lisp/dired.el index 6f2ddbbc73d..f1a778ad05a 100644 --- a/lisp/dired.el +++ b/lisp/dired.el | |||
| @@ -1111,6 +1111,11 @@ BEG..END is the line where the file info is located." | |||
| 1111 | 1111 | ||
| 1112 | (defvar ls-lisp-use-insert-directory-program) | 1112 | (defvar ls-lisp-use-insert-directory-program) |
| 1113 | 1113 | ||
| 1114 | (defun dired-switches-escape-p (switches) | ||
| 1115 | "Return non-nil if the string SWITCHES contains -b or --escape." | ||
| 1116 | ;; Do not match things like "--block-size" that happen to contain "b". | ||
| 1117 | (string-match "\\(\\`\\| \\)-[[:alnum:]]*b\\|--escape\\>" switches)) | ||
| 1118 | |||
| 1114 | (defun dired-insert-directory (dir switches &optional file-list wildcard hdr) | 1119 | (defun dired-insert-directory (dir switches &optional file-list wildcard hdr) |
| 1115 | "Insert a directory listing of DIR, Dired style. | 1120 | "Insert a directory listing of DIR, Dired style. |
| 1116 | Use SWITCHES to make the listings. | 1121 | Use SWITCHES to make the listings. |
| @@ -1152,7 +1157,7 @@ see `dired-use-ls-dired' for more details.") | |||
| 1152 | (dired-align-file beg (point)))) | 1157 | (dired-align-file beg (point)))) |
| 1153 | (insert-directory dir switches wildcard (not wildcard))) | 1158 | (insert-directory dir switches wildcard (not wildcard))) |
| 1154 | ;; Quote certain characters, unless ls quoted them for us. | 1159 | ;; Quote certain characters, unless ls quoted them for us. |
| 1155 | (if (not (string-match "b" dired-actual-switches)) | 1160 | (if (not (dired-switches-escape-p dired-actual-switches)) |
| 1156 | (save-excursion | 1161 | (save-excursion |
| 1157 | (setq end (point-marker)) | 1162 | (setq end (point-marker)) |
| 1158 | (goto-char opoint) | 1163 | (goto-char opoint) |
| @@ -2099,7 +2104,18 @@ Otherwise, an error occurs in these cases." | |||
| 2099 | ;; with quotation marks in their names. | 2104 | ;; with quotation marks in their names. |
| 2100 | (while (string-match "\\(?:[^\\]\\|\\`\\)\\(\"\\)" file) | 2105 | (while (string-match "\\(?:[^\\]\\|\\`\\)\\(\"\\)" file) |
| 2101 | (setq file (replace-match "\\\"" nil t file 1))) | 2106 | (setq file (replace-match "\\\"" nil t file 1))) |
| 2102 | 2107 | ;; Unescape any spaces escaped by ls -b (bug#10469). | |
| 2108 | ;; Other -b quotes, eg \t, \n, work transparently. | ||
| 2109 | (if (dired-switches-escape-p dired-actual-switches) | ||
| 2110 | (let ((start 0) | ||
| 2111 | (rep "") | ||
| 2112 | (shift -1)) | ||
| 2113 | (if (eq localp 'verbatim) | ||
| 2114 | (setq rep "\\\\" | ||
| 2115 | shift +1)) | ||
| 2116 | (while (string-match "\\(\\\\\\) " file start) | ||
| 2117 | (setq file (replace-match rep nil t file 1) | ||
| 2118 | start (+ shift (match-end 0)))))) | ||
| 2103 | (when (eq system-type 'windows-nt) | 2119 | (when (eq system-type 'windows-nt) |
| 2104 | (save-match-data | 2120 | (save-match-data |
| 2105 | (let ((start 0)) | 2121 | (let ((start 0)) |
| @@ -2107,6 +2123,7 @@ Otherwise, an error occurs in these cases." | |||
| 2107 | (aset file (match-beginning 0) ?/) | 2123 | (aset file (match-beginning 0) ?/) |
| 2108 | (setq start (match-end 0)))))) | 2124 | (setq start (match-end 0)))))) |
| 2109 | 2125 | ||
| 2126 | ;; Hence we don't need to worry about converting `\\' back to `\'. | ||
| 2110 | (setq file (read (concat "\"" file "\""))) | 2127 | (setq file (read (concat "\"" file "\""))) |
| 2111 | ;; The above `read' will return a unibyte string if FILE | 2128 | ;; The above `read' will return a unibyte string if FILE |
| 2112 | ;; contains eight-bit-control/graphic characters. | 2129 | ;; contains eight-bit-control/graphic characters. |
diff --git a/lisp/epg.el b/lisp/epg.el index 3505e183c1f..6529afb2d3c 100644 --- a/lisp/epg.el +++ b/lisp/epg.el | |||
| @@ -1951,7 +1951,8 @@ The returned file name (created by appending some random characters at the end | |||
| 1951 | of PREFIX, and expanding against `temporary-file-directory' if necessary), | 1951 | of PREFIX, and expanding against `temporary-file-directory' if necessary), |
| 1952 | is guaranteed to point to a newly created empty file. | 1952 | is guaranteed to point to a newly created empty file. |
| 1953 | You can then use `write-region' to write new data into the file." | 1953 | You can then use `write-region' to write new data into the file." |
| 1954 | (let (tempdir tempfile) | 1954 | (let ((orig-modes (default-file-modes)) |
| 1955 | tempdir tempfile) | ||
| 1955 | (setq prefix (expand-file-name prefix | 1956 | (setq prefix (expand-file-name prefix |
| 1956 | (if (featurep 'xemacs) | 1957 | (if (featurep 'xemacs) |
| 1957 | (temp-directory) | 1958 | (temp-directory) |
| @@ -1959,6 +1960,7 @@ You can then use `write-region' to write new data into the file." | |||
| 1959 | (unwind-protect | 1960 | (unwind-protect |
| 1960 | (let (file) | 1961 | (let (file) |
| 1961 | ;; First, create a temporary directory. | 1962 | ;; First, create a temporary directory. |
| 1963 | (set-default-file-modes #o700) | ||
| 1962 | (while (condition-case () | 1964 | (while (condition-case () |
| 1963 | (progn | 1965 | (progn |
| 1964 | (setq tempdir (make-temp-name | 1966 | (setq tempdir (make-temp-name |
| @@ -1969,14 +1971,12 @@ You can then use `write-region' to write new data into the file." | |||
| 1969 | (make-directory tempdir)) | 1971 | (make-directory tempdir)) |
| 1970 | ;; let's try again. | 1972 | ;; let's try again. |
| 1971 | (file-already-exists t))) | 1973 | (file-already-exists t))) |
| 1972 | (set-file-modes tempdir 448) | ||
| 1973 | ;; Second, create a temporary file in the tempdir. | 1974 | ;; Second, create a temporary file in the tempdir. |
| 1974 | ;; There *is* a race condition between `make-temp-name' | 1975 | ;; There *is* a race condition between `make-temp-name' |
| 1975 | ;; and `write-region', but we don't care it since we are | 1976 | ;; and `write-region', but we don't care it since we are |
| 1976 | ;; in a private directory now. | 1977 | ;; in a private directory now. |
| 1977 | (setq tempfile (make-temp-name (concat tempdir "/EMU"))) | 1978 | (setq tempfile (make-temp-name (concat tempdir "/EMU"))) |
| 1978 | (write-region "" nil tempfile nil 'silent) | 1979 | (write-region "" nil tempfile nil 'silent) |
| 1979 | (set-file-modes tempfile 384) | ||
| 1980 | ;; Finally, make a hard-link from the tempfile. | 1980 | ;; Finally, make a hard-link from the tempfile. |
| 1981 | (while (condition-case () | 1981 | (while (condition-case () |
| 1982 | (progn | 1982 | (progn |
| @@ -1986,6 +1986,7 @@ You can then use `write-region' to write new data into the file." | |||
| 1986 | ;; let's try again. | 1986 | ;; let's try again. |
| 1987 | (file-already-exists t))) | 1987 | (file-already-exists t))) |
| 1988 | file) | 1988 | file) |
| 1989 | (set-default-file-modes orig-modes) | ||
| 1989 | ;; Cleanup the tempfile. | 1990 | ;; Cleanup the tempfile. |
| 1990 | (and tempfile | 1991 | (and tempfile |
| 1991 | (file-exists-p tempfile) | 1992 | (file-exists-p tempfile) |
diff --git a/lisp/info.el b/lisp/info.el index 94d29518995..a8cb141114c 100644 --- a/lisp/info.el +++ b/lisp/info.el | |||
| @@ -2251,7 +2251,7 @@ Table of contents is created from the tree structure of menus." | |||
| 2251 | (match-string-no-properties 1))) | 2251 | (match-string-no-properties 1))) |
| 2252 | (section "Top") | 2252 | (section "Top") |
| 2253 | menu-items) | 2253 | menu-items) |
| 2254 | (when (string-match "(" upnode) (setq upnode nil)) | 2254 | (when (and upnode (string-match "(" upnode)) (setq upnode nil)) |
| 2255 | (when (and (not (Info-index-node nodename file)) | 2255 | (when (and (not (Info-index-node nodename file)) |
| 2256 | (re-search-forward "^\\* Menu:" bound t)) | 2256 | (re-search-forward "^\\* Menu:" bound t)) |
| 2257 | (forward-line 1) | 2257 | (forward-line 1) |
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 02f933be367..2478253841f 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el | |||
| @@ -512,6 +512,7 @@ detected as prompt when being sent on echoing hosts, therefore.") | |||
| 512 | ;; GNU/Linux (Debian, Suse): /bin:/usr/bin | 512 | ;; GNU/Linux (Debian, Suse): /bin:/usr/bin |
| 513 | ;; FreeBSD: /usr/bin:/bin:/usr/sbin:/sbin: - beware trailing ":"! | 513 | ;; FreeBSD: /usr/bin:/bin:/usr/sbin:/sbin: - beware trailing ":"! |
| 514 | ;; IRIX64: /usr/bin | 514 | ;; IRIX64: /usr/bin |
| 515 | ;;;###tramp-autoload | ||
| 515 | (defcustom tramp-remote-path | 516 | (defcustom tramp-remote-path |
| 516 | '(tramp-default-remote-path "/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin" | 517 | '(tramp-default-remote-path "/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin" |
| 517 | "/local/bin" "/local/freeware/bin" "/local/gnu/bin" | 518 | "/local/bin" "/local/freeware/bin" "/local/gnu/bin" |
diff --git a/lisp/startup.el b/lisp/startup.el index 1cbf2f74c14..41056f3907e 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -910,7 +910,7 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 910 | (setq no-blinking-cursor t))) | 910 | (setq no-blinking-cursor t))) |
| 911 | ;; If the cursorColor X resource exists, alter the `cursor' face | 911 | ;; If the cursorColor X resource exists, alter the `cursor' face |
| 912 | ;; spec, but mark it as changed outside of Customize. | 912 | ;; spec, but mark it as changed outside of Customize. |
| 913 | (let ((color (x-get-resource "cursorColor" "CursorColor"))) | 913 | (let ((color (x-get-resource "cursorColor" "Foreground"))) |
| 914 | (when color | 914 | (when color |
| 915 | (put 'cursor 'theme-face | 915 | (put 'cursor 'theme-face |
| 916 | `((changed ((t :background ,color))))) | 916 | `((changed ((t :background ,color))))) |
| @@ -929,7 +929,7 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 929 | emacs-basic-display | 929 | emacs-basic-display |
| 930 | (and (memq window-system '(x w32 ns)) | 930 | (and (memq window-system '(x w32 ns)) |
| 931 | (not (member (x-get-resource "cursorBlink" "CursorBlink") | 931 | (not (member (x-get-resource "cursorBlink" "CursorBlink") |
| 932 | '("off" "false"))))) | 932 | '("no" "off" "false" "0"))))) |
| 933 | (setq no-blinking-cursor t)) | 933 | (setq no-blinking-cursor t)) |
| 934 | 934 | ||
| 935 | ;; Re-evaluate predefined variables whose initial value depends on | 935 | ;; Re-evaluate predefined variables whose initial value depends on |
diff --git a/msdos/ChangeLog b/msdos/ChangeLog index 482934f2029..060970151ef 100644 --- a/msdos/ChangeLog +++ b/msdos/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-01-14 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * sed4.inp (PATH_DUMPLOADSEARCH): Edit to "../lisp", for when the | ||
| 4 | default in src/epaths.in will change, maybe. | ||
| 5 | |||
| 1 | 2011-10-31 Eli Zaretskii <eliz@gnu.org> | 6 | 2011-10-31 Eli Zaretskii <eliz@gnu.org> |
| 2 | 7 | ||
| 3 | * sed3v2.inp (insrcdir): Comment out definition. | 8 | * sed3v2.inp (insrcdir): Comment out definition. |
diff --git a/msdos/sed4.inp b/msdos/sed4.inp index efbed4d3f1d..73d025463d8 100644 --- a/msdos/sed4.inp +++ b/msdos/sed4.inp | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | # | 16 | # |
| 17 | # ---------------------------------------------------------------------- | 17 | # ---------------------------------------------------------------------- |
| 18 | /^#define *PATH_LOADSEARCH/s/".*"/rootrelativepath ("lisp")/ | 18 | /^#define *PATH_LOADSEARCH/s/".*"/rootrelativepath ("lisp")/ |
| 19 | /^#define *PATH_DUMPLOADSEARCH/s/".*"/"..\/lisp"/ | ||
| 19 | /^#define *PATH_DATA/s/".*"/rootrelativepath ("etc")/ | 20 | /^#define *PATH_DATA/s/".*"/rootrelativepath ("etc")/ |
| 20 | /^#define *PATH_DOC/s/".*"/rootrelativepath ("etc")/ | 21 | /^#define *PATH_DOC/s/".*"/rootrelativepath ("etc")/ |
| 21 | /^#define *PATH_INFO/s/".*"/rootrelativepath ("info")/ | 22 | /^#define *PATH_INFO/s/".*"/rootrelativepath ("info")/ |
diff --git a/src/ChangeLog b/src/ChangeLog index 28910c5a556..eb03ef1357f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2012-01-14 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * w32fns.c (signal_user_input): Don't do a QUIT, to avoid | ||
| 4 | thrashing the stack of the thread. (Bug#9087) | ||
| 5 | |||
| 1 | 2012-01-12 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2012-01-12 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses. | 8 | * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses. |
diff --git a/src/w32fns.c b/src/w32fns.c index 1fcf29fbcfd..510d1e94f16 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -2479,6 +2479,10 @@ signal_user_input (void) | |||
| 2479 | if (!NILP (Vthrow_on_input)) | 2479 | if (!NILP (Vthrow_on_input)) |
| 2480 | { | 2480 | { |
| 2481 | Vquit_flag = Vthrow_on_input; | 2481 | Vquit_flag = Vthrow_on_input; |
| 2482 | /* Doing a QUIT from this thread is a bad idea, since this | ||
| 2483 | unwinds the stack of the Lisp thread, and the Windows runtime | ||
| 2484 | rightfully barfs. Disabled. */ | ||
| 2485 | #if 0 | ||
| 2482 | /* If we're inside a function that wants immediate quits, | 2486 | /* If we're inside a function that wants immediate quits, |
| 2483 | do it now. */ | 2487 | do it now. */ |
| 2484 | if (immediate_quit && NILP (Vinhibit_quit)) | 2488 | if (immediate_quit && NILP (Vinhibit_quit)) |
| @@ -2486,6 +2490,7 @@ signal_user_input (void) | |||
| 2486 | immediate_quit = 0; | 2490 | immediate_quit = 0; |
| 2487 | QUIT; | 2491 | QUIT; |
| 2488 | } | 2492 | } |
| 2493 | #endif | ||
| 2489 | } | 2494 | } |
| 2490 | } | 2495 | } |
| 2491 | 2496 | ||