Mercurial > emacs
view etc/cs-survival.tex @ 59146:9bde7721ad0f
* dispextern.h: Change HAVE_CARBON to MAC_OS.
(struct glyph_string): Likewise.
* emacs.c (main) [MAC_OS8]: Call mac_term_init instead of
mac_initialize.
* fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name):
Change TARGET_API_MAC_CARBON to HAVE_CARBON.
* fns.c (vector): Change MAC_OSX to MAC_OS.
* frame.c (x_set_frame_parameters, x_report_frame_params)
(x_set_fullscreen): Remove #ifndef HAVE_CARBON.
(x_set_border_width, Vdefault_frame_scroll_bars): Change
HAVE_CARBON to MAC_OS.
* image.c [MAC_OS]: Include sys/stat.h.
[MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and
QuickTimeComponents.h.
* mac.c [!MAC_OSX] (mac_wait_next_event): Add extern.
[!MAC_OSX] (select): Use mac_wait_next_event.
[!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to
Vexec_suffixes.
[!MAC_OSX] (select, run_mac_command): Change `#ifdef
TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
(mac_clear_font_name_table): Add extern.
(Fmac_clear_font_name_table): New defun.
(syms_of_mac): Defsubr it.
[MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define.
[MAC_OSX] (select_and_poll_event): New function.
[MAC_OSX] (sys_select): Use it.
[MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function.
[MAC_OSX && SELECT_USE_CFSOCKET]
(SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines.
[MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and
RunLoop for simultaneously monitoring two kinds of inputs, window
events and process outputs, without periodically polling.
* macfns.c (mac_initialized): Remove extern.
(stricmp): Put in #if 0. All callers changed to use xstricmp in
xfaces.c.
(strnicmp): Decrement `n' at the end of each loop, not the
beginning.
(check_mac): Use the term "Mac native windows" instead of "Mac
OS".
(check_x_display_info, x_display_info_for_name): Sync with xfns.c.
(mac_get_rdb_resource): New function (from w32reg.c).
(x_get_string_resource): Use it.
(install_window_handler): Add extern.
(mac_window): New function.
(Fx_create_frame): Use it instead of make_mac_frame. Set
parameter for Qfullscreen. Call x_wm_set_size_hint.
(Fx_open_connection, Fx_close_connection): New defuns.
(syms_of_macfns): Defsubr them.
(x_create_tip_frame) [TARGET_API_MAC_CARBON]: Add
kWindowNoUpdatesAttribute to the window attribute.
(x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow.
(x_create_tip_frame): Don't call ShowWindow.
(Fx_show_tip): Call ShowWindow.
(Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if
TARGET_API_MAC_CARBON'.
(mac_frame_parm_handlers): Set handlers for Qfullscreen.
(syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0.
* macgui.h [!MAC_OSX]: Don't include Controls.h. Include
Windows.h.
(Window): Typedef to WindowPtr and move outside `#if
TARGET_API_MAC_CARBON'.
(XSizeHints): New struct.
* macterm.c (x_update_begin, x_update_end)
[TARGET_API_MAC_CARBON]: Disable screen updates during update of a
frame.
(x_draw_glyph_string_background, x_draw_glyph_string_foreground)
[MAC_OS8]: Use XDrawImageString/XDrawImageString16.
(construct_mouse_click): Put in #if 0.
(x_check_fullscreen, x_check_fullscreen_move): Remove decls.
(x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef
TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'.
(activate_scroll_bars, deactivate_scroll_bars)
[!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl.
(x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window
if the position is neither user-specified nor program-specified.
(x_free_frame_resources): Free size_hints.
(x_wm_set_size_hint): Allocate size_hints if needed. Set
size_hints.
(mac_clear_font_name_table): New function.
(mac_do_list_fonts): Initialize font_name_table if needed.
(x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT
around mac_do_list_fonts.
(mac_unload_font): New function.
(x_load_font): Add BLOCK_INPUT around XLoadQueryFont.
(init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations
and definitions with #if TARGET_API_MAC_CARBON.
[USE_CARBON_EVENTS] (mac_handle_window_event): Add decl.
(install_window_handler): Add decl.
(do_window_update): Add BeginUpdate/EndUpdate for the tooltip
window. Use UpdateControls. Get the rectangle that should be
updated and restrict the target of expose_frame to it.
(do_grow_window): Set minimum height/width according to
size_hints.
(do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow.
(do_zoom_window): Don't use x_set_window_size.
[USE_CARBON_EVENTS] (mac_handle_window_event): New function.
(install_window_handler): New function.
[!USE_CARBON_EVENTS] (mouse_region): New variable.
[!USE_CARBON_EVENTS] (mac_wait_next_event): New function.
(XTread_socket) [USE_CARBON_EVENTS]: Move call to
GetEventDispatcherTarget inside BLOCK_INPUT.
(XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event.
Update mouse_region when mouse is moved.
(make_mac_frame): Remove.
(make_mac_terminal_frame): Put in #ifdef MAC_OS8. Initialize
mouse pointer shapes. Change values of f->left_pos and
f->top_pos. Don't use make_mac_frame. Use NewCWindow. Don't
call ShowWindow.
(mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from
Vinvocation_name and Vsystem_name.
(mac_make_rdb): New function (from w32term.c).
(mac_term_init): Use it. Add BLOCK_INPUT. Error if display has
already been opened. Don't pass argument to
mac_initialize_display_info. Don't set dpyinfo->height/width.
Add entries to x_display_list and x_display_name_list.
(x_delete_display): New function.
(mac_initialize): Don't call mac_initialize_display_info.
(syms_of_macterm) [!MAC_OSX]: Don't call Fprovide.
* macterm.h (check_mac): Add extern.
(struct mac_output): New member size_hints.
(FRAME_SIZE_HINTS): New macro.
(mac_unload_font): Add extern.
* xdisp.c (expose_window, expose_frame): Remove kludges for Mac.
* xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
author | Steven Tamm <steventamm@mac.com> |
---|---|
date | Mon, 27 Dec 2004 17:27:30 +0000 |
parents | 746c40973d25 |
children | 23a17af379b1 eb7e8d483840 |
line wrap: on
line source
% % Title: GNU Emacs Survival Card % Author: Wlodek Bzyl <matwb@univ.gda.pl> % %**start of header % User interface is `plain.tex' and macros described below % % \title{CARD TITLE}{for version 21} % \section{NAME} % optional paragraphs separated with \askip amount of vertical space % \key{KEY-NAME} description of key or % \mkey{M-x LONG-LISP-NAME} description of Elisp function % % \kbd{ARG} -- argument is typed literally \def\plainfmtname{plain} \ifx\fmtname\plainfmtname \else \errmessage{This file requires `plain' format to be typeset correctly} \endinput \fi % Copyright (c) 2000, 2004 Free Software Foundation, Inc. % This file is part of GNU Emacs. % GNU Emacs is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation; either version 2, or (at your option) % any later version. % GNU Emacs is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % You should have received a copy of the GNU General Public License % along with GNU Emacs; see the file COPYING. If not, write to % the Free Software Foundation, Inc., 59 Temple Place - Suite 330, % Boston, MA 02111-1307, USA. % Czech hyphenation rules applied \chyph % Translated to Czech by Pavel Janík <Pavel@Janik.cz> in March 2001 % Process the file with `csplain' from the `CSTeX' distribution (included % e.g. in the TeX Live CD). \def\versionnumber{1.0} \def\year{2000} \def\copyrightnotice{\penalty-1\vfill \vbox{\smallfont\baselineskip=0.8\baselineskip\raggedcenter Copyright \year\ Free Software Foundation, Inc.\break Verze \versionnumber{} pro GNU Emacs 21, duben 2000\break W{\l}odek Bzyl (matwb@univ.gda.pl)\break Do češtiny přeložil Pavel Janík (Pavel@Janik.cz) Kopie tohoto dokumentu můžete vytvářet a šířit za předpokladu, že budou obsahovat tuto poznámku o autorských právech.\par}} \hsize 3.2in \vsize 7.95in \font\titlefont=csss10 scaled 1200 \font\headingfont=csss10 \font\smallfont=csr6 \font\smallsy=cmsy6 \font\eightrm=csr8 \font\eightbf=csbx8 \font\eightit=csti8 \font\eighttt=cstt8 \font\eightmi=csmi8 \font\eightsy=cmsy8 \font\eightss=cmss8 \textfont0=\eightrm \textfont1=\eightmi \textfont2=\eightsy \def\rm{\eightrm} \rm \def\bf{\eightbf} \def\it{\eightit} \def\tt{\eighttt} \def\ss{\eightss} \baselineskip=0.8\baselineskip \newdimen\intercolumnskip % horizontal space between columns \intercolumnskip=0.5in % The TeXbook, p. 257 \let\lr=L \newbox\leftcolumn \output={\if L\lr \global\setbox\leftcolumn\columnbox \global\let\lr=R \else \doubleformat \global\let\lr=L\fi} \def\doubleformat{\shipout\vbox{\makeheadline \leftline{\box\leftcolumn\hskip\intercolumnskip\columnbox} \makefootline} \advancepageno} \def\columnbox{\leftline{\pagebody}} \def\newcolumn{\vfil\eject} \def\bye{\par\vfil\supereject \if R\lr \null\vfil\eject\fi \end} \outer\def\title#1#2{{\titlefont\centerline{#1}}\vskip 1ex plus 0.5ex \centerline{\ss#2} \vskip2\baselineskip} \outer\def\section#1{\filbreak \bskip \leftline{\headingfont #1} \askip} \def\bskip{\vskip 2.5ex plus 0.25ex } \def\askip{\vskip 0.75ex plus 0.25ex} \newdimen\defwidth \defwidth=0.25\hsize \def\hang{\hangindent\defwidth} \def\textindent#1{\noindent\llap{\hbox to \defwidth{\tt#1\hfil}}\ignorespaces} \def\key{\par\hangafter=0\hang\textindent} \def\mtextindent#1{\noindent\hbox{\tt#1\quad}\ignorespaces} \def\mkey{\par\hangafter=1\hang\mtextindent} \def\kbd#{\bgroup\tt \let\next= } \newdimen\raggedstretch \newskip\raggedparfill \raggedparfill=0pt plus 1fil \def\nohyphens {\hyphenpenalty10000\exhyphenpenalty10000\pretolerance10000} \def\raggedspaces {\spaceskip=0.3333em\relax \xspaceskip=0.5em\relax} \def\raggedright {\raggedstretch=6em \nohyphens \rightskip=0pt plus \raggedstretch \raggedspaces \parfillskip=\raggedparfill \relax} \def\raggedcenter {\raggedstretch=6em \nohyphens \rightskip=0pt plus \raggedstretch \leftskip=\rightskip \raggedspaces \parfillskip=0pt \relax} \chardef\\=`\\ \raggedright \nopagenumbers \parindent 0pt \interlinepenalty=10000 \hoffset -0.2in %\voffset 0.2in %**end of header \title{Karta\ \ pro\ \ přežití\ \ s\ \ GNU\ \ Emacsem}{pro verzi 21} V~následujícím textu \kbd{C-z} znamená: stiskněte klávesu `\kbd{z}' a současně přidržte stisknutou klávesu {\it Ctrl}. \kbd{M-z} znamená, že současně s klávesou `\kbd{z}' přidržíte klávesu {\it Meta\/} (většinou označenou {\it Alt\/}) nebo ji stisknete po stisknutí klávesy {\it Esc\/}. \section{Spuštění Emacsu} Pro spuštění GNU Emacsu jednoduše napište jeho jméno: \kbd{emacs}. Emacs rozděluje rámec na několik částí: řádek menu, buffer s editovaným textem, tzv. mode line popisující buffer nad ní a minibuffer v poslední řádce. \askip \key{C-x C-c} ukončení Emacsu \key{C-x C-f} editace souboru; tento příkaz využívá minibuffer k přečtení jména souboru; tento příkaz použijte i tehdy, chcete-li vytvořit nový soubor zadaného jména \key{C-x C-s} uložit soubor \key{C-x k} zavřít buffer \key{C-g} ve většině situací: zastavení aktuálně prováděné činnosti, zrušení zadávání příkazu apod. \key{C-x u} obnovit \section{Pohyb} \key{C-l} přesun aktuální řádky do středu okna \key{C-x b} přepnutí do jiného bufferu \key{M-<} přesun na začátek bufferu \key{M->} přesun na konec bufferu \key{M-x goto-line} přesun na řádek zadaného čísla \section{Více oken} \key{C-x 0} odstranění aktuálního okna \key{C-x 1} aktuální okno se stane jediným oknem \key{C-x 2} rozdělení okna horizontálně \key{C-x 3} rozdělení okna vertikálně \key{C-x o} přesun do jiného okna \section{Regiony} Emacs definuje `region' jako prostor mezi {\it značkou\/} a {\it bodem}. Značka je nastavena pomocí \kbd{C-{\it space}}. Bod je v místě aktuální pozice kurzoru. \askip \key{M-h} označ celý odstavec \key{C-x h} označ celý buffer \section{Vyjmutí a kopírování} \key{C-w} vyjmi region \key{M-w} zkopíruj region do kill-ringu \key{C-k} vyjmi text od kurzoru do konce řádku \key{M-DEL} vyjmi slovo \key{C-y} vlož zpět poslední vyjmutý text (kombinace kláves \kbd{C-w C-y} může být použita pro přesuny textů) \key{M-y} nahraď poslední vložený text předchozím vyjmutým textem \section{Vyhledávání} \key{C-s} hledej řetězec \key{C-r} hledej řetězec zpět \key{RET} ukonči hledání \key{M-C-s} hledej regulární výraz \key{M-C-r} hledej regulární výraz zpět \askip Kombinace \kbd{C-s} nebo \kbd{C-r} můžete použít i k opakování hledání jiným směrem. \section{Značky (tags)} Tabulky značek (tags) zaznamenávají polohu funkcí a procedur, globálních proměnných, datových typů a dalšího. Pro vytvoření tabulky značek spusťte příkaz `{\tt etags} {\it vstupní\_soubory}' v příkazovém interpretu. \askip \key{M-.} najdi definici \key{C-u M-.} najdi další výskyt definice \key{M-*} běž tam, odkud byla volána poslední \kbd{M-.} \mkey{M-x tags-query-replace} spusť query-replace na všech souborech zaznamenaných v tabulce značek. \key{M-,} pokračuj v posledním hledání značky nebo query-replace \section{Překlady} \key{M-x compile} přelož kód v aktivním okně \key{C-c C-c} běž na poslední chybu překladače, v okně překladu \key{C-x `} v okně se zdrojovým textem \section{Dired, editor adresářů} \key{C-x d} spusť Dired \key{d} označ tento soubor pro smazání \key{\~{}} označ všechny zálohy ke smazání \key{u} odstraň všechny značky pro smazání \key{x} smaž soubory označené pro smazání \key{C} kopíruj soubor \key{g} obnov buffer Diredu \key{f} navštiv soubor v aktuální řádce \key{s} přepni mezi řazením podle abecedy a data/času \section{Čtení a posílání pošty} \key{M-x rmail} začni číst poštu \key{q} ukonči čtení pošty \key{h} ukaž hlavičky \key{d} označ aktuální zprávu ke smazání \key{x} smaž všechny zprávy označené ke smazání \key{C-x m} nová zpráva \key{C-c C-c} pošli zprávu a přepni do jiného bufferu \key{C-c C-f C-c} přesuň se na hlavičku `CC' a pokud neexistuje, tak ji vytvoř \section{Různé} \key{M-q} zarovnej odstavec \key{M-/} doplň dynamicky předchozí slovo \key{C-z} ikonizuj (přeruš) Emacs \mkey{M-x revert-buffer} nahraď text editovaného souboru tímtéž souborem z disku \section{Nahrazování} \key{M-\%} interaktivně hledej a nahrazuj \key{M-C-\%} za použití regulárních výrazů \askip Možné odpovědi v módu hledání jsou \askip \key{SPC} nahraď tento výskyt; běž na další \key{,} nahraď tento výskyt; nechoď dále \key{DEL} tento výskyt nenahrazuj a běž dál \key{!} nahraď všechny další výskyty \key{\^{}} zpět na předchozí výskyt \key{RET} ukonči query-replace \key{C-r} začni rekurzivní editaci (\kbd{M-C-c} ji ukončí) \section{Regulární výrazy} \key{. {\rm(tečka)}} libovolný znak kromě znaku nového řádku \key{*} žádné nebo mnoho opakování \key{+} jedno nebo mnoho opakování \key{?} žádné nebo jedno opakování \key{[$\ldots$]} označuje třídu znaků \key{[\^{}$\ldots$]} neguje třídu znaků \key{\\{\it c}} uvození znaku, který by měl jinak speciální význam v regulárním výrazu \key{$\ldots$\\|$\ldots$\\|$\ldots$} vyhovuje jedné z alternativ (\uv{nebo}) \key{\\( $\ldots$ \\)} seskupení několika vzorků do jednoho \key{\\{\it n}} totéž jako {\it n\/}-tá skupina \key{\^{}} vyhovuje na začátku řádku \key{\$} vyhovuje na konci řádku \key{\\w} vyhovuje znaku, který může být součástí slova \key{\\W} vyhovuje znaku, který nemůže být součástí slova \key{\\<} vyhovuje na začátku slova \key{\\>} vyhovuje na konci slova \key{\\b} vyhovuje mezislovním mezerám \key{\\B} vyhovuje mezerám, které nejsou mezislovní \section{Registry} \key{C-x r s} ulož region do registru \key{C-x r i} vlož obsah registru do bufferu \key{C-x r SPC} ulož aktuální pozici kurzoru do registru \key{C-x r j} skoč na pozici kurzoru uloženou v registru \section{Obdélníky} \key{C-x r r} zkopíruj obdélník do registru \key{C-x r k} vyjmi obdélník \key{C-x r y} vlož obdélník \key{C-x r t} uvození každého řádku řetězcem \key{C-x r o} otevři obdélník, posuň text vpravo \key{C-x r c} vyprázdni obdélník \section{Příkazový interpret} \key{M-x shell} spusť příkazový interpret v Emacsu \key{M-!} spusť příkaz příkazového interpretu \key{M-|} spusť příkaz příkazového interpretu na region \key{C-u M-|} filtruj region přes příkaz příkazového interpretu \section{Kontrola pravopisu} \key{M-\$} zkontroluj pravopis slova pod kurzorem \mkey{M-x ispell-region} zkontroluj pravopis všech slov v regionu \mkey{M-x ispell-buffer} zkontroluj pravopis v bufferu \section{Mezinárodní znakové sady} \key{C-x RET C-\\} zvol a aktivuj vstupní metodu pro aktuální buffer \key{C-\\} aktivuj nebo deaktivuj vstupní metodu \mkey{M-x list-input-methods} zobraz seznam všech vstupních metod \mkey{M-x set-language-environment} specifikuj hlavní jazyk \key{C-x RET c} nastav kódovací systém pro následující příkaz \mkey{M-x find-file-literally} edituj soubor bez jakýchkoli konverzí \mkey{M-x list-coding-systems} ukaž všechny kódovací systémy \mkey{M-x prefer-coding-system} zvol preferovaný kódovací systém \section{Klávesová makra} \key{C-x (} začni definici klávesového makra \key{C-x )} ukonči definici klávesového makra \key{C-x e} spusť naposledy definované klávesové makro \key{C-u C-x (} přidej do posledně definovaného klávesového makra \mkey{M-x name-last-kbd-macro} pojmenuj naposledy definované makro \section{Jednoduché nastavení} \key{M-x customize} jednoduché nastavení \section{Pomoc} Emacs doplňuje příkazy. Stisknete-li \kbd{M-x} {\it tab\/} nebo {\it space\/} dostanete seznam příkazů Emacsu. \askip \key{C-h} nápověda Emacsu \key{C-h t} spustí tutoriál Emacsu \key{C-h i} spustí Info, prohlížeč dokumentace \key{C-h a} ukáže příkazy vyhovující zadanému řetězci (apropos) \key{C-h k} zobrazí dokumentaci funkce spuštěné pomocí zadané klávesy \askip Emacs pracuje v různých {\it módech}, které upravují chování Emacsu pro editovaný text daného typu. Mode line obsahuje jména aktuálních módů v závorkách. \askip \key{C-h m} zobraz dokumentaci aktuálních módů. \copyrightnotice \bye % Local variables: % compile-command: "csplain survival" % End: % arch-tag: 86b21d3f-d8b6-412d-8d77-e6e8728f590e