diff options
| author | Joakim Verona | 2011-10-18 21:26:54 +0200 |
|---|---|---|
| committer | Joakim Verona | 2011-10-18 21:26:54 +0200 |
| commit | 6e73a2ebf04ca9bcc95add447b30baed417849b4 (patch) | |
| tree | 6cfc05e10644f2a6353305f523db5b014e7c492b | |
| parent | 3bb66ec6110273ae61230da585ca090650140dca (diff) | |
| parent | 0ffe10653bb4366a03ce79fde9847ae810bc78d4 (diff) | |
| download | emacs-6e73a2ebf04ca9bcc95add447b30baed417849b4.tar.gz emacs-6e73a2ebf04ca9bcc95add447b30baed417849b4.zip | |
upstream
45 files changed, 613 insertions, 1159 deletions
| @@ -1,3 +1,11 @@ | |||
| 1 | 2011-10-18 Jan Djärv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * configure.in (GLIB_REQUIRED, GTK_REQUIRED): Set to 2.10 (Bug#9786). | ||
| 4 | |||
| 5 | 2011-10-18 Chong Yidong <cyd@gnu.org> | ||
| 6 | |||
| 7 | * make-dist: Remove Cocoa/Emacs.xcodeproj from distribution. | ||
| 8 | |||
| 1 | 2011-10-13 Glenn Morris <rgm@gnu.org> | 9 | 2011-10-13 Glenn Morris <rgm@gnu.org> |
| 2 | 10 | ||
| 3 | * configure.in: Also look for tputs in libcurses. (Bug#9736) | 11 | * configure.in: Also look for tputs in libcurses. (Bug#9736) |
diff --git a/admin/notes/changelogs b/admin/notes/changelogs index 2c3749244fb..2e954570ce8 100644 --- a/admin/notes/changelogs +++ b/admin/notes/changelogs | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | If installing changes written by someone else, make the ChangeLog | ||
| 2 | entry in their name, not yours. | ||
| 3 | |||
| 4 | |||
| 1 | http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html | 5 | http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00793.html |
| 2 | There is no need to make change log entries for files such as NEWS, | 6 | There is no need to make change log entries for files such as NEWS, |
| 3 | MAINTAINERS, and FOR-RELEASE. | 7 | MAINTAINERS, and FOR-RELEASE. |
diff --git a/admin/notes/copyright b/admin/notes/copyright index f4d22f9b270..0ad99900779 100644 --- a/admin/notes/copyright +++ b/admin/notes/copyright | |||
| @@ -24,9 +24,8 @@ the file. | |||
| 24 | 24 | ||
| 25 | 2. When installing code written by someone else, the ChangeLog entry | 25 | 2. When installing code written by someone else, the ChangeLog entry |
| 26 | should be in the name of the author of the code, not the person who | 26 | should be in the name of the author of the code, not the person who |
| 27 | installs it. I think it is helpful to put the author (if not yourself) | 27 | installs it. Also use bzr commit's "--author" option. |
| 28 | in the commit log as well (you can also use bzr commit's "--author" | 28 | Do not install any of your own changes in the same commit. |
| 29 | option); and to not install any of your own changes in the same commit. | ||
| 30 | 29 | ||
| 31 | 3. With images, add the legal info to a README file in the directory | 30 | 3. With images, add the legal info to a README file in the directory |
| 32 | containing the image. | 31 | containing the image. |
diff --git a/configure.in b/configure.in index c9ad44c769e..bcd2d674863 100644 --- a/configure.in +++ b/configure.in | |||
| @@ -1927,8 +1927,8 @@ fi | |||
| 1927 | if test "$pkg_check_gtk" != "yes"; then | 1927 | if test "$pkg_check_gtk" != "yes"; then |
| 1928 | HAVE_GTK=no | 1928 | HAVE_GTK=no |
| 1929 | if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then | 1929 | if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then |
| 1930 | GLIB_REQUIRED=2.6 | 1930 | GLIB_REQUIRED=2.10 |
| 1931 | GTK_REQUIRED=2.6 | 1931 | GTK_REQUIRED=2.10 |
| 1932 | GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" | 1932 | GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" |
| 1933 | 1933 | ||
| 1934 | dnl Checks for libraries. | 1934 | dnl Checks for libraries. |
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index a39b703b4dd..15b84c27075 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog | |||
| @@ -1,3 +1,25 @@ | |||
| 1 | 2011-10-18 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * maintaining.texi (Registering): Remove vc-initial-comment. (Bug#9745) | ||
| 4 | |||
| 5 | 2011-10-18 Chong Yidong <cyd@gnu.org> | ||
| 6 | |||
| 7 | * display.texi (Faces): Simplify discussion. Move documentation | ||
| 8 | of list-faces-display here, from Standard Faces node. Note | ||
| 9 | special role of `default' background. | ||
| 10 | (Standard Faces): Note special role of `default' background. Note | ||
| 11 | that region face may be taken fom GTK. Add xref to Text Display. | ||
| 12 | (Text Scale): Rename from "Temporary Face Changes". Callers | ||
| 13 | changed. Don't bother documenting variable-pitch-mode. | ||
| 14 | (Font Lock): Copyedits. Remove font-lock-maximum-size. | ||
| 15 | (Useless Whitespace): Simplify description of | ||
| 16 | delete-trailing-whitespace. Note active region case. | ||
| 17 | (Text Display): Fix description of escape-glyph face assignment. | ||
| 18 | Remove unibye mode discussion. Update some parts for Unicode. | ||
| 19 | Move glyphless chars documentation to Lisp manual. | ||
| 20 | |||
| 21 | * frames.texi (Tooltips): Document x-gtk-use-system-tooltips. | ||
| 22 | |||
| 1 | 2011-10-15 Chong Yidong <cyd@stupidchicken.com> | 23 | 2011-10-15 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 24 | ||
| 3 | * display.texi (Scrolling): Tweak explanation of scroll direction. | 25 | * display.texi (Scrolling): Tweak explanation of scroll direction. |
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index e4e7dadd548..714e03720bc 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi | |||
| @@ -109,7 +109,7 @@ command provides completion (@pxref{Completion}). If you enter a | |||
| 109 | code-point, it should be a hexadecimal number (which is the convention | 109 | code-point, it should be a hexadecimal number (which is the convention |
| 110 | for Unicode). The command then inserts the corresponding character | 110 | for Unicode). The command then inserts the corresponding character |
| 111 | into the buffer. For example, both of the following insert the | 111 | into the buffer. For example, both of the following insert the |
| 112 | infinity sign (Unicode code-point @code{#x221E}): | 112 | infinity sign (Unicode code-point @code{U+221E}): |
| 113 | 113 | ||
| 114 | @example | 114 | @example |
| 115 | @kbd{C-x 8 @key{RET} infinity @key{RET}} | 115 | @kbd{C-x 8 @key{RET} infinity @key{RET}} |
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index d2f49c62e4a..68b2209ffba 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi | |||
| @@ -21,7 +21,7 @@ the text is displayed. | |||
| 21 | * Follow Mode:: Follow mode lets two windows scroll as one. | 21 | * Follow Mode:: Follow mode lets two windows scroll as one. |
| 22 | * Faces:: How to change the display style using faces. | 22 | * Faces:: How to change the display style using faces. |
| 23 | * Standard Faces:: Emacs' predefined faces. | 23 | * Standard Faces:: Emacs' predefined faces. |
| 24 | * Temporary Face Changes:: Commands to temporarily modify the default text face | 24 | * Text Scale:: Increasing or decreasing text size in a buffer. |
| 25 | * Font Lock:: Minor mode for syntactic highlighting using faces. | 25 | * Font Lock:: Minor mode for syntactic highlighting using faces. |
| 26 | * Highlight Interactively:: Tell Emacs what text to highlight. | 26 | * Highlight Interactively:: Tell Emacs what text to highlight. |
| 27 | * Fringes:: Enabling or disabling window fringes. | 27 | * Fringes:: Enabling or disabling window fringes. |
| @@ -55,7 +55,7 @@ direction that the window moves relative to the text; this terminology | |||
| 55 | was taken up by Emacs before the modern meaning of ``scrolling up'' | 55 | was taken up by Emacs before the modern meaning of ``scrolling up'' |
| 56 | and ``scrolling down'' became widely adopted. Hence the strange | 56 | and ``scrolling down'' became widely adopted. Hence the strange |
| 57 | result that @key{PageDown} scrolls ``up'' in the Emacs sense. In this | 57 | result that @key{PageDown} scrolls ``up'' in the Emacs sense. In this |
| 58 | manual, we refer to scrolling ``foward'' and ``backward'' where | 58 | manual, we refer to scrolling ``forward'' and ``backward'' where |
| 59 | possible, in order to minimize confusion. | 59 | possible, in order to minimize confusion. |
| 60 | 60 | ||
| 61 | The portion of a buffer displayed in a window always contains point. | 61 | The portion of a buffer displayed in a window always contains point. |
| @@ -439,76 +439,69 @@ one large window. | |||
| 439 | @section Faces: Controlling Text Display Style | 439 | @section Faces: Controlling Text Display Style |
| 440 | @cindex faces | 440 | @cindex faces |
| 441 | 441 | ||
| 442 | Emacs can display text in several different styles, which are called | 442 | Emacs can display text in several different styles, called |
| 443 | @dfn{faces}. Each face can specify various @dfn{face attributes}, | 443 | @dfn{faces}. Each face can specify various @dfn{face attributes}, |
| 444 | such as the font, height, weight and slant, the foreground and | 444 | such as the font, height, weight, slant, foreground and background |
| 445 | background color, and underlining or overlining. A face does not have | 445 | color, and underlining or overlining. Most major modes assign faces |
| 446 | to specify all of these attributes; often it inherits most of them | 446 | to the text automatically, via Font Lock mode. @xref{Font Lock}, for |
| 447 | from another face. | 447 | more information about how these faces are assigned. |
| 448 | 448 | ||
| 449 | On a text-only terminal, not all face attributes are meaningful. | 449 | @findex list-faces-display |
| 450 | Some text-only terminals support inverse video, bold, and underline | 450 | To see what faces are currently defined, and what they look like, |
| 451 | attributes; some support colors. Text-only terminals generally do not | 451 | type @kbd{M-x list-faces-display}. With a prefix argument, this |
| 452 | support changing the height, width or font. | 452 | prompts for a regular expression, and displays only faces with names |
| 453 | 453 | matching that regular expression (@pxref{Regexps}). | |
| 454 | Most major modes assign faces to the text automatically through the | 454 | |
| 455 | work of Font Lock mode. @xref{Font Lock}, for more information about | 455 | It's possible for a given face to look different in different |
| 456 | Font Lock mode and syntactic highlighting. You can print the current | 456 | frames. For instance, some text-only terminals do not support all |
| 457 | buffer with the highlighting that appears on your screen using the | 457 | face attributes, particularly font, height, and width, and some |
| 458 | command @code{ps-print-buffer-with-faces}. @xref{PostScript}. | 458 | support a limited range of colors. The @code{list-faces-display} |
| 459 | 459 | command shows the appearance for the selected frame. | |
| 460 | Enriched mode, the mode for editing formatted text, provides | ||
| 461 | commands and menus for specifying faces for text in the buffer. | ||
| 462 | @xref{Format Faces}. | ||
| 463 | 460 | ||
| 464 | @cindex face colors, setting | 461 | @cindex face colors, setting |
| 465 | To alter the appearance of a face, use the customization buffer. | 462 | @cindex background color |
| 466 | @xref{Face Customization}. You can also use X resources to specify | 463 | @cindex default face |
| 467 | attributes of any particular face (@pxref{Resources}). When | 464 | You can customize a face to alter its appearance, and save those |
| 468 | displaying a character, any attribute that isn't specified by its face | 465 | changes for future Emacs sessions. @xref{Face Customization}. A face |
| 469 | is taken from the @code{default} face, whose attributes reflect the | 466 | does not have to specify every single attribute; often it inherits |
| 470 | default settings of the frame itself. | 467 | most attributes from another face. Any ultimately unspecified |
| 468 | attribute is taken from a face named @code{default}, whose attributes | ||
| 469 | are all specified. The @code{default} face is the default for | ||
| 470 | displaying text, and its background color is also used as the frame's | ||
| 471 | background color. | ||
| 472 | |||
| 473 | You can also use X resources to specify attributes of any particular | ||
| 474 | face. @xref{Resources}. | ||
| 471 | 475 | ||
| 472 | @findex set-face-foreground | 476 | @findex set-face-foreground |
| 473 | @findex set-face-background | 477 | @findex set-face-background |
| 474 | You can also change the foreground and background colors of a | 478 | You can also change the foreground and background colors of a face |
| 475 | specific face with @kbd{M-x set-face-foreground} and @kbd{M-x | 479 | with @kbd{M-x set-face-foreground} and @kbd{M-x set-face-background}. |
| 476 | set-face-background}. These commands prompt in the minibuffer for a | 480 | These commands prompt in the minibuffer for a face name and a color |
| 477 | face name and a color name, with completion, and then set that face to | 481 | name, with completion, and then set that face to use the specified |
| 478 | use the specified color. @xref{Face Customization}, for information | 482 | color (@pxref{Face Customization}, for information about color names). |
| 479 | about color names. These commands affect the face colors on all | 483 | They affect the face colors on all frames, but their effects do not |
| 480 | frames, both existing and those to be created in the future. These | 484 | persist for future Emacs sessions, unlike using the customization |
| 481 | changes do not, however, persist for future Emacs sessions; to make | 485 | buffer or X resources. You can also use frame parameters to set |
| 482 | lasting changes, use the customization buffer (@pxref{Face | 486 | foreground and background colors for a specific frame; see @ref{Frame |
| 483 | Customization}). | 487 | Parameters}. |
| 484 | 488 | ||
| 485 | You can also set foreground and background colors for the current | 489 | Emacs can display variable-width fonts, but some Emacs commands, |
| 486 | frame only; see @ref{Frame Parameters}. | 490 | particularly indentation commands, do not account for variable |
| 487 | 491 | character display widths. Therefore, we recommend not using | |
| 488 | Emacs can display variable-width fonts, but some of the Emacs | 492 | variable-width fonts for most faces, particularly those assigned by |
| 489 | commands that calculate width and indentation do not know how to | 493 | Font Lock mode. |
| 490 | calculate variable widths. This can sometimes lead to incorrect | ||
| 491 | results when you use variable-width fonts. In particular, indentation | ||
| 492 | commands can give inconsistent results, so we recommend you avoid | ||
| 493 | variable-width fonts, especially for editing program source code. | ||
| 494 | 494 | ||
| 495 | @node Standard Faces | 495 | @node Standard Faces |
| 496 | @section Standard Faces | 496 | @section Standard Faces |
| 497 | 497 | ||
| 498 | @findex list-faces-display | ||
| 499 | To see what faces are currently defined, and what they look like, | ||
| 500 | type @kbd{M-x list-faces-display}. It's possible for a given face to | ||
| 501 | look different in different frames; this command shows the appearance | ||
| 502 | in the frame in which you type it. With a prefix argument, this | ||
| 503 | prompts for a regular expression, and displays only faces with names | ||
| 504 | matching that regular expression. | ||
| 505 | |||
| 506 | Here are the standard faces for specifying text appearance. You can | 498 | Here are the standard faces for specifying text appearance. You can |
| 507 | apply them to specific text when you want the effects they produce. | 499 | apply them to specific text when you want the effects they produce. |
| 508 | 500 | ||
| 509 | @table @code | 501 | @table @code |
| 510 | @item default | 502 | @item default |
| 511 | This face is used for ordinary text that doesn't specify any face. | 503 | This face is used for ordinary text that doesn't specify any face. |
| 504 | Its background color is used as the frame's background color. | ||
| 512 | @item bold | 505 | @item bold |
| 513 | This face uses a bold variant of the default font. | 506 | This face uses a bold variant of the default font. |
| 514 | @item italic | 507 | @item italic |
| @@ -535,37 +528,38 @@ their own faces for this purpose.) | |||
| 535 | 528 | ||
| 536 | @table @code | 529 | @table @code |
| 537 | @item highlight | 530 | @item highlight |
| 538 | This face is used for highlighting portions of text, in various modes. | 531 | This face is used for text highlighting in various contexts, such as |
| 539 | For example, mouse-sensitive text is highlighted using this face. | 532 | when the mouse cursor is moved over a hyperlink. |
| 540 | @item isearch | 533 | @item isearch |
| 541 | This face is used for highlighting the current Isearch match | 534 | This face is used to highlight the current Isearch match |
| 542 | (@pxref{Incremental Search}). | 535 | (@pxref{Incremental Search}). |
| 543 | @item query-replace | 536 | @item query-replace |
| 544 | This face is used for highlighting the current Query Replace match | 537 | This face is used to highlight the current Query Replace match |
| 545 | (@pxref{Replace}). | 538 | (@pxref{Replace}). |
| 546 | @item lazy-highlight | 539 | @item lazy-highlight |
| 547 | This face is used for lazy highlighting of Isearch and Query Replace | 540 | This face is used to highlight ``lazy matches'' for Isearch and Query |
| 548 | matches other than the current one. | 541 | Replace (matches other than the current one). |
| 549 | @item region | 542 | @item region |
| 550 | This face is used for displaying a selected region (@pxref{Mark}). | 543 | This face is used for displaying an active region (@pxref{Mark}). |
| 544 | When Emacs is built with GTK support, its colors are taken from the | ||
| 545 | current GTK theme. | ||
| 551 | @item secondary-selection | 546 | @item secondary-selection |
| 552 | This face is used for displaying a secondary X selection (@pxref{Secondary | 547 | This face is used for displaying a secondary X selection (@pxref{Secondary |
| 553 | Selection}). | 548 | Selection}). |
| 554 | @item trailing-whitespace | 549 | @item trailing-whitespace |
| 555 | The face for highlighting excess spaces and tabs at the end of a line | 550 | The face for highlighting excess spaces and tabs at the end of a line |
| 556 | when @code{show-trailing-whitespace} is non-@code{nil}; see | 551 | when @code{show-trailing-whitespace} is non-@code{nil} (@pxref{Useless |
| 557 | @ref{Useless Whitespace}. | 552 | Whitespace}). |
| 558 | @item nobreak-space | ||
| 559 | The face for displaying the character ``nobreak space.'' | ||
| 560 | @item escape-glyph | 553 | @item escape-glyph |
| 561 | The face for highlighting the @samp{\} or @samp{^} that indicates | 554 | The face for displaying control characters and escape sequences |
| 562 | a control character. It's also used when @samp{\} indicates a | 555 | (@pxref{Text Display}). |
| 563 | nobreak space or nobreak (soft) hyphen. | 556 | @item nobreak-space |
| 557 | The face for displaying ``non-breaking'' space characters (@pxref{Text | ||
| 558 | Display}). | ||
| 564 | @end table | 559 | @end table |
| 565 | 560 | ||
| 566 | These faces control the appearance of parts of the Emacs frame. | 561 | The following faces control the appearance of parts of the Emacs |
| 567 | They exist as faces to provide a consistent way to customize the | 562 | frame: |
| 568 | appearance of these parts of the frame. | ||
| 569 | 563 | ||
| 570 | @table @code | 564 | @table @code |
| 571 | @item mode-line | 565 | @item mode-line |
| @@ -588,11 +582,8 @@ at the top of a window just as the mode line appears at the bottom. | |||
| 588 | Most windows do not have a header line---only some special modes, such | 582 | Most windows do not have a header line---only some special modes, such |
| 589 | Info mode, create one. | 583 | Info mode, create one. |
| 590 | @item vertical-border | 584 | @item vertical-border |
| 591 | This face is used for the vertical divider between windows. | 585 | This face is used for the vertical divider between windows on |
| 592 | By default this face inherits from the @code{mode-line-inactive} face | 586 | text-only terminals. |
| 593 | on character terminals. On graphical displays the foreground color of | ||
| 594 | this face is used for the vertical line between windows without | ||
| 595 | scrollbars. | ||
| 596 | @item minibuffer-prompt | 587 | @item minibuffer-prompt |
| 597 | @cindex @code{minibuffer-prompt} face | 588 | @cindex @code{minibuffer-prompt} face |
| 598 | @vindex minibuffer-prompt-properties | 589 | @vindex minibuffer-prompt-properties |
| @@ -607,35 +598,37 @@ The face for the fringes to the left and right of windows on graphic | |||
| 607 | displays. (The fringes are the narrow portions of the Emacs frame | 598 | displays. (The fringes are the narrow portions of the Emacs frame |
| 608 | between the text area and the window's right and left borders.) | 599 | between the text area and the window's right and left borders.) |
| 609 | @xref{Fringes}. | 600 | @xref{Fringes}. |
| 610 | @item scroll-bar | ||
| 611 | This face determines the visual appearance of the scroll bar. | ||
| 612 | @xref{Scroll Bars}. | ||
| 613 | @item border | ||
| 614 | This face determines the color of the frame border. | ||
| 615 | @item cursor | 601 | @item cursor |
| 616 | This face determines the color of the cursor. | 602 | This face determines the color of the text cursor. |
| 603 | @item tooltip | ||
| 604 | This face is used for tooltip text. By default, if Emacs is built | ||
| 605 | with GTK support, tooltips are drawn via GTK and this face has no | ||
| 606 | effect. @xref{Tooltips}. | ||
| 617 | @item mouse | 607 | @item mouse |
| 618 | This face determines the color of the mouse pointer. | 608 | This face determines the color of the mouse pointer. |
| 609 | @end table | ||
| 610 | |||
| 611 | The following faces likewise control the appearance of parts of the | ||
| 612 | Emacs frame, but only on text-only terminals, or when Emacs is built | ||
| 613 | on X with no toolkit support. (For all other cases, the appearance of | ||
| 614 | the respective frame elements is determined by system-wide settings.) | ||
| 615 | |||
| 616 | @table @code | ||
| 617 | @item scroll-bar | ||
| 618 | This face determines the visual appearance of the scroll bar. | ||
| 619 | @xref{Scroll Bars}. | ||
| 619 | @item tool-bar | 620 | @item tool-bar |
| 620 | This face determines the color of tool bar icons. @xref{Tool Bars}. | 621 | This face determines the color of tool bar icons. @xref{Tool Bars}. |
| 621 | @item tooltip | ||
| 622 | This face is used for tooltips. @xref{Tooltips}. | ||
| 623 | @item menu | 622 | @item menu |
| 624 | @cindex menu bar appearance | 623 | @cindex menu bar appearance |
| 625 | @cindex @code{menu} face, no effect if customized | 624 | @cindex @code{menu} face, no effect if customized |
| 626 | @cindex customization of @code{menu} face | 625 | @cindex customization of @code{menu} face |
| 627 | This face determines the colors and font of Emacs's menus. @xref{Menu | 626 | This face determines the colors and font of Emacs's menus. @xref{Menu |
| 628 | Bars}. This has no effect in Emacs built with GTK and in the | 627 | Bars}. |
| 629 | MS-Windows/Mac ports; you need to use system-wide styles and options | ||
| 630 | to change the appearance of GTK, Windows, or Mac menus. Setting the | ||
| 631 | font of LessTif/Motif menus is currently not supported; attempts to | ||
| 632 | set the font are ignored in this case. | ||
| 633 | @end table | 628 | @end table |
| 634 | 629 | ||
| 635 | @node Temporary Face Changes | 630 | @node Text Scale |
| 636 | @section Temporary Face Changes | 631 | @section Text Scale |
| 637 | |||
| 638 | The following commands change the default face within a buffer. | ||
| 639 | 632 | ||
| 640 | @cindex adjust buffer face height | 633 | @cindex adjust buffer face height |
| 641 | @findex text-scale-adjust | 634 | @findex text-scale-adjust |
| @@ -652,9 +645,11 @@ determine which action to take. | |||
| 652 | 645 | ||
| 653 | The final key of these commands may be repeated without the leading | 646 | The final key of these commands may be repeated without the leading |
| 654 | @kbd{C-x}. For instance, @kbd{C-x C-= C-= C-=} increases the face | 647 | @kbd{C-x}. For instance, @kbd{C-x C-= C-= C-=} increases the face |
| 655 | height by three steps. Each step scales the height of the default | 648 | height by three steps. Each step scales the text height by a factor |
| 656 | face by the value of the variable @code{text-scale-mode-step}. As a | 649 | of 1.2; to change this factor, customize the variable |
| 657 | special case, an argument of 0 removes any scaling currently active. | 650 | @code{text-scale-mode-step}. As an exception, a numeric argument of 0 |
| 651 | to the @code{text-scale-adjust} command restores the default height, | ||
| 652 | similar to typing @kbd{C-x C-0}. | ||
| 658 | 653 | ||
| 659 | @cindex increase buffer face height | 654 | @cindex increase buffer face height |
| 660 | @findex text-scale-increase | 655 | @findex text-scale-increase |
| @@ -668,21 +663,14 @@ You may find it convenient to bind to these commands, rather than | |||
| 668 | 663 | ||
| 669 | @cindex set buffer face height | 664 | @cindex set buffer face height |
| 670 | @findex text-scale-set | 665 | @findex text-scale-set |
| 671 | The command @code{text-scale-set} sets the height of the default face | 666 | The command @code{text-scale-set} scales the height of the default |
| 672 | in the current buffer to an absolute level specified by its prefix | 667 | face in the current buffer to an absolute level specified by its |
| 673 | argument. | 668 | prefix argument. |
| 674 | 669 | ||
| 675 | @findex text-scale-mode | 670 | @findex text-scale-mode |
| 676 | The above commands automatically enable or disable the minor mode | 671 | The above commands automatically enable the minor mode |
| 677 | @code{text-scale-mode}, depending on whether the current font scaling | 672 | @code{text-scale-mode} if the current font scaling is other than 1, |
| 678 | is other than 1 or not. | 673 | and disable it otherwise. |
| 679 | |||
| 680 | @cindex variable pitch mode | ||
| 681 | @findex variable-pitch-mode | ||
| 682 | To temporarily change the face in the current buffer to a | ||
| 683 | variable-pitch (``proportional'') font, use the command @kbd{M-x | ||
| 684 | variable-pitch-mode} to enable or disable the Variable Pitch minor | ||
| 685 | mode. | ||
| 686 | 674 | ||
| 687 | @node Font Lock | 675 | @node Font Lock |
| 688 | @section Font Lock mode | 676 | @section Font Lock mode |
| @@ -691,41 +679,36 @@ mode. | |||
| 691 | @cindex syntax highlighting and coloring | 679 | @cindex syntax highlighting and coloring |
| 692 | 680 | ||
| 693 | Font Lock mode is a minor mode, always local to a particular buffer, | 681 | Font Lock mode is a minor mode, always local to a particular buffer, |
| 694 | which highlights (or ``fontifies'') the buffer contents according to | 682 | which assigns faces to (or @dfn{fontifies}) the text in the buffer. |
| 695 | the syntax of the text you are editing. It can recognize comments and | 683 | Each buffer's major mode tells Font Lock mode which text to fontify; |
| 696 | strings in most programming languages; in several languages, it can | 684 | for instance, programming language modes fontify syntactically |
| 697 | also recognize and properly highlight various other important | 685 | relevant constructs like comments, strings, and function names. |
| 698 | constructs, such as names of functions being defined or reserved | ||
| 699 | keywords. Some special modes, such as Occur mode and Info mode, have | ||
| 700 | completely specialized ways of assigning fonts for Font Lock mode. | ||
| 701 | 686 | ||
| 702 | @findex font-lock-mode | 687 | @findex font-lock-mode |
| 703 | Font Lock mode is turned on by default in all modes which support it. | 688 | Font Lock mode is enabled by default. To toggle it in the current |
| 704 | You can toggle font-lock for each buffer with the command @kbd{M-x | 689 | buffer, type @kbd{M-x font-lock-mode}. A positive numeric argument |
| 705 | font-lock-mode}. Using a positive argument unconditionally turns Font | 690 | unconditionally enables Font Lock mode, and a negative or zero |
| 706 | Lock mode on, and a negative or zero argument turns it off. | 691 | argument disables it. |
| 707 | 692 | ||
| 708 | @findex global-font-lock-mode | 693 | @findex global-font-lock-mode |
| 709 | @vindex global-font-lock-mode | 694 | @vindex global-font-lock-mode |
| 710 | If you do not wish Font Lock mode to be turned on by default, | 695 | To toggle Font Lock mode in all buffers, type @kbd{M-x |
| 711 | customize the variable @code{global-font-lock-mode} using the Customize | 696 | global-font-lock-mode}. To impose this setting for future Emacs |
| 712 | interface (@pxref{Easy Customization}), or use the function | 697 | sessions, customize the variable @code{global-font-lock-mode} |
| 713 | @code{global-font-lock-mode} in your @file{.emacs} file, like this: | 698 | (@pxref{Easy Customization}), or add the following line to your init |
| 699 | file: | ||
| 714 | 700 | ||
| 715 | @example | 701 | @example |
| 716 | (global-font-lock-mode 0) | 702 | (global-font-lock-mode 0) |
| 717 | @end example | 703 | @end example |
| 718 | 704 | ||
| 719 | @noindent | ||
| 720 | This variable, like all the variables that control Font Lock mode, | ||
| 721 | take effect whenever fontification is done; that is, potentially at | ||
| 722 | any time. | ||
| 723 | |||
| 724 | @findex turn-on-font-lock | 705 | @findex turn-on-font-lock |
| 725 | If you have disabled Global Font Lock mode, you can still enable Font | 706 | @noindent |
| 707 | If you have disabled Global Font Lock mode, you can still enable Font | ||
| 726 | Lock for specific major modes by adding the function | 708 | Lock for specific major modes by adding the function |
| 727 | @code{turn-on-font-lock} to the mode hooks (@pxref{Hooks}). For | 709 | @code{turn-on-font-lock} to the mode hooks (@pxref{Hooks}). For |
| 728 | example, to enable Font Lock mode for editing C files, you can do this: | 710 | example, to enable Font Lock mode for editing C files, you can do |
| 711 | this: | ||
| 729 | 712 | ||
| 730 | @example | 713 | @example |
| 731 | (add-hook 'c-mode-hook 'turn-on-font-lock) | 714 | (add-hook 'c-mode-hook 'turn-on-font-lock) |
| @@ -739,27 +722,19 @@ use that customization buffer to customize the appearance of these | |||
| 739 | faces. @xref{Face Customization}. | 722 | faces. @xref{Face Customization}. |
| 740 | 723 | ||
| 741 | @vindex font-lock-maximum-decoration | 724 | @vindex font-lock-maximum-decoration |
| 742 | The variable @code{font-lock-maximum-decoration} specifies the | 725 | You can customize the variable @code{font-lock-maximum-decoration} |
| 743 | preferred level of fontification, for modes that provide multiple | 726 | to alter the amount of fontification applied by Font Lock mode, for |
| 744 | levels. Level 1 is the least amount of fontification; some modes | 727 | major modes that support this feature. The value should be a number |
| 745 | support levels as high as 3. The normal default is ``as high as | 728 | (with 1 representing a minimal amount of fontification; some modes |
| 746 | possible.'' You can specify an integer, which applies to all modes, or | 729 | support levels as high as 3); or @code{t}, meaning ``as high as |
| 747 | you can specify different numbers for particular major modes; for | 730 | possible'' (the default). You can also specify different numbers for |
| 748 | example, to use level 1 for C/C++ modes, and the default level | 731 | particular major modes; for example, to use level 1 for C/C++ modes, |
| 749 | otherwise, use this: | 732 | and the default level otherwise, use the value |
| 750 | 733 | ||
| 751 | @example | 734 | @example |
| 752 | (setq font-lock-maximum-decoration | 735 | '((c-mode . 1) (c++-mode . 1))) |
| 753 | '((c-mode . 1) (c++-mode . 1))) | ||
| 754 | @end example | 736 | @end example |
| 755 | 737 | ||
| 756 | @vindex font-lock-maximum-size | ||
| 757 | Fontification can be too slow for large buffers, so you can suppress | ||
| 758 | it for buffers above a certain size. The variable | ||
| 759 | @code{font-lock-maximum-size} specifies a buffer size, beyond which | ||
| 760 | buffer fontification is suppressed. | ||
| 761 | |||
| 762 | @c @w is used below to prevent a bad page-break. | ||
| 763 | @vindex font-lock-beginning-of-syntax-function | 738 | @vindex font-lock-beginning-of-syntax-function |
| 764 | @cindex incorrect fontification | 739 | @cindex incorrect fontification |
| 765 | @cindex parenthesis in column zero and fontification | 740 | @cindex parenthesis in column zero and fontification |
| @@ -768,11 +743,10 @@ buffer fontification is suppressed. | |||
| 768 | relies on analysis of the syntactic structure of the buffer text. For | 743 | relies on analysis of the syntactic structure of the buffer text. For |
| 769 | the sake of speed, some modes, including Lisp mode, rely on a special | 744 | the sake of speed, some modes, including Lisp mode, rely on a special |
| 770 | convention: an open-parenthesis or open-brace in the leftmost column | 745 | convention: an open-parenthesis or open-brace in the leftmost column |
| 771 | always defines the @w{beginning} of a defun, and is thus always | 746 | always defines the beginning of a defun, and is thus always outside |
| 772 | outside any string or comment. (@xref{Left Margin Paren}.) If you | 747 | any string or comment. Therefore, you should avoid placing a an |
| 773 | don't follow this convention, Font Lock mode can misfontify the text | 748 | open-parenthesis or open-brace in the leftmost column, if it is inside |
| 774 | that follows an open-parenthesis or open-brace in the leftmost column | 749 | a string or comment. @xref{Left Margin Paren}, for details. |
| 775 | that is inside a string or comment. | ||
| 776 | 750 | ||
| 777 | @cindex slow display during scrolling | 751 | @cindex slow display during scrolling |
| 778 | The variable @code{font-lock-beginning-of-syntax-function}, which is | 752 | The variable @code{font-lock-beginning-of-syntax-function}, which is |
| @@ -788,11 +762,11 @@ considerably slow down redisplay while scrolling, particularly if you | |||
| 788 | are close to the end of a large buffer. | 762 | are close to the end of a large buffer. |
| 789 | 763 | ||
| 790 | @findex font-lock-add-keywords | 764 | @findex font-lock-add-keywords |
| 791 | Font Lock highlighting patterns already exist for many modes, but you | 765 | Font Lock highlighting patterns already exist for most modes, but |
| 792 | may want to fontify additional patterns. You can use the function | 766 | you may want to fontify additional patterns. You can use the function |
| 793 | @code{font-lock-add-keywords}, to add your own highlighting patterns for | 767 | @code{font-lock-add-keywords}, to add your own highlighting patterns |
| 794 | a particular mode. For example, to highlight @samp{FIXME:} words in C | 768 | for a particular mode. For example, to highlight @samp{FIXME:} words |
| 795 | comments, use this: | 769 | in C comments, use this: |
| 796 | 770 | ||
| 797 | @example | 771 | @example |
| 798 | (add-hook 'c-mode-hook | 772 | (add-hook 'c-mode-hook |
| @@ -803,19 +777,20 @@ comments, use this: | |||
| 803 | @end example | 777 | @end example |
| 804 | 778 | ||
| 805 | @findex font-lock-remove-keywords | 779 | @findex font-lock-remove-keywords |
| 806 | To remove keywords from the font-lock highlighting patterns, use the | 780 | @noindent |
| 781 | To remove keywords from the font-lock highlighting patterns, use the | ||
| 807 | function @code{font-lock-remove-keywords}. @xref{Search-based | 782 | function @code{font-lock-remove-keywords}. @xref{Search-based |
| 808 | Fontification,,, elisp, The Emacs Lisp Reference Manual}. | 783 | Fontification,,, elisp, The Emacs Lisp Reference Manual}. |
| 809 | 784 | ||
| 810 | @cindex just-in-time (JIT) font-lock | 785 | @cindex just-in-time (JIT) font-lock |
| 811 | @cindex background syntax highlighting | 786 | @cindex background syntax highlighting |
| 812 | Fontifying large buffers can take a long time. To avoid large | 787 | Fontifying large buffers can take a long time. To avoid large |
| 813 | delays when a file is visited, Emacs fontifies only the visible | 788 | delays when a file is visited, Emacs initially fontifies only the |
| 814 | portion of a buffer. As you scroll through the buffer, each portion | 789 | visible portion of a buffer. As you scroll through the buffer, each |
| 815 | that becomes visible is fontified as soon as it is displayed; this | 790 | portion that becomes visible is fontified as soon as it is displayed; |
| 816 | type of Font Lock is called @dfn{Just-In-Time} (or @dfn{JIT}) Lock. | 791 | this type of Font Lock is called @dfn{Just-In-Time} (or @dfn{JIT}) |
| 817 | You can control how JIT Lock behaves, including telling it to perform | 792 | Lock. You can control how JIT Lock behaves, including telling it to |
| 818 | fontification while idle, by customizing variables in the | 793 | perform fontification while idle, by customizing variables in the |
| 819 | customization group @samp{jit-lock}. @xref{Specific Customization}. | 794 | customization group @samp{jit-lock}. @xref{Specific Customization}. |
| 820 | 795 | ||
| 821 | @node Highlight Interactively | 796 | @node Highlight Interactively |
| @@ -826,7 +801,7 @@ customization group @samp{jit-lock}. @xref{Specific Customization}. | |||
| 826 | 801 | ||
| 827 | @findex highlight-changes-mode | 802 | @findex highlight-changes-mode |
| 828 | Highlight Changes mode is a minor mode that @dfn{highlights} the parts | 803 | Highlight Changes mode is a minor mode that @dfn{highlights} the parts |
| 829 | of the buffer were changed most recently, by giving that text a | 804 | of the buffer that were changed most recently, by giving that text a |
| 830 | different face. To enable or disable Highlight Changes mode, use | 805 | different face. To enable or disable Highlight Changes mode, use |
| 831 | @kbd{M-x highlight-changes-mode}. | 806 | @kbd{M-x highlight-changes-mode}. |
| 832 | 807 | ||
| @@ -931,21 +906,23 @@ mode's symbol is a member of the list @code{hi-lock-exclude-modes}. | |||
| 931 | display symbols that provide information about the text in the window. | 906 | display symbols that provide information about the text in the window. |
| 932 | 907 | ||
| 933 | The most common use of the fringes is to indicate a continuation | 908 | The most common use of the fringes is to indicate a continuation |
| 934 | line, when one line of text is split into multiple lines on the | 909 | line (@pxref{Continuation Lines}). When one line of text is split |
| 935 | screen. The left fringe shows a curving arrow for each screen line | 910 | into multiple screen lines, the left fringe shows a curving arrow for |
| 936 | except the first, indicating that ``this is not the real beginning.'' | 911 | each screen line except the first, indicating that ``this is not the |
| 937 | The right fringe shows a curving arrow for each screen line except the | 912 | real beginning.'' The right fringe shows a curving arrow for each |
| 938 | last, indicating that ``this is not the real end.'' If the line's | 913 | screen line except the last, indicating that ``this is not the real |
| 939 | direction is right-to-left (@pxref{Bidirectional Editing}), the | 914 | end.'' If the line's direction is right-to-left (@pxref{Bidirectional |
| 940 | meaning of the curving arrows in the left and right fringes are | 915 | Editing}), the meanings of the curving arrows in the fringes are |
| 941 | swapped. | 916 | swapped. |
| 942 | 917 | ||
| 943 | The fringes indicate line truncation with short horizontal arrows | 918 | The fringes indicate line truncation with short horizontal arrows |
| 944 | meaning ``there's more text on this line which is scrolled | 919 | meaning ``there's more text on this line which is scrolled |
| 945 | horizontally out of view;'' clicking the mouse on one of the arrows | 920 | horizontally out of view.'' Clicking the mouse on one of the arrows |
| 946 | scrolls the display horizontally in the direction of the arrow. The | 921 | scrolls the display horizontally in the direction of the arrow. |
| 947 | fringes can also indicate other things, such as empty lines, or where a | 922 | |
| 948 | program you are debugging is executing (@pxref{Debuggers}). | 923 | The fringes can also indicate other things, such as buffer |
| 924 | boundaries (@pxref{Displaying Boundaries}), and where a program you | ||
| 925 | are debugging is executing (@pxref{Debuggers}). | ||
| 949 | 926 | ||
| 950 | @findex set-fringe-style | 927 | @findex set-fringe-style |
| 951 | @findex fringe-mode | 928 | @findex fringe-mode |
| @@ -958,10 +935,10 @@ for the selected frame, use @kbd{M-x set-fringe-style}. | |||
| 958 | 935 | ||
| 959 | @vindex indicate-buffer-boundaries | 936 | @vindex indicate-buffer-boundaries |
| 960 | On a graphical display, Emacs can indicate the buffer boundaries in | 937 | On a graphical display, Emacs can indicate the buffer boundaries in |
| 961 | the fringes. It indicates the first line and the last line with | 938 | the fringes. If you enable this feature, the first line and the last |
| 962 | angle images in the fringes. This can be combined with up and down | 939 | line are marked with angle images in the fringes. This can be |
| 963 | arrow images which say whether it is possible to scroll the window up | 940 | combined with up and down arrow images which say whether it is |
| 964 | and down. | 941 | possible to scroll the window. |
| 965 | 942 | ||
| 966 | The buffer-local variable @code{indicate-buffer-boundaries} controls | 943 | The buffer-local variable @code{indicate-buffer-boundaries} controls |
| 967 | how the buffer boundaries and window scrolling is indicated in the | 944 | how the buffer boundaries and window scrolling is indicated in the |
| @@ -1006,25 +983,22 @@ the location of point is enough to show you that the spaces are | |||
| 1006 | present. | 983 | present. |
| 1007 | 984 | ||
| 1008 | @findex delete-trailing-whitespace | 985 | @findex delete-trailing-whitespace |
| 1009 | Type @kbd{M-x delete-trailing-whitespace @key{RET}} to delete all | 986 | Type @kbd{M-x delete-trailing-whitespace} to delete all trailing |
| 1010 | trailing whitespace within the buffer's accessible portion | 987 | whitespace within the buffer. If the region is active, it deletes all |
| 1011 | (@pxref{Narrowing}). This command does not remove newline characters. | 988 | trailing whitespace in the region instead. |
| 1012 | 989 | ||
| 1013 | @vindex indicate-empty-lines | 990 | @vindex indicate-empty-lines |
| 1014 | @cindex unused lines | 991 | @cindex unused lines |
| 1015 | @cindex fringes, and unused line indication | 992 | @cindex fringes, and unused line indication |
| 1016 | Emacs can indicate unused lines at the end of the window with a | 993 | On graphical displays, Emacs can indicate unused lines at the end of |
| 1017 | small image in the left fringe (@pxref{Fringes}). The image appears | 994 | the window with a small image in the left fringe (@pxref{Fringes}). |
| 1018 | for window lines that do not correspond to any buffer text. Blank | 995 | The image appears for window lines that do not correspond to any |
| 1019 | lines at the end of the buffer then stand out because they do not have | 996 | buffer text. Blank lines at the end of the buffer then stand out |
| 1020 | this image in the fringe. | 997 | because they do not have this image in the fringe. To enable this |
| 1021 | 998 | feature, set the buffer-local variable @code{indicate-empty-lines} to | |
| 1022 | To enable this feature, set the buffer-local variable | 999 | a non-@code{nil} value. You can enable or disable this feature for |
| 1023 | @code{indicate-empty-lines} to a non-@code{nil} value. You can enable | 1000 | all new buffers by setting the default value of this variable, |
| 1024 | or disable this feature for all new buffers by setting the default | 1001 | e.g.@:@code{(setq-default indicate-empty-lines t)}. |
| 1025 | value of this variable, e.g.@: @code{(setq-default | ||
| 1026 | indicate-empty-lines t)};. (This feature currently doesn't work on | ||
| 1027 | text-only terminals.) | ||
| 1028 | 1002 | ||
| 1029 | @node Selective Display | 1003 | @node Selective Display |
| 1030 | @section Selective Display | 1004 | @section Selective Display |
| @@ -1178,11 +1152,10 @@ percentage of the total charge. | |||
| 1178 | @cindex mode line, 3D appearance | 1152 | @cindex mode line, 3D appearance |
| 1179 | @cindex attributes of mode line, changing | 1153 | @cindex attributes of mode line, changing |
| 1180 | @cindex non-integral number of lines in a window | 1154 | @cindex non-integral number of lines in a window |
| 1181 | By default, the mode line is drawn on graphics displays with | 1155 | On a graphical display, the mode line is drawn as a 3D box. If you |
| 1182 | 3D-style highlighting, like that of a button when it is not being | 1156 | don't like this effect, you can disable it by customizing the |
| 1183 | pressed. If you don't like this effect, you can disable the 3D | 1157 | @code{mode-line} face and setting its @code{box} attribute to |
| 1184 | highlighting of the mode line, by customizing the attributes of the | 1158 | @code{nil}. @xref{Face Customization}. |
| 1185 | @code{mode-line} face. @xref{Face Customization}. | ||
| 1186 | 1159 | ||
| 1187 | @cindex non-selected windows, mode line appearance | 1160 | @cindex non-selected windows, mode line appearance |
| 1188 | By default, the mode line of nonselected windows is displayed in a | 1161 | By default, the mode line of nonselected windows is displayed in a |
| @@ -1210,51 +1183,45 @@ formats by setting each of the variables @code{eol-mnemonic-unix}, | |||
| 1210 | @node Text Display | 1183 | @node Text Display |
| 1211 | @section How Text Is Displayed | 1184 | @section How Text Is Displayed |
| 1212 | @cindex characters (in text) | 1185 | @cindex characters (in text) |
| 1186 | @cindex printing character | ||
| 1213 | 1187 | ||
| 1214 | @acronym{ASCII} printing characters (octal codes 040 through 0176) in Emacs | 1188 | Most characters are @dfn{printing characters}: when they appear in a |
| 1215 | buffers are displayed with their graphics, as are non-@acronym{ASCII} multibyte | 1189 | buffer, they are displayed literally on the screen. Printing |
| 1216 | printing characters (octal codes above 0400). | 1190 | characters include @acronym{ASCII} numbers, letters, and punctuation |
| 1191 | characters, as well as many non-@acronym{ASCII} characters. | ||
| 1217 | 1192 | ||
| 1218 | @vindex tab-width | 1193 | @vindex tab-width |
| 1219 | Some @acronym{ASCII} control characters are displayed in special | 1194 | @cindex control character |
| 1220 | ways. The newline character (octal code 012) is displayed by starting | 1195 | The @acronym{ASCII} character set contains non-printing @dfn{control |
| 1221 | a new line. The tab character (octal code 011) is displayed by moving | 1196 | characters}. Two of these are displayed specially: the newline |
| 1222 | to the next tab stop column (normally every 8 columns). The number of | 1197 | character (Unicode code point @code{U+000A}) is displayed by starting |
| 1223 | spaces per tab is controlled by the variable @code{tab-width}, which | 1198 | a new line, while the tab character (@code{U+0009}) is displayed as a |
| 1224 | must have an integer value between 1 and 1000, inclusive, and is made | 1199 | space that extends to the next tab stop column (normally every 8 |
| 1225 | buffer-local by changing it. Note that how the tab character in the buffer | 1200 | columns). The number of spaces per tab is controlled by the |
| 1226 | is displayed has nothing to do with the definition of @key{TAB} as a | 1201 | buffer-local variable @code{tab-width}, which must have an integer |
| 1227 | command. | 1202 | value between 1 and 1000, inclusive. Note that how the tab character |
| 1228 | 1203 | in the buffer is displayed has nothing to do with the definition of | |
| 1229 | Other @acronym{ASCII} control characters are normally displayed as a caret | 1204 | @key{TAB} as a command. |
| 1230 | (@samp{^}) followed by the non-control version of the character; thus, | 1205 | |
| 1231 | control-A is displayed as @samp{^A}. The caret appears in face | 1206 | Other @acronym{ASCII} control characters are displayed as a caret |
| 1232 | @code{escape-glyph}. | 1207 | (@samp{^}) followed by the non-control version of the character, with |
| 1233 | 1208 | the @code{escape-glyph} face. For instance, the @samp{control-A} | |
| 1234 | Non-@acronym{ASCII} characters 0200 through 0237 (octal) are | 1209 | character, @code{U+0001}, is displayed as @samp{^A}. |
| 1235 | displayed with octal escape sequences; thus, character code 0230 | ||
| 1236 | (octal) is displayed as @samp{\230}. The backslash appears in face | ||
| 1237 | @code{escape-glyph}. | ||
| 1238 | 1210 | ||
| 1239 | @vindex ctl-arrow | 1211 | @vindex ctl-arrow |
| 1240 | If the variable @code{ctl-arrow} is @code{nil}, control characters in | 1212 | The non-@acronym{ASCII}, non-printing characters @code{U+0080} |
| 1241 | the buffer are displayed with octal escape sequences, except for newline | 1213 | (octal 200) through @code{U+009F} (octal 237) are displayed as octal |
| 1242 | and tab. Altering the value of @code{ctl-arrow} makes it local to the | 1214 | escape sequences, with the @code{escape-glyph} face. For instance, |
| 1243 | current buffer; until that time, the default value is in effect. The | 1215 | character code @code{U+0098} (octal 230) is displayed as @samp{\230}. |
| 1244 | default is initially @code{t}. | 1216 | If you change the buffer-local variable @code{ctl-arrow} to |
| 1245 | 1217 | @code{nil}, @acronym{ASCII} control characters are also displayed as | |
| 1246 | The display of character codes 0240 through 0377 (octal) may be | 1218 | octal escape sequences instead of caret escape sequences. |
| 1247 | either as escape sequences or as graphics. They do not normally occur | ||
| 1248 | in multibyte buffers, but if they do, they are displayed as Latin-1 | ||
| 1249 | graphics. In unibyte mode, if you enable European display they are | ||
| 1250 | displayed using their graphics (assuming your terminal supports them), | ||
| 1251 | otherwise as escape sequences. @xref{Unibyte Mode}. | ||
| 1252 | 1219 | ||
| 1253 | @vindex nobreak-char-display | 1220 | @vindex nobreak-char-display |
| 1254 | @cindex no-break space, display | 1221 | @cindex non-breaking space, display |
| 1255 | @cindex no-break hyphen, display | 1222 | @cindex non-breaking hyphen, display |
| 1256 | @cindex soft hyphen, display | 1223 | @cindex soft hyphen, display |
| 1257 | Some character sets define ``no-break'' versions of the space and | 1224 | There are two special ``non-breaking'' versions of the space and |
| 1258 | hyphen characters, which are used where a line should not be broken. | 1225 | hyphen characters, which are used where a line should not be broken. |
| 1259 | Emacs normally displays these characters with special faces | 1226 | Emacs normally displays these characters with special faces |
| 1260 | (respectively, @code{nobreak-space} and @code{escape-glyph}) to | 1227 | (respectively, @code{nobreak-space} and @code{escape-glyph}) to |
| @@ -1269,45 +1236,13 @@ elisp, The Emacs Lisp Reference Manual}. | |||
| 1269 | 1236 | ||
| 1270 | @cindex glyphless characters | 1237 | @cindex glyphless characters |
| 1271 | @cindex characters with no font glyphs | 1238 | @cindex characters with no font glyphs |
| 1272 | On graphics displays, some characters could have no glyphs in any of | 1239 | On graphical displays, some characters may have no glyphs in any of |
| 1273 | the fonts available to Emacs. On text terminals, some characters | 1240 | the fonts available to Emacs. These @dfn{glyphless characters} are |
| 1274 | could be impossible to encode with the terminal coding system | 1241 | normally displayed as boxes containing the hexadecimal character code. |
| 1275 | (@pxref{Terminal Coding}). Emacs can display such @dfn{glyphless} | 1242 | You can control the display method by customizing the variable |
| 1276 | characters using one of the following methods: | 1243 | @code{glyphless-char-display-control}. @xref{Glyphless Chars,, |
| 1277 | 1244 | Glyphless Character Display, elisp, The Emacs Lisp Reference Manual}, | |
| 1278 | @table @code | 1245 | for details. |
| 1279 | @item zero-width | ||
| 1280 | Don't display the character. | ||
| 1281 | |||
| 1282 | @item thin-space | ||
| 1283 | Display a thin space, 1-pixel wide on graphics displays or 1-character | ||
| 1284 | wide on text terminals. | ||
| 1285 | |||
| 1286 | @item empty-box | ||
| 1287 | Display an empty box. | ||
| 1288 | |||
| 1289 | @item acronym | ||
| 1290 | Display the acronym of the character's name (such as @sc{zwnj} or | ||
| 1291 | @sc{rlm}) in a box. | ||
| 1292 | |||
| 1293 | @item hex-code | ||
| 1294 | Display the Unicode codepoint of the character in hexadecimal | ||
| 1295 | notation, in a box. | ||
| 1296 | @end table | ||
| 1297 | |||
| 1298 | @noindent | ||
| 1299 | @cindex @code{glyphless-char} face | ||
| 1300 | With the exception of @code{zero-width}, all other methods draw these | ||
| 1301 | characters in a special face @code{glyphless-char}, which you can | ||
| 1302 | customize. | ||
| 1303 | |||
| 1304 | @vindex glyphless-char-display-control | ||
| 1305 | @vindex char-acronym-table | ||
| 1306 | To control what glyphless characters are displayed using which method, | ||
| 1307 | customize the variable @code{glyphless-char-display-control}; see its | ||
| 1308 | doc string for the details. For even finer control, set the elements | ||
| 1309 | of 2 char-tables: @code{glyphless-char-display} and | ||
| 1310 | @code{char-acronym-table}. | ||
| 1311 | 1246 | ||
| 1312 | @node Cursor Display | 1247 | @node Cursor Display |
| 1313 | @section Displaying the Cursor | 1248 | @section Displaying the Cursor |
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 8a15c783fc0..44f1aed134e 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi | |||
| @@ -350,7 +350,7 @@ Controlling the Display | |||
| 350 | * Follow Mode:: Follow mode lets two windows scroll as one. | 350 | * Follow Mode:: Follow mode lets two windows scroll as one. |
| 351 | * Faces:: How to change the display style using faces. | 351 | * Faces:: How to change the display style using faces. |
| 352 | * Standard Faces:: Emacs' predefined faces. | 352 | * Standard Faces:: Emacs' predefined faces. |
| 353 | * Temporary Face Changes:: Commands to temporarily modify the default text face | 353 | * Text Scale:: Increasing or decreasing text size in a buffer. |
| 354 | * Font Lock:: Minor mode for syntactic highlighting using faces. | 354 | * Font Lock:: Minor mode for syntactic highlighting using faces. |
| 355 | * Highlight Interactively:: Tell Emacs what text to highlight. | 355 | * Highlight Interactively:: Tell Emacs what text to highlight. |
| 356 | * Fringes:: Enabling or disabling window fringes. | 356 | * Fringes:: Enabling or disabling window fringes. |
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index 14fdb3121a4..4c239d364f0 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi | |||
| @@ -299,7 +299,7 @@ you can access them without having to display the menu bar. | |||
| 299 | 299 | ||
| 300 | @item S-Mouse-1 | 300 | @item S-Mouse-1 |
| 301 | This menu is for changing the default face within the window's buffer. | 301 | This menu is for changing the default face within the window's buffer. |
| 302 | @xref{Temporary Face Changes}. | 302 | @xref{Text Scale}. |
| 303 | @end table | 303 | @end table |
| 304 | 304 | ||
| 305 | @node Mode Line Mouse | 305 | @node Mode Line Mouse |
| @@ -1185,6 +1185,13 @@ options for displaying tooltips, use @kbd{M-x customize-group | |||
| 1185 | @key{RET} tooltip @key{RET}}. @xref{X Resources}, for information on | 1185 | @key{RET} tooltip @key{RET}}. @xref{X Resources}, for information on |
| 1186 | customizing the windows that display tooltips. | 1186 | customizing the windows that display tooltips. |
| 1187 | 1187 | ||
| 1188 | @vindex x-gtk-use-system-tooltips | ||
| 1189 | If Emacs is built with GTK support, it displays tooltips via GTK, | ||
| 1190 | using the default appearance of GTK tooltips. To disable this, change | ||
| 1191 | the variable @code{x-gtk-use-system-tooltips} to @code{nil}. If you | ||
| 1192 | do this, or if Emacs is built without GTK support, the @code{tooltip} | ||
| 1193 | face specifies most attributes of the tooltip text. | ||
| 1194 | |||
| 1188 | @node Mouse Avoidance | 1195 | @node Mouse Avoidance |
| 1189 | @section Mouse Avoidance | 1196 | @section Mouse Avoidance |
| 1190 | @cindex avoiding mouse in the way of your typing | 1197 | @cindex avoiding mouse in the way of your typing |
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi index 85d92c9fcd7..f4a5a2858cf 100644 --- a/doc/emacs/macos.texi +++ b/doc/emacs/macos.texi | |||
| @@ -54,12 +54,12 @@ to change the foreground color of the face at that position (if the | |||
| 54 | instead). To discard the settings, create a new frame and close the | 54 | instead). To discard the settings, create a new frame and close the |
| 55 | altered one. | 55 | altered one. |
| 56 | 56 | ||
| 57 | @key{S-Mouse-1} (i.e., clicking the left mouse button | 57 | @key{S-Mouse-1} (i.e., clicking the left mouse button while holding |
| 58 | while holding down the @key{Shift} key) adjusts the region to the | 58 | down the @key{Shift} key) adjusts the region to the click position, |
| 59 | click position, just like @key{Mouse-3} (@code{mouse-save-then-kill}); | 59 | just like @key{Mouse-3} (@code{mouse-save-then-kill}); it does not pop |
| 60 | it does not pop up a menu for changing the default face, as | 60 | up a menu for changing the default face, as @key{S-Mouse-1} normally |
| 61 | @key{S-Mouse-1} normally does (@pxref{Temporary Face Changes}). This | 61 | does (@pxref{Text Scale}). This change makes Emacs behave more like |
| 62 | change makes Emacs behave more like other Mac / GNUstep applications. | 62 | other Mac / GNUstep applications. |
| 63 | 63 | ||
| 64 | When you open or save files using the menus, or using the | 64 | When you open or save files using the menus, or using the |
| 65 | @key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file | 65 | @key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file |
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index dafc9327c74..354812edc1f 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi | |||
| @@ -898,10 +898,11 @@ You can specify a different default by setting the variable | |||
| 898 | numeric argument; then it reads the initial revision ID for this | 898 | numeric argument; then it reads the initial revision ID for this |
| 899 | particular file using the minibuffer. | 899 | particular file using the minibuffer. |
| 900 | 900 | ||
| 901 | @vindex vc-initial-comment | 901 | @c See http://debbugs.gnu.org/9745 |
| 902 | If @code{vc-initial-comment} is non-@code{nil}, @kbd{C-x v i} reads an | 902 | @c @vindex vc-initial-comment |
| 903 | initial comment to describe the purpose of this source file. Reading | 903 | @c If @code{vc-initial-comment} is non-@code{nil}, @kbd{C-x v i} reads an |
| 904 | the initial comment works like reading a log entry (@pxref{Log Buffer}). | 904 | @c initial comment to describe the purpose of this source file. Reading |
| 905 | @c the initial comment works like reading a log entry (@pxref{Log Buffer}). | ||
| 905 | 906 | ||
| 906 | @node VC Change Log | 907 | @node VC Change Log |
| 907 | @subsubsection VC Change Log | 908 | @subsubsection VC Change Log |
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 345e69e6989..490280dae29 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2011-10-18 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * display.texi (Glyphless Chars): New node. | ||
| 4 | |||
| 1 | 2011-10-13 Chong Yidong <cyd@stupidchicken.com> | 5 | 2011-10-13 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 6 | ||
| 3 | * text.texi (Yanking): Document yank-excluded-properties. | 7 | * text.texi (Yanking): Document yank-excluded-properties. |
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 18cb93557e9..034d92f78c3 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi | |||
| @@ -36,6 +36,7 @@ that Emacs presents to the user. | |||
| 36 | * Window Systems:: Which window system is being used. | 36 | * Window Systems:: Which window system is being used. |
| 37 | * Bidirectional Display:: Display of bidirectional scripts, such as | 37 | * Bidirectional Display:: Display of bidirectional scripts, such as |
| 38 | Arabic and Farsi. | 38 | Arabic and Farsi. |
| 39 | * Glyphless Chars:: How glyphless characters are drawn. | ||
| 39 | @end menu | 40 | @end menu |
| 40 | 41 | ||
| 41 | @node Refresh Screen | 42 | @node Refresh Screen |
| @@ -6242,3 +6243,96 @@ affect all Emacs frames and windows. | |||
| 6242 | appropriate mirrored character in the reordered text. Lisp programs | 6243 | appropriate mirrored character in the reordered text. Lisp programs |
| 6243 | can affect the mirrored display by changing this property. Again, any | 6244 | can affect the mirrored display by changing this property. Again, any |
| 6244 | such changes affect all of Emacs display. | 6245 | such changes affect all of Emacs display. |
| 6246 | |||
| 6247 | @node Glyphless Chars | ||
| 6248 | @section Glyphless Character Display | ||
| 6249 | @cindex glyphless characters | ||
| 6250 | |||
| 6251 | @dfn{Glyphless characters} are not displayed in the usual way when | ||
| 6252 | they appear in a buffer, but in some special way (e.g. as a box | ||
| 6253 | containing a hexadecimal code). These include characters that cannot | ||
| 6254 | be displayed with any available font (on a graphical display), or that | ||
| 6255 | cannot be encoded by the terminal's coding system (on a text-only | ||
| 6256 | terminal). Specific characters can also be defined to be glyphless. | ||
| 6257 | |||
| 6258 | @defvar glyphless-char-display | ||
| 6259 | The value of this variable is a char-table that defines glyphless | ||
| 6260 | characters and how they are displayed. If an entry is @code{nil}, the | ||
| 6261 | corresponding character is displayed in its usual way. Otherwise, an | ||
| 6262 | entry should be one of the following display methods: | ||
| 6263 | |||
| 6264 | @table @asis | ||
| 6265 | @item @code{zero-width} | ||
| 6266 | Don't display the character. | ||
| 6267 | |||
| 6268 | @item @code{thin-space} | ||
| 6269 | Display a thin space, 1-pixel wide on graphical displays, or | ||
| 6270 | 1-character wide on text-only terminals. | ||
| 6271 | |||
| 6272 | @item @code{empty-box} | ||
| 6273 | Display an empty box. | ||
| 6274 | |||
| 6275 | @item @code{hex-code} | ||
| 6276 | Display a box containing the Unicode codepoint of the character, in | ||
| 6277 | hexadecimal notation. | ||
| 6278 | |||
| 6279 | @item an @acronym{ASCII} string | ||
| 6280 | Display a box containing that string. | ||
| 6281 | @end table | ||
| 6282 | |||
| 6283 | @noindent | ||
| 6284 | Except for @code{zero-width}, these methods display using the | ||
| 6285 | @code{glyphless-char} face. | ||
| 6286 | |||
| 6287 | An entry can also be a cons cell @code{(@var{graphical} | ||
| 6288 | . @var{text})}, where @var{graphical} and @var{text} are the display | ||
| 6289 | methods on graphical displays and text-only terminals respectively. | ||
| 6290 | |||
| 6291 | The char-table has one extra slot, which determines how to display any | ||
| 6292 | character that cannot be displayed with any available font, or cannot | ||
| 6293 | be encoded by the terminal's coding system. Its value should be one | ||
| 6294 | of the above display methods, except @code{zero-width} or a cons cell. | ||
| 6295 | @end defvar | ||
| 6296 | |||
| 6297 | @defopt glyphless-char-display-control | ||
| 6298 | This user option provides a convenient way to set | ||
| 6299 | @code{glyphless-char-display} for groups of similar characters. It | ||
| 6300 | takes effect via a custom @code{:set} function (@pxref{Variable | ||
| 6301 | Definitions}), which update @code{glyphless-char-display}. | ||
| 6302 | |||
| 6303 | Its value should be an alist of elements @code{(@var{group} | ||
| 6304 | . @var{method})}, where @var{group} is a symbol specifying a group of | ||
| 6305 | characters, and @var{method} is a symbol specifying how to display | ||
| 6306 | them. | ||
| 6307 | |||
| 6308 | @var{group} should be one of the following: | ||
| 6309 | |||
| 6310 | @table @code | ||
| 6311 | @item c0-control | ||
| 6312 | @acronym{ASCII} control characters @code{U+0000} to @code{U+001F}, | ||
| 6313 | excluding the newline and tab characters (normally displayed as escape | ||
| 6314 | sequences like @samp{^A}; @pxref{Text Display,, How Text Is Displayed, | ||
| 6315 | emacs, The GNU Emacs Manual}). | ||
| 6316 | |||
| 6317 | @item c1-control | ||
| 6318 | Non-@acronym{ASCII}, non-printing characters @code{U+0080} to | ||
| 6319 | @code{U+009F} (normally displayed as octal escape sequences like | ||
| 6320 | @samp{\230}). | ||
| 6321 | |||
| 6322 | @item format-control | ||
| 6323 | Characters of Unicode General Category `Cf', such as @samp{U+200E} | ||
| 6324 | (Left-to-Right Mark), but excluding characters that have graphic | ||
| 6325 | images, such as @samp{U+00AD} (Soft Hyphen). | ||
| 6326 | |||
| 6327 | @item no-font | ||
| 6328 | Characters for there is no suitable font, or which cannot be encoded | ||
| 6329 | by the terminal's coding system. | ||
| 6330 | @end table | ||
| 6331 | |||
| 6332 | @c FIXME: this can also be `acronym', but that's not currently | ||
| 6333 | @c completely implemented; it applies only to the format-control | ||
| 6334 | @c group, and only works if the acronym is in `char-acronym-table'. | ||
| 6335 | The @var{method} symbol should be one of @code{zero-width}, | ||
| 6336 | @code{thin-space}, @code{empty-box}, or @code{hex-code}. These have | ||
| 6337 | the same meanings as in @code{glyphless-char-display}, above. | ||
| 6338 | @end defopt | ||
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 8350c9b7080..cefa917a4e1 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi | |||
| @@ -1278,6 +1278,9 @@ Emacs Display | |||
| 1278 | * Display Tables:: How to specify other conventions. | 1278 | * Display Tables:: How to specify other conventions. |
| 1279 | * Beeping:: Audible signal to the user. | 1279 | * Beeping:: Audible signal to the user. |
| 1280 | * Window Systems:: Which window system is being used. | 1280 | * Window Systems:: Which window system is being used. |
| 1281 | * Bidirectional Display:: Display of bidirectional scripts, such as | ||
| 1282 | Arabic and Farsi. | ||
| 1283 | * Glyphless Chars:: How glyphless characters are drawn. | ||
| 1281 | 1284 | ||
| 1282 | The Echo Area | 1285 | The Echo Area |
| 1283 | 1286 | ||
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi index 0fa23d6412c..914ba5b1fd8 100644 --- a/doc/lispref/vol1.texi +++ b/doc/lispref/vol1.texi | |||
| @@ -1299,6 +1299,9 @@ Emacs Display | |||
| 1299 | * Display Tables:: How to specify other conventions. | 1299 | * Display Tables:: How to specify other conventions. |
| 1300 | * Beeping:: Audible signal to the user. | 1300 | * Beeping:: Audible signal to the user. |
| 1301 | * Window Systems:: Which window system is being used. | 1301 | * Window Systems:: Which window system is being used. |
| 1302 | * Bidirectional Display:: Display of bidirectional scripts, such as | ||
| 1303 | Arabic and Farsi. | ||
| 1304 | * Glyphless Chars:: How glyphless characters are drawn. | ||
| 1302 | 1305 | ||
| 1303 | The Echo Area | 1306 | The Echo Area |
| 1304 | 1307 | ||
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi index 2469a742900..1f84b267c9b 100644 --- a/doc/lispref/vol2.texi +++ b/doc/lispref/vol2.texi | |||
| @@ -1298,6 +1298,9 @@ Emacs Display | |||
| 1298 | * Display Tables:: How to specify other conventions. | 1298 | * Display Tables:: How to specify other conventions. |
| 1299 | * Beeping:: Audible signal to the user. | 1299 | * Beeping:: Audible signal to the user. |
| 1300 | * Window Systems:: Which window system is being used. | 1300 | * Window Systems:: Which window system is being used. |
| 1301 | * Bidirectional Display:: Display of bidirectional scripts, such as | ||
| 1302 | Arabic and Farsi. | ||
| 1303 | * Glyphless Chars:: How glyphless characters are drawn. | ||
| 1301 | 1304 | ||
| 1302 | The Echo Area | 1305 | The Echo Area |
| 1303 | 1306 | ||
| @@ -51,6 +51,8 @@ This is not a new feature; only the configure flag is new. | |||
| 51 | --- | 51 | --- |
| 52 | ** There is a new configure option --with-wide-int. | 52 | ** There is a new configure option --with-wide-int. |
| 53 | With it, Emacs integers typically have 62 bits, even on 32-bit machines. | 53 | With it, Emacs integers typically have 62 bits, even on 32-bit machines. |
| 54 | On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB | ||
| 55 | to about 2 GiB. | ||
| 54 | 56 | ||
| 55 | --- | 57 | --- |
| 56 | ** New translation of the Emacs Tutorial in Hebrew is available. | 58 | ** New translation of the Emacs Tutorial in Hebrew is available. |
| @@ -236,10 +238,10 @@ is taken from the desktop settings. | |||
| 236 | The frame-parameter tool-bar-position controls this. It takes the values | 238 | The frame-parameter tool-bar-position controls this. It takes the values |
| 237 | top, left, right or bottom. The Options => Show/Hide menu has entries | 239 | top, left, right or bottom. The Options => Show/Hide menu has entries |
| 238 | for this. | 240 | for this. |
| 239 | 241 | +++ | |
| 240 | *** The colors for selected text (the region face) are taken from the GTK | 242 | *** The colors for selected text (the `region' face) are taken from |
| 241 | theme when Emacs is built with GTK. | 243 | the GTK theme when Emacs is built with GTK. |
| 242 | 244 | +++ | |
| 243 | *** Emacs uses GTK tooltips by default if built with GTK. You can turn that | 245 | *** Emacs uses GTK tooltips by default if built with GTK. You can turn that |
| 244 | off by customizing x-gtk-use-system-tooltips. | 246 | off by customizing x-gtk-use-system-tooltips. |
| 245 | 247 | ||
| @@ -844,6 +846,10 @@ binding `log-view-expanded-log-entry-function' to a suitable function. | |||
| 844 | *** New command `vc-ediff' allows visual comparison of two revisions | 846 | *** New command `vc-ediff' allows visual comparison of two revisions |
| 845 | of a file similar to `vc-diff', but using ediff backend. | 847 | of a file similar to `vc-diff', but using ediff backend. |
| 846 | 848 | ||
| 849 | +++ | ||
| 850 | *** The option vc-initial-comment was removed in Emacs 23.2, but | ||
| 851 | this was not advertised at the time. | ||
| 852 | |||
| 847 | ** FIXME: xdg-open for browse-url and reportbug, 2010/08. | 853 | ** FIXME: xdg-open for browse-url and reportbug, 2010/08. |
| 848 | 854 | ||
| 849 | ** Obsolete modes | 855 | ** Obsolete modes |
| @@ -1146,6 +1152,7 @@ combined with minibuffer-local-must-match-map. | |||
| 1146 | *** New variable `completing-read-function' allows overriding the | 1152 | *** New variable `completing-read-function' allows overriding the |
| 1147 | behavior of `completing-read'. | 1153 | behavior of `completing-read'. |
| 1148 | 1154 | ||
| 1155 | +++ | ||
| 1149 | ** `glyphless-char-display' can now distinguish between graphical and | 1156 | ** `glyphless-char-display' can now distinguish between graphical and |
| 1150 | text terminal display, via a char-table entry that is a cons cell. | 1157 | text terminal display, via a char-table entry that is a cons cell. |
| 1151 | 1158 | ||
| @@ -1311,6 +1318,8 @@ Use `filter-buffer-substring-functions' instead. | |||
| 1311 | *** `byte-compile-disable-print-circle' is obsolete. | 1318 | *** `byte-compile-disable-print-circle' is obsolete. |
| 1312 | 1319 | ||
| 1313 | *** `deferred-action-list' and `deferred-action-function' are obsolete. | 1320 | *** `deferred-action-list' and `deferred-action-function' are obsolete. |
| 1321 | +++ | ||
| 1322 | *** `font-lock-maximum-size' is obsolete. | ||
| 1314 | 1323 | ||
| 1315 | 1324 | ||
| 1316 | * Changes in Emacs 24.1 on non-free operating systems | 1325 | * Changes in Emacs 24.1 on non-free operating systems |
diff --git a/etc/themes/deeper-blue-theme.el b/etc/themes/deeper-blue-theme.el index 5c93e84d078..0fbd9496969 100644 --- a/etc/themes/deeper-blue-theme.el +++ b/etc/themes/deeper-blue-theme.el | |||
| @@ -37,7 +37,7 @@ | |||
| 37 | `(compilation-line-number ((,class (:foreground "LightGreen")))) | 37 | `(compilation-line-number ((,class (:foreground "LightGreen")))) |
| 38 | `(cperl-array-face ((,class (:foreground "yellow2")))) | 38 | `(cperl-array-face ((,class (:foreground "yellow2")))) |
| 39 | `(cperl-hash-face ((,class (:foreground "coral1")))) | 39 | `(cperl-hash-face ((,class (:foreground "coral1")))) |
| 40 | `(cursor ((,class (:background "green" :foreground "black")))) | 40 | `(cursor ((,class (:background "green")))) |
| 41 | `(default ((,class (:background "#181a26" :foreground "gray80")))) | 41 | `(default ((,class (:background "#181a26" :foreground "gray80")))) |
| 42 | `(diff-added ((,class (nil)))) | 42 | `(diff-added ((,class (nil)))) |
| 43 | `(diff-changed ((,class (nil)))) | 43 | `(diff-changed ((,class (nil)))) |
diff --git a/etc/themes/dichromacy-theme.el b/etc/themes/dichromacy-theme.el index 3c260118b26..80215e564f5 100644 --- a/etc/themes/dichromacy-theme.el +++ b/etc/themes/dichromacy-theme.el | |||
| @@ -42,7 +42,7 @@ Ansi-Color faces are included.") | |||
| 42 | (custom-theme-set-faces | 42 | (custom-theme-set-faces |
| 43 | 'dichromacy | 43 | 'dichromacy |
| 44 | `(default ((,class (:foreground "black" :background "white")))) | 44 | `(default ((,class (:foreground "black" :background "white")))) |
| 45 | `(cursor ((,class (:foreground "white" :background "black")))) | 45 | `(cursor ((,class (:background "black")))) |
| 46 | ;; Highlighting faces | 46 | ;; Highlighting faces |
| 47 | `(fringe ((,class (:background "#f7f7f7")))) | 47 | `(fringe ((,class (:background "#f7f7f7")))) |
| 48 | `(highlight ((,class (:foreground ,blue :background "#e5e5e5")))) | 48 | `(highlight ((,class (:foreground ,blue :background "#e5e5e5")))) |
diff --git a/etc/themes/misterioso-theme.el b/etc/themes/misterioso-theme.el index ab4b2bc6191..6e38a43a4f0 100644 --- a/etc/themes/misterioso-theme.el +++ b/etc/themes/misterioso-theme.el | |||
| @@ -33,7 +33,7 @@ | |||
| 33 | (:background "#2d3743" :foreground "#e1e1e0")) | 33 | (:background "#2d3743" :foreground "#e1e1e0")) |
| 34 | (,class | 34 | (,class |
| 35 | (:background "#3a3a3a" :foreground "#e1e1e0")))) | 35 | (:background "#3a3a3a" :foreground "#e1e1e0")))) |
| 36 | `(cursor ((,class (:background "#415160" :foreground "#415160")))) | 36 | `(cursor ((,class (:background "#415160")))) |
| 37 | ;; Highlighting faces | 37 | ;; Highlighting faces |
| 38 | `(fringe ((,class (:background "#2e3748")))) | 38 | `(fringe ((,class (:background "#2e3748")))) |
| 39 | `(highlight ((,class (:background "#338f86" :foreground "#e1e1e0")))) | 39 | `(highlight ((,class (:background "#338f86" :foreground "#e1e1e0")))) |
diff --git a/etc/themes/tango-dark-theme.el b/etc/themes/tango-dark-theme.el index 8f91d35e6a1..ae45966b347 100644 --- a/etc/themes/tango-dark-theme.el +++ b/etc/themes/tango-dark-theme.el | |||
| @@ -56,7 +56,7 @@ Semantic, and Ansi-Color faces are included.") | |||
| 56 | (:foreground ,alum-1 :background "#222")) | 56 | (:foreground ,alum-1 :background "#222")) |
| 57 | (,class | 57 | (,class |
| 58 | (:foreground ,alum-1 :background "black")))) | 58 | (:foreground ,alum-1 :background "black")))) |
| 59 | `(cursor ((,class (:foreground ,alum-6 :background ,butter-1)))) | 59 | `(cursor ((,class (:background ,butter-1)))) |
| 60 | ;; Highlighting faces | 60 | ;; Highlighting faces |
| 61 | `(fringe ((,class (:background ,alum-7)))) | 61 | `(fringe ((,class (:background ,alum-7)))) |
| 62 | `(highlight ((,class (:foreground ,alum-6 :background ,butter-2)))) | 62 | `(highlight ((,class (:foreground ,alum-6 :background ,butter-2)))) |
diff --git a/etc/themes/tango-theme.el b/etc/themes/tango-theme.el index f504d764277..b46bd677f21 100644 --- a/etc/themes/tango-theme.el +++ b/etc/themes/tango-theme.el | |||
| @@ -49,7 +49,7 @@ Semantic, and Ansi-Color faces are included.") | |||
| 49 | (custom-theme-set-faces | 49 | (custom-theme-set-faces |
| 50 | 'tango | 50 | 'tango |
| 51 | `(default ((,class (:foreground ,alum-6 :background ,alum-1)))) | 51 | `(default ((,class (:foreground ,alum-6 :background ,alum-1)))) |
| 52 | `(cursor ((,class (:foreground ,alum-1 :background ,blue-3)))) | 52 | `(cursor ((,class (:background ,blue-3)))) |
| 53 | ;; Highlighting faces | 53 | ;; Highlighting faces |
| 54 | `(fringe ((,class (:background ,alum-2)))) | 54 | `(fringe ((,class (:background ,alum-2)))) |
| 55 | `(highlight ((,class (:background ,alum-3)))) | 55 | `(highlight ((,class (:background ,alum-3)))) |
diff --git a/etc/themes/wheatgrass-theme.el b/etc/themes/wheatgrass-theme.el index 63ebc247b9d..50db2661a99 100644 --- a/etc/themes/wheatgrass-theme.el +++ b/etc/themes/wheatgrass-theme.el | |||
| @@ -29,7 +29,7 @@ of green, brown, and blue.") | |||
| 29 | (custom-theme-set-faces | 29 | (custom-theme-set-faces |
| 30 | 'wheatgrass | 30 | 'wheatgrass |
| 31 | `(default ((,class (:foreground "wheat" :background "black")))) | 31 | `(default ((,class (:foreground "wheat" :background "black")))) |
| 32 | `(cursor ((,class (:foreground "black" :background "thistle")))) | 32 | `(cursor ((,class (:background "thistle")))) |
| 33 | `(error ((,class (:foreground "salmon1")))) | 33 | `(error ((,class (:foreground "salmon1")))) |
| 34 | `(warning ((,class (:foreground "orange")))) | 34 | `(warning ((,class (:foreground "orange")))) |
| 35 | `(success ((,class (:foreground "yellow green")))) | 35 | `(success ((,class (:foreground "yellow green")))) |
diff --git a/etc/themes/whiteboard-theme.el b/etc/themes/whiteboard-theme.el index e0fa7ff7ff7..e5c808df68d 100644 --- a/etc/themes/whiteboard-theme.el +++ b/etc/themes/whiteboard-theme.el | |||
| @@ -38,7 +38,7 @@ | |||
| 38 | `(cperl-array-face ((,class (:foreground "SlateBlue3")))) | 38 | `(cperl-array-face ((,class (:foreground "SlateBlue3")))) |
| 39 | `(cperl-hash-face ((,class (:foreground "turquoise3")))) | 39 | `(cperl-hash-face ((,class (:foreground "turquoise3")))) |
| 40 | `(cperl-nonoverridable-face ((,class (:foreground "orchid3")))) | 40 | `(cperl-nonoverridable-face ((,class (:foreground "orchid3")))) |
| 41 | `(cursor ((,class (:background "Green4" :foreground "gainsboro")))) | 41 | `(cursor ((,class (:background "Green4")))) |
| 42 | `(default ((,class (:background "whitesmoke" :foreground "black")))) | 42 | `(default ((,class (:background "whitesmoke" :foreground "black")))) |
| 43 | `(dired-marked ((,class (:background "dodgerblue3" :foreground "white")))) | 43 | `(dired-marked ((,class (:background "dodgerblue3" :foreground "white")))) |
| 44 | `(flymake-errline ((,class (:background nil :underline "red")))) | 44 | `(flymake-errline ((,class (:background nil :underline "red")))) |
diff --git a/etc/themes/wombat-theme.el b/etc/themes/wombat-theme.el index 2aa64f894bf..6691b4a4016 100644 --- a/etc/themes/wombat-theme.el +++ b/etc/themes/wombat-theme.el | |||
| @@ -31,7 +31,7 @@ are included.") | |||
| 31 | (custom-theme-set-faces | 31 | (custom-theme-set-faces |
| 32 | 'wombat | 32 | 'wombat |
| 33 | `(default ((,class (:background "#242424" :foreground "#f6f3e8")))) | 33 | `(default ((,class (:background "#242424" :foreground "#f6f3e8")))) |
| 34 | `(cursor ((,class (:background "#656565" :foreground "#f6f3e8")))) | 34 | `(cursor ((,class (:background "#656565")))) |
| 35 | ;; Highlighting faces | 35 | ;; Highlighting faces |
| 36 | `(fringe ((,class (:background "#303030")))) | 36 | `(fringe ((,class (:background "#303030")))) |
| 37 | `(highlight ((,class (:background "#454545" :foreground "#ffffff" | 37 | `(highlight ((,class (:background "#454545" :foreground "#ffffff" |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 471b1219c19..e058f387a93 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,4 +1,38 @@ | |||
| 1 | 2011-10-17 Ryan Barrett <emacs@ryanb.org> (tiny change) | 1 | 2011-10-18 Juanma Barranquero <lekktu@gmail.com> |
| 2 | |||
| 3 | * facemenu.el (list-colors-duplicates): On Windows, detect more | ||
| 4 | duplicates by assuming that only colors matching "^System" are | ||
| 5 | special "system colors". (Bug#9722) | ||
| 6 | |||
| 7 | 2011-10-18 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 8 | |||
| 9 | * vc/log-edit.el (log-edit): Add "Author:" header to encourage people | ||
| 10 | to distinguish the author from the committer. | ||
| 11 | |||
| 12 | 2011-10-18 Michael Albinus <michael.albinus@gmx.de> | ||
| 13 | |||
| 14 | * net/tramp.el (tramp-file-name-handler): Load Tramp packages silently. | ||
| 15 | |||
| 16 | 2011-10-18 Jirka Kosek <jirka@kosek.cz> (tiny change) | ||
| 17 | |||
| 18 | * international/mule.el (sgml-html-meta-auto-coding-function): | ||
| 19 | Add support for detecting encoding in HTML5 specified only as | ||
| 20 | <meta charset="UTF-8">. Implementation just makes http-equiv and | ||
| 21 | content-type parts from HTML4 encoding string optional. (Bug#9716) | ||
| 22 | |||
| 23 | 2011-10-18 Glenn Morris <rgm@gnu.org> | ||
| 24 | |||
| 25 | * vc/vc.el (vc-initial-comment): Mark as obsolete. (Bug#9745) | ||
| 26 | |||
| 27 | 2011-10-18 Chong Yidong <cyd@gnu.org> | ||
| 28 | |||
| 29 | * faces.el (cursor): Doc fix. | ||
| 30 | |||
| 31 | 2011-10-17 Chong Yidong <cyd@gnu.org> | ||
| 32 | |||
| 33 | * font-lock.el (font-lock-maximum-size): Mark as obsolete. | ||
| 34 | |||
| 35 | 2011-10-17 Ryan Barrett <emacs@ryanb.org> (tiny change) | ||
| 2 | 36 | ||
| 3 | * dirtrack.el (dirtrack): Support shell buffers with path | 37 | * dirtrack.el (dirtrack): Support shell buffers with path |
| 4 | prefixes, e.g. tramp-based remote shells. (Bug#9647) | 38 | prefixes, e.g. tramp-based remote shells. (Bug#9647) |
| @@ -437,8 +471,8 @@ | |||
| 437 | 471 | ||
| 438 | * net/newst-reader.el (newsticker-html-renderer) | 472 | * net/newst-reader.el (newsticker-html-renderer) |
| 439 | (newsticker-show-news): Automatically | 473 | (newsticker-show-news): Automatically |
| 440 | load html rendering package if newsticker-html-renderer is | 474 | load html rendering package if newsticker-html-renderer is set. |
| 441 | set. Fixes "Warning: defvar ignored because w3m-fill-column is | 475 | Fixes "Warning: defvar ignored because w3m-fill-column is |
| 442 | let-bound" and the error "Symbol's value as variable is void: | 476 | let-bound" and the error "Symbol's value as variable is void: |
| 443 | w3m-fill-column". | 477 | w3m-fill-column". |
| 444 | 478 | ||
diff --git a/lisp/ChangeLog.15 b/lisp/ChangeLog.15 index 2acf847cddc..9cb24baeb1f 100644 --- a/lisp/ChangeLog.15 +++ b/lisp/ChangeLog.15 | |||
| @@ -22676,7 +22676,7 @@ | |||
| 22676 | (vc-next-action, vc-transfer-file, vc-rename-file): Also pass the | 22676 | (vc-next-action, vc-transfer-file, vc-rename-file): Also pass the |
| 22677 | backend when calling vc-mode-line. | 22677 | backend when calling vc-mode-line. |
| 22678 | (vc-register): Do not create a closure for calling the vc register | 22678 | (vc-register): Do not create a closure for calling the vc register |
| 22679 | function, call it directly. | 22679 | function, call it directly. No longer obey vc-initial-comment. |
| 22680 | 22680 | ||
| 22681 | 2009-06-23 Dan Nicolaescu <dann@ics.uci.edu> | 22681 | 2009-06-23 Dan Nicolaescu <dann@ics.uci.edu> |
| 22682 | 22682 | ||
diff --git a/lisp/facemenu.el b/lisp/facemenu.el index a18b892efe8..54b17d58f33 100644 --- a/lisp/facemenu.el +++ b/lisp/facemenu.el | |||
| @@ -639,8 +639,15 @@ a list of colors that the current display can handle." | |||
| 639 | (l list)) | 639 | (l list)) |
| 640 | (while (cdr l) | 640 | (while (cdr l) |
| 641 | (if (and (facemenu-color-equal (car (car l)) (car (car (cdr l)))) | 641 | (if (and (facemenu-color-equal (car (car l)) (car (car (cdr l)))) |
| 642 | (not (if (fboundp 'w32-default-color-map) | 642 | ;; On MS-Windows, there are logical colors that might have |
| 643 | (not (assoc (car (car l)) (w32-default-color-map)))))) | 643 | ;; the same value but different names and meanings. For |
| 644 | ;; example, `SystemMenuText' (the color w32 uses for the | ||
| 645 | ;; text in menu entries) and `SystemWindowText' (the default | ||
| 646 | ;; color w32 uses for the text in windows and dialogs) may | ||
| 647 | ;; be the same display color and be adjacent in the list. | ||
| 648 | ;; This makes them different to any other color. Bug#9722 | ||
| 649 | (not (and (eq system-type 'windows-nt) | ||
| 650 | (string-match-p "^System" (car (car l)))))) | ||
| 644 | (progn | 651 | (progn |
| 645 | (setcdr (car l) (cons (car (car (cdr l))) (cdr (car l)))) | 652 | (setcdr (car l) (cons (car (car (cdr l))) (cdr (car l)))) |
| 646 | (setcdr l (cdr (cdr l)))) | 653 | (setcdr l (cdr (cdr l)))) |
diff --git a/lisp/faces.el b/lisp/faces.el index d5f0ef90ee0..45173eb35da 100644 --- a/lisp/faces.el +++ b/lisp/faces.el | |||
| @@ -2366,6 +2366,10 @@ used to display the prompt text." | |||
| 2366 | '((((background light)) :background "black") | 2366 | '((((background light)) :background "black") |
| 2367 | (((background dark)) :background "white")) | 2367 | (((background dark)) :background "white")) |
| 2368 | "Basic face for the cursor color under X. | 2368 | "Basic face for the cursor color under X. |
| 2369 | Currently, only the `:background' attribute is meaningful; all | ||
| 2370 | other attributes are ignored. The cursor foreground color is | ||
| 2371 | taken from the background color of the underlying text. | ||
| 2372 | |||
| 2369 | Note: Other faces cannot inherit from the cursor face." | 2373 | Note: Other faces cannot inherit from the cursor face." |
| 2370 | :version "21.1" | 2374 | :version "21.1" |
| 2371 | :group 'cursor | 2375 | :group 'cursor |
diff --git a/lisp/font-lock.el b/lisp/font-lock.el index c37a9ae916e..2f4b7413dcc 100644 --- a/lisp/font-lock.el +++ b/lisp/font-lock.el | |||
| @@ -228,8 +228,11 @@ | |||
| 228 | ;; User variables. | 228 | ;; User variables. |
| 229 | 229 | ||
| 230 | (defcustom font-lock-maximum-size 256000 | 230 | (defcustom font-lock-maximum-size 256000 |
| 231 | "Maximum size of a buffer for buffer fontification. | 231 | "Maximum buffer size for unsupported buffer fontification. |
| 232 | Only buffers less than this can be fontified when Font Lock mode is turned on. | 232 | When `font-lock-support-mode' is nil, only buffers smaller than |
| 233 | this are fontified. This variable has no effect if a Font Lock | ||
| 234 | support mode (usually `jit-lock-mode') is enabled. | ||
| 235 | |||
| 233 | If nil, means size is irrelevant. | 236 | If nil, means size is irrelevant. |
| 234 | If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE), | 237 | If a list, each element should be a cons pair of the form (MAJOR-MODE . SIZE), |
| 235 | where MAJOR-MODE is a symbol or t (meaning the default). For example: | 238 | where MAJOR-MODE is a symbol or t (meaning the default). For example: |
| @@ -248,6 +251,7 @@ for buffers in Rmail mode, and size is irrelevant otherwise." | |||
| 248 | (const :tag "none" nil) | 251 | (const :tag "none" nil) |
| 249 | (integer :tag "size"))))) | 252 | (integer :tag "size"))))) |
| 250 | :group 'font-lock) | 253 | :group 'font-lock) |
| 254 | (make-obsolete-variable 'font-lock-maximum-size nil "24.1") | ||
| 251 | 255 | ||
| 252 | (defcustom font-lock-maximum-decoration t | 256 | (defcustom font-lock-maximum-decoration t |
| 253 | "Maximum decoration level for fontification. | 257 | "Maximum decoration level for fontification. |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index cc2568a3647..b7f41e22e50 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,9 +1,42 @@ | |||
| 1 | 2011-10-18 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 2 | |||
| 3 | * gnus-util.el (gnus-bound-and-true-p): Macro for XEmacs compatibility. | ||
| 4 | * nnir.el (nnir-mode): Use it. | ||
| 5 | * nnmairix.el (nnmairix-determine-original-group-from-registry): | ||
| 6 | Use it. | ||
| 7 | |||
| 8 | * nnir.el (gnus-registry-enabled): Defvar to keep the compiler happy. | ||
| 9 | * nnmairix.el (gnus-registry-enabled): Ditto. | ||
| 10 | |||
| 11 | 2011-10-17 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 12 | |||
| 13 | * gnus-registry.el (gnus-registry-enabled): Add new variable. | ||
| 14 | (gnus-registry-install-shortcuts): Set `gnus-registry-install' to 'ask | ||
| 15 | only while we need to find out if it should be t or nil. | ||
| 16 | (gnus-registry-initialize): Don't set `gnus-registry-install' to t. | ||
| 17 | (gnus-registry-install-hooks): Set `gnus-registry-enabled' to t when | ||
| 18 | the registry is installed. Set it to nil when it's unloaded. | ||
| 19 | (gnus-registry-install-p): Provide user guidance for the initial value | ||
| 20 | of `gnus-registry-install' when it's 'ask, otherwise return its value. | ||
| 21 | * nnregistry.el (nnregistry-open-server, nnregistry-server-opened): | ||
| 22 | Use `gnus-registry-enabled' instead of `gnus-registry-install'. | ||
| 23 | * nnmairix.el (nnmairix-determine-original-group-from-registry): | ||
| 24 | Use `gnus-registry-enabled' instead of `gnus-registry-install'. | ||
| 25 | * nnir.el (nnir-mode): Use `gnus-registry-enabled' instead of | ||
| 26 | `gnus-registry-install'. | ||
| 27 | From Dave Abrahams <dave@boostpro.com>. | ||
| 28 | |||
| 1 | 2011-10-17 Daiki Ueno <ueno@unixuser.org> | 29 | 2011-10-17 Daiki Ueno <ueno@unixuser.org> |
| 2 | 30 | ||
| 31 | * mml2015.el (mml2015-epg-find-usable-key): Add comment about the | ||
| 32 | previous change. | ||
| 33 | * mml1991.el (mml1991-epg-find-usable-key): Skip the whole key if the | ||
| 34 | primary key is marked as disabled. | ||
| 35 | |||
| 36 | 2011-10-17 Christian von Roques <roques@mti.ag> (tiny change) | ||
| 37 | |||
| 3 | * mml2015.el (mml2015-epg-find-usable-key): Skip the whole key if the | 38 | * mml2015.el (mml2015-epg-find-usable-key): Skip the whole key if the |
| 4 | primary key is marked as disabled. | 39 | primary key is marked as disabled. |
| 5 | * mml1991.el (mml1991-epg-find-usable-key): Ditto. | ||
| 6 | Thanks to Christian von Roques <roques@mti.ag>. | ||
| 7 | 40 | ||
| 8 | 2011-10-11 Andreas Schwab <schwab@linux-m68k.org> | 41 | 2011-10-11 Andreas Schwab <schwab@linux-m68k.org> |
| 9 | 42 | ||
diff --git a/lisp/gnus/gnus-registry.el b/lisp/gnus/gnus-registry.el index f8ff52f128f..652e816e56a 100644 --- a/lisp/gnus/gnus-registry.el +++ b/lisp/gnus/gnus-registry.el | |||
| @@ -164,6 +164,8 @@ nnmairix groups are specifically excluded because they are ephemeral." | |||
| 164 | (const :tag "Always Install" t) | 164 | (const :tag "Always Install" t) |
| 165 | (const :tag "Ask Me" ask))) | 165 | (const :tag "Ask Me" ask))) |
| 166 | 166 | ||
| 167 | (defvar gnus-registry-enabled) | ||
| 168 | |||
| 167 | (defvar gnus-summary-misc-menu) ;; Avoid byte compiler warning. | 169 | (defvar gnus-summary-misc-menu) ;; Avoid byte compiler warning. |
| 168 | 170 | ||
| 169 | (defvar gnus-registry-misc-menus nil) ; ugly way to keep the menus | 171 | (defvar gnus-registry-misc-menus nil) ; ugly way to keep the menus |
| @@ -873,8 +875,9 @@ Uses `gnus-registry-marks' to find what shortcuts to install." | |||
| 873 | 875 | ||
| 874 | ;; if this is called and the user doesn't want the | 876 | ;; if this is called and the user doesn't want the |
| 875 | ;; registry enabled, we'll ask anyhow | 877 | ;; registry enabled, we'll ask anyhow |
| 876 | (when (eq gnus-registry-install nil) | 878 | (unless gnus-registry-install |
| 877 | (setq gnus-registry-install 'ask)) | 879 | (let ((gnus-registry-install 'ask)) |
| 880 | (gnus-registry-install-p))) | ||
| 878 | 881 | ||
| 879 | ;; now the user is asked if gnus-registry-install is 'ask | 882 | ;; now the user is asked if gnus-registry-install is 'ask |
| 880 | (when (gnus-registry-install-p) | 883 | (when (gnus-registry-install-p) |
| @@ -1151,7 +1154,6 @@ only the last one's marks are returned." | |||
| 1151 | "Initialize the Gnus registry." | 1154 | "Initialize the Gnus registry." |
| 1152 | (interactive) | 1155 | (interactive) |
| 1153 | (gnus-message 5 "Initializing the registry") | 1156 | (gnus-message 5 "Initializing the registry") |
| 1154 | (setq gnus-registry-install t) ; in case it was 'ask or nil | ||
| 1155 | (gnus-registry-install-hooks) | 1157 | (gnus-registry-install-hooks) |
| 1156 | (gnus-registry-install-shortcuts) | 1158 | (gnus-registry-install-shortcuts) |
| 1157 | (gnus-registry-read)) | 1159 | (gnus-registry-read)) |
| @@ -1160,6 +1162,7 @@ only the last one's marks are returned." | |||
| 1160 | (defun gnus-registry-install-hooks () | 1162 | (defun gnus-registry-install-hooks () |
| 1161 | "Install the registry hooks." | 1163 | "Install the registry hooks." |
| 1162 | (interactive) | 1164 | (interactive) |
| 1165 | (setq gnus-registry-enabled t) | ||
| 1163 | (add-hook 'gnus-summary-article-move-hook 'gnus-registry-action) | 1166 | (add-hook 'gnus-summary-article-move-hook 'gnus-registry-action) |
| 1164 | (add-hook 'gnus-summary-article-delete-hook 'gnus-registry-action) | 1167 | (add-hook 'gnus-summary-article-delete-hook 'gnus-registry-action) |
| 1165 | (add-hook 'gnus-summary-article-expire-hook 'gnus-registry-action) | 1168 | (add-hook 'gnus-summary-article-expire-hook 'gnus-registry-action) |
| @@ -1181,23 +1184,25 @@ only the last one's marks are returned." | |||
| 1181 | (remove-hook 'gnus-save-newsrc-hook 'gnus-registry-save) | 1184 | (remove-hook 'gnus-save-newsrc-hook 'gnus-registry-save) |
| 1182 | (remove-hook 'gnus-read-newsrc-el-hook 'gnus-registry-read) | 1185 | (remove-hook 'gnus-read-newsrc-el-hook 'gnus-registry-read) |
| 1183 | 1186 | ||
| 1184 | (remove-hook 'gnus-summary-prepare-hook 'gnus-registry-register-message-ids)) | 1187 | (remove-hook 'gnus-summary-prepare-hook 'gnus-registry-register-message-ids) |
| 1188 | (setq gnus-registry-enabled nil)) | ||
| 1185 | 1189 | ||
| 1186 | (add-hook 'gnus-registry-unload-hook 'gnus-registry-unload-hook) | 1190 | (add-hook 'gnus-registry-unload-hook 'gnus-registry-unload-hook) |
| 1187 | 1191 | ||
| 1188 | (defun gnus-registry-install-p () | 1192 | (defun gnus-registry-install-p () |
| 1193 | "If the registry is not already enabled, and `gnus-registry-install' is t, | ||
| 1194 | the registry is enabled. If `gnus-registry-install' is `ask', | ||
| 1195 | the user is asked first. Returns non-nil iff the registry is enabled." | ||
| 1189 | (interactive) | 1196 | (interactive) |
| 1190 | (when (eq gnus-registry-install 'ask) | 1197 | (unless gnus-registry-enabled |
| 1191 | (setq gnus-registry-install | 1198 | (when (if (eq gnus-registry-install 'ask) |
| 1192 | (gnus-y-or-n-p | 1199 | (gnus-y-or-n-p |
| 1193 | (concat "Enable the Gnus registry? " | 1200 | (concat "Enable the Gnus registry? " |
| 1194 | "See the variable `gnus-registry-install' " | 1201 | "See the variable `gnus-registry-install' " |
| 1195 | "to get rid of this query permanently. "))) | 1202 | "to get rid of this query permanently. ")) |
| 1196 | (when gnus-registry-install | 1203 | gnus-registry-install) |
| 1197 | ;; we just set gnus-registry-install to t, so initialize the registry! | ||
| 1198 | (gnus-registry-initialize))) | 1204 | (gnus-registry-initialize))) |
| 1199 | ;;; we could call it here: (customize-variable 'gnus-registry-install) | 1205 | gnus-registry-enabled) |
| 1200 | gnus-registry-install) | ||
| 1201 | 1206 | ||
| 1202 | ;; TODO: a few things | 1207 | ;; TODO: a few things |
| 1203 | 1208 | ||
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index e9d6ba423fd..9c5e6e8312b 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el | |||
| @@ -1986,6 +1986,14 @@ definitions to shadow the loaded ones for use in file byte-compilation." | |||
| 1986 | (gnus-macroexpand-all expanded environment))) | 1986 | (gnus-macroexpand-all expanded environment))) |
| 1987 | form)))) | 1987 | form)))) |
| 1988 | 1988 | ||
| 1989 | (eval-when-compile | ||
| 1990 | ;; This is unnecessary in the compiled version as it is a macro. | ||
| 1991 | (if (fboundp 'bound-and-true-p) | ||
| 1992 | (defalias 'gnus-bound-and-true-p 'bound-and-true-p) | ||
| 1993 | (defmacro gnus-bound-and-true-p (var) | ||
| 1994 | "Return the value of symbol VAR if it is bound, else nil." | ||
| 1995 | `(and (boundp (quote ,var)) ,var)))) | ||
| 1996 | |||
| 1989 | (provide 'gnus-util) | 1997 | (provide 'gnus-util) |
| 1990 | 1998 | ||
| 1991 | ;;; gnus-util.el ends here | 1999 | ;;; gnus-util.el ends here |
diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index 0be6a17d50e..2d3c05864e8 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el | |||
| @@ -290,9 +290,10 @@ is `(valuefunc member)'." | |||
| 290 | (autoload 'nnimap-command "nnimap") | 290 | (autoload 'nnimap-command "nnimap") |
| 291 | (autoload 'nnimap-possibly-change-group "nnimap") | 291 | (autoload 'nnimap-possibly-change-group "nnimap") |
| 292 | (autoload 'nnimap-make-thread-query "nnimap") | 292 | (autoload 'nnimap-make-thread-query "nnimap") |
| 293 | (autoload 'gnus-registry-action "gnus-registry") | 293 | (autoload 'gnus-registry-action "gnus-registry")) |
| 294 | (defvar gnus-registry-install)) | ||
| 295 | 294 | ||
| 295 | ;; Suppress byte-compiler warning `reference to free variable' | ||
| 296 | (defvar gnus-registry-enabled) | ||
| 296 | 297 | ||
| 297 | (nnoo-declare nnir) | 298 | (nnoo-declare nnir) |
| 298 | (nnoo-define-basics nnir) | 299 | (nnoo-define-basics nnir) |
| @@ -1741,8 +1742,7 @@ environment unless `not-global' is non-nil." | |||
| 1741 | (when (eq (car (gnus-find-method-for-group gnus-newsgroup-name)) 'nnir) | 1742 | (when (eq (car (gnus-find-method-for-group gnus-newsgroup-name)) 'nnir) |
| 1742 | (setq gnus-summary-line-format | 1743 | (setq gnus-summary-line-format |
| 1743 | (or nnir-summary-line-format gnus-summary-line-format)) | 1744 | (or nnir-summary-line-format gnus-summary-line-format)) |
| 1744 | (when (and (boundp 'gnus-registry-install) | 1745 | (when (gnus-bound-and-true-p gnus-registry-enabled) |
| 1745 | (eq gnus-registry-install t)) | ||
| 1746 | (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t) | 1746 | (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t) |
| 1747 | (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t) | 1747 | (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t) |
| 1748 | (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t) | 1748 | (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t) |
diff --git a/lisp/gnus/nnmairix.el b/lisp/gnus/nnmairix.el index 3d1ac02b6aa..1bf28c5d32f 100644 --- a/lisp/gnus/nnmairix.el +++ b/lisp/gnus/nnmairix.el | |||
| @@ -603,9 +603,11 @@ Other back ends might or might not work.") | |||
| 603 | nil)) | 603 | nil)) |
| 604 | 604 | ||
| 605 | ;; Silence byte-compiler. | 605 | ;; Silence byte-compiler. |
| 606 | (defvar gnus-registry-install) | ||
| 607 | (autoload 'gnus-registry-get-id-key "gnus-registry") | 606 | (autoload 'gnus-registry-get-id-key "gnus-registry") |
| 608 | 607 | ||
| 608 | ;; Suppress byte-compiler warning `reference to free variable' | ||
| 609 | (defvar gnus-registry-enabled) | ||
| 610 | |||
| 609 | (deffoo nnmairix-request-set-mark (group actions &optional server) | 611 | (deffoo nnmairix-request-set-mark (group actions &optional server) |
| 610 | (when server | 612 | (when server |
| 611 | (nnmairix-open-server server)) | 613 | (nnmairix-open-server server)) |
| @@ -1636,8 +1638,7 @@ search in raw mode." | |||
| 1636 | 1638 | ||
| 1637 | (defun nnmairix-determine-original-group-from-registry (mid) | 1639 | (defun nnmairix-determine-original-group-from-registry (mid) |
| 1638 | "Try to determinale original group for message-id MID from the registry." | 1640 | "Try to determinale original group for message-id MID from the registry." |
| 1639 | (when (and (boundp 'gnus-registry-install) | 1641 | (when (gnus-bound-and-true-p gnus-registry-enabled) |
| 1640 | gnus-registry-install) | ||
| 1641 | (unless (string-match "^<" mid) | 1642 | (unless (string-match "^<" mid) |
| 1642 | (set mid (concat "<" mid))) | 1643 | (set mid (concat "<" mid))) |
| 1643 | (unless (string-match ">$" mid) | 1644 | (unless (string-match ">$" mid) |
diff --git a/lisp/gnus/nnregistry.el b/lisp/gnus/nnregistry.el index 359050c356c..75a640a428a 100644 --- a/lisp/gnus/nnregistry.el +++ b/lisp/gnus/nnregistry.el | |||
| @@ -36,8 +36,11 @@ | |||
| 36 | 36 | ||
| 37 | (nnoo-declare nnregistry) | 37 | (nnoo-declare nnregistry) |
| 38 | 38 | ||
| 39 | ;; Suppress byte-compiler warning `reference to free variable' | ||
| 40 | (defvar gnus-registry-enabled) | ||
| 41 | |||
| 39 | (deffoo nnregistry-server-opened (server) | 42 | (deffoo nnregistry-server-opened (server) |
| 40 | (eq gnus-registry-install t)) | 43 | gnus-registry-enabled) |
| 41 | 44 | ||
| 42 | (deffoo nnregistry-close-server (server) | 45 | (deffoo nnregistry-close-server (server) |
| 43 | t) | 46 | t) |
| @@ -46,7 +49,7 @@ | |||
| 46 | nil) | 49 | nil) |
| 47 | 50 | ||
| 48 | (deffoo nnregistry-open-server (server &optional defs) | 51 | (deffoo nnregistry-open-server (server &optional defs) |
| 49 | (eq gnus-registry-install t)) | 52 | gnus-registry-enabled) |
| 50 | 53 | ||
| 51 | (defvar nnregistry-within-nnregistry nil) | 54 | (defvar nnregistry-within-nnregistry nil) |
| 52 | 55 | ||
diff --git a/lisp/international/mule.el b/lisp/international/mule.el index 4a387a233a0..cac37b3b8c5 100644 --- a/lisp/international/mule.el +++ b/lisp/international/mule.el | |||
| @@ -2403,8 +2403,8 @@ This function is intended to be added to `auto-coding-functions'." | |||
| 2403 | ;; (allowing for whitespace at bob). Note: 'DOCTYPE NETSCAPE' is | 2403 | ;; (allowing for whitespace at bob). Note: 'DOCTYPE NETSCAPE' is |
| 2404 | ;; useful for Mozilla bookmark files. | 2404 | ;; useful for Mozilla bookmark files. |
| 2405 | (when (and (re-search-forward "\\`[[:space:]\n]*\\(<!doctype[[:space:]\n]+\\(html\\|netscape\\)\\|<html\\)" size t) | 2405 | (when (and (re-search-forward "\\`[[:space:]\n]*\\(<!doctype[[:space:]\n]+\\(html\\|netscape\\)\\|<html\\)" size t) |
| 2406 | (re-search-forward "<meta\\s-+http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*charset=\\(.+?\\)[\"']" size t)) | 2406 | (re-search-forward "<meta\\s-+\\(http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\sw+;\\s-*\\)?charset=[\"']?\\(.+?\\)[\"'\\s-/>]" size t)) |
| 2407 | (let* ((match (match-string 1)) | 2407 | (let* ((match (match-string 2)) |
| 2408 | (sym (intern (downcase match)))) | 2408 | (sym (intern (downcase match)))) |
| 2409 | (if (coding-system-p sym) | 2409 | (if (coding-system-p sym) |
| 2410 | sym | 2410 | sym |
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index adc66f6766c..cc4fda32dff 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el | |||
| @@ -1886,7 +1886,7 @@ Falls back to normal file name handler if no Tramp file name handler exists." | |||
| 1886 | (when (and (listp sf) (eq (car sf) 'autoload)) | 1886 | (when (and (listp sf) (eq (car sf) 'autoload)) |
| 1887 | (let ((default-directory | 1887 | (let ((default-directory |
| 1888 | (tramp-compat-temporary-file-directory))) | 1888 | (tramp-compat-temporary-file-directory))) |
| 1889 | (load (cadr sf) 'noerror))) | 1889 | (load (cadr sf) 'noerror 'nomessage))) |
| 1890 | (apply foreign operation args)) | 1890 | (apply foreign operation args)) |
| 1891 | 1891 | ||
| 1892 | ;; Trace that somebody has interrupted the operation. | 1892 | ;; Trace that somebody has interrupted the operation. |
diff --git a/lisp/vc/log-edit.el b/lisp/vc/log-edit.el index b3f5cfb78f7..ebbe318fc15 100644 --- a/lisp/vc/log-edit.el +++ b/lisp/vc/log-edit.el | |||
| @@ -386,7 +386,7 @@ uses the current buffer." | |||
| 386 | (setq setup (not setup))) | 386 | (setq setup (not setup))) |
| 387 | (when setup | 387 | (when setup |
| 388 | (erase-buffer) | 388 | (erase-buffer) |
| 389 | (insert "Summary: ") | 389 | (insert "Summary: \nAuthor: ") |
| 390 | (save-excursion (insert "\n\n"))) | 390 | (save-excursion (insert "\n\n"))) |
| 391 | (if mode | 391 | (if mode |
| 392 | (funcall mode) | 392 | (funcall mode) |
diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 62536fd94be..cdc4f155083 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el | |||
| @@ -675,6 +675,8 @@ | |||
| 675 | :type 'boolean | 675 | :type 'boolean |
| 676 | :group 'vc) | 676 | :group 'vc) |
| 677 | 677 | ||
| 678 | (make-obsolete-variable 'vc-initial-comment "it has no effect." "23.2") | ||
| 679 | |||
| 678 | (defcustom vc-default-init-revision "1.1" | 680 | (defcustom vc-default-init-revision "1.1" |
| 679 | "A string used as the default revision number when a new file is registered. | 681 | "A string used as the default revision number when a new file is registered. |
| 680 | This can be overridden by giving a prefix argument to \\[vc-register]. This | 682 | This can be overridden by giving a prefix argument to \\[vc-register]. This |
| @@ -302,7 +302,6 @@ for subdir in site-lisp \ | |||
| 302 | nextstep/Cocoa/Emacs.base/Contents \ | 302 | nextstep/Cocoa/Emacs.base/Contents \ |
| 303 | nextstep/Cocoa/Emacs.base/Contents/Resources \ | 303 | nextstep/Cocoa/Emacs.base/Contents/Resources \ |
| 304 | nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj \ | 304 | nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj \ |
| 305 | nextstep/Cocoa/Emacs.xcodeproj \ | ||
| 306 | nextstep/GNUstep \ | 305 | nextstep/GNUstep \ |
| 307 | nextstep/GNUstep/Emacs.base \ | 306 | nextstep/GNUstep/Emacs.base \ |
| 308 | nextstep/GNUstep/Emacs.base/Resources | 307 | nextstep/GNUstep/Emacs.base/Resources |
| @@ -438,10 +437,6 @@ echo "Making links to \`nextstep/Cocoa/Emacs.base/Contents/Resources/English.lpr | |||
| 438 | (cd nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj | 437 | (cd nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj |
| 439 | ln InfoPlist.strings ../../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj) | 438 | ln InfoPlist.strings ../../../../../../${tempdir}/nextstep/Cocoa/Emacs.base/Contents/Resources/English.lproj) |
| 440 | 439 | ||
| 441 | echo "Making links to \`nextstep/Cocoa/Emacs.xcodeproj'" | ||
| 442 | (cd nextstep/Cocoa/Emacs.xcodeproj | ||
| 443 | ln project.pbxproj ../../../${tempdir}/nextstep/Cocoa/Emacs.xcodeproj) | ||
| 444 | |||
| 445 | echo "Making links to \`nextstep/GNUstep/Emacs.base/Resources'" | 440 | echo "Making links to \`nextstep/GNUstep/Emacs.base/Resources'" |
| 446 | (cd nextstep/GNUstep/Emacs.base/Resources | 441 | (cd nextstep/GNUstep/Emacs.base/Resources |
| 447 | ln Emacs.desktop Info-gnustep.plist README emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources ) | 442 | ln Emacs.desktop Info-gnustep.plist README emacs.tiff ../../../../${tempdir}/nextstep/GNUstep/Emacs.base/Resources ) |
diff --git a/nextstep/ChangeLog b/nextstep/ChangeLog index 263bd923f0f..9fcad781339 100644 --- a/nextstep/ChangeLog +++ b/nextstep/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2011-10-18 Jan Djärv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * Cocoa/Emacs.xcodeproj: | ||
| 4 | * Cocoa/Emacs.xcodeproj/project.pbxproj: | ||
| 5 | Removed. | ||
| 6 | |||
| 1 | 2011-03-07 Chong Yidong <cyd@stupidchicken.com> | 7 | 2011-03-07 Chong Yidong <cyd@stupidchicken.com> |
| 2 | 8 | ||
| 3 | * Version 23.3 released. | 9 | * Version 23.3 released. |
diff --git a/nextstep/Cocoa/Emacs.xcodeproj/project.pbxproj b/nextstep/Cocoa/Emacs.xcodeproj/project.pbxproj deleted file mode 100644 index fe5acce2c3c..00000000000 --- a/nextstep/Cocoa/Emacs.xcodeproj/project.pbxproj +++ /dev/null | |||
| @@ -1,798 +0,0 @@ | |||
| 1 | // !$*UTF8*$! | ||
| 2 | { | ||
| 3 | archiveVersion = 1; | ||
| 4 | classes = { | ||
| 5 | }; | ||
| 6 | objectVersion = 42; | ||
| 7 | objects = { | ||
| 8 | |||
| 9 | /* Begin PBXBuildFile section */ | ||
| 10 | 3C3AF9CA0FC10CDF001240E9 /* menu.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C3AF9C90FC10CDF001240E9 /* menu.c */; }; | ||
| 11 | 3C3AF9D50FC10D85001240E9 /* libncurses.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C3AF9D40FC10D85001240E9 /* libncurses.dylib */; }; | ||
| 12 | 3CED87390FC0F581005ACB89 /* alloc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC50902EA8200B2EF7E /* alloc.c */; }; | ||
| 13 | 3CED873A0FC0F581005ACB89 /* atimer.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDCD0902EA8200B2EF7E /* atimer.c */; }; | ||
| 14 | 3CED873B0FC0F581005ACB89 /* buffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED8B0902EA8200B2EF7E /* buffer.c */; }; | ||
| 15 | 3CED873C0FC0F581005ACB89 /* bytecode.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC60902EA8200B2EF7E /* bytecode.c */; }; | ||
| 16 | 3CED873D0FC0F581005ACB89 /* callint.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB40902EA8200B2EF7E /* callint.c */; }; | ||
| 17 | 3CED873E0FC0F581005ACB89 /* callproc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC70902EA8200B2EF7E /* callproc.c */; }; | ||
| 18 | 3CED873F0FC0F581005ACB89 /* casefiddle.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC90902EA8200B2EF7E /* casefiddle.c */; }; | ||
| 19 | 3CED87400FC0F581005ACB89 /* casetab.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC10902EA8200B2EF7E /* casetab.c */; }; | ||
| 20 | 3CED87410FC0F581005ACB89 /* category.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED7B0902EA8200B2EF7E /* category.c */; }; | ||
| 21 | 3CED87420FC0F581005ACB89 /* ccl.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB60902EA8200B2EF7E /* ccl.c */; }; | ||
| 22 | 3CED87430FC0F581005ACB89 /* character.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED8C0902EA8200B2EF7E /* character.c */; }; | ||
| 23 | 3CED87440FC0F581005ACB89 /* charset.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC40902EA8200B2EF7E /* charset.c */; }; | ||
| 24 | 3CED87450FC0F581005ACB89 /* chartab.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDCC0902EA8200B2EF7E /* chartab.c */; }; | ||
| 25 | 3CED87460FC0F581005ACB89 /* cm.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC80902EA8200B2EF7E /* cm.c */; }; | ||
| 26 | 3CED87470FC0F581005ACB89 /* cmds.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED7A0902EA8200B2EF7E /* cmds.c */; }; | ||
| 27 | 3CED87480FC0F581005ACB89 /* coding.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED7C0902EA8200B2EF7E /* coding.c */; }; | ||
| 28 | 3CED87490FC0F581005ACB89 /* composite.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC20902EA8200B2EF7E /* composite.c */; }; | ||
| 29 | 3CED874A0FC0F581005ACB89 /* data.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB30902EA8200B2EF7E /* data.c */; }; | ||
| 30 | 3CED874B0FC0F581005ACB89 /* dired.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB20902EA8200B2EF7E /* dired.c */; }; | ||
| 31 | 3CED874C0FC0F581005ACB89 /* dispnew.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC30902EA8200B2EF7E /* dispnew.c */; }; | ||
| 32 | 3CED874D0FC0F581005ACB89 /* doc.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB10902EA8200B2EF7E /* doc.c */; }; | ||
| 33 | 3CED874E0FC0F581005ACB89 /* doprnt.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB00902EA8200B2EF7E /* doprnt.c */; }; | ||
| 34 | 3CED874F0FC0F581005ACB89 /* editfns.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDBE0902EA8200B2EF7E /* editfns.c */; }; | ||
| 35 | 3CED87500FC0F581005ACB89 /* emacs.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDBD0902EA8200B2EF7E /* emacs.c */; }; | ||
| 36 | 3CED87510FC0F581005ACB89 /* eval.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDC00902EA8200B2EF7E /* eval.c */; }; | ||
| 37 | 3CED87520FC0F581005ACB89 /* fileio.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDBF0902EA8200B2EF7E /* fileio.c */; }; | ||
| 38 | 3CED87530FC0F581005ACB89 /* filelock.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDBC0902EA8200B2EF7E /* filelock.c */; }; | ||
| 39 | 3CED87540FC0F581005ACB89 /* filemode.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDBB0902EA8200B2EF7E /* filemode.c */; }; | ||
| 40 | 3CED87550FC0F581005ACB89 /* floatfns.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB90902EA8200B2EF7E /* floatfns.c */; }; | ||
| 41 | 3CED87560FC0F581005ACB89 /* fns.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB80902EA8200B2EF7E /* fns.c */; }; | ||
| 42 | 3CED87570FC0F581005ACB89 /* font.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C4D6D660DE50D2300B20D4E /* font.c */; }; | ||
| 43 | 3CED87580FC0F581005ACB89 /* fontset.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDB70902EA8200B2EF7E /* fontset.c */; }; | ||
| 44 | 3CED87590FC0F581005ACB89 /* frame.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDCB0902EA8200B2EF7E /* frame.c */; }; | ||
| 45 | 3CED875A0FC0F581005ACB89 /* fringe.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCEDCA0902EA8200B2EF7E /* fringe.c */; }; | ||
| 46 | 3CED875B0FC0F581005ACB89 /* image.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED780902EA8200B2EF7E /* image.c */; }; | ||
| 47 | 3CED875C0FC0F581005ACB89 /* indent.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED770902EA8200B2EF7E /* indent.c */; }; | ||
| 48 | 3CED875D0FC0F581005ACB89 /* insdel.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED760902EA8200B2EF7E /* insdel.c */; }; | ||
| 49 | 3CED875E0FC0F581005ACB89 /* intervals.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED750902EA8200B2EF7E /* intervals.c */; }; | ||
| 50 | 3CED875F0FC0F581005ACB89 /* keyboard.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED740902EA8200B2EF7E /* keyboard.c */; }; | ||
| 51 | 3CED87600FC0F581005ACB89 /* keymap.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED730902EA8100B2EF7E /* keymap.c */; }; | ||
| 52 | 3CED87610FC0F581005ACB89 /* lastfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED720902EA8100B2EF7E /* lastfile.c */; }; | ||
| 53 | 3CED87620FC0F581005ACB89 /* lread.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED710902EA8100B2EF7E /* lread.c */; }; | ||
| 54 | 3CED87630FC0F581005ACB89 /* macros.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED6D0902EA8100B2EF7E /* macros.c */; }; | ||
| 55 | 3CED87640FC0F581005ACB89 /* marker.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED690902EA8100B2EF7E /* marker.c */; }; | ||
| 56 | 3CED87650FC0F581005ACB89 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED680902EA8100B2EF7E /* md5.c */; }; | ||
| 57 | 3CED87660FC0F581005ACB89 /* minibuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED670902EA8100B2EF7E /* minibuf.c */; }; | ||
| 58 | 3CED87670FC0F581005ACB89 /* nsfns.m in Sources */ = {isa = PBXBuildFile; fileRef = 090AF67E00C61DCD7F000001 /* nsfns.m */; }; | ||
| 59 | 3CED87680FC0F581005ACB89 /* nsfont.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C4D6D710DE50D5D00B20D4E /* nsfont.m */; }; | ||
| 60 | 3CED87690FC0F581005ACB89 /* nsimage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C15C1A70902D97100A8542F /* nsimage.m */; }; | ||
| 61 | 3CED876A0FC0F581005ACB89 /* nsmenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 090AF68000C61DCD7F000001 /* nsmenu.m */; }; | ||
| 62 | 3CED876B0FC0F581005ACB89 /* nsselect.m in Sources */ = {isa = PBXBuildFile; fileRef = 090AF68100C61DCD7F000001 /* nsselect.m */; }; | ||
| 63 | 3CED876C0FC0F581005ACB89 /* nsterm.m in Sources */ = {isa = PBXBuildFile; fileRef = 090AF68300C61DCD7F000001 /* nsterm.m */; }; | ||
| 64 | 3CED876D0FC0F581005ACB89 /* pre-crt0.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED640902EA8100B2EF7E /* pre-crt0.c */; }; | ||
| 65 | 3CED876E0FC0F581005ACB89 /* print.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED620902EA8100B2EF7E /* print.c */; }; | ||
| 66 | 3CED876F0FC0F581005ACB89 /* process.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED610902EA8100B2EF7E /* process.c */; }; | ||
| 67 | 3CED87700FC0F581005ACB89 /* regex.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED5F0902EA8100B2EF7E /* regex.c */; }; | ||
| 68 | 3CED87710FC0F581005ACB89 /* region-cache.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED5E0902EA8100B2EF7E /* region-cache.c */; }; | ||
| 69 | 3CED87720FC0F581005ACB89 /* scroll.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED5D0902EA8100B2EF7E /* scroll.c */; }; | ||
| 70 | 3CED87730FC0F581005ACB89 /* search.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED5C0902EA8100B2EF7E /* search.c */; }; | ||
| 71 | 3CED87740FC0F581005ACB89 /* sound.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED5A0902EA8100B2EF7E /* sound.c */; }; | ||
| 72 | 3CED87750FC0F581005ACB89 /* strftime.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED590902EA8100B2EF7E /* strftime.c */; }; | ||
| 73 | 3CED87760FC0F581005ACB89 /* syntax.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED570902EA8100B2EF7E /* syntax.c */; }; | ||
| 74 | 3CED87770FC0F581005ACB89 /* sysdep.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED560902EA8100B2EF7E /* sysdep.c */; }; | ||
| 75 | 3CED87780FC0F581005ACB89 /* term.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED550902EA8100B2EF7E /* term.c */; }; | ||
| 76 | 3CED877A0FC0F581005ACB89 /* terminal.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C4D6D690DE50D2300B20D4E /* terminal.c */; }; | ||
| 77 | 3CED877B0FC0F581005ACB89 /* terminfo.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED950902EA8200B2EF7E /* terminfo.c */; }; | ||
| 78 | 3CED877C0FC0F581005ACB89 /* textprop.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED940902EA8200B2EF7E /* textprop.c */; }; | ||
| 79 | 3CED877E0FC0F581005ACB89 /* undo.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED920902EA8200B2EF7E /* undo.c */; }; | ||
| 80 | 3CED877F0FC0F581005ACB89 /* unexmacosx.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED830902EA8200B2EF7E /* unexmacosx.c */; }; | ||
| 81 | 3CED87800FC0F581005ACB89 /* window.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED9E0902EA8200B2EF7E /* window.c */; }; | ||
| 82 | 3CED87810FC0F581005ACB89 /* xdisp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED9D0902EA8200B2EF7E /* xdisp.c */; }; | ||
| 83 | 3CED87820FC0F581005ACB89 /* xfaces.c in Sources */ = {isa = PBXBuildFile; fileRef = 3CDCED9C0902EA8200B2EF7E /* xfaces.c */; }; | ||
| 84 | 3CED88190FC0F5B3005ACB89 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3CFDFC3A08E79A6800B05918 /* AppKit.framework */; }; | ||
| 85 | /* End PBXBuildFile section */ | ||
| 86 | |||
| 87 | /* Begin PBXContainerItemProxy section */ | ||
| 88 | 3CED88220FC0FE5C005ACB89 /* PBXContainerItemProxy */ = { | ||
| 89 | isa = PBXContainerItemProxy; | ||
| 90 | containerPortal = 29B97313FDCFA39411CA2CEA /* Project object */; | ||
| 91 | proxyType = 1; | ||
| 92 | remoteGlobalIDString = 3CED87320FC0F557005ACB89; | ||
| 93 | remoteInfo = temacs; | ||
| 94 | }; | ||
| 95 | /* End PBXContainerItemProxy section */ | ||
| 96 | |||
| 97 | /* Begin PBXFileReference section */ | ||
| 98 | 090AF67E00C61DCD7F000001 /* nsfns.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = nsfns.m; path = ../../src/nsfns.m; sourceTree = "<group>"; }; | ||
| 99 | 090AF68000C61DCD7F000001 /* nsmenu.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = nsmenu.m; path = ../../src/nsmenu.m; sourceTree = "<group>"; }; | ||
| 100 | 090AF68100C61DCD7F000001 /* nsselect.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = nsselect.m; path = ../../src/nsselect.m; sourceTree = "<group>"; }; | ||
| 101 | 090AF68300C61DCD7F000001 /* nsterm.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = nsterm.m; path = ../../src/nsterm.m; sourceTree = "<group>"; }; | ||
| 102 | 3C15C02F0902D89500A8542F /* termhooks.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = termhooks.h; path = ../../src/termhooks.h; sourceTree = "<group>"; }; | ||
| 103 | 3C15C0300902D89500A8542F /* termchar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = termchar.h; path = ../../src/termchar.h; sourceTree = "<group>"; }; | ||
| 104 | 3C15C0330902D89500A8542F /* syswait.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = syswait.h; path = ../../src/syswait.h; sourceTree = "<group>"; }; | ||
| 105 | 3C15C0340902D89500A8542F /* systty.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = systty.h; path = ../../src/systty.h; sourceTree = "<group>"; }; | ||
| 106 | 3C15C0350902D89500A8542F /* systime.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = systime.h; path = ../../src/systime.h; sourceTree = "<group>"; }; | ||
| 107 | 3C15C0360902D89500A8542F /* syssignal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = syssignal.h; path = ../../src/syssignal.h; sourceTree = "<group>"; }; | ||
| 108 | 3C15C0370902D89500A8542F /* sysselect.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = sysselect.h; path = ../../src/sysselect.h; sourceTree = "<group>"; }; | ||
| 109 | 3C15C0390902D89500A8542F /* syntax.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = syntax.h; path = ../../src/syntax.h; sourceTree = "<group>"; }; | ||
| 110 | 3C15C0410902D89500A8542F /* region-cache.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = "region-cache.h"; path = "../../src/region-cache.h"; sourceTree = "<group>"; }; | ||
| 111 | 3C15C0430902D89500A8542F /* regex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = regex.h; path = ../../src/regex.h; sourceTree = "<group>"; }; | ||
| 112 | 3C15C0460902D89500A8542F /* puresize.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = puresize.h; path = ../../src/puresize.h; sourceTree = "<group>"; }; | ||
| 113 | 3C15C0470902D89500A8542F /* process.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = process.h; path = ../../src/process.h; sourceTree = "<group>"; }; | ||
| 114 | 3C15C04C0902D89500A8542F /* point.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = point.h; path = ../../src/point.h; sourceTree = "<group>"; }; | ||
| 115 | 3C15C04F0902D89500A8542F /* nsgui.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = nsgui.h; path = ../../src/nsgui.h; sourceTree = "<group>"; }; | ||
| 116 | 3C15C0500902D89500A8542F /* ndir.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ndir.h; path = ../../src/ndir.h; sourceTree = "<group>"; }; | ||
| 117 | 3C15C0550902D89500A8542F /* mem-limits.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = "mem-limits.h"; path = "../../src/mem-limits.h"; sourceTree = "<group>"; }; | ||
| 118 | 3C15C0560902D89500A8542F /* md5.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = md5.h; path = ../../src/md5.h; sourceTree = "<group>"; }; | ||
| 119 | 3C15C05D0902D89500A8542F /* macros.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = macros.h; path = ../../src/macros.h; sourceTree = "<group>"; }; | ||
| 120 | 3C15C0660902D89500A8542F /* keymap.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = keymap.h; path = ../../src/keymap.h; sourceTree = "<group>"; }; | ||
| 121 | 3C15C0680902D89500A8542F /* keyboard.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = keyboard.h; path = ../../src/keyboard.h; sourceTree = "<group>"; }; | ||
| 122 | 3C15C06B0902D89500A8542F /* intervals.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = intervals.h; path = ../../src/intervals.h; sourceTree = "<group>"; }; | ||
| 123 | 3C15C06E0902D89500A8542F /* indent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = indent.h; path = ../../src/indent.h; sourceTree = "<group>"; }; | ||
| 124 | 3C15C0760902D89500A8542F /* category.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = category.h; path = ../../src/category.h; sourceTree = "<group>"; }; | ||
| 125 | 3C15C0770902D89500A8542F /* coding.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = coding.h; path = ../../src/coding.h; sourceTree = "<group>"; }; | ||
| 126 | 3C15C0780902D89500A8542F /* buffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = buffer.h; path = ../../src/buffer.h; sourceTree = "<group>"; }; | ||
| 127 | 3C15C0890902D89500A8542F /* cm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = cm.h; path = ../../src/cm.h; sourceTree = "<group>"; }; | ||
| 128 | 3C15C0950902D89500A8542F /* termopts.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = termopts.h; path = ../../src/termopts.h; sourceTree = "<group>"; }; | ||
| 129 | 3C15C0A00902D89500A8542F /* window.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = window.h; path = ../../src/window.h; sourceTree = "<group>"; }; | ||
| 130 | 3C15C0B80902D89500A8542F /* getpagesize.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = getpagesize.h; path = ../../src/getpagesize.h; sourceTree = "<group>"; }; | ||
| 131 | 3C15C0BF0902D89500A8542F /* disptab.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = disptab.h; path = ../../src/disptab.h; sourceTree = "<group>"; }; | ||
| 132 | 3C15C0C20902D89500A8542F /* epaths.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = epaths.h; path = ../../src/epaths.h; sourceTree = "<group>"; }; | ||
| 133 | 3C15C0C50902D89500A8542F /* ccl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ccl.h; path = ../../src/ccl.h; sourceTree = "<group>"; }; | ||
| 134 | 3C15C0C70902D89500A8542F /* composite.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = composite.h; path = ../../src/composite.h; sourceTree = "<group>"; }; | ||
| 135 | 3C15C0C80902D89500A8542F /* charset.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = charset.h; path = ../../src/charset.h; sourceTree = "<group>"; }; | ||
| 136 | 3C15C0C90902D89500A8542F /* fontset.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fontset.h; path = ../../src/fontset.h; sourceTree = "<group>"; }; | ||
| 137 | 3C15C0D70902D89500A8542F /* commands.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = commands.h; path = ../../src/commands.h; sourceTree = "<group>"; }; | ||
| 138 | 3C15C0D90902D89500A8542F /* dispextern.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = dispextern.h; path = ../../src/dispextern.h; sourceTree = "<group>"; }; | ||
| 139 | 3C15C0DE0902D89500A8542F /* character.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = character.h; path = ../../src/character.h; sourceTree = "<group>"; }; | ||
| 140 | 3C15C0E40902D89500A8542F /* frame.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = frame.h; path = ../../src/frame.h; sourceTree = "<group>"; }; | ||
| 141 | 3C15C0E60902D89500A8542F /* atimer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = atimer.h; path = ../../src/atimer.h; sourceTree = "<group>"; }; | ||
| 142 | 3C15C0E70902D89500A8542F /* blockinput.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = blockinput.h; path = ../../src/blockinput.h; sourceTree = "<group>"; }; | ||
| 143 | 3C15C1A70902D97100A8542F /* nsimage.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = nsimage.m; path = ../../src/nsimage.m; sourceTree = "<group>"; }; | ||
| 144 | 3C3AF9C90FC10CDF001240E9 /* menu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = menu.c; path = ../../src/menu.c; sourceTree = SOURCE_ROOT; }; | ||
| 145 | 3C3AF9D40FC10D85001240E9 /* libncurses.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libncurses.dylib; path = /usr/lib/libncurses.dylib; sourceTree = "<absolute>"; }; | ||
| 146 | 3C4D6D660DE50D2300B20D4E /* font.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = font.c; path = ../../src/font.c; sourceTree = SOURCE_ROOT; }; | ||
| 147 | 3C4D6D670DE50D2300B20D4E /* font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = font.h; path = ../../src/font.h; sourceTree = SOURCE_ROOT; }; | ||
| 148 | 3C4D6D690DE50D2300B20D4E /* terminal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = terminal.c; path = ../../src/terminal.c; sourceTree = SOURCE_ROOT; }; | ||
| 149 | 3C4D6D710DE50D5D00B20D4E /* nsfont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = nsfont.m; path = ../../src/nsfont.m; sourceTree = SOURCE_ROOT; }; | ||
| 150 | 3C7F3C3A07EB3B05003C8A4D /* nsterm.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = nsterm.h; path = ../../src/nsterm.h; sourceTree = "<group>"; }; | ||
| 151 | 3CB8E29D0E2CE73A003F3104 /* Emacs.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = Emacs.icns; path = Emacs.base/Contents/Resources/Emacs.icns; sourceTree = "<group>"; }; | ||
| 152 | 3CB8E29F0E2CE7F5003F3104 /* Credits.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = Credits.html; path = Emacs.base/Contents/Resources/Credits.html; sourceTree = "<group>"; }; | ||
| 153 | 3CB8E2A60E2CE856003F3104 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = InfoPlist.strings; sourceTree = "<group>"; }; | ||
| 154 | 3CC5434C07E2315800C271A9 /* Emacs.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Emacs.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||
| 155 | 3CDCED330902E99700B2EF7E /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = config.h; path = ../../src/config.h; sourceTree = "<group>"; }; | ||
| 156 | 3CDCED550902EA8100B2EF7E /* term.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = term.c; path = ../../src/term.c; sourceTree = "<group>"; }; | ||
| 157 | 3CDCED560902EA8100B2EF7E /* sysdep.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sysdep.c; path = ../../src/sysdep.c; sourceTree = "<group>"; }; | ||
| 158 | 3CDCED570902EA8100B2EF7E /* syntax.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = syntax.c; path = ../../src/syntax.c; sourceTree = "<group>"; }; | ||
| 159 | 3CDCED590902EA8100B2EF7E /* strftime.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = strftime.c; path = ../../src/strftime.c; sourceTree = "<group>"; }; | ||
| 160 | 3CDCED5A0902EA8100B2EF7E /* sound.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = sound.c; path = ../../src/sound.c; sourceTree = "<group>"; }; | ||
| 161 | 3CDCED5C0902EA8100B2EF7E /* search.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = search.c; path = ../../src/search.c; sourceTree = "<group>"; }; | ||
| 162 | 3CDCED5D0902EA8100B2EF7E /* scroll.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = scroll.c; path = ../../src/scroll.c; sourceTree = "<group>"; }; | ||
| 163 | 3CDCED5E0902EA8100B2EF7E /* region-cache.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = "region-cache.c"; path = "../../src/region-cache.c"; sourceTree = "<group>"; }; | ||
| 164 | 3CDCED5F0902EA8100B2EF7E /* regex.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = regex.c; path = ../../src/regex.c; sourceTree = "<group>"; }; | ||
| 165 | 3CDCED610902EA8100B2EF7E /* process.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = process.c; path = ../../src/process.c; sourceTree = "<group>"; }; | ||
| 166 | 3CDCED620902EA8100B2EF7E /* print.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = print.c; path = ../../src/print.c; sourceTree = "<group>"; }; | ||
| 167 | 3CDCED640902EA8100B2EF7E /* pre-crt0.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = "pre-crt0.c"; path = "../../src/pre-crt0.c"; sourceTree = "<group>"; }; | ||
| 168 | 3CDCED670902EA8100B2EF7E /* minibuf.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = minibuf.c; path = ../../src/minibuf.c; sourceTree = "<group>"; }; | ||
| 169 | 3CDCED680902EA8100B2EF7E /* md5.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = md5.c; path = ../../src/md5.c; sourceTree = "<group>"; }; | ||
| 170 | 3CDCED690902EA8100B2EF7E /* marker.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = marker.c; path = ../../src/marker.c; sourceTree = "<group>"; }; | ||
| 171 | 3CDCED6D0902EA8100B2EF7E /* macros.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = macros.c; path = ../../src/macros.c; sourceTree = "<group>"; }; | ||
| 172 | 3CDCED710902EA8100B2EF7E /* lread.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = lread.c; path = ../../src/lread.c; sourceTree = "<group>"; }; | ||
| 173 | 3CDCED720902EA8100B2EF7E /* lastfile.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = lastfile.c; path = ../../src/lastfile.c; sourceTree = "<group>"; }; | ||
| 174 | 3CDCED730902EA8100B2EF7E /* keymap.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = keymap.c; path = ../../src/keymap.c; sourceTree = "<group>"; }; | ||
| 175 | 3CDCED740902EA8200B2EF7E /* keyboard.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = keyboard.c; path = ../../src/keyboard.c; sourceTree = "<group>"; }; | ||
| 176 | 3CDCED750902EA8200B2EF7E /* intervals.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = intervals.c; path = ../../src/intervals.c; sourceTree = "<group>"; }; | ||
| 177 | 3CDCED760902EA8200B2EF7E /* insdel.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = insdel.c; path = ../../src/insdel.c; sourceTree = "<group>"; }; | ||
| 178 | 3CDCED770902EA8200B2EF7E /* indent.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = indent.c; path = ../../src/indent.c; sourceTree = "<group>"; }; | ||
| 179 | 3CDCED780902EA8200B2EF7E /* image.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = image.c; path = ../../src/image.c; sourceTree = "<group>"; }; | ||
| 180 | 3CDCED7A0902EA8200B2EF7E /* cmds.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = cmds.c; path = ../../src/cmds.c; sourceTree = "<group>"; }; | ||
| 181 | 3CDCED7B0902EA8200B2EF7E /* category.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = category.c; path = ../../src/category.c; sourceTree = "<group>"; }; | ||
| 182 | 3CDCED7C0902EA8200B2EF7E /* coding.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = coding.c; path = ../../src/coding.c; sourceTree = "<group>"; }; | ||
| 183 | 3CDCED830902EA8200B2EF7E /* unexmacosx.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = unexmacosx.c; path = ../../src/unexmacosx.c; sourceTree = "<group>"; }; | ||
| 184 | 3CDCED8B0902EA8200B2EF7E /* buffer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = buffer.c; path = ../../src/buffer.c; sourceTree = "<group>"; }; | ||
| 185 | 3CDCED8C0902EA8200B2EF7E /* character.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = character.c; path = ../../src/character.c; sourceTree = "<group>"; }; | ||
| 186 | 3CDCED920902EA8200B2EF7E /* undo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = undo.c; path = ../../src/undo.c; sourceTree = "<group>"; }; | ||
| 187 | 3CDCED940902EA8200B2EF7E /* textprop.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = textprop.c; path = ../../src/textprop.c; sourceTree = "<group>"; }; | ||
| 188 | 3CDCED950902EA8200B2EF7E /* terminfo.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = terminfo.c; path = ../../src/terminfo.c; sourceTree = "<group>"; }; | ||
| 189 | 3CDCED9C0902EA8200B2EF7E /* xfaces.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = xfaces.c; path = ../../src/xfaces.c; sourceTree = "<group>"; }; | ||
| 190 | 3CDCED9D0902EA8200B2EF7E /* xdisp.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = xdisp.c; path = ../../src/xdisp.c; sourceTree = "<group>"; }; | ||
| 191 | 3CDCED9E0902EA8200B2EF7E /* window.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = window.c; path = ../../src/window.c; sourceTree = "<group>"; }; | ||
| 192 | 3CDCEDB00902EA8200B2EF7E /* doprnt.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = doprnt.c; path = ../../src/doprnt.c; sourceTree = "<group>"; }; | ||
| 193 | 3CDCEDB10902EA8200B2EF7E /* doc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = doc.c; path = ../../src/doc.c; sourceTree = "<group>"; }; | ||
| 194 | 3CDCEDB20902EA8200B2EF7E /* dired.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dired.c; path = ../../src/dired.c; sourceTree = "<group>"; }; | ||
| 195 | 3CDCEDB30902EA8200B2EF7E /* data.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = data.c; path = ../../src/data.c; sourceTree = "<group>"; }; | ||
| 196 | 3CDCEDB40902EA8200B2EF7E /* callint.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = callint.c; path = ../../src/callint.c; sourceTree = "<group>"; }; | ||
| 197 | 3CDCEDB60902EA8200B2EF7E /* ccl.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = ccl.c; path = ../../src/ccl.c; sourceTree = "<group>"; }; | ||
| 198 | 3CDCEDB70902EA8200B2EF7E /* fontset.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fontset.c; path = ../../src/fontset.c; sourceTree = "<group>"; }; | ||
| 199 | 3CDCEDB80902EA8200B2EF7E /* fns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fns.c; path = ../../src/fns.c; sourceTree = "<group>"; }; | ||
| 200 | 3CDCEDB90902EA8200B2EF7E /* floatfns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = floatfns.c; path = ../../src/floatfns.c; sourceTree = "<group>"; }; | ||
| 201 | 3CDCEDBB0902EA8200B2EF7E /* filemode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = filemode.c; path = ../../src/filemode.c; sourceTree = "<group>"; }; | ||
| 202 | 3CDCEDBC0902EA8200B2EF7E /* filelock.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = filelock.c; path = ../../src/filelock.c; sourceTree = "<group>"; }; | ||
| 203 | 3CDCEDBD0902EA8200B2EF7E /* emacs.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = emacs.c; path = ../../src/emacs.c; sourceTree = "<group>"; }; | ||
| 204 | 3CDCEDBE0902EA8200B2EF7E /* editfns.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = editfns.c; path = ../../src/editfns.c; sourceTree = "<group>"; }; | ||
| 205 | 3CDCEDBF0902EA8200B2EF7E /* fileio.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fileio.c; path = ../../src/fileio.c; sourceTree = "<group>"; }; | ||
| 206 | 3CDCEDC00902EA8200B2EF7E /* eval.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = eval.c; path = ../../src/eval.c; sourceTree = "<group>"; }; | ||
| 207 | 3CDCEDC10902EA8200B2EF7E /* casetab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = casetab.c; path = ../../src/casetab.c; sourceTree = "<group>"; }; | ||
| 208 | 3CDCEDC20902EA8200B2EF7E /* composite.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = composite.c; path = ../../src/composite.c; sourceTree = "<group>"; }; | ||
| 209 | 3CDCEDC30902EA8200B2EF7E /* dispnew.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = dispnew.c; path = ../../src/dispnew.c; sourceTree = "<group>"; }; | ||
| 210 | 3CDCEDC40902EA8200B2EF7E /* charset.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = charset.c; path = ../../src/charset.c; sourceTree = "<group>"; }; | ||
| 211 | 3CDCEDC50902EA8200B2EF7E /* alloc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = alloc.c; path = ../../src/alloc.c; sourceTree = "<group>"; }; | ||
| 212 | 3CDCEDC60902EA8200B2EF7E /* bytecode.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = bytecode.c; path = ../../src/bytecode.c; sourceTree = "<group>"; }; | ||
| 213 | 3CDCEDC70902EA8200B2EF7E /* callproc.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = callproc.c; path = ../../src/callproc.c; sourceTree = "<group>"; }; | ||
| 214 | 3CDCEDC80902EA8200B2EF7E /* cm.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = cm.c; path = ../../src/cm.c; sourceTree = "<group>"; }; | ||
| 215 | 3CDCEDC90902EA8200B2EF7E /* casefiddle.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = casefiddle.c; path = ../../src/casefiddle.c; sourceTree = "<group>"; }; | ||
| 216 | 3CDCEDCA0902EA8200B2EF7E /* fringe.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = fringe.c; path = ../../src/fringe.c; sourceTree = "<group>"; }; | ||
| 217 | 3CDCEDCB0902EA8200B2EF7E /* frame.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = frame.c; path = ../../src/frame.c; sourceTree = "<group>"; }; | ||
| 218 | 3CDCEDCC0902EA8200B2EF7E /* chartab.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = chartab.c; path = ../../src/chartab.c; sourceTree = "<group>"; }; | ||
| 219 | 3CDCEDCD0902EA8200B2EF7E /* atimer.c */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.c; name = atimer.c; path = ../../src/atimer.c; sourceTree = "<group>"; }; | ||
| 220 | 3CED87260FBE696B005ACB89 /* lisp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lisp.h; path = ../../src/lisp.h; sourceTree = SOURCE_ROOT; }; | ||
| 221 | 3CED87280FBE6993005ACB89 /* menu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = menu.h; path = ../../src/menu.h; sourceTree = SOURCE_ROOT; }; | ||
| 222 | 3CED87330FC0F557005ACB89 /* temacs */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = temacs; sourceTree = BUILT_PRODUCTS_DIR; }; | ||
| 223 | 3CFDFC3A08E79A6800B05918 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /Developer/SDKs/MacOSX10.3.9.sdk/System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; }; | ||
| 224 | /* End PBXFileReference section */ | ||
| 225 | |||
| 226 | /* Begin PBXFrameworksBuildPhase section */ | ||
| 227 | 3CED87310FC0F557005ACB89 /* Frameworks */ = { | ||
| 228 | isa = PBXFrameworksBuildPhase; | ||
| 229 | buildActionMask = 2147483647; | ||
| 230 | files = ( | ||
| 231 | 3CED88190FC0F5B3005ACB89 /* AppKit.framework in Frameworks */, | ||
| 232 | 3C3AF9D50FC10D85001240E9 /* libncurses.dylib in Frameworks */, | ||
| 233 | ); | ||
| 234 | runOnlyForDeploymentPostprocessing = 0; | ||
| 235 | }; | ||
| 236 | /* End PBXFrameworksBuildPhase section */ | ||
| 237 | |||
| 238 | /* Begin PBXGroup section */ | ||
| 239 | 19C28FACFE9D520D11CA2CBB /* Products */ = { | ||
| 240 | isa = PBXGroup; | ||
| 241 | children = ( | ||
| 242 | 3CC5434C07E2315800C271A9 /* Emacs.app */, | ||
| 243 | 3CED87330FC0F557005ACB89 /* temacs */, | ||
| 244 | ); | ||
| 245 | name = Products; | ||
| 246 | sourceTree = "<group>"; | ||
| 247 | }; | ||
| 248 | 289FC26B00C69A287F000001 /* NeXTstep */ = { | ||
| 249 | isa = PBXGroup; | ||
| 250 | children = ( | ||
| 251 | 3C4D6D710DE50D5D00B20D4E /* nsfont.m */, | ||
| 252 | 3C15C1A70902D97100A8542F /* nsimage.m */, | ||
| 253 | 3C15C04F0902D89500A8542F /* nsgui.h */, | ||
| 254 | 3C7F3C3A07EB3B05003C8A4D /* nsterm.h */, | ||
| 255 | 090AF67E00C61DCD7F000001 /* nsfns.m */, | ||
| 256 | 090AF68000C61DCD7F000001 /* nsmenu.m */, | ||
| 257 | 090AF68100C61DCD7F000001 /* nsselect.m */, | ||
| 258 | 090AF68300C61DCD7F000001 /* nsterm.m */, | ||
| 259 | ); | ||
| 260 | name = NeXTstep; | ||
| 261 | sourceTree = "<group>"; | ||
| 262 | }; | ||
| 263 | 29B97314FDCFA39411CA2CEA /* Emacs */ = { | ||
| 264 | isa = PBXGroup; | ||
| 265 | children = ( | ||
| 266 | 289FC26B00C69A287F000001 /* NeXTstep */, | ||
| 267 | 3C15C23E0902E6B000A8542F /* emacs-hdr */, | ||
| 268 | 3CDCED4D0902EA6800B2EF7E /* emacs-src */, | ||
| 269 | 29B97317FDCFA39411CA2CEA /* Resources */, | ||
| 270 | 29B97323FDCFA39411CA2CEA /* Frameworks */, | ||
| 271 | 19C28FACFE9D520D11CA2CBB /* Products */, | ||
| 272 | ); | ||
| 273 | name = Emacs; | ||
| 274 | sourceTree = "<group>"; | ||
| 275 | }; | ||
| 276 | 29B97317FDCFA39411CA2CEA /* Resources */ = { | ||
| 277 | isa = PBXGroup; | ||
| 278 | children = ( | ||
| 279 | 3CB8E2A40E2CE856003F3104 /* English.lproj */, | ||
| 280 | 3CB8E29F0E2CE7F5003F3104 /* Credits.html */, | ||
| 281 | 739637F200C4DF3C7F000001 /* Images */, | ||
| 282 | ); | ||
| 283 | name = Resources; | ||
| 284 | sourceTree = "<group>"; | ||
| 285 | }; | ||
| 286 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { | ||
| 287 | isa = PBXGroup; | ||
| 288 | children = ( | ||
| 289 | 3C3AF9D40FC10D85001240E9 /* libncurses.dylib */, | ||
| 290 | 3CFDFC3A08E79A6800B05918 /* AppKit.framework */, | ||
| 291 | ); | ||
| 292 | name = Frameworks; | ||
| 293 | sourceTree = "<group>"; | ||
| 294 | }; | ||
| 295 | 3C15C23E0902E6B000A8542F /* emacs-hdr */ = { | ||
| 296 | isa = PBXGroup; | ||
| 297 | children = ( | ||
| 298 | 3CED87280FBE6993005ACB89 /* menu.h */, | ||
| 299 | 3CED87260FBE696B005ACB89 /* lisp.h */, | ||
| 300 | 3C4D6D670DE50D2300B20D4E /* font.h */, | ||
| 301 | 3C15C0E60902D89500A8542F /* atimer.h */, | ||
| 302 | 3C15C0E70902D89500A8542F /* blockinput.h */, | ||
| 303 | 3C15C0780902D89500A8542F /* buffer.h */, | ||
| 304 | 3C15C0760902D89500A8542F /* category.h */, | ||
| 305 | 3C15C0C50902D89500A8542F /* ccl.h */, | ||
| 306 | 3C15C0DE0902D89500A8542F /* character.h */, | ||
| 307 | 3C15C0C80902D89500A8542F /* charset.h */, | ||
| 308 | 3C15C0890902D89500A8542F /* cm.h */, | ||
| 309 | 3CDCED330902E99700B2EF7E /* config.h */, | ||
| 310 | 3C15C0770902D89500A8542F /* coding.h */, | ||
| 311 | 3C15C0D70902D89500A8542F /* commands.h */, | ||
| 312 | 3C15C0C70902D89500A8542F /* composite.h */, | ||
| 313 | 3C15C0D90902D89500A8542F /* dispextern.h */, | ||
| 314 | 3C15C0BF0902D89500A8542F /* disptab.h */, | ||
| 315 | 3C15C0C20902D89500A8542F /* epaths.h */, | ||
| 316 | 3C15C0C90902D89500A8542F /* fontset.h */, | ||
| 317 | 3C15C0E40902D89500A8542F /* frame.h */, | ||
| 318 | 3C15C0B80902D89500A8542F /* getpagesize.h */, | ||
| 319 | 3C15C06E0902D89500A8542F /* indent.h */, | ||
| 320 | 3C15C06B0902D89500A8542F /* intervals.h */, | ||
| 321 | 3C15C0660902D89500A8542F /* keymap.h */, | ||
| 322 | 3C15C0680902D89500A8542F /* keyboard.h */, | ||
| 323 | 3C15C05D0902D89500A8542F /* macros.h */, | ||
| 324 | 3C15C0560902D89500A8542F /* md5.h */, | ||
| 325 | 3C15C0550902D89500A8542F /* mem-limits.h */, | ||
| 326 | 3C15C0500902D89500A8542F /* ndir.h */, | ||
| 327 | 3C15C04C0902D89500A8542F /* point.h */, | ||
| 328 | 3C15C0470902D89500A8542F /* process.h */, | ||
| 329 | 3C15C0460902D89500A8542F /* puresize.h */, | ||
| 330 | 3C15C0430902D89500A8542F /* regex.h */, | ||
| 331 | 3C15C0410902D89500A8542F /* region-cache.h */, | ||
| 332 | 3C15C0390902D89500A8542F /* syntax.h */, | ||
| 333 | 3C15C0370902D89500A8542F /* sysselect.h */, | ||
| 334 | 3C15C0330902D89500A8542F /* syswait.h */, | ||
| 335 | 3C15C0360902D89500A8542F /* syssignal.h */, | ||
| 336 | 3C15C0350902D89500A8542F /* systime.h */, | ||
| 337 | 3C15C0340902D89500A8542F /* systty.h */, | ||
| 338 | 3C15C0300902D89500A8542F /* termchar.h */, | ||
| 339 | 3C15C02F0902D89500A8542F /* termhooks.h */, | ||
| 340 | 3C15C0950902D89500A8542F /* termopts.h */, | ||
| 341 | 3C15C0A00902D89500A8542F /* window.h */, | ||
| 342 | ); | ||
| 343 | name = "emacs-hdr"; | ||
| 344 | sourceTree = "<group>"; | ||
| 345 | }; | ||
| 346 | 3CB8E2A40E2CE856003F3104 /* English.lproj */ = { | ||
| 347 | isa = PBXGroup; | ||
| 348 | children = ( | ||
| 349 | 3CB8E2A50E2CE856003F3104 /* InfoPlist.strings */, | ||
| 350 | ); | ||
| 351 | name = English.lproj; | ||
| 352 | path = Emacs.base/Contents/Resources/English.lproj; | ||
| 353 | sourceTree = "<group>"; | ||
| 354 | }; | ||
| 355 | 3CDCED4D0902EA6800B2EF7E /* emacs-src */ = { | ||
| 356 | isa = PBXGroup; | ||
| 357 | children = ( | ||
| 358 | 3C3AF9C90FC10CDF001240E9 /* menu.c */, | ||
| 359 | 3C4D6D660DE50D2300B20D4E /* font.c */, | ||
| 360 | 3C4D6D690DE50D2300B20D4E /* terminal.c */, | ||
| 361 | 3CDCED550902EA8100B2EF7E /* term.c */, | ||
| 362 | 3CDCED560902EA8100B2EF7E /* sysdep.c */, | ||
| 363 | 3CDCED570902EA8100B2EF7E /* syntax.c */, | ||
| 364 | 3CDCED590902EA8100B2EF7E /* strftime.c */, | ||
| 365 | 3CDCED5A0902EA8100B2EF7E /* sound.c */, | ||
| 366 | 3CDCED5C0902EA8100B2EF7E /* search.c */, | ||
| 367 | 3CDCED5D0902EA8100B2EF7E /* scroll.c */, | ||
| 368 | 3CDCED5E0902EA8100B2EF7E /* region-cache.c */, | ||
| 369 | 3CDCED5F0902EA8100B2EF7E /* regex.c */, | ||
| 370 | 3CDCED610902EA8100B2EF7E /* process.c */, | ||
| 371 | 3CDCED620902EA8100B2EF7E /* print.c */, | ||
| 372 | 3CDCED640902EA8100B2EF7E /* pre-crt0.c */, | ||
| 373 | 3CDCED670902EA8100B2EF7E /* minibuf.c */, | ||
| 374 | 3CDCED680902EA8100B2EF7E /* md5.c */, | ||
| 375 | 3CDCED690902EA8100B2EF7E /* marker.c */, | ||
| 376 | 3CDCED6D0902EA8100B2EF7E /* macros.c */, | ||
| 377 | 3CDCED710902EA8100B2EF7E /* lread.c */, | ||
| 378 | 3CDCED720902EA8100B2EF7E /* lastfile.c */, | ||
| 379 | 3CDCED730902EA8100B2EF7E /* keymap.c */, | ||
| 380 | 3CDCED740902EA8200B2EF7E /* keyboard.c */, | ||
| 381 | 3CDCED750902EA8200B2EF7E /* intervals.c */, | ||
| 382 | 3CDCED760902EA8200B2EF7E /* insdel.c */, | ||
| 383 | 3CDCED770902EA8200B2EF7E /* indent.c */, | ||
| 384 | 3CDCED780902EA8200B2EF7E /* image.c */, | ||
| 385 | 3CDCED7A0902EA8200B2EF7E /* cmds.c */, | ||
| 386 | 3CDCED7B0902EA8200B2EF7E /* category.c */, | ||
| 387 | 3CDCED7C0902EA8200B2EF7E /* coding.c */, | ||
| 388 | 3CDCED830902EA8200B2EF7E /* unexmacosx.c */, | ||
| 389 | 3CDCED8B0902EA8200B2EF7E /* buffer.c */, | ||
| 390 | 3CDCED8C0902EA8200B2EF7E /* character.c */, | ||
| 391 | 3CDCED920902EA8200B2EF7E /* undo.c */, | ||
| 392 | 3CDCED940902EA8200B2EF7E /* textprop.c */, | ||
| 393 | 3CDCED950902EA8200B2EF7E /* terminfo.c */, | ||
| 394 | 3CDCED9C0902EA8200B2EF7E /* xfaces.c */, | ||
| 395 | 3CDCED9D0902EA8200B2EF7E /* xdisp.c */, | ||
| 396 | 3CDCED9E0902EA8200B2EF7E /* window.c */, | ||
| 397 | 3CDCEDB00902EA8200B2EF7E /* doprnt.c */, | ||
| 398 | 3CDCEDB10902EA8200B2EF7E /* doc.c */, | ||
| 399 | 3CDCEDB20902EA8200B2EF7E /* dired.c */, | ||
| 400 | 3CDCEDB30902EA8200B2EF7E /* data.c */, | ||
| 401 | 3CDCEDB40902EA8200B2EF7E /* callint.c */, | ||
| 402 | 3CDCEDB60902EA8200B2EF7E /* ccl.c */, | ||
| 403 | 3CDCEDB70902EA8200B2EF7E /* fontset.c */, | ||
| 404 | 3CDCEDB80902EA8200B2EF7E /* fns.c */, | ||
| 405 | 3CDCEDB90902EA8200B2EF7E /* floatfns.c */, | ||
| 406 | 3CDCEDBB0902EA8200B2EF7E /* filemode.c */, | ||
| 407 | 3CDCEDBC0902EA8200B2EF7E /* filelock.c */, | ||
| 408 | 3CDCEDBD0902EA8200B2EF7E /* emacs.c */, | ||
| 409 | 3CDCEDBE0902EA8200B2EF7E /* editfns.c */, | ||
| 410 | 3CDCEDBF0902EA8200B2EF7E /* fileio.c */, | ||
| 411 | 3CDCEDC00902EA8200B2EF7E /* eval.c */, | ||
| 412 | 3CDCEDC10902EA8200B2EF7E /* casetab.c */, | ||
| 413 | 3CDCEDC20902EA8200B2EF7E /* composite.c */, | ||
| 414 | 3CDCEDC30902EA8200B2EF7E /* dispnew.c */, | ||
| 415 | 3CDCEDC40902EA8200B2EF7E /* charset.c */, | ||
| 416 | 3CDCEDC50902EA8200B2EF7E /* alloc.c */, | ||
| 417 | 3CDCEDC60902EA8200B2EF7E /* bytecode.c */, | ||
| 418 | 3CDCEDC70902EA8200B2EF7E /* callproc.c */, | ||
| 419 | 3CDCEDC80902EA8200B2EF7E /* cm.c */, | ||
| 420 | 3CDCEDC90902EA8200B2EF7E /* casefiddle.c */, | ||
| 421 | 3CDCEDCA0902EA8200B2EF7E /* fringe.c */, | ||
| 422 | 3CDCEDCB0902EA8200B2EF7E /* frame.c */, | ||
| 423 | 3CDCEDCC0902EA8200B2EF7E /* chartab.c */, | ||
| 424 | 3CDCEDCD0902EA8200B2EF7E /* atimer.c */, | ||
| 425 | ); | ||
| 426 | name = "emacs-src"; | ||
| 427 | sourceTree = "<group>"; | ||
| 428 | }; | ||
| 429 | 739637F200C4DF3C7F000001 /* Images */ = { | ||
| 430 | isa = PBXGroup; | ||
| 431 | children = ( | ||
| 432 | 3CB8E29D0E2CE73A003F3104 /* Emacs.icns */, | ||
| 433 | ); | ||
| 434 | name = Images; | ||
| 435 | sourceTree = "<group>"; | ||
| 436 | }; | ||
| 437 | /* End PBXGroup section */ | ||
| 438 | |||
| 439 | /* Begin PBXNativeTarget section */ | ||
| 440 | 3CC542FE07E2315800C271A9 /* Emacs */ = { | ||
| 441 | isa = PBXNativeTarget; | ||
| 442 | buildConfigurationList = 3CA115970C825A540007AFC2 /* Build configuration list for PBXNativeTarget "Emacs" */; | ||
| 443 | buildPhases = ( | ||
| 444 | 3CED88240FC0FE7C005ACB89 /* ShellScript */, | ||
| 445 | 3CED883D0FC0FF6E005ACB89 /* ShellScript */, | ||
| 446 | ); | ||
| 447 | buildRules = ( | ||
| 448 | ); | ||
| 449 | dependencies = ( | ||
| 450 | 3CED88230FC0FE5C005ACB89 /* PBXTargetDependency */, | ||
| 451 | ); | ||
| 452 | name = Emacs; | ||
| 453 | productInstallPath = "$(HOME)/Applications"; | ||
| 454 | productName = Emacs; | ||
| 455 | productReference = 3CC5434C07E2315800C271A9 /* Emacs.app */; | ||
| 456 | productType = "com.apple.product-type.application"; | ||
| 457 | }; | ||
| 458 | 3CED87320FC0F557005ACB89 /* temacs */ = { | ||
| 459 | isa = PBXNativeTarget; | ||
| 460 | buildConfigurationList = 3CED87350FC0F576005ACB89 /* Build configuration list for PBXNativeTarget "temacs" */; | ||
| 461 | buildPhases = ( | ||
| 462 | 3CED87300FC0F557005ACB89 /* Sources */, | ||
| 463 | 3CED87310FC0F557005ACB89 /* Frameworks */, | ||
| 464 | 3CED88460FC100EC005ACB89 /* ShellScript */, | ||
| 465 | ); | ||
| 466 | buildRules = ( | ||
| 467 | ); | ||
| 468 | dependencies = ( | ||
| 469 | ); | ||
| 470 | name = temacs; | ||
| 471 | productName = "emacs-bin"; | ||
| 472 | productReference = 3CED87330FC0F557005ACB89 /* temacs */; | ||
| 473 | productType = "com.apple.product-type.tool"; | ||
| 474 | }; | ||
| 475 | /* End PBXNativeTarget section */ | ||
| 476 | |||
| 477 | /* Begin PBXProject section */ | ||
| 478 | 29B97313FDCFA39411CA2CEA /* Project object */ = { | ||
| 479 | isa = PBXProject; | ||
| 480 | buildConfigurationList = 3CA1159B0C825A540007AFC2 /* Build configuration list for PBXProject "Emacs" */; | ||
| 481 | hasScannedForEncodings = 1; | ||
| 482 | mainGroup = 29B97314FDCFA39411CA2CEA /* Emacs */; | ||
| 483 | projectDirPath = ""; | ||
| 484 | projectRoot = ../..; | ||
| 485 | targets = ( | ||
| 486 | 3CC542FE07E2315800C271A9 /* Emacs */, | ||
| 487 | 3CED87320FC0F557005ACB89 /* temacs */, | ||
| 488 | ); | ||
| 489 | }; | ||
| 490 | /* End PBXProject section */ | ||
| 491 | |||
| 492 | /* Begin PBXShellScriptBuildPhase section */ | ||
| 493 | 3CED88240FC0FE7C005ACB89 /* ShellScript */ = { | ||
| 494 | isa = PBXShellScriptBuildPhase; | ||
| 495 | buildActionMask = 2147483647; | ||
| 496 | files = ( | ||
| 497 | ); | ||
| 498 | inputPaths = ( | ||
| 499 | ); | ||
| 500 | outputPaths = ( | ||
| 501 | ); | ||
| 502 | runOnlyForDeploymentPostprocessing = 0; | ||
| 503 | shellPath = /bin/sh; | ||
| 504 | shellScript = "# This script sets up the Emacs.app bundle by copying from Cocoa/Emacs.base,\n# and copying the binary emacs. It runs the ns-app target in src/Makefile.\n# This depends on emacs target, so temacs resulting from previous step is\n# dumped into emacs.\n\ncd ../../src\n\nmake ns-app\n"; | ||
| 505 | }; | ||
| 506 | 3CED883D0FC0FF6E005ACB89 /* ShellScript */ = { | ||
| 507 | isa = PBXShellScriptBuildPhase; | ||
| 508 | buildActionMask = 12; | ||
| 509 | files = ( | ||
| 510 | ); | ||
| 511 | inputPaths = ( | ||
| 512 | ); | ||
| 513 | outputPaths = ( | ||
| 514 | ); | ||
| 515 | runOnlyForDeploymentPostprocessing = 0; | ||
| 516 | shellPath = /bin/sh; | ||
| 517 | shellScript = "# This script copies the lisp and other files into the bundle\n# (if self-contained configuration was selected at configure time),\n# or the install location (otherwise).\n\n# Xcode was supposed to make this check based on input/output files,\n# but it didn't work for some reason, so run every time and do it ourselves.\nif [ -x ../Emacs.app/Contents/Resources/lisp ]; then\n\texit\nfi\n\ncd ../..\nmake install\nln -sf $BUILD_ROOT/../../Emacs.app $BUILT_PRODUCTS_DIR/Emacs.app\n"; | ||
| 518 | }; | ||
| 519 | 3CED88460FC100EC005ACB89 /* ShellScript */ = { | ||
| 520 | isa = PBXShellScriptBuildPhase; | ||
| 521 | buildActionMask = 2147483647; | ||
| 522 | files = ( | ||
| 523 | ); | ||
| 524 | inputPaths = ( | ||
| 525 | "$(BUILT_PRODUCTS_DIR)/temacs", | ||
| 526 | ); | ||
| 527 | outputPaths = ( | ||
| 528 | ../../src/temacs, | ||
| 529 | ); | ||
| 530 | runOnlyForDeploymentPostprocessing = 0; | ||
| 531 | shellPath = /bin/sh; | ||
| 532 | shellScript = "# Move the build results to emacs src dir so scripts in Emacs target invoking\n# make operations can use them.\n# *.o files included because make-docfile uses object files for some reason\n\ncp -f ${OBJECT_FILE_DIR_normal}/${NATIVE_ARCH_ACTUAL}/*.o ../../src\ncp -f ${BUILT_PRODUCTS_DIR}/temacs ../../src"; | ||
| 533 | }; | ||
| 534 | /* End PBXShellScriptBuildPhase section */ | ||
| 535 | |||
| 536 | /* Begin PBXSourcesBuildPhase section */ | ||
| 537 | 3CED87300FC0F557005ACB89 /* Sources */ = { | ||
| 538 | isa = PBXSourcesBuildPhase; | ||
| 539 | buildActionMask = 2147483647; | ||
| 540 | files = ( | ||
| 541 | 3CED876D0FC0F581005ACB89 /* pre-crt0.c in Sources */, | ||
| 542 | 3CED87390FC0F581005ACB89 /* alloc.c in Sources */, | ||
| 543 | 3CED873A0FC0F581005ACB89 /* atimer.c in Sources */, | ||
| 544 | 3CED873B0FC0F581005ACB89 /* buffer.c in Sources */, | ||
| 545 | 3CED873C0FC0F581005ACB89 /* bytecode.c in Sources */, | ||
| 546 | 3CED873D0FC0F581005ACB89 /* callint.c in Sources */, | ||
| 547 | 3CED873E0FC0F581005ACB89 /* callproc.c in Sources */, | ||
| 548 | 3CED873F0FC0F581005ACB89 /* casefiddle.c in Sources */, | ||
| 549 | 3CED87400FC0F581005ACB89 /* casetab.c in Sources */, | ||
| 550 | 3CED87410FC0F581005ACB89 /* category.c in Sources */, | ||
| 551 | 3CED87420FC0F581005ACB89 /* ccl.c in Sources */, | ||
| 552 | 3CED87430FC0F581005ACB89 /* character.c in Sources */, | ||
| 553 | 3CED87440FC0F581005ACB89 /* charset.c in Sources */, | ||
| 554 | 3CED87450FC0F581005ACB89 /* chartab.c in Sources */, | ||
| 555 | 3CED87460FC0F581005ACB89 /* cm.c in Sources */, | ||
| 556 | 3CED87470FC0F581005ACB89 /* cmds.c in Sources */, | ||
| 557 | 3CED87480FC0F581005ACB89 /* coding.c in Sources */, | ||
| 558 | 3CED87490FC0F581005ACB89 /* composite.c in Sources */, | ||
| 559 | 3CED874A0FC0F581005ACB89 /* data.c in Sources */, | ||
| 560 | 3CED874B0FC0F581005ACB89 /* dired.c in Sources */, | ||
| 561 | 3CED874C0FC0F581005ACB89 /* dispnew.c in Sources */, | ||
| 562 | 3CED874D0FC0F581005ACB89 /* doc.c in Sources */, | ||
| 563 | 3CED874E0FC0F581005ACB89 /* doprnt.c in Sources */, | ||
| 564 | 3CED874F0FC0F581005ACB89 /* editfns.c in Sources */, | ||
| 565 | 3CED87500FC0F581005ACB89 /* emacs.c in Sources */, | ||
| 566 | 3CED87510FC0F581005ACB89 /* eval.c in Sources */, | ||
| 567 | 3CED87520FC0F581005ACB89 /* fileio.c in Sources */, | ||
| 568 | 3CED87530FC0F581005ACB89 /* filelock.c in Sources */, | ||
| 569 | 3CED87540FC0F581005ACB89 /* filemode.c in Sources */, | ||
| 570 | 3CED87550FC0F581005ACB89 /* floatfns.c in Sources */, | ||
| 571 | 3CED87560FC0F581005ACB89 /* fns.c in Sources */, | ||
| 572 | 3CED87570FC0F581005ACB89 /* font.c in Sources */, | ||
| 573 | 3CED87580FC0F581005ACB89 /* fontset.c in Sources */, | ||
| 574 | 3CED87590FC0F581005ACB89 /* frame.c in Sources */, | ||
| 575 | 3CED875A0FC0F581005ACB89 /* fringe.c in Sources */, | ||
| 576 | 3CED875B0FC0F581005ACB89 /* image.c in Sources */, | ||
| 577 | 3CED875C0FC0F581005ACB89 /* indent.c in Sources */, | ||
| 578 | 3CED875D0FC0F581005ACB89 /* insdel.c in Sources */, | ||
| 579 | 3CED875E0FC0F581005ACB89 /* intervals.c in Sources */, | ||
| 580 | 3CED875F0FC0F581005ACB89 /* keyboard.c in Sources */, | ||
| 581 | 3CED87600FC0F581005ACB89 /* keymap.c in Sources */, | ||
| 582 | 3CED87620FC0F581005ACB89 /* lread.c in Sources */, | ||
| 583 | 3CED87630FC0F581005ACB89 /* macros.c in Sources */, | ||
| 584 | 3CED87640FC0F581005ACB89 /* marker.c in Sources */, | ||
| 585 | 3CED87650FC0F581005ACB89 /* md5.c in Sources */, | ||
| 586 | 3C3AF9CA0FC10CDF001240E9 /* menu.c in Sources */, | ||
| 587 | 3CED87660FC0F581005ACB89 /* minibuf.c in Sources */, | ||
| 588 | 3CED87670FC0F581005ACB89 /* nsfns.m in Sources */, | ||
| 589 | 3CED87680FC0F581005ACB89 /* nsfont.m in Sources */, | ||
| 590 | 3CED87690FC0F581005ACB89 /* nsimage.m in Sources */, | ||
| 591 | 3CED876A0FC0F581005ACB89 /* nsmenu.m in Sources */, | ||
| 592 | 3CED876B0FC0F581005ACB89 /* nsselect.m in Sources */, | ||
| 593 | 3CED876C0FC0F581005ACB89 /* nsterm.m in Sources */, | ||
| 594 | 3CED876E0FC0F581005ACB89 /* print.c in Sources */, | ||
| 595 | 3CED876F0FC0F581005ACB89 /* process.c in Sources */, | ||
| 596 | 3CED87700FC0F581005ACB89 /* regex.c in Sources */, | ||
| 597 | 3CED87710FC0F581005ACB89 /* region-cache.c in Sources */, | ||
| 598 | 3CED87720FC0F581005ACB89 /* scroll.c in Sources */, | ||
| 599 | 3CED87730FC0F581005ACB89 /* search.c in Sources */, | ||
| 600 | 3CED87740FC0F581005ACB89 /* sound.c in Sources */, | ||
| 601 | 3CED87750FC0F581005ACB89 /* strftime.c in Sources */, | ||
| 602 | 3CED87760FC0F581005ACB89 /* syntax.c in Sources */, | ||
| 603 | 3CED87770FC0F581005ACB89 /* sysdep.c in Sources */, | ||
| 604 | 3CED87780FC0F581005ACB89 /* term.c in Sources */, | ||
| 605 | 3CED877A0FC0F581005ACB89 /* terminal.c in Sources */, | ||
| 606 | 3CED877B0FC0F581005ACB89 /* terminfo.c in Sources */, | ||
| 607 | 3CED877C0FC0F581005ACB89 /* textprop.c in Sources */, | ||
| 608 | 3CED877E0FC0F581005ACB89 /* undo.c in Sources */, | ||
| 609 | 3CED877F0FC0F581005ACB89 /* unexmacosx.c in Sources */, | ||
| 610 | 3CED87800FC0F581005ACB89 /* window.c in Sources */, | ||
| 611 | 3CED87810FC0F581005ACB89 /* xdisp.c in Sources */, | ||
| 612 | 3CED87820FC0F581005ACB89 /* xfaces.c in Sources */, | ||
| 613 | 3CED87610FC0F581005ACB89 /* lastfile.c in Sources */, | ||
| 614 | ); | ||
| 615 | runOnlyForDeploymentPostprocessing = 0; | ||
| 616 | }; | ||
| 617 | /* End PBXSourcesBuildPhase section */ | ||
| 618 | |||
| 619 | /* Begin PBXTargetDependency section */ | ||
| 620 | 3CED88230FC0FE5C005ACB89 /* PBXTargetDependency */ = { | ||
| 621 | isa = PBXTargetDependency; | ||
| 622 | target = 3CED87320FC0F557005ACB89 /* temacs */; | ||
| 623 | targetProxy = 3CED88220FC0FE5C005ACB89 /* PBXContainerItemProxy */; | ||
| 624 | }; | ||
| 625 | /* End PBXTargetDependency section */ | ||
| 626 | |||
| 627 | /* Begin PBXVariantGroup section */ | ||
| 628 | 3CB8E2A50E2CE856003F3104 /* InfoPlist.strings */ = { | ||
| 629 | isa = PBXVariantGroup; | ||
| 630 | children = ( | ||
| 631 | 3CB8E2A60E2CE856003F3104 /* English */, | ||
| 632 | ); | ||
| 633 | name = InfoPlist.strings; | ||
| 634 | sourceTree = "<group>"; | ||
| 635 | }; | ||
| 636 | /* End PBXVariantGroup section */ | ||
| 637 | |||
| 638 | /* Begin XCBuildConfiguration section */ | ||
| 639 | 3CA115980C825A540007AFC2 /* Development */ = { | ||
| 640 | isa = XCBuildConfiguration; | ||
| 641 | buildSettings = { | ||
| 642 | PRODUCT_NAME = Emacs; | ||
| 643 | WRAPPER_EXTENSION = app; | ||
| 644 | }; | ||
| 645 | name = Development; | ||
| 646 | }; | ||
| 647 | 3CA115990C825A540007AFC2 /* Deployment */ = { | ||
| 648 | isa = XCBuildConfiguration; | ||
| 649 | buildSettings = { | ||
| 650 | PRODUCT_NAME = Emacs; | ||
| 651 | WRAPPER_EXTENSION = app; | ||
| 652 | }; | ||
| 653 | name = Deployment; | ||
| 654 | }; | ||
| 655 | 3CA1159A0C825A540007AFC2 /* Default */ = { | ||
| 656 | isa = XCBuildConfiguration; | ||
| 657 | buildSettings = { | ||
| 658 | PRODUCT_NAME = Emacs; | ||
| 659 | WRAPPER_EXTENSION = app; | ||
| 660 | }; | ||
| 661 | name = Default; | ||
| 662 | }; | ||
| 663 | 3CA1159C0C825A540007AFC2 /* Development */ = { | ||
| 664 | isa = XCBuildConfiguration; | ||
| 665 | buildSettings = { | ||
| 666 | MACOSX_DEPLOYMENT_TARGET = ""; | ||
| 667 | SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; | ||
| 668 | }; | ||
| 669 | name = Development; | ||
| 670 | }; | ||
| 671 | 3CA1159D0C825A540007AFC2 /* Deployment */ = { | ||
| 672 | isa = XCBuildConfiguration; | ||
| 673 | buildSettings = { | ||
| 674 | MACOSX_DEPLOYMENT_TARGET = ""; | ||
| 675 | SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; | ||
| 676 | }; | ||
| 677 | name = Deployment; | ||
| 678 | }; | ||
| 679 | 3CA1159E0C825A540007AFC2 /* Default */ = { | ||
| 680 | isa = XCBuildConfiguration; | ||
| 681 | buildSettings = { | ||
| 682 | MACOSX_DEPLOYMENT_TARGET = ""; | ||
| 683 | SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; | ||
| 684 | }; | ||
| 685 | name = Default; | ||
| 686 | }; | ||
| 687 | 3CED87360FC0F576005ACB89 /* Development */ = { | ||
| 688 | isa = XCBuildConfiguration; | ||
| 689 | buildSettings = { | ||
| 690 | COPY_PHASE_STRIP = NO; | ||
| 691 | GCC_DYNAMIC_NO_PIC = NO; | ||
| 692 | GCC_ENABLE_FIX_AND_CONTINUE = NO; | ||
| 693 | GCC_GENERATE_DEBUGGING_SYMBOLS = YES; | ||
| 694 | GCC_MODEL_TUNING = G5; | ||
| 695 | GCC_OPTIMIZATION_LEVEL = 0; | ||
| 696 | GCC_PREPROCESSOR_DEFINITIONS = ( | ||
| 697 | emacs, | ||
| 698 | temacs, | ||
| 699 | HAVE_CONFIG_H, | ||
| 700 | ); | ||
| 701 | OTHER_LDFLAGS = ( | ||
| 702 | "-Xlinker", | ||
| 703 | "-headerpad", | ||
| 704 | "-Xlinker", | ||
| 705 | 6C8, | ||
| 706 | ); | ||
| 707 | PREBINDING = NO; | ||
| 708 | PRODUCT_NAME = temacs; | ||
| 709 | WARNING_CFLAGS = "-Wno-pointer-sign"; | ||
| 710 | ZERO_LINK = NO; | ||
| 711 | }; | ||
| 712 | name = Development; | ||
| 713 | }; | ||
| 714 | 3CED87370FC0F576005ACB89 /* Deployment */ = { | ||
| 715 | isa = XCBuildConfiguration; | ||
| 716 | buildSettings = { | ||
| 717 | COPY_PHASE_STRIP = YES; | ||
| 718 | GCC_ENABLE_FIX_AND_CONTINUE = NO; | ||
| 719 | GCC_GENERATE_DEBUGGING_SYMBOLS = NO; | ||
| 720 | GCC_MODEL_TUNING = G5; | ||
| 721 | GCC_PREPROCESSOR_DEFINITIONS = ( | ||
| 722 | emacs, | ||
| 723 | temacs, | ||
| 724 | HAVE_CONFIG_H, | ||
| 725 | ); | ||
| 726 | OTHER_LDFLAGS = ( | ||
| 727 | "-Xlinker", | ||
| 728 | "-headerpad", | ||
| 729 | "-Xlinker", | ||
| 730 | 6C8, | ||
| 731 | ); | ||
| 732 | PREBINDING = NO; | ||
| 733 | PRODUCT_NAME = temacs; | ||
| 734 | WARNING_CFLAGS = "-Wno-pointer-sign"; | ||
| 735 | ZERO_LINK = NO; | ||
| 736 | }; | ||
| 737 | name = Deployment; | ||
| 738 | }; | ||
| 739 | 3CED87380FC0F576005ACB89 /* Default */ = { | ||
| 740 | isa = XCBuildConfiguration; | ||
| 741 | buildSettings = { | ||
| 742 | GCC_ENABLE_FIX_AND_CONTINUE = YES; | ||
| 743 | GCC_MODEL_TUNING = G5; | ||
| 744 | GCC_PREPROCESSOR_DEFINITIONS = ( | ||
| 745 | emacs, | ||
| 746 | temacs, | ||
| 747 | HAVE_CONFIG_H, | ||
| 748 | ); | ||
| 749 | OTHER_LDFLAGS = ( | ||
| 750 | "-Xlinker", | ||
| 751 | "-headerpad", | ||
| 752 | "-Xlinker", | ||
| 753 | 6C8, | ||
| 754 | ); | ||
| 755 | PREBINDING = NO; | ||
| 756 | PRODUCT_NAME = temacs; | ||
| 757 | WARNING_CFLAGS = "-Wno-pointer-sign"; | ||
| 758 | ZERO_LINK = YES; | ||
| 759 | }; | ||
| 760 | name = Default; | ||
| 761 | }; | ||
| 762 | /* End XCBuildConfiguration section */ | ||
| 763 | |||
| 764 | /* Begin XCConfigurationList section */ | ||
| 765 | 3CA115970C825A540007AFC2 /* Build configuration list for PBXNativeTarget "Emacs" */ = { | ||
| 766 | isa = XCConfigurationList; | ||
| 767 | buildConfigurations = ( | ||
| 768 | 3CA115980C825A540007AFC2 /* Development */, | ||
| 769 | 3CA115990C825A540007AFC2 /* Deployment */, | ||
| 770 | 3CA1159A0C825A540007AFC2 /* Default */, | ||
| 771 | ); | ||
| 772 | defaultConfigurationIsVisible = 0; | ||
| 773 | defaultConfigurationName = Default; | ||
| 774 | }; | ||
| 775 | 3CA1159B0C825A540007AFC2 /* Build configuration list for PBXProject "Emacs" */ = { | ||
| 776 | isa = XCConfigurationList; | ||
| 777 | buildConfigurations = ( | ||
| 778 | 3CA1159C0C825A540007AFC2 /* Development */, | ||
| 779 | 3CA1159D0C825A540007AFC2 /* Deployment */, | ||
| 780 | 3CA1159E0C825A540007AFC2 /* Default */, | ||
| 781 | ); | ||
| 782 | defaultConfigurationIsVisible = 0; | ||
| 783 | defaultConfigurationName = Default; | ||
| 784 | }; | ||
| 785 | 3CED87350FC0F576005ACB89 /* Build configuration list for PBXNativeTarget "temacs" */ = { | ||
| 786 | isa = XCConfigurationList; | ||
| 787 | buildConfigurations = ( | ||
| 788 | 3CED87360FC0F576005ACB89 /* Development */, | ||
| 789 | 3CED87370FC0F576005ACB89 /* Deployment */, | ||
| 790 | 3CED87380FC0F576005ACB89 /* Default */, | ||
| 791 | ); | ||
| 792 | defaultConfigurationIsVisible = 0; | ||
| 793 | defaultConfigurationName = Default; | ||
| 794 | }; | ||
| 795 | /* End XCConfigurationList section */ | ||
| 796 | }; | ||
| 797 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; | ||
| 798 | } | ||
diff --git a/src/ChangeLog b/src/ChangeLog index 07b0418b399..d21e6383764 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,22 @@ | |||
| 1 | 2011-10-18 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | Fix part 3 of bug#9771. | ||
| 4 | * bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1. | ||
| 5 | (bidi_resolve_neutral): Don't enter the expensive loop looking for | ||
| 6 | non-neutral characters if the current character is a paragraph | ||
| 7 | separator (a.k.a. Newline). This avoids running the same | ||
| 8 | expensive loop twice, once when we consume the preceding newline | ||
| 9 | and the other time when the line actually needs to be displayed. | ||
| 10 | Avoid the loop when we see neutrals on the base embedding level | ||
| 11 | following a character whose directionality is the same as the | ||
| 12 | paragraph's. This avoids running the expensive loop when a line | ||
| 13 | ends in a long sequence of neutrals, like control characters. | ||
| 14 | Add assertion against STRONG_AL type. Slightly rearrange code | ||
| 15 | that determines the type of a neutral given the first non-neutral | ||
| 16 | that follows it. | ||
| 17 | (bidi_level_of_next_char): Set next_en_pos to zero when | ||
| 18 | invalidating its info. | ||
| 19 | |||
| 1 | 2011-10-17 Eli Zaretskii <eliz@gnu.org> | 20 | 2011-10-17 Eli Zaretskii <eliz@gnu.org> |
| 2 | 21 | ||
| 3 | * xdisp.c (push_display_prop): Determine whether to record string | 22 | * xdisp.c (push_display_prop): Determine whether to record string |
diff --git a/src/bidi.c b/src/bidi.c index f06c146ca84..29e3c817318 100644 --- a/src/bidi.c +++ b/src/bidi.c | |||
| @@ -846,7 +846,9 @@ bidi_line_init (struct bidi_it *bidi_it) | |||
| 846 | bidi_it->level_stack[0].override = NEUTRAL_DIR; /* X1 */ | 846 | bidi_it->level_stack[0].override = NEUTRAL_DIR; /* X1 */ |
| 847 | bidi_it->invalid_levels = 0; | 847 | bidi_it->invalid_levels = 0; |
| 848 | bidi_it->invalid_rl_levels = -1; | 848 | bidi_it->invalid_rl_levels = -1; |
| 849 | bidi_it->next_en_pos = -1; | 849 | /* Setting this to zero will force its recomputation the first time |
| 850 | we need it for W5. */ | ||
| 851 | bidi_it->next_en_pos = 0; | ||
| 850 | bidi_it->next_for_ws.type = UNKNOWN_BT; | 852 | bidi_it->next_for_ws.type = UNKNOWN_BT; |
| 851 | bidi_set_sor_type (bidi_it, | 853 | bidi_set_sor_type (bidi_it, |
| 852 | (bidi_it->paragraph_dir == R2L ? 1 : 0), | 854 | (bidi_it->paragraph_dir == R2L ? 1 : 0), |
| @@ -1732,7 +1734,7 @@ bidi_resolve_weak (struct bidi_it *bidi_it) | |||
| 1732 | if (bidi_it->prev.type_after_w1 == WEAK_EN /* ET/BN w/EN before it */ | 1734 | if (bidi_it->prev.type_after_w1 == WEAK_EN /* ET/BN w/EN before it */ |
| 1733 | || bidi_it->next_en_pos > bidi_it->charpos) | 1735 | || bidi_it->next_en_pos > bidi_it->charpos) |
| 1734 | type = WEAK_EN; | 1736 | type = WEAK_EN; |
| 1735 | else /* W5: ET/BN with EN after it. */ | 1737 | else if (bidi_it->next_en_pos >=0) /* W5: ET/BN with EN after it. */ |
| 1736 | { | 1738 | { |
| 1737 | EMACS_INT en_pos = bidi_it->charpos + bidi_it->nchars; | 1739 | EMACS_INT en_pos = bidi_it->charpos + bidi_it->nchars; |
| 1738 | const unsigned char *s = (STRINGP (bidi_it->string.lstring) | 1740 | const unsigned char *s = (STRINGP (bidi_it->string.lstring) |
| @@ -1775,6 +1777,11 @@ bidi_resolve_weak (struct bidi_it *bidi_it) | |||
| 1775 | else if (type == WEAK_BN) | 1777 | else if (type == WEAK_BN) |
| 1776 | type = NEUTRAL_ON; /* W6/Retaining */ | 1778 | type = NEUTRAL_ON; /* W6/Retaining */ |
| 1777 | } | 1779 | } |
| 1780 | else if (type_of_next == NEUTRAL_B) | ||
| 1781 | /* Record the fact that there are no more ENs from | ||
| 1782 | here to the end of paragraph, to avoid entering the | ||
| 1783 | loop above ever again in this paragraph. */ | ||
| 1784 | bidi_it->next_en_pos = -1; | ||
| 1778 | } | 1785 | } |
| 1779 | } | 1786 | } |
| 1780 | } | 1787 | } |
| @@ -1843,13 +1850,45 @@ bidi_resolve_neutral (struct bidi_it *bidi_it) | |||
| 1843 | || type == NEUTRAL_ON)) | 1850 | || type == NEUTRAL_ON)) |
| 1844 | abort (); | 1851 | abort (); |
| 1845 | 1852 | ||
| 1846 | if (bidi_get_category (type) == NEUTRAL | 1853 | if ((type != NEUTRAL_B /* Don't risk entering the long loop below if |
| 1854 | we are already at paragraph end. */ | ||
| 1855 | && bidi_get_category (type) == NEUTRAL) | ||
| 1847 | || (type == WEAK_BN && prev_level == current_level)) | 1856 | || (type == WEAK_BN && prev_level == current_level)) |
| 1848 | { | 1857 | { |
| 1849 | if (bidi_it->next_for_neutral.type != UNKNOWN_BT) | 1858 | if (bidi_it->next_for_neutral.type != UNKNOWN_BT) |
| 1850 | type = bidi_resolve_neutral_1 (bidi_it->prev_for_neutral.type, | 1859 | type = bidi_resolve_neutral_1 (bidi_it->prev_for_neutral.type, |
| 1851 | bidi_it->next_for_neutral.type, | 1860 | bidi_it->next_for_neutral.type, |
| 1852 | current_level); | 1861 | current_level); |
| 1862 | /* The next two "else if" clauses are shortcuts for the | ||
| 1863 | important special case when we have a long sequence of | ||
| 1864 | neutral or WEAK_BN characters, such as whitespace or nulls or | ||
| 1865 | other control characters, on the base embedding level of the | ||
| 1866 | paragraph, and that sequence goes all the way to the end of | ||
| 1867 | the paragraph and follows a character whose resolved | ||
| 1868 | directionality is identical to the base embedding level. | ||
| 1869 | (This is what happens in a buffer with plain L2R text that | ||
| 1870 | happens to include long sequences of control characters.) By | ||
| 1871 | virtue of N1, the result of examining this long sequence will | ||
| 1872 | always be either STRONG_L or STRONG_R, depending on the base | ||
| 1873 | embedding level. So we use this fact directly instead of | ||
| 1874 | entering the expensive loop in the "else" clause. */ | ||
| 1875 | else if (current_level == 0 | ||
| 1876 | && bidi_it->prev_for_neutral.type == STRONG_L | ||
| 1877 | && !bidi_explicit_dir_char (bidi_it->ch)) | ||
| 1878 | type = bidi_resolve_neutral_1 (bidi_it->prev_for_neutral.type, | ||
| 1879 | STRONG_L, current_level); | ||
| 1880 | else if (/* current level is 1 */ | ||
| 1881 | current_level == 1 | ||
| 1882 | /* base embedding level is also 1 */ | ||
| 1883 | && bidi_it->level_stack[0].level == 1 | ||
| 1884 | /* previous character is one of those considered R for | ||
| 1885 | the purposes of W5 */ | ||
| 1886 | && (bidi_it->prev_for_neutral.type == STRONG_R | ||
| 1887 | || bidi_it->prev_for_neutral.type == WEAK_EN | ||
| 1888 | || bidi_it->prev_for_neutral.type == WEAK_AN) | ||
| 1889 | && !bidi_explicit_dir_char (bidi_it->ch)) | ||
| 1890 | type = bidi_resolve_neutral_1 (bidi_it->prev_for_neutral.type, | ||
| 1891 | STRONG_R, current_level); | ||
| 1853 | else | 1892 | else |
| 1854 | { | 1893 | { |
| 1855 | /* Arrrgh!! The UAX#9 algorithm is too deeply entrenched in | 1894 | /* Arrrgh!! The UAX#9 algorithm is too deeply entrenched in |
| @@ -1900,6 +1939,9 @@ bidi_resolve_neutral (struct bidi_it *bidi_it) | |||
| 1900 | case STRONG_L: | 1939 | case STRONG_L: |
| 1901 | case STRONG_R: | 1940 | case STRONG_R: |
| 1902 | case STRONG_AL: | 1941 | case STRONG_AL: |
| 1942 | /* Actually, STRONG_AL cannot happen here, because | ||
| 1943 | bidi_resolve_weak converts it to STRONG_R, per W3. */ | ||
| 1944 | xassert (type != STRONG_AL); | ||
| 1903 | next_type = type; | 1945 | next_type = type; |
| 1904 | break; | 1946 | break; |
| 1905 | case WEAK_EN: | 1947 | case WEAK_EN: |
| @@ -1907,7 +1949,6 @@ bidi_resolve_neutral (struct bidi_it *bidi_it) | |||
| 1907 | /* N1: ``European and Arabic numbers are treated as | 1949 | /* N1: ``European and Arabic numbers are treated as |
| 1908 | though they were R.'' */ | 1950 | though they were R.'' */ |
| 1909 | next_type = STRONG_R; | 1951 | next_type = STRONG_R; |
| 1910 | saved_it.next_for_neutral.type = STRONG_R; | ||
| 1911 | break; | 1952 | break; |
| 1912 | case WEAK_BN: | 1953 | case WEAK_BN: |
| 1913 | if (!bidi_explicit_dir_char (bidi_it->ch)) | 1954 | if (!bidi_explicit_dir_char (bidi_it->ch)) |
| @@ -1920,11 +1961,7 @@ bidi_resolve_neutral (struct bidi_it *bidi_it) | |||
| 1920 | member. */ | 1961 | member. */ |
| 1921 | if (saved_it.type != WEAK_BN | 1962 | if (saved_it.type != WEAK_BN |
| 1922 | || bidi_get_category (bidi_it->prev.type_after_w1) == NEUTRAL) | 1963 | || bidi_get_category (bidi_it->prev.type_after_w1) == NEUTRAL) |
| 1923 | { | 1964 | next_type = bidi_it->prev_for_neutral.type; |
| 1924 | next_type = bidi_it->prev_for_neutral.type; | ||
| 1925 | saved_it.next_for_neutral.type = next_type; | ||
| 1926 | bidi_check_type (next_type); | ||
| 1927 | } | ||
| 1928 | else | 1965 | else |
| 1929 | { | 1966 | { |
| 1930 | /* This is a BN which does not adjoin neutrals. | 1967 | /* This is a BN which does not adjoin neutrals. |
| @@ -1938,7 +1975,9 @@ bidi_resolve_neutral (struct bidi_it *bidi_it) | |||
| 1938 | } | 1975 | } |
| 1939 | type = bidi_resolve_neutral_1 (saved_it.prev_for_neutral.type, | 1976 | type = bidi_resolve_neutral_1 (saved_it.prev_for_neutral.type, |
| 1940 | next_type, current_level); | 1977 | next_type, current_level); |
| 1978 | saved_it.next_for_neutral.type = next_type; | ||
| 1941 | saved_it.type = type; | 1979 | saved_it.type = type; |
| 1980 | bidi_check_type (next_type); | ||
| 1942 | bidi_check_type (type); | 1981 | bidi_check_type (type); |
| 1943 | bidi_copy_it (bidi_it, &saved_it); | 1982 | bidi_copy_it (bidi_it, &saved_it); |
| 1944 | } | 1983 | } |
| @@ -2014,7 +2053,7 @@ bidi_level_of_next_char (struct bidi_it *bidi_it) | |||
| 2014 | bidi_it->next_for_neutral.type = UNKNOWN_BT; | 2053 | bidi_it->next_for_neutral.type = UNKNOWN_BT; |
| 2015 | if (bidi_it->next_en_pos >= 0 | 2054 | if (bidi_it->next_en_pos >= 0 |
| 2016 | && bidi_it->charpos >= bidi_it->next_en_pos) | 2055 | && bidi_it->charpos >= bidi_it->next_en_pos) |
| 2017 | bidi_it->next_en_pos = -1; | 2056 | bidi_it->next_en_pos = 0; |
| 2018 | if (bidi_it->next_for_ws.type != UNKNOWN_BT | 2057 | if (bidi_it->next_for_ws.type != UNKNOWN_BT |
| 2019 | && bidi_it->charpos >= bidi_it->next_for_ws.charpos) | 2058 | && bidi_it->charpos >= bidi_it->next_for_ws.charpos) |
| 2020 | bidi_it->next_for_ws.type = UNKNOWN_BT; | 2059 | bidi_it->next_for_ws.type = UNKNOWN_BT; |