1. 20 Feb, 1997 40 commits
    • Karl Heuer's avatar
      Include charset.h. · fe0e03f3
      Karl Heuer authored
      (Vload_source_file_function): New variable.
      (Fload): Call Vload_source_file_function if defined while loading
      an Emacs Lisp source file.  */
      (read_multibyte): New function.
      (read_escape): Handle multibyte characters.
      (read1): Correct the value of size_in_chars of a bool vector.
      Handle the case `?' is followed by a multibyte character.
      (Vload_source_file_function): New variable.
      fe0e03f3
    • Karl Heuer's avatar
      (CHARACTERBITS, GLYPH_MASK_REV_DIR): New macros. · 6b768554
      Karl Heuer authored
      (GLYPH_MASK_PADDING, GLYPH_MASK_FACE, GLYPH_MASK_CHAR): New macros.
      [HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE):
      Use CHARACTERBITS.
      [!HAVE_FACES] (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE):
      New macros.
      [!HAVE_FACES] (GLYPH_CHAR, GLYPH_FACE): Mask appropriate bits.
      (Fcoding_system_p, Fcheck_coding_system): Declare external.
      (Fread_coding_system, Fread_non_nil_coding_system): Likewise.
      6b768554
    • Karl Heuer's avatar
      Include charset.h. · a98f1d1d
      Karl Heuer authored
      (push_key_description): If enable-multibyte-characters is t, use
      octal representation for a code of range 128..255 as binary.
      (Ftext_char_description): Handle multibyte characters.
      (describe_vector): Provide prettier description of a char table
      which contains multibyte characters.
      a98f1d1d
    • Karl Heuer's avatar
      (command_loop_1): Pay attention to a multibyte · 37cd9f30
      Karl Heuer authored
      character while handling forward-char and backward-char.
      [!HAVE_NTGUI && XK_kana_A] (lispy_kana_keys): New variable.
      [!HAVE_NTGUI] (lispy_function_keys): New variable.
      (make_lispy_event) [XK_kana_A]: Handle kana keys.
      37cd9f30
    • Karl Heuer's avatar
      Include charset.h. · 469ff680
      Karl Heuer authored
      (gap_left, gap_right): Put an anchor `\0' at the end of GAP.
      (adjust_markers_for_insert): If any markers are adjusted, check
      and fix the order of overlays in overlays_before.
      (make_gap): Allocate an extra byte and set to `\0' for anchoring.
      (insert1, insert_from_buffer_1): Put an anchor `\0' at the head of
      GAP.
      469ff680
    • Karl Heuer's avatar
      (struct frame): New member `fontset_data'. · 81d00831
      Karl Heuer authored
      (FRAME_MESSAGE_BUF_SIZE): New macro.
      81d00831
    • Karl Heuer's avatar
      Include "charset.h" · 71025e5e
      Karl Heuer authored
      [HAVE_WINDOW_SYSTEM]: Include fontset.h.
      (make_frame): Allocate member `fontset_data' of the struct frame.
      (Fdelete_frame): Free the area for the member.
      71025e5e
    • Karl Heuer's avatar
      Include charset.h. · fb8106e8
      Karl Heuer authored
      (Fchar_to_string, Fstring_to_char): Handle multibyte characters.
      (Fsref): New function.
      (Fgoto_char): Force point to be at a character boundary.
      (Ffollowing_char, Fpreceding_char): Handle multibyte characters.
      (Fchar_after): Handle multibyte characters.
      (Fchar_before): New function.
      (general_insert_function): New function.
      (Finsert, Finsert_and_inherit, Finsert_before_markers): Use it.
      (Finsert_char): Doc-string refer to markers of
      before-insertion-type. Handle multibyte characters.
      (Fsubst_char_in_region): Handle multibyte characters.
      (Fchar_equal): Don't consider `case' of multibyte characters.
      (syms_of_editfns): Handle the new function `char-before'.
      fb8106e8
    • Karl Heuer's avatar
      Include charset.h. · a0ca925c
      Karl Heuer authored
      (doprn1): Handle multibyte characters.
      a0ca925c
    • Karl Heuer's avatar
      (DISP_CHAR_VECTOR): Always return nil for multibyte · 214acc50
      Karl Heuer authored
      characters.
      214acc50
    • Karl Heuer's avatar
      (struct face): New members `non_ascii_gc' and · dfbb1e90
      Karl Heuer authored
      `fontset'.
      [HAVE_FACES]: New macros FACE_NON_ASCII_GC and FACE_FONTSET.
      dfbb1e90
    • Karl Heuer's avatar
      Include charset.h. · 8313c4e7
      Karl Heuer authored
      (Qprocess): Now extern, not static.
      (Faref, Faset): Enable indexing a char table by a multibyte
      character.
      8313c4e7
    • Karl Heuer's avatar
      Include charset.h. · 9e4fd67b
      Karl Heuer authored
      (forward_point, Fforward_point): New functions.
      (Fforward_char, Fdelete_char): Handle multibyte characters by
      calling forward_point.
      (Fdelete_backward_char): Pay attention to multibyte characters
      in overwrite-mode.
      (internal_self_insert): Handle self inserting a multibyte
      character.
      (syms_of_cmds): Handle the new function Fforward_point.
      9e4fd67b
    • Karl Heuer's avatar
      Include charset.h and coding.h. · 32d08644
      Karl Heuer authored
      (Fcall_process): Perform character code conversion of a process
      arguments and the process output.
      (Fcall_process_region): Encode coding of a text given to a
      process.
      32d08644
    • Karl Heuer's avatar
      (doc-string of `interactive'): Describe new code · 40b2421c
      Karl Heuer authored
      letters `i', `z', and `Z'.
      (Fcall_interactively): Handle them.
      40b2421c
    • Karl Heuer's avatar
      (BEGV_ADDR, PT_ADDR, ZV_ADDR): Use macro POS_ADDR. · 96b65d4e
      Karl Heuer authored
      (Z_ADDR, BUF_GPT_ADDR, BUF_Z_ADDR): New macros.
      (struct buffer): New members `category_table',
      `direction_reserved', and `enable-multibyte-characters'.
      (POS_ADDR): New macro used at all places instead of &FETCH_CHAR.
      (FETCH_BYTE): New macro used at any places to check the argument
      against an ASCII character.
      (FETCH_MULTIBYTE_CHAR): New macro used at any places to get a
      character code of the argument when it is known to be a multibyte
      character.
      (_fetch_multibyte_char_p, _fetch_multibyte_char_len): New
      variables.
      (FETCH_CHAR): Use macros FETCH_MULTIBYTE_CHAR and FETCH_BYTE.
      96b65d4e
    • Karl Heuer's avatar
      Include charset.h. · 3b06f880
      Karl Heuer authored
      (Fget_buffer_create): Allocate an extra byte for a buffer, and
      make it always 0 for anchoring.
      (reset_buffer): Handle a new member `enable_multibyte_characters'
      in the struct buffer.
      (fix_overlay_before): New function.
      (init_buffer_once): Handle new members in the struct buffer.
      (syms_of_buffer): Declare new buffer local variables
      `enable-multibyte-characters' and `direction-reserved'.
      3b06f880
    • Karl Heuer's avatar
      (Fmake_char_table): Typo in doc-string fixed. Handle · 38a1965a
      Karl Heuer authored
      the case that PURPOSE is nil (in a deeper char-table).
      (Fmake_bool_vector): Make correct size of Lisp_Object for
      bool-vector.
      38a1965a
    • Karl Heuer's avatar
      The following changes are for new source codes related to Mule. · 713c0574
      Karl Heuer authored
      (XOBJ): Include fontset.o.
      (obj): Include charset.o, coding.o, category.o, and ccl.o.
      (lisp, shortlisp): Include Mule related elc files.
      (buffer.o, cmds.o, dispnew.o, doprnt.o): Depend on charset.h.
      (editfns.o, indent.o, insdel.o, keymap.o): Depend on charset.h.
      (minibuf.o, xdips.o, xfaces.o, xselect.o): Depend on charset.h.
      (data.o, print.o, lread.o): Depend on charset.h.
      (callproc.o, fileio.o, process.o, term.o): Depend on charset.h and
      coding.h.
      (regex.o, search.o, syntax.o): Depend on charset.h and category.h.
      (fontset.o): Depend on charset.h and fontset.h.
      (xterm.o): Depend on charset.h, ccl.h, and fontset.h.
      (category.o, ccl.o, charset.o, coding.o, fontset.o): New targets.
      713c0574
    • Karl Heuer's avatar
      (Fpos_visible_in_window_p): Bug fix. Specify big · 5a255667
      Karl Heuer authored
      negative number for the argument TOHPOS of compute_motion().
      We don't need to calculate to (HPOS==0), but can stop immediately
      when VPOS pasts HEIGHT.
      5a255667
    • Karl Heuer's avatar
    • Karl Heuer's avatar
      (display_text_line): Introduce new local variable · 1c9241f5
      Karl Heuer authored
      rev_dir_bit to display right to left characters (not yet used).
      
      (message): Use FRAME_MESSAGE_BUF_SIZE().
      (redisplay_internal): Add canceling code for continuation at
      wide-column.
      (display_text_line): Don't just decrement left_edge->bufpos,
      it may be multi-byte character, use DEC_POS instead.
      
      (try_window): Change the way of calculation of tab
      offset.  We now use val.tab_offset to maintain tab offset.
      Removed local variable tab_offset.
      (try_window_id): Likewise.
      
      (pos_tab_offset): Return COL (Modulo is no longer valid).
      Add the line to set tab_offset member.
      Use pos.tab_offset.
      
      (redisplay_window): Specify big negative number for TOHPOS
      of compute_motion().
      (try_window_id): Likewise.
      
      (tri_window_id): Specify "1 << (BITS_PER_SHORT - 1)" to
      express "Don't care".
      
      Include charset.h, coding.h, and process.h.
      (display_text_line): Handle multibyte characters.
      (display_mode_line): Pay attention to wide-column characters.
      (decode_mode_spec_coding): New function.
      (decode_mode_spec): Handle %-constructs `%z' and `%Z' to print
      coding system mnemonics.
      (display_string): Handle multibyte characters.
      1c9241f5
    • Karl Heuer's avatar
      (current_column_bol_cache): New variable. This makes · a997a7ca
      Karl Heuer authored
      move_to_column faster.
      (current_column): Set current_column_bol_cache.
      (current_column_1): Likewise.
      (Fmove_to_column): Use current_column_bol_cache.
      
      (current_column): When the buffer may have multi-byte
      characters, call current_column_1.
      (compute_motion): Handle multi-byte characters.
      (current_column_1): Likewise.
      (Fmove_to_column): Likewise.
      
      Include "charset.h".
      (compute_motion): Remove the variable PREV_VPOS.
      Introduce new local variables (multibyte, wide_column, prev_pos,
      contin_hpos, prev_tab_offset) to handle multi-byte characters and
      wide-column characters.
      
      (pos_tab_offset): Specify "- (1 << (BITS_PER_SHORT - 1))"
      to express big negative number (for consistency with xdisp.c).
      
      (vmotion): Specify "1 << (BITS_PER_SHORT - 1)" to
      express "Don't care".
      a997a7ca
    • Karl Heuer's avatar
      (direct_output_forward_char): #if-0-out redundant · 24e86043
      Karl Heuer authored
      check against truncated text at end of line.
      Add giving-up for buffers with reverse direction.
      (remake_frame_glyphs): Use FRAME_MESSAGE_BUF_SIZE()
      instead of FRAME_WIDTH, as the message may include multi-byte
      character and the length may be longer than width.
      (width_run_cache_on_off): Disable width-run-cache when
      multi-byte characters are enabled.
      (skip_invisible): Don't put the boundary in the middle of
      multibyte characters.
      
      (direct_output_forward_char): Bug fix.  Add
      XFASTINT (w->left) for losing cursor check.
      
      Include charset.h.
      (update_line): Handle wide-column characters.
      24e86043
    • Karl Heuer's avatar
      Require fontset. Create fontsets from · f90080d4
      Karl Heuer authored
      default-fontset-spec, X resources, and "-fn" command line
      argument.
      f90080d4
    • Karl Heuer's avatar
      (sendmail-coding-system): New variable. · ee0a4f29
      Karl Heuer authored
      (sendmail-send-it): Perform code conversion on sending mail
      according to sendmail-coding-system.
      ee0a4f29
    • Karl Heuer's avatar
      (x-get-selection): Set default data-type of selection · 79501c8d
      Karl Heuer authored
      to COMPOUND_TEXT.
      (selection-converter-alist): Add an entry for COMPOUND_TEXT.
      79501c8d
    • Karl Heuer's avatar
      (rmail-file-coding-system): New variable. · d0c3269a
      Karl Heuer authored
      (rmail-insert-inbox-text): Perform character code conversion
      according to rmail-file-coding-system.
      (rmail-only-expunge): Pay attention to multibyte characters.
      d0c3269a
    • Karl Heuer's avatar
      742d416f
    • Karl Heuer's avatar
      f8e2c40c
    • Karl Heuer's avatar
      (mouse-set-font): Handle fontset. · 51a02226
      Karl Heuer authored
      51a02226
    • Karl Heuer's avatar
      Load mule specific files. · 5e14f0f5
      Karl Heuer authored
      5e14f0f5
    • Karl Heuer's avatar
      (isearch-mode-map): Define · f46d5091
      Karl Heuer authored
      isearch-toggle-input-method and
      isearch-toggle-specified-input-method in the map.
      (isearch-multibyte-characters-flag): New variable.
      (isearch-mode): Initialize it to nil.
      (isearch-printing-char): Handle multibyte characters.
      (isearch-message-prefix): Include title of input method if
      necessary in the prefix of message.
      f46d5091
    • Karl Heuer's avatar
      (help-with-tutorial): Prefix argument to specify a · 0634ea78
      Karl Heuer authored
      language interactively.
      0634ea78
    • Karl Heuer's avatar
      (find-file, find-file-other-window, · 82d0954a
      Karl Heuer authored
      find-file-read-only, find-file-read-only-other-window,
      find-file-read-only-other-frame, find-alternate-file-other-window,
      find-alternate-file): With a prefix argument, enable users to
      specify a coding system interactively.
      (find-file-noselect): Describe optional arguments NOWARN and
      RAWFILE in the doc-string.
      (write-file, insert-file, append-to-file): Accept a prefix
      argument to enable users to specify a coding system interactively.
      (revert-buffer): Read an auto-saved file without any code
      conversion.
      82d0954a
    • Karl Heuer's avatar
      (debugger-mode): Disable multibyte character handling · 9a06295d
      Karl Heuer authored
      in Debugger mode.
      9a06295d
    • Karl Heuer's avatar
      (byte-compile-file): Write a compiled file without · b8575ac3
      Karl Heuer authored
      any code conversion.
      b8575ac3
    • Karl Heuer's avatar
      (update-file-autoloads): Read loaddefs.el without · a8f15301
      Karl Heuer authored
      any code conversion.
      a8f15301
    • Karl Heuer's avatar
      (nnheader-insert-head): Handle the case that the · 50ef36f5
      Karl Heuer authored
      length of header is changed because of code conversion.
      50ef36f5
    • Karl Heuer's avatar
      (kill-forward-chars, kill-backward-chars): Pay · d5d99b80
      Karl Heuer authored
      attention to multibyte characters.
      (what-cursor-position): With a prefix argument, print detailed
      info of a character on cursor position.
      (transpose-subr-1): Pay attention to multibyte characters.
      
      (do-auto-fill): Handle `kinsoku' processing.
      d5d99b80